Merge remote-tracking branch 'origin/master'

This commit is contained in:
mzr 2024-12-25 17:27:13 +08:00
commit 723c7211ed
1 changed files with 17 additions and 8 deletions

View File

@ -173,8 +173,7 @@ public class SSCTaskHandleQueryAction
case "noExceed":
condition = condition + " and (task.warningtime >='" + curDate.toString() + "' or " + "endtime" + " is null or (" + "endtime" + " >'" + curDate.toString() + "' and " + "warningtime" + " is null ))";
break;
}
}
}
String timerange = (String)map.get("timerange");
if (timerange != null && !"ALL".equals(timerange.toUpperCase())) {
@ -208,8 +207,7 @@ public class SSCTaskHandleQueryAction
startDate = endDate.getDateBefore(30);
}
condition = condition + " and task.creationtime >= '" + startDate.toLocalString().substring(0, 10) + "' ";
}
}
Object fuzzyQueryKey = map.get("fuzzyQueryKey");
List<String> vas = new ArrayList<String>();
if (fuzzyQueryKey != null && !fuzzyQueryKey.toString().equals("")) {
@ -224,7 +222,7 @@ public class SSCTaskHandleQueryAction
taskcondition = taskcondition + " )";
String taskFilterSQL = "select busiid from ssctp_task where " + taskcondition;
for (String s : vas) {
whereSql.append(" and task.busiid in ( ");
whereSql.append(" and ( task.busiid in ( ");
if (s.contains("=")) {
String[] strs = s.split("=");
whereSql.append(" SELECT a.busiid FROM sscrp_bill a,sscrp_detail b WHERE a.pk_bill = b.pk_bill AND CODE = '" + strs[0] + "' AND VALUE like '%" + strs[1].replaceAll("'", "") + "%' AND a.busiid IN (" + taskFilterSQL + ") ");
@ -234,10 +232,21 @@ public class SSCTaskHandleQueryAction
whereSql.append(" SELECT a.busiid FROM sscrp_bill a,sscrp_detail b WHERE a.pk_bill = b.pk_bill AND VALUE like '%" + s.replaceAll("'", "") + "%' AND a.busiid IN (" + taskFilterSQL + ") ");
whereSql.append(" UNION ALL ");
whereSql.append(" SELECT a.busiid FROM sscrp_bill_done a,sscrp_detail_done b WHERE a.pk_bill = b.pk_bill AND VALUE like '%" + s.replaceAll("'", "") + "%' AND a.busiid IN (" + taskFilterSQL + ") ");
}
}
whereSql.append(" ) ");
}
}
}
whereSql.append(" or task.pk_bill in ( ");
whereSql.append(" SELECT task.pk_bill FROM ssctp_task task LEFT JOIN AR_GATHERITEM bill on task.busiid = bill.pk_gatherbill LEFT JOIN BD_BALATYPE bala on bala.pk_balatype = bill.pk_balatype");
whereSql.append(" where ");
for (int i = 0; i < vas.size(); i++) {
whereSql.append(" bala.name LIKE '%").append(vas.get(i)).append("%'");
if (i < vas.size() - 1) {
whereSql.append(" OR ");
}
}
whereSql.append(" ) ");
whereSql.append(" ) ");
}
if (whereSql.length() > 0) {
condition = condition + whereSql.toString();
}