最新价格查询接口

This commit is contained in:
lihao 2025-07-03 09:41:51 +08:00
parent 954896975f
commit 92a6d168b0
1 changed files with 25 additions and 16 deletions

View File

@ -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<String> materialCodes = jObject.getJSONArray("materialCodes").toJavaList(String.class);
List<String> orgCode = jObject.getJSONArray("orgCode").toJavaList(String.class);
// 拼接物料编码和组织ID的IN条件
// 修改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("'", "''") + "'") // 防止单引号注入
.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 + ")")