diff --git a/klp-admin/src/main/java/com/klp/framework/client/SqlServerApiClient.java b/klp-admin/src/main/java/com/klp/framework/client/SqlServerApiClient.java index 29800020..eefe27c6 100644 --- a/klp-admin/src/main/java/com/klp/framework/client/SqlServerApiClient.java +++ b/klp-admin/src/main/java/com/klp/framework/client/SqlServerApiClient.java @@ -496,25 +496,47 @@ public class SqlServerApiClient { // return executeSql("oracle", sql.toString(), params); // } - public ExecuteSqlResponse queryExcoilList(int page, int pageSize) { + public ExecuteSqlResponse queryExcoilList(int page, int pageSize, String coilId, String startDate, String endDate) { int endRow = page * pageSize; int startRow = endRow - pageSize; Map params = new java.util.HashMap<>(); params.put("startRow", startRow); params.put("endRow", endRow); - return executeSql( - "oracle", - "select * from (select t.*, ROWNUM rn from (select * from JXPLTCM.PLTCM_PDO_EXCOIL order by END_DATE desc) t where ROWNUM <= :endRow) where rn > :startRow", - params - ); + StringBuilder where = new StringBuilder(); + if (coilId != null && !coilId.trim().isEmpty()) { + where.append(" AND UPPER(EXCOILID) LIKE '%' || UPPER(:coilId) || '%'"); + params.put("coilId", coilId.trim()); + } + if (startDate != null && !startDate.trim().isEmpty()) { + where.append(" AND END_DATE >= TO_DATE(:startDate, 'YYYY-MM-DD HH24:MI:SS')"); + params.put("startDate", startDate.trim()); + } + if (endDate != null && !endDate.trim().isEmpty()) { + where.append(" AND END_DATE <= TO_DATE(:endDate, 'YYYY-MM-DD HH24:MI:SS')"); + params.put("endDate", endDate.trim()); + } + String sql = "select * from (select t.*, ROWNUM rn from (select * from JXPLTCM.PLTCM_PDO_EXCOIL WHERE 1=1" + + where.toString() + " order by END_DATE desc) t where ROWNUM <= :endRow) where rn > :startRow"; + return executeSql("oracle", sql, params); } - public ExecuteSqlResponse queryExcoilCount() { - return executeSql( - "oracle", - "select count(*) as total from JXPLTCM.PLTCM_PDO_EXCOIL", - emptyParams() - ); + public ExecuteSqlResponse queryExcoilCount(String coilId, String startDate, String endDate) { + Map params = new java.util.HashMap<>(); + StringBuilder where = new StringBuilder(); + if (coilId != null && !coilId.trim().isEmpty()) { + where.append(" AND UPPER(EXCOILID) LIKE '%' || UPPER(:coilId) || '%'"); + params.put("coilId", coilId.trim()); + } + if (startDate != null && !startDate.trim().isEmpty()) { + where.append(" AND END_DATE >= TO_DATE(:startDate, 'YYYY-MM-DD HH24:MI:SS')"); + params.put("startDate", startDate.trim()); + } + if (endDate != null && !endDate.trim().isEmpty()) { + where.append(" AND END_DATE <= TO_DATE(:endDate, 'YYYY-MM-DD HH24:MI:SS')"); + params.put("endDate", endDate.trim()); + } + String sql = "select count(*) as total from JXPLTCM.PLTCM_PDO_EXCOIL WHERE 1=1" + where.toString(); + return executeSql("oracle", sql, params); } public ExecuteSqlResponse queryPresetSetupByCoilId(String coilId) { diff --git a/klp-admin/src/main/java/com/klp/framework/service/SqlServerApiBusinessService.java b/klp-admin/src/main/java/com/klp/framework/service/SqlServerApiBusinessService.java index 2565fe79..452adaa8 100644 --- a/klp-admin/src/main/java/com/klp/framework/service/SqlServerApiBusinessService.java +++ b/klp-admin/src/main/java/com/klp/framework/service/SqlServerApiBusinessService.java @@ -216,15 +216,15 @@ public class SqlServerApiBusinessService { /** * 出口卷实绩列表(分页),来自 PLTCM_PDO_EXCOIL。 */ - public ExcoilPageView getExcoilList(int page, int pageSize) { - return new ExcoilPageView(asRowList(client.queryExcoilList(page, pageSize))); + public ExcoilPageView getExcoilList(int page, int pageSize, String coilId, String startDate, String endDate) { + return new ExcoilPageView(asRowList(client.queryExcoilList(page, pageSize, coilId, startDate, endDate))); } /** - * 出口卷实绩总数。 + * 出口卷实绩总数(支持钢卷号模糊搜索和时间范围过滤)。 */ - public long getExcoilCount() { - List> rows = asRowList(client.queryExcoilCount()); + public long getExcoilCount(String coilId, String startDate, String endDate) { + List> rows = asRowList(client.queryExcoilCount(coilId, startDate, endDate)); if (rows.isEmpty()) return 0L; Number n = asNumber(rows.get(0).get("total")); return n == null ? 0L : n.longValue(); diff --git a/klp-admin/src/main/java/com/klp/framework/sqlserver/SqlServerApiController.java b/klp-admin/src/main/java/com/klp/framework/sqlserver/SqlServerApiController.java index 39ac01d6..b28a1f30 100644 --- a/klp-admin/src/main/java/com/klp/framework/sqlserver/SqlServerApiController.java +++ b/klp-admin/src/main/java/com/klp/framework/sqlserver/SqlServerApiController.java @@ -179,21 +179,28 @@ public class SqlServerApiController { /** * 出口卷实绩列表(分页),来自 PLTCM_PDO_EXCOIL。 + * 支持 coilId 模糊搜索、startDate/endDate 时间范围过滤。 */ @GetMapping("/excoil") public R excoilList( @RequestParam(defaultValue = "1") int page, - @RequestParam(defaultValue = "50") int pageSize) { - return R.ok(businessService.getExcoilList(page, pageSize)); + @RequestParam(defaultValue = "50") int pageSize, + @RequestParam(required = false) String coilId, + @RequestParam(required = false) String startDate, + @RequestParam(required = false) String endDate) { + return R.ok(businessService.getExcoilList(page, pageSize, coilId, startDate, endDate)); } /** - * 出口卷实绩总数。 + * 出口卷实绩总数(支持钢卷号模糊搜索和时间范围过滤)。 */ @GetMapping("/excoil/count") - public R> excoilCount() { + public R> excoilCount( + @RequestParam(required = false) String coilId, + @RequestParam(required = false) String startDate, + @RequestParam(required = false) String endDate) { Map result = new HashMap<>(); - result.put("total", businessService.getExcoilCount()); + result.put("total", businessService.getExcoilCount(coilId, startDate, endDate)); return R.ok(result); } diff --git a/klp-ui/src/api/l2/timing.js b/klp-ui/src/api/l2/timing.js index ef659aec..68df67df 100644 --- a/klp-ui/src/api/l2/timing.js +++ b/klp-ui/src/api/l2/timing.js @@ -127,19 +127,20 @@ export function getRollHistoryCount(rollId, standId) { } // 出口卷实绩列表(分页),PLTCM_PDO_EXCOIL -export function getExcoilList(page = 1, pageSize = 50) { +export function getExcoilList(page = 1, pageSize = 50, coilId, startDate, endDate) { return request({ url: '/sql-server-api/excoil', method: 'get', - params: { page, pageSize } + params: { page, pageSize, coilId, startDate, endDate } }) } // 出口卷实绩总数 -export function getExcoilCount() { +export function getExcoilCount(coilId, startDate, endDate) { return request({ url: '/sql-server-api/excoil/count', - method: 'get' + method: 'get', + params: { coilId, startDate, endDate } }) } diff --git a/klp-ui/src/views/micro/pages/acid/components/ActualPerformance.vue b/klp-ui/src/views/micro/pages/acid/components/ActualPerformance.vue index 94401507..2ef1242e 100644 --- a/klp-ui/src/views/micro/pages/acid/components/ActualPerformance.vue +++ b/klp-ui/src/views/micro/pages/acid/components/ActualPerformance.vue @@ -1,5 +1,5 @@