diff --git a/purp/src/public/nccloud/openapi/purp/pp/PpResource.java b/purp/src/public/nccloud/openapi/purp/pp/PpResource.java index 50de57f..ac17bc8 100644 --- a/purp/src/public/nccloud/openapi/purp/pp/PpResource.java +++ b/purp/src/public/nccloud/openapi/purp/pp/PpResource.java @@ -300,7 +300,7 @@ public class PpResource extends AbstractNCCRestResource { "\t\t\t\t\t\t\tpurp_supplierprice ps\n" + "\t\t\t\t\t\tWHERE\n" + "\t\t\t\t\t\t\tps.dr = 0\n" + - "\t\t\t\t\t\t\tAND ps.pk_group = '0001A110000000000677'\n" + +// "\t\t\t\t\t\t\tAND ps.pk_group = '0001A110000000000677'\n" + "\t\t\t\t\t\t\tAND ( ps.pk_org = '0001A1100000000026PG' )\n" + "\t\t\t\t\t\t\tAND ( ps.dvaliddate >= '2025-02-01 09:26:53 ' )\n" + "\t\t\t\t\t\t\tAND ( ps.dvaliddate <= '2025-07-01 09:26:53 ' )\n" + @@ -330,7 +330,7 @@ public class PpResource extends AbstractNCCRestResource { "\t\t\t\t\t\tAND ps.ts = t_1.ts1\n" + "\t\t\t\t\tWHERE\n" + "\t\t\t\t\t\tdr = 0\n" + - "\t\t\t\t\t\tAND pk_group = '0001A110000000000677'\n" + +// "\t\t\t\t\t\tAND pk_group = '0001A110000000000677'\n" + "\t\t\t\t\t\tAND ( ps.pk_org = '0001A1100000000026PG' )\n" + "\t\t\t\t\t\tAND ( ps.dvaliddate >= '2025-02-01 09:26:53 ' )\n" + "\t\t\t\t\t\tAND ( ps.dvaliddate <= '2025-07-01 09:26:53 ' )\n" + @@ -411,7 +411,7 @@ public class PpResource extends AbstractNCCRestResource { "\t\t\t\t\t\tcp.dr = 0\n" + "\t\t\t\t\t\tAND cpb.dr = 0\n" + "\t\t\t\t\t\tAND cp.blatest = 'Y'\n" + - "\t\t\t\t\t\tAND cpb.pk_group = '0001A110000000000677'\n" + +// "\t\t\t\t\t\tAND cpb.pk_group = '0001A110000000000677'\n" + "\t\t\t\t\t\tAND cp.fstatusflag IN ( '1', '5', '6' )\n" + "\t\t\t\t\t\t\tAND ( cp.pk_org = '0001A1100000000026PG' )\n" + "\t\t\t\t\t\t\t\tAND ( cp.dbilldate >= '2025-02-01 09:26:53 ' )\n" + @@ -446,7 +446,7 @@ public class PpResource extends AbstractNCCRestResource { "\t\t\t\t\tcp.dr = 0\n" + "\t\t\t\t\tAND cpb.dr = 0\n" + "\t\t\t\t\tAND cp.blatest = 'Y'\n" + - "\t\t\t\t\tAND cpb.pk_group = '0001A110000000000677'\n" + +// "\t\t\t\t\tAND cpb.pk_group = '0001A110000000000677'\n" + "\t\t\t\t\tAND cp.fstatusflag IN ( '1', '5', '6' )\n" + "\t\t\t\t\t\tAND ( cp.pk_org = '0001A1100000000026PG' )\n" + "\t\t\t\t\t\t\tAND ( cp.dbilldate >= '2025-02-01 09:26:53 ' )\n" + @@ -521,7 +521,7 @@ public class PpResource extends AbstractNCCRestResource { "\t\t\t\tWHERE\n" + "\t\t\t\t\tpo.bislatest = 'Y'\n" + "\t\t\t\t\tAND po.dr = 0\n" + - "\t\t\t\t\tAND po.pk_group = '0001A110000000000677'\n" + +// "\t\t\t\t\tAND po.pk_group = '0001A110000000000677'\n" + "\t\t\t\t\tAND ( po.pk_org = '0001A1100000000026PG' )\n" + "\t\t\t\t\t\tAND ( po.dbilldate >= '2025-02-01 09:26:53 ' )\n" + "\t\t\t\t\t\t\tAND ( po.dbilldate <= '2025-07-01 09:26:53 ' )\n" + @@ -553,7 +553,7 @@ public class PpResource extends AbstractNCCRestResource { "\t\t\t\tpo.dr = 0\n" + "\t\t\t\tAND pob.dr = 0\n" + "\t\t\t\tAND po.bislatest = 'Y'\n" + - "\t\t\t\tAND po.pk_group = '0001A110000000000677'\n" + +// "\t\t\t\tAND po.pk_group = '0001A110000000000677'\n" + "\t\t\t\tAND ( po.pk_org = '0001A1100000000026PG' )\n" + "\t\t\t\t\tAND ( po.dbilldate >= '2025-02-01 09:26:53 ' )\n" + "\t\t\t\t\t\tAND ( po.dbilldate <= '2025-07-01 09:26:53 ' )\n" + @@ -579,19 +579,31 @@ public class PpResource extends AbstractNCCRestResource { "\t\t\t\t\tcastunitid ) tmp ) dp\n" + "\t\tLEFT OUTER JOIN bd_material bd_material ON\n" + "\t\t\tdp.pk_material = bd_material.pk_material\n" + - "\t\tWHERE\n" + - "\t\t\tdp.pk_org IN ( '0001A1100000000026QF', '0001A1100000000026QI', '0001A110000000002OFF', '0001A1100000000026UO', '0001A1100000000026ID', '0001A1100000000026QL', '0001A1100000004WA8WN', '0001A1100000004WAZZO', '0001A1100000000026QC', '0001A1100000000026R7', '0001A1100000003JJO09', '0001A1100000000026QO', '0001A1100000000026R1', '0001A1100000000026R4', '0001A1100000004T5PVD', '0001A1100000000026RI', '0001A1100000000026IV', '0001A1100000000026RA', '0001A1100000000026RD', '0001A11000000011I0K9', '0001A1100000000026RW', '0001A1100000000026O5', '0001A1100000000026S9', '0001A1100000000026RZ', '0001A1100000000026O8', '0001A1100000004T5785', '0001A1100000000026JG', '0001A11000000000273P', '0001A1100000000026RQ', '0001A1100000000026S3', '0001A1100000000026S6', '0001A1100000000026SI', '0001A1100000000026WN', '0001A1100000000026SL', '0001A1100000004WA8Z2', '0001A1100000000026SC', '0001A1100000004WAZY3', '0001A1100000000026SF', '0001A1100000000026T9', '0001A1100000000026OY', '0001A1100000000026SO', '0001A1100000000026SR', '0001A1100000000026PG', '0001A1100000000026XQ', '0001A1100000000026TC', '0001A1100000000026PC', '0001A1100000000026Q5', '0001A1100000000026PY', '0001A1100000000026U1', '0001A1100000000026Y5', '0001A1100000000026XW', '0001A1100000000026PO', '0001A1100000000026TU', '0001A1100000000026PR' ) ) row_ )\n" + +// "\t\tWHERE\n" + +// "\t\t\tdp.pk_org IN ( '0001A1100000000026QF', '0001A1100000000026QI', '0001A110000000002OFF', '0001A1100000000026UO', '0001A1100000000026ID', '0001A1100000000026QL', '0001A1100000004WA8WN', '0001A1100000004WAZZO', '0001A1100000000026QC', '0001A1100000000026R7', '0001A1100000003JJO09', '0001A1100000000026QO', '0001A1100000000026R1', '0001A1100000000026R4', '0001A1100000004T5PVD', '0001A1100000000026RI', '0001A1100000000026IV', '0001A1100000000026RA', '0001A1100000000026RD', '0001A11000000011I0K9', '0001A1100000000026RW', '0001A1100000000026O5', '0001A1100000000026S9', '0001A1100000000026RZ', '0001A1100000000026O8', '0001A1100000004T5785', '0001A1100000000026JG', '0001A11000000000273P', '0001A1100000000026RQ', '0001A1100000000026S3', '0001A1100000000026S6', '0001A1100000000026SI', '0001A1100000000026WN', '0001A1100000000026SL', '0001A1100000004WA8Z2', '0001A1100000000026SC', '0001A1100000004WAZY3', '0001A1100000000026SF', '0001A1100000000026T9', '0001A1100000000026OY', '0001A1100000000026SO', '0001A1100000000026SR', '0001A1100000000026PG', '0001A1100000000026XQ', '0001A1100000000026TC', '0001A1100000000026PC', '0001A1100000000026Q5', '0001A1100000000026PY', '0001A1100000000026U1', '0001A1100000000026Y5', '0001A1100000000026XW', '0001A1100000000026PO', '0001A1100000000026TU', '0001A1100000000026PR' ) " + + ") row_ )\n" + "WHERE\n" + "\trownumber_ <= 5000"; } List materialCodes = jObject.getJSONArray("materialCodes").toJavaList(String.class); List orgCode = jObject.getJSONArray("orgCode").toJavaList(String.class); - - // 拼接物料编码和组织ID的IN条件 - String materialCodesStr = materialCodes.stream() - .map(code -> "'" + code.replace("'", "''") + "'") // 防止单引号注入 - .collect(Collectors.joining(",")); + // 修改1: 检查物料编码是否为空 + if (materialCodes == null || materialCodes.isEmpty()) { + // 物料编码为空时,移除所有物料编码过滤条件 + dataSql = dataSql + .replaceAll("AND ps.pk_material IN \\([\\s\\S]*?bd_material\\.code = '11021101000113' \\)", "") + .replaceAll("AND cpb\\.pk_material IN \\([\\s\\S]*?bd_material\\.code = '11021101000113' \\)", "") + .replaceAll("AND pob\\.pk_material IN \\([\\s\\S]*?bd_material\\.code = '11021101000113' \\)", ""); + } else { + // 物料编码不为空时,正常拼接物料编码条件 + String materialCodesStr = materialCodes.stream() + .map(code -> "'" + code.replace("'", "''") + "'") + .collect(Collectors.joining(",")); + dataSql = dataSql + .replaceAll("bd_material.code = '11021101000113'", + "bd_material.code IN (" + materialCodesStr + ")"); + } String orgCodes = orgCode.stream() .map(id -> "'" + id.replace("'", "''") + "'") // 防止单引号注入 @@ -619,9 +631,6 @@ public class PpResource extends AbstractNCCRestResource { // 修改SQL:替换物料编码和组织ID dataSql = dataSql - .replaceAll("bd_material.code = '11021101000113'", - "bd_material.code IN (" + materialCodesStr + ")") - // 替换组织ID条件(改为IN查询) .replaceAll("ps.pk_org = '0001A1100000000026PG'", "ps.pk_org IN (" + orgIdsStr + ")")