From 1d2da891fe60d9644da0f6e1571cf82cb5ce3e6a Mon Sep 17 00:00:00 2001 From: lihao <3139678155@qq.com> Date: Wed, 25 Dec 2024 14:43:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=91=E7=9A=84=E4=BD=9C=E4=B8=9A=E7=BB=93?= =?UTF-8?q?=E7=AE=97=E6=96=B9=E5=BC=8F=E5=AD=97=E6=AE=B5=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E6=A8=A1=E7=B3=8A=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../action/SSCTaskHandleQueryAction.java | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/ssctp/src/client/nccloud/web/ssctp/sscbd/ssctask/action/SSCTaskHandleQueryAction.java b/ssctp/src/client/nccloud/web/ssctp/sscbd/ssctask/action/SSCTaskHandleQueryAction.java index ac9cdc8..22ce004 100644 --- a/ssctp/src/client/nccloud/web/ssctp/sscbd/ssctask/action/SSCTaskHandleQueryAction.java +++ b/ssctp/src/client/nccloud/web/ssctp/sscbd/ssctask/action/SSCTaskHandleQueryAction.java @@ -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 vas = new ArrayList(); 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(); }