From 5b77ae8149da71a419b188d1a4cafe2268aa617a Mon Sep 17 00:00:00 2001 From: wangyu <823267011@qq.com> Date: Sat, 9 May 2026 17:01:23 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=B8=E6=89=8E=E5=81=9C=E6=9C=BA=E9=9B=86?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../framework/client/SqlServerApiClient.java | 50 ++++ .../service/SqlServerApiBusinessService.java | 29 +++ .../sqlserver/SqlServerApiController.java | 28 +++ klp-ui/src/api/l2/timing.js | 18 ++ klp-ui/src/views/micro/pages/acid/index.vue | 17 +- klp-ui/src/views/timing/stoppage/index.vue | 236 ++++++++++++++++++ 6 files changed, 373 insertions(+), 5 deletions(-) create mode 100644 klp-ui/src/views/timing/stoppage/index.vue 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 f0bbe420..57b16b49 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 @@ -445,6 +445,56 @@ public class SqlServerApiClient { ); } + public ExecuteSqlResponse queryStoppageList(int page, int pageSize, String area, String stopType, String startDate, String endDate) { + java.util.HashMap params = new java.util.HashMap<>(); + StringBuilder inner = new StringBuilder("SELECT * FROM JXPLTCM.PRO_STOPPAGE WHERE 1=1"); + if (area != null && !area.trim().isEmpty()) { + inner.append(" AND AREA = :area"); + params.put("area", area.trim()); + } + if (stopType != null && !stopType.trim().isEmpty()) { + inner.append(" AND STOP_TYPE = :stopType"); + params.put("stopType", stopType.trim()); + } + if (startDate != null && !startDate.trim().isEmpty()) { + inner.append(" AND START_DATE >= TO_DATE(:startDate, 'YYYY-MM-DD')"); + params.put("startDate", startDate.trim()); + } + if (endDate != null && !endDate.trim().isEmpty()) { + inner.append(" AND START_DATE < TO_DATE(:endDate, 'YYYY-MM-DD') + 1"); + params.put("endDate", endDate.trim()); + } + inner.append(" ORDER BY START_DATE DESC"); + int endRow = page * pageSize; + int startRow = endRow - pageSize; + params.put("endRow", endRow); + params.put("startRow", startRow); + String sql = "SELECT * FROM (SELECT t.*, ROWNUM rn FROM (" + inner + ") t WHERE ROWNUM <= :endRow) WHERE rn > :startRow"; + return executeSql("oracle", sql, params); + } + + public ExecuteSqlResponse queryStoppageCount(String area, String stopType, String startDate, String endDate) { + java.util.HashMap params = new java.util.HashMap<>(); + StringBuilder sql = new StringBuilder("SELECT COUNT(*) as total FROM JXPLTCM.PRO_STOPPAGE WHERE 1=1"); + if (area != null && !area.trim().isEmpty()) { + sql.append(" AND AREA = :area"); + params.put("area", area.trim()); + } + if (stopType != null && !stopType.trim().isEmpty()) { + sql.append(" AND STOP_TYPE = :stopType"); + params.put("stopType", stopType.trim()); + } + if (startDate != null && !startDate.trim().isEmpty()) { + sql.append(" AND START_DATE >= TO_DATE(:startDate, 'YYYY-MM-DD')"); + params.put("startDate", startDate.trim()); + } + if (endDate != null && !endDate.trim().isEmpty()) { + sql.append(" AND START_DATE < TO_DATE(:endDate, 'YYYY-MM-DD') + 1"); + params.put("endDate", endDate.trim()); + } + return executeSql("oracle", sql.toString(), params); + } + public ExecuteSqlResponse queryRollHistoryList(int page, int pageSize, String rollId, Integer standId) { java.util.HashMap params = new java.util.HashMap<>(); StringBuilder inner = new StringBuilder("SELECT * FROM JXPLTCM.ROLL_HISTORY WHERE 1=1"); 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 fbcb6462..ef66dff2 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 @@ -150,6 +150,23 @@ public class SqlServerApiBusinessService { return asRowList(client.queryRollHistoryByRollId(rollId)); } + /** + * 停机记录列表(分页 + 可选过滤)。 + */ + public StoppagePageView getStoppageList(int page, int pageSize, String area, String stopType, String startDate, String endDate) { + return new StoppagePageView(asRowList(client.queryStoppageList(page, pageSize, area, stopType, startDate, endDate))); + } + + /** + * 停机记录总条数。 + */ + public long getStoppageCount(String area, String stopType, String startDate, String endDate) { + List> rows = asRowList(client.queryStoppageCount(area, stopType, startDate, endDate)); + if (rows.isEmpty()) return 0L; + Number n = asNumber(rows.get(0).get("total")); + return n == null ? 0L : n.longValue(); + } + /** * 换辊历史列表(分页 + 可选过滤)。 */ @@ -353,6 +370,18 @@ public class SqlServerApiBusinessService { } } + public static class StoppagePageView { + private final List> rows; + + public StoppagePageView(List> rows) { + this.rows = rows; + } + + public List> getRows() { + return rows; + } + } + public static class RollHistoryPageView { private final List> rows; 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 4ae0052b..14454bbd 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 @@ -99,6 +99,34 @@ public class SqlServerApiController { return R.ok(businessService.getRollHistory(rollId)); } + /** + * 停机记录列表(分页)。area / stopType / startDate / endDate 均可选。 + */ + @GetMapping("/stoppages") + public R stoppageList( + @RequestParam(defaultValue = "1") int page, + @RequestParam(defaultValue = "50") int pageSize, + @RequestParam(required = false) String area, + @RequestParam(required = false) String stopType, + @RequestParam(required = false) String startDate, + @RequestParam(required = false) String endDate) { + return R.ok(businessService.getStoppageList(page, pageSize, area, stopType, startDate, endDate)); + } + + /** + * 停机记录总条数。 + */ + @GetMapping("/stoppages/count") + public R> stoppageCount( + @RequestParam(required = false) String area, + @RequestParam(required = false) String stopType, + @RequestParam(required = false) String startDate, + @RequestParam(required = false) String endDate) { + Map result = new HashMap<>(); + result.put("total", businessService.getStoppageCount(area, stopType, startDate, endDate)); + return R.ok(result); + } + /** * 换辊历史列表(分页)。rollId / standId 均可选。 */ diff --git a/klp-ui/src/api/l2/timing.js b/klp-ui/src/api/l2/timing.js index 5bf18059..af5cbdeb 100644 --- a/klp-ui/src/api/l2/timing.js +++ b/klp-ui/src/api/l2/timing.js @@ -75,6 +75,24 @@ export function getRollHistoryList(page = 1, pageSize = 50, rollId, standId) { }) } +// 停机记录列表 +export function getStoppageList(page = 1, pageSize = 50, { area, stopType, startDate, endDate } = {}) { + return request({ + url: '/sql-server-api/stoppages', + method: 'get', + params: { page, pageSize, area, stopType, startDate, endDate } + }) +} + +// 停机记录总条数 +export function getStoppageCount({ area, stopType, startDate, endDate } = {}) { + return request({ + url: '/sql-server-api/stoppages/count', + method: 'get', + params: { area, stopType, startDate, endDate } + }) +} + // 换辊历史总条数 export function getRollHistoryCount(rollId, standId) { return request({ diff --git a/klp-ui/src/views/micro/pages/acid/index.vue b/klp-ui/src/views/micro/pages/acid/index.vue index 8ce4dd87..3af3a2d6 100644 --- a/klp-ui/src/views/micro/pages/acid/index.vue +++ b/klp-ui/src/views/micro/pages/acid/index.vue @@ -36,7 +36,11 @@ - 换辊历史 + 换辊 + + + + 停机