|
@@ -0,0 +1,87 @@
|
|
|
+package cn.cslg.pas.factorys.WebQueryFactory;
|
|
|
+
|
|
|
+import cn.cslg.pas.common.utils.StringUtils;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Calendar;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+
|
|
|
+@Slf4j
|
|
|
+@Component
|
|
|
+public class GetWebDateQuery implements FormWebQueryFieldImp {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String getWebQuery(WebQueryConfigVO webQueryConfigVO) {
|
|
|
+ String value = webQueryConfigVO.getValue();
|
|
|
+ value = value.trim();
|
|
|
+ String filed = webQueryConfigVO.getSqlField();
|
|
|
+ String orgOption = webQueryConfigVO.getOption();
|
|
|
+ String option = "/";
|
|
|
+ String reQuery = "";
|
|
|
+ if (orgOption.equals("=")) {
|
|
|
+ String[] valueStrs = value.split("~");
|
|
|
+ if (valueStrs.length > 1) {
|
|
|
+ String date1 = FormWebQueryDateUtil.formatDate(valueStrs[0], false);
|
|
|
+ String date2 = FormWebQueryDateUtil.formatDate(valueStrs[1], true);
|
|
|
+ value = date1 + ">" + date2;
|
|
|
+ reQuery = value + option + filed;
|
|
|
+ } else {
|
|
|
+ reQuery = value + option + filed;
|
|
|
+ }
|
|
|
+ } else if (orgOption.equals(">")) {
|
|
|
+ Date date = new Date();
|
|
|
+ SimpleDateFormat sf1 = new SimpleDateFormat("yyyyMMdd");
|
|
|
+ String nowDate = sf1.format(date);
|
|
|
+ String dateStr1 = FormWebQueryDateUtil.formatDate(value, true);
|
|
|
+ try {
|
|
|
+ Date date1 = sf1.parse(dateStr1);
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ calendar.setTime(date1);
|
|
|
+ calendar.add(Calendar.DATE, 1);
|
|
|
+ dateStr1 = sf1.format(calendar.getTime());
|
|
|
+ } catch (Exception e) {
|
|
|
+ }
|
|
|
+ value = dateStr1 + ">" + nowDate;
|
|
|
+ reQuery = value + option + filed;
|
|
|
+ } else if (orgOption.equals(">=")) {
|
|
|
+ Date date = new Date();
|
|
|
+ SimpleDateFormat sf1 = new SimpleDateFormat("yyyyMMdd");
|
|
|
+ String nowDate = sf1.format(date);
|
|
|
+ String date1 = FormWebQueryDateUtil.formatDate(value, true);
|
|
|
+ value = date1 + ">" + nowDate;
|
|
|
+ reQuery = value + option + filed;
|
|
|
+ }
|
|
|
+
|
|
|
+ else if (orgOption.equals("<")) {
|
|
|
+
|
|
|
+ SimpleDateFormat sf1 = new SimpleDateFormat("yyyyMMdd");
|
|
|
+ String lastDate = "18000101";
|
|
|
+ String dateStr1 = FormWebQueryDateUtil.formatDate(value, true);
|
|
|
+ try {
|
|
|
+ Date date1 = sf1.parse(dateStr1);
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ calendar.setTime(date1);
|
|
|
+ calendar.add(Calendar.DATE, -1);
|
|
|
+ dateStr1 = sf1.format(calendar.getTime());
|
|
|
+ } catch (Exception e) {
|
|
|
+ }
|
|
|
+ value = lastDate + ">" + dateStr1;
|
|
|
+ reQuery = value + option + filed;
|
|
|
+ } else if (orgOption.equals("<=")) {
|
|
|
+ String lastDate = "18000101";
|
|
|
+ SimpleDateFormat sf1 = new SimpleDateFormat("yyyyMMdd");
|
|
|
+ String date1 = FormWebQueryDateUtil.formatDate(value, true);
|
|
|
+ value = lastDate + ">" + date1;
|
|
|
+ reQuery = value + option + filed;
|
|
|
+ }
|
|
|
+
|
|
|
+ return reQuery;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|