账账相对优化查询

This commit is contained in:
lihao 2025-03-26 11:37:45 +08:00
parent af32f0e46e
commit 5cf9966d89
1 changed files with 6 additions and 56 deletions

View File

@ -234,63 +234,13 @@ public class SSCTaskHandleQueryAction
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(" 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(" ) ");
// 新增四个EXISTS条件 //联查 付款单收款单主报销单主借款单 四张单子
whereSql.append(" OR EXISTS (SELECT 1 FROM AR_GATHERITEM bill JOIN BD_BALATYPE bala ON bala.pk_balatype = bill.pk_balatype WHERE task.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 task.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 task.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 task.busiid = bill.pk_jkbx AND bala.name LIKE '%" + s.replaceAll("'", "") + "%')");
whereSql.append(" ) ");
} }
//젬꿴 마운데澗운데寮괩饋데寮썼운데 愷蠟데綾
whereSql.append(" or task.pk_bill in ( ");
whereSql.append(" SELECT " +
" pk_bill " +
"FROM " +
" ( " +
" SELECT " +
" task.pk_bill, " +
" bala.name " +
" FROM " +
" ssctp_task task " +
" INNER JOIN AR_GATHERITEM bill ON task.busiid = bill.pk_gatherbill " +
" INNER JOIN BD_BALATYPE bala ON bala.pk_balatype = bill.pk_balatype " +
// " WHERE " +
// " task.pk_billtype = '0000Z3000000000000F2' " +
" UNION " +
" SELECT " +
" task.pk_bill, " +
" bala.name " +
" FROM " +
" ssctp_task task " +
" INNER JOIN ap_paybill bill ON task.busiid = bill.pk_paybill " +
" INNER JOIN AP_PAYITEM item ON item.pk_paybill = bill.pk_paybill " +
" LEFT JOIN BD_BALATYPE bala ON bala.pk_balatype = item.pk_balatype " +
// " WHERE " +
// " task.pk_billtype = '0000Z3000000000000F3' " +
" UNION " +
" SELECT " +
" task.pk_bill, " +
" bala.name " +
" FROM " +
" ssctp_task task " +
" INNER JOIN er_bxzb bill ON task.busiid = bill.pk_jkbx " +
" INNER JOIN BD_BALATYPE bala ON bala.pk_balatype = bill.jsfs " +
// " WHERE " +
// " task.pk_billtype = '0000Z30000000000264X' " +
" UNION " +
" SELECT " +
" task.pk_bill, " +
" bala.name " +
" FROM " +
" ssctp_task task " +
" INNER JOIN er_jkzb bill ON task.busiid = bill.pk_jkbx " +
" INNER JOIN BD_BALATYPE bala ON bala.pk_balatype = bill.jsfs " +
// " WHERE " +
// " task.pk_billtype = '0000Z30000000000263X' " +
" ) pk_type ");
whereSql.append(" where ");
for (int i = 0; i < vas.size(); i++) {
whereSql.append(" pk_type.name LIKE '%").append(vas.get(i)).append("%'");
if (i < vas.size() - 1) {
whereSql.append(" OR ");
}
}
whereSql.append(" ) ");
whereSql.append(" ) ");
} }
if (whereSql.length() > 0) { if (whereSql.length() > 0) {
condition = condition + whereSql.toString(); condition = condition + whereSql.toString();