我的作业模糊查询
This commit is contained in:
parent
94cb227f02
commit
623b1f9a90
|
@ -0,0 +1,147 @@
|
|||
//
|
||||
// Source code recreated from a .class file by IntelliJ IDEA
|
||||
// (powered by FernFlower decompiler)
|
||||
//
|
||||
|
||||
package nc.bs.ssctp.sscbd.tasktype.query.convertor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import nc.bs.ssctp.sscbd.tasktype.config.TaskTypeConfigFactory;
|
||||
import nc.bs.ssctp.sscbd.tasktype.query.SSCTaskQueryCondition;
|
||||
|
||||
public class BlurConvertor implements ITaskQueryConditionConvertor {
|
||||
public BlurConvertor() {
|
||||
}
|
||||
|
||||
public String getWherePart(SSCTaskQueryCondition condition) {
|
||||
StringBuilder whereSql = new StringBuilder();
|
||||
whereSql.append(" ");
|
||||
if (TaskTypeConfigFactory.QUERYCONDITION_BLUR.equals(condition.getQueryField())) {
|
||||
String blur = condition.getQueryFieldValue();
|
||||
if (blur == null || "".equals(blur)) {
|
||||
return "";
|
||||
}
|
||||
|
||||
String[] blurs = blur.split(",");
|
||||
List<String> vas = new ArrayList();
|
||||
|
||||
for(String str : blurs) {
|
||||
vas.add(str);
|
||||
}
|
||||
|
||||
if (vas != null && vas.size() > 0) {
|
||||
for(String s : vas) {
|
||||
whereSql.append(" and ( NODETASKS.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("'", "") + "%' ");
|
||||
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 CODE = '" + strs[0] + "' AND VALUE like '%" + strs[1].replaceAll("'", "") + "%' ");
|
||||
} else {
|
||||
whereSql.append(" SELECT a.busiid FROM sscrp_bill a,sscrp_detail b WHERE a.pk_bill = b.pk_bill AND VALUE like '%" + s.replaceAll("'", "") + "%' ");
|
||||
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("'", "") + "%' ");
|
||||
}
|
||||
|
||||
whereSql.append(" ) ");
|
||||
|
||||
|
||||
// 新增四个EXISTS条件 //联查 付款单、收款单、主报销单、主借款单 四张单子
|
||||
whereSql.append(" OR EXISTS (SELECT 1 FROM AR_GATHERITEM bill JOIN BD_BALATYPE bala ON bala.pk_balatype = bill.pk_balatype WHERE NODETASKS.busiid = bill.pk_gatherbill AND bala.name LIKE '%" + s.replaceAll("'", "") + "%')");
|
||||
whereSql.append(" OR EXISTS (SELECT 1 FROM ap_paybill bill JOIN AP_PAYITEM item ON item.pk_paybill = bill.pk_paybill JOIN BD_BALATYPE bala ON bala.pk_balatype = item.pk_balatype WHERE NODETASKS.busiid = bill.pk_paybill AND bala.name LIKE '%" + s.replaceAll("'", "") + "%')");
|
||||
whereSql.append(" OR EXISTS (SELECT 1 FROM er_bxzb bill JOIN BD_BALATYPE bala ON bala.pk_balatype = bill.jsfs WHERE NODETASKS.busiid = bill.pk_jkbx AND bala.name LIKE '%" + s.replaceAll("'", "") + "%')");
|
||||
whereSql.append(" OR EXISTS (SELECT 1 FROM er_jkzb bill JOIN BD_BALATYPE bala ON bala.pk_balatype = bill.jsfs WHERE NODETASKS.busiid = bill.pk_jkbx AND bala.name LIKE '%" + s.replaceAll("'", "") + "%')");
|
||||
whereSql.append(" ) ");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return whereSql.toString();
|
||||
}
|
||||
|
||||
public String getWhere(String condition, Object blur) {
|
||||
StringBuilder whereSql = new StringBuilder();
|
||||
whereSql.append(condition);
|
||||
List<String> vas = new ArrayList();
|
||||
if (blur != null && !blur.toString().equals("")) {
|
||||
for(Object c : (List)blur) {
|
||||
vas.add((String)c);
|
||||
}
|
||||
}
|
||||
|
||||
for(String str : vas) {
|
||||
vas.add(str);
|
||||
}
|
||||
|
||||
if (vas != null && vas.size() > 0) {
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.append(" SELECT TASK.busiid ");
|
||||
sql.append(" FROM SSCTP_TASK TASK ");
|
||||
sql.append(" LEFT JOIN SSCTP_CURRENTTASK CURTASK ");
|
||||
sql.append(" ON CURTASK.PK_CURRENTTASK = TASK.PK_CURRENTTASK ");
|
||||
sql.append(" LEFT JOIN SSCTP_TASKEXTENDINFO EXTENDINFO ");
|
||||
sql.append(" ON EXTENDINFO.PK_CURRENTTASK = TASK.PK_CURRENTTASK ");
|
||||
sql.append(" WHERE " + condition + " and TASK.dr=0 and (CURTASK.saga_frozen is null or CURTASK.saga_frozen <> 1) ");
|
||||
|
||||
for(String s : vas) {
|
||||
whereSql.append(" and nodetasks.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 (" + sql.toString() + ") ");
|
||||
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 CODE = '" + strs[0] + "' AND VALUE like '%" + strs[1].replaceAll("'", "") + "%' AND a.busiid IN (" + sql.toString() + ") ");
|
||||
} else {
|
||||
String var10001 = s.replaceAll("'", "");
|
||||
whereSql.append(" SELECT a.busiid FROM sscrp_bill a,sscrp_detail b WHERE a.pk_bill = b.pk_bill AND VALUE like '%" + var10001 + "%' AND a.busiid IN (" + sql.toString() + ") ");
|
||||
whereSql.append(" UNION ALL ");
|
||||
var10001 = s.replaceAll("'", "");
|
||||
whereSql.append(" SELECT a.busiid FROM sscrp_bill_done a,sscrp_detail_done b WHERE a.pk_bill = b.pk_bill AND VALUE like '%" + var10001 + "%' AND a.busiid IN (" + sql.toString() + ") ");
|
||||
}
|
||||
|
||||
whereSql.append(" ) ");
|
||||
}
|
||||
}
|
||||
|
||||
return whereSql.toString();
|
||||
}
|
||||
|
||||
public String getWhere4QM(String condition, Object blur) {
|
||||
StringBuilder whereSql = new StringBuilder();
|
||||
whereSql.append(condition);
|
||||
List<String> vas = new ArrayList();
|
||||
if (blur != null && !blur.toString().equals("")) {
|
||||
for(Object c : (List)blur) {
|
||||
vas.add((String)c);
|
||||
}
|
||||
}
|
||||
|
||||
for(String str : vas) {
|
||||
vas.add(str);
|
||||
}
|
||||
|
||||
if (vas != null && vas.size() > 0) {
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.append(" SELECT TASK.busiid ");
|
||||
sql.append(" FROM SSCTP_TASK TASK ");
|
||||
sql.append(" LEFT JOIN SSCTP_CURRENTTASK CURTASK ");
|
||||
sql.append(" ON CURTASK.PK_CURRENTTASK = TASK.PK_CURRENTTASK ");
|
||||
sql.append(" LEFT JOIN SSCTP_TASKEXTENDINFO EXTENDINFO ");
|
||||
sql.append(" ON EXTENDINFO.PK_CURRENTTASK = TASK.PK_CURRENTTASK ");
|
||||
sql.append(" WHERE " + condition + " and TASK.dr=0 and (CURTASK.saga_frozen is null or CURTASK.saga_frozen <> 1) ");
|
||||
|
||||
for(String s : vas) {
|
||||
whereSql.append(" and nodetasks.busiid in ( ");
|
||||
whereSql.append(" select id from sscqm_check_bill where pk_bill in ( ");
|
||||
String var10001 = s.replaceAll("'", "");
|
||||
whereSql.append(" SELECT a.busiid FROM sscrp_bill a,sscrp_detail b WHERE a.pk_bill = b.pk_bill AND VALUE like '%" + var10001 + "%' AND a.busiid IN (" + sql.toString() + ") ");
|
||||
whereSql.append(" UNION ALL ");
|
||||
var10001 = s.replaceAll("'", "");
|
||||
whereSql.append(" SELECT a.busiid FROM sscrp_bill_done a,sscrp_detail_done b WHERE a.pk_bill = b.pk_bill AND VALUE like '%" + var10001 + "%' AND a.busiid IN (" + sql.toString() + ") ");
|
||||
whereSql.append(" ) )");
|
||||
}
|
||||
}
|
||||
|
||||
return whereSql.toString();
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue