From 49561a125e6c7436d765a7aa08194f5ded784aaa Mon Sep 17 00:00:00 2001 From: wangyu <823267011@qq.com> Date: Thu, 14 May 2026 15:12:30 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=B8=E8=BD=A7=E6=95=B0=E6=8D=AE=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=EF=BC=8C=E8=BD=A7=E8=BE=8A=E6=96=B0=E5=A2=9E=E4=BA=A7?= =?UTF-8?q?=E7=BA=BF=E6=96=B0=E5=A2=9E=E5=90=84=E7=A7=8D=E4=BA=A7=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/migration/V14__mes_roll_multi_line.sql | 20 + .../controller/MesRollChangeController.java | 16 +- .../controller/MesRollInfoController.java | 18 +- .../controller/MesRollStandbyController.java | 16 +- .../klp/mes/roll/domain/MesRollChange.java | 6 +- .../com/klp/mes/roll/domain/MesRollGrind.java | 3 + .../com/klp/mes/roll/domain/MesRollInfo.java | 3 + .../klp/mes/roll/domain/MesRollStandby.java | 3 + .../mes/roll/domain/bo/MesRollChangeBo.java | 3 + .../mes/roll/domain/bo/MesRollGrindBo.java | 3 + .../klp/mes/roll/domain/bo/MesRollInfoBo.java | 3 + .../mes/roll/domain/bo/MesRollStandbyBo.java | 3 + .../mes/roll/domain/vo/MesRollChangeVo.java | 2 + .../klp/mes/roll/domain/vo/MesRollInfoVo.java | 6 + .../mes/roll/domain/vo/MesRollStandbyVo.java | 2 + .../mes/roll/mapper/MesRollChangeMapper.java | 17 +- .../mes/roll/mapper/MesRollInfoMapper.java | 10 +- .../mes/roll/mapper/MesRollStandbyMapper.java | 8 +- .../roll/service/IMesRollChangeService.java | 8 +- .../mes/roll/service/IMesRollInfoService.java | 16 +- .../roll/service/IMesRollStandbyService.java | 8 +- .../impl/MesRollChangeServiceImpl.java | 24 +- .../service/impl/MesRollInfoServiceImpl.java | 13 +- .../impl/MesRollStandbyServiceImpl.java | 10 +- .../mapper/roll/MesRollChangeMapper.xml | 29 +- .../mapper/roll/MesRollInfoMapper.xml | 2 + .../mapper/roll/MesRollStandbyMapper.xml | 8 +- klp-ui/src/api/mes/roll/rollChange.js | 15 +- klp-ui/src/api/mes/roll/rollInfo.js | 20 +- klp-ui/src/api/mes/roll/rollStandby.js | 12 +- klp-ui/src/views/mes/roll/grind/index.vue | 115 ++- klp-ui/src/views/mes/roll/overview/index.vue | 28 +- klp-ui/src/views/mes/roll/rollLineMixin.js | 22 + .../views/mes/roll/working-single/index.vue | 707 ++++++++++++++++++ klp-ui/src/views/mes/roll/working/index.vue | 39 +- klp-ui/src/views/wms/coil/do/acid-merge.vue | 247 ++++++ klp-ui/src/views/wms/coil/do/acid-normal.vue | 237 ++++++ klp-ui/src/views/wms/coil/do/acid-split.vue | 280 +++++++ .../views/wms/coil/panels/L2MatchPanel.vue | 188 +++++ klp-ui/src/views/wms/coil/typing.vue | 189 +---- script/sql/mysql/mill.sql | 14 +- 41 files changed, 2054 insertions(+), 319 deletions(-) create mode 100644 klp-admin/src/main/resources/db/migration/V14__mes_roll_multi_line.sql create mode 100644 klp-ui/src/views/mes/roll/rollLineMixin.js create mode 100644 klp-ui/src/views/mes/roll/working-single/index.vue create mode 100644 klp-ui/src/views/wms/coil/do/acid-merge.vue create mode 100644 klp-ui/src/views/wms/coil/do/acid-normal.vue create mode 100644 klp-ui/src/views/wms/coil/do/acid-split.vue create mode 100644 klp-ui/src/views/wms/coil/panels/L2MatchPanel.vue diff --git a/klp-admin/src/main/resources/db/migration/V14__mes_roll_multi_line.sql b/klp-admin/src/main/resources/db/migration/V14__mes_roll_multi_line.sql new file mode 100644 index 00000000..e89b7ee4 --- /dev/null +++ b/klp-admin/src/main/resources/db/migration/V14__mes_roll_multi_line.sql @@ -0,0 +1,20 @@ +-- ===================================================================== +-- 轧辊管理多产线支持:为 4 张轧辊表添加 line_id 外键列 +-- 存量数据默认为 NULL,业务侧按需补填或忽略(NULL 表示未归属产线) +-- ===================================================================== + +ALTER TABLE mes_roll_info + ADD COLUMN line_id BIGINT NULL COMMENT '产线ID(关联 wms_production_line.line_id)' AFTER roll_id, + ADD KEY idx_line_id (line_id); + +ALTER TABLE mes_roll_change + ADD COLUMN line_id BIGINT NULL COMMENT '产线ID(关联 wms_production_line.line_id)' AFTER change_id, + ADD KEY idx_line_stand (line_id, stand_no); + +ALTER TABLE mes_roll_standby + ADD COLUMN line_id BIGINT NULL COMMENT '产线ID(关联 wms_production_line.line_id)' AFTER standby_id, + ADD KEY idx_line_stand (line_id, stand_no); + +ALTER TABLE mes_roll_grind + ADD COLUMN line_id BIGINT NULL COMMENT '产线ID(关联 wms_production_line.line_id)' AFTER grind_id, + ADD KEY idx_line_id (line_id); diff --git a/klp-mes/src/main/java/com/klp/mes/roll/controller/MesRollChangeController.java b/klp-mes/src/main/java/com/klp/mes/roll/controller/MesRollChangeController.java index c9a5ec60..bfa41fc5 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/controller/MesRollChangeController.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/controller/MesRollChangeController.java @@ -38,21 +38,21 @@ public class MesRollChangeController extends BaseController { } /** - * 查询指定机架当前在机轧辊(最近一次换辊记录) - * GET /mes/rollChange/current?standNo=1%23 + * 查询指定产线+机架当前在机轧辊(最近一次换辊记录) + * GET /mes/rollChange/current?lineId=xxx&standNo=1%23 */ @GetMapping("/current") - public R current(@RequestParam String standNo) { - return R.ok(iMesRollChangeService.queryCurrentByStand(standNo)); + public R current(Long lineId, @RequestParam String standNo) { + return R.ok(iMesRollChangeService.queryCurrentByStand(lineId, standNo)); } /** - * 查询各机架各辊位实时工作绩效(工作长度/卷数/重量) - * GET /mes/rollChange/performance + * 查询指定产线各机架各辊位实时工作绩效(工作长度/卷数/重量) + * GET /mes/rollChange/performance?lineId=xxx */ @GetMapping("/performance") - public R>> performance() { - return R.ok(iMesRollChangeService.queryRollPerformance()); + public R>> performance(Long lineId) { + return R.ok(iMesRollChangeService.queryRollPerformance(lineId)); } /** 详情 */ diff --git a/klp-mes/src/main/java/com/klp/mes/roll/controller/MesRollInfoController.java b/klp-mes/src/main/java/com/klp/mes/roll/controller/MesRollInfoController.java index ce4cbbd8..613b8d1a 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/controller/MesRollInfoController.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/controller/MesRollInfoController.java @@ -41,16 +41,16 @@ public class MesRollInfoController extends BaseController { return iMesRollInfoService.queryPageList(bo, pageQuery); } - /** 状态统计卡片数据 */ + /** 状态统计卡片数据(lineId 为空时统计全部产线) */ @GetMapping("/stats") - public R> stats() { - return R.ok(iMesRollInfoService.queryStatusStats()); + public R> stats(Long lineId) { + return R.ok(iMesRollInfoService.queryStatusStats(lineId)); } - /** 轧辊编号下拉列表(按辊型 + 状态过滤,均可为空) */ + /** 轧辊编号下拉列表(lineId / rollType / status 均可为空) */ @GetMapping("/options") - public R> options(String rollType, String status) { - return R.ok(iMesRollInfoService.queryRollNoList(rollType, status)); + public R> options(Long lineId, String rollType, String status) { + return R.ok(iMesRollInfoService.queryRollNoList(lineId, rollType, status)); } /** 详情 */ @@ -90,13 +90,13 @@ public class MesRollInfoController extends BaseController { } /** - * 从换辊记录同步在线状态 + * 从换辊记录同步在线状态(lineId 为空时同步全部产线) * 将当前各机架在机轧辊的状态强制修正为 Online,解决状态数据不一致问题 */ @Log(title = "轧辊库-状态同步", businessType = BusinessType.UPDATE) @PostMapping("/syncStatus") - public R syncStatus() { - iMesRollInfoService.syncStatusFromChange(); + public R syncStatus(Long lineId) { + iMesRollInfoService.syncStatusFromChange(lineId); return R.ok(); } diff --git a/klp-mes/src/main/java/com/klp/mes/roll/controller/MesRollStandbyController.java b/klp-mes/src/main/java/com/klp/mes/roll/controller/MesRollStandbyController.java index 65cbd75c..13e62176 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/controller/MesRollStandbyController.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/controller/MesRollStandbyController.java @@ -28,12 +28,12 @@ public class MesRollStandbyController extends BaseController { private final IMesRollStandbyService iMesRollStandbyService; /** - * 查询指定机架的下批轧辊列表 - * GET /mes/rollStandby/list?standNo=1%23 + * 查询指定产线+机架的下批轧辊列表 + * GET /mes/rollStandby/list?lineId=xxx&standNo=1%23 */ @GetMapping("/list") - public R> list(@RequestParam String standNo) { - return R.ok(iMesRollStandbyService.queryByStand(standNo)); + public R> list(Long lineId, @RequestParam String standNo) { + return R.ok(iMesRollStandbyService.queryByStand(lineId, standNo)); } /** 详情 */ @@ -66,12 +66,12 @@ public class MesRollStandbyController extends BaseController { } /** - * 清空指定机架的全部下批轧辊 - * DELETE /mes/rollStandby/clear?standNo=1%23 + * 清空指定产线+机架的全部下批轧辊 + * DELETE /mes/rollStandby/clear?lineId=xxx&standNo=1%23 */ @Log(title = "下批轧辊", businessType = BusinessType.DELETE) @DeleteMapping("/clear") - public R clear(@RequestParam String standNo) { - return toAjax(iMesRollStandbyService.clearByStand(standNo)); + public R clear(Long lineId, @RequestParam String standNo) { + return toAjax(iMesRollStandbyService.clearByStand(lineId, standNo)); } } diff --git a/klp-mes/src/main/java/com/klp/mes/roll/domain/MesRollChange.java b/klp-mes/src/main/java/com/klp/mes/roll/domain/MesRollChange.java index baad23d1..73e75680 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/domain/MesRollChange.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/domain/MesRollChange.java @@ -12,8 +12,7 @@ import java.util.Date; /** * 换辊记录 mes_roll_change - * 四辊轧机,双机架(1# / 2#) - * 每次换辊记录 4 支辊:上工作辊、下工作辊、上支撑辊、下支撑辊 + * 四辊轧机,支持多产线,每次换辊记录 4 支辊:上工作辊、下工作辊、上支撑辊、下支撑辊 */ @Data @EqualsAndHashCode(callSuper = true) @@ -25,6 +24,9 @@ public class MesRollChange extends BaseEntity { @TableId(value = "change_id") private Long changeId; + /** 产线ID */ + private Long lineId; + /** 换辊编号 */ private String changeNo; diff --git a/klp-mes/src/main/java/com/klp/mes/roll/domain/MesRollGrind.java b/klp-mes/src/main/java/com/klp/mes/roll/domain/MesRollGrind.java index aeed6715..208ec779 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/domain/MesRollGrind.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/domain/MesRollGrind.java @@ -46,6 +46,9 @@ public class MesRollGrind extends BaseEntity { @TableId(value = "grind_id") private Long grindId; + /** 产线ID */ + private Long lineId; + /** 轧辊ID */ private Long rollId; diff --git a/klp-mes/src/main/java/com/klp/mes/roll/domain/MesRollInfo.java b/klp-mes/src/main/java/com/klp/mes/roll/domain/MesRollInfo.java index e82b3c25..58602b1c 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/domain/MesRollInfo.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/domain/MesRollInfo.java @@ -23,6 +23,9 @@ public class MesRollInfo extends BaseEntity { @TableId(value = "roll_id") private Long rollId; + /** 产线ID */ + private Long lineId; + /** 轧辊编号 */ private String rollNo; diff --git a/klp-mes/src/main/java/com/klp/mes/roll/domain/MesRollStandby.java b/klp-mes/src/main/java/com/klp/mes/roll/domain/MesRollStandby.java index 1978e823..db5685f8 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/domain/MesRollStandby.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/domain/MesRollStandby.java @@ -30,6 +30,9 @@ public class MesRollStandby extends BaseEntity { @TableId(value = "standby_id") private Long standbyId; + /** 产线ID */ + private Long lineId; + /** 机架号:1# / 2# */ private String standNo; diff --git a/klp-mes/src/main/java/com/klp/mes/roll/domain/bo/MesRollChangeBo.java b/klp-mes/src/main/java/com/klp/mes/roll/domain/bo/MesRollChangeBo.java index 7f88b8c2..be8046cd 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/domain/bo/MesRollChangeBo.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/domain/bo/MesRollChangeBo.java @@ -18,6 +18,9 @@ public class MesRollChangeBo extends BaseEntity { private Long changeId; + /** 产线ID(查询过滤 / 新增归属) */ + private Long lineId; + private String changeNo; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/klp-mes/src/main/java/com/klp/mes/roll/domain/bo/MesRollGrindBo.java b/klp-mes/src/main/java/com/klp/mes/roll/domain/bo/MesRollGrindBo.java index 37c4a9c6..d4fad19e 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/domain/bo/MesRollGrindBo.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/domain/bo/MesRollGrindBo.java @@ -18,6 +18,9 @@ public class MesRollGrindBo extends BaseEntity { private Long grindId; + /** 产线ID(查询过滤用) */ + private Long lineId; + @NotNull(message = "轧辊ID不能为空") private Long rollId; diff --git a/klp-mes/src/main/java/com/klp/mes/roll/domain/bo/MesRollInfoBo.java b/klp-mes/src/main/java/com/klp/mes/roll/domain/bo/MesRollInfoBo.java index f4100675..a637abb6 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/domain/bo/MesRollInfoBo.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/domain/bo/MesRollInfoBo.java @@ -22,6 +22,9 @@ public class MesRollInfoBo extends BaseEntity { @NotNull(message = "轧辊ID不能为空", groups = EditGroup.class) private Long rollId; + /** 产线ID(查询过滤 / 新增归属) */ + private Long lineId; + @NotBlank(message = "轧辊编号不能为空", groups = {AddGroup.class, EditGroup.class}) private String rollNo; diff --git a/klp-mes/src/main/java/com/klp/mes/roll/domain/bo/MesRollStandbyBo.java b/klp-mes/src/main/java/com/klp/mes/roll/domain/bo/MesRollStandbyBo.java index c9a26a4e..5bb097dd 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/domain/bo/MesRollStandbyBo.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/domain/bo/MesRollStandbyBo.java @@ -19,6 +19,9 @@ public class MesRollStandbyBo extends BaseEntity { private Long standbyId; + /** 产线ID(查询过滤 / 新增归属) */ + private Long lineId; + /** 机架号:1# / 2# */ @NotBlank(message = "机架号不能为空", groups = AddGroup.class) private String standNo; diff --git a/klp-mes/src/main/java/com/klp/mes/roll/domain/vo/MesRollChangeVo.java b/klp-mes/src/main/java/com/klp/mes/roll/domain/vo/MesRollChangeVo.java index f4f4d656..b93e7aa2 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/domain/vo/MesRollChangeVo.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/domain/vo/MesRollChangeVo.java @@ -17,6 +17,8 @@ public class MesRollChangeVo { private Long changeId; + private Long lineId; + private String changeNo; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/klp-mes/src/main/java/com/klp/mes/roll/domain/vo/MesRollInfoVo.java b/klp-mes/src/main/java/com/klp/mes/roll/domain/vo/MesRollInfoVo.java index a0b39696..5b2d45c3 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/domain/vo/MesRollInfoVo.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/domain/vo/MesRollInfoVo.java @@ -19,6 +19,12 @@ public class MesRollInfoVo { @ExcelProperty("轧辊ID") private Long rollId; + @ExcelProperty("产线ID") + private Long lineId; + + @ExcelProperty("产线名称") + private String lineName; + @ExcelProperty("轧辊编号") private String rollNo; diff --git a/klp-mes/src/main/java/com/klp/mes/roll/domain/vo/MesRollStandbyVo.java b/klp-mes/src/main/java/com/klp/mes/roll/domain/vo/MesRollStandbyVo.java index e6afbb52..c55165e9 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/domain/vo/MesRollStandbyVo.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/domain/vo/MesRollStandbyVo.java @@ -16,6 +16,8 @@ public class MesRollStandbyVo { private Long standbyId; + private Long lineId; + /** 机架号:1# / 2# */ private String standNo; diff --git a/klp-mes/src/main/java/com/klp/mes/roll/mapper/MesRollChangeMapper.java b/klp-mes/src/main/java/com/klp/mes/roll/mapper/MesRollChangeMapper.java index e6dbdd32..c0d03dc8 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/mapper/MesRollChangeMapper.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/mapper/MesRollChangeMapper.java @@ -13,27 +13,30 @@ import java.util.Map; */ public interface MesRollChangeMapper extends BaseMapperPlus { - /** 查询指定机架最新一次换辊记录(当前在机轧辊) */ - MesRollChangeVo selectLatestByStand(@Param("standNo") String standNo); + /** 查询指定产线+机架最新一次换辊记录(当前在机轧辊) */ + MesRollChangeVo selectLatestByStand(@Param("lineId") Long lineId, @Param("standNo") String standNo); /** * 按辊位查询该位置最新一次有记录的换辊(支持部分换辊) * posType: upperWr / lowerWr / upperBr / lowerBr */ - MesRollChangeVo selectLatestByStandAndPosition(@Param("standNo") String standNo, + MesRollChangeVo selectLatestByStandAndPosition(@Param("lineId") Long lineId, + @Param("standNo") String standNo, @Param("posType") String posType); /** - * 组合查询机架各辊位当前实际在机状态(每个位置独立取最新非空记录) + * 组合查询指定产线+机架各辊位当前实际在机状态(每个位置独立取最新非空记录) * 返回 map,key 同 MesRollChangeVo 字段名(camelCase) */ - Map selectCurrentStateByStand(@Param("standNo") String standNo); + Map selectCurrentStateByStand(@Param("lineId") Long lineId, @Param("standNo") String standNo); /** - * 查询同机架下一次换辊时间(任意辊位有换辊即触发) + * 查询同产线+机架下一次换辊时间(任意辊位有换辊即触发) * 返回 null 表示该辊仍在机 */ - Date selectNextChangeTime(@Param("standNo") String standNo, @Param("changeTime") Date changeTime); + Date selectNextChangeTime(@Param("lineId") Long lineId, + @Param("standNo") String standNo, + @Param("changeTime") Date changeTime); /** * 统计指定时间区间内的卷料生产统计: diff --git a/klp-mes/src/main/java/com/klp/mes/roll/mapper/MesRollInfoMapper.java b/klp-mes/src/main/java/com/klp/mes/roll/mapper/MesRollInfoMapper.java index 31a57a50..e4b1d679 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/mapper/MesRollInfoMapper.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/mapper/MesRollInfoMapper.java @@ -15,13 +15,17 @@ public interface MesRollInfoMapper extends BaseMapperPlus> selectStatusStats(); + List> selectStatusStats(@Param("lineId") Long lineId); /** - * 查询轧辊编号列表(用于下拉选择,可按辊型和状态过滤) + * 查询轧辊编号列表(用于下拉选择,可按产线、辊型、状态过滤) + * lineId 为 null 时不过滤产线 */ - List selectRollNoList(@Param("rollType") String rollType, @Param("status") String status); + List selectRollNoList(@Param("lineId") Long lineId, + @Param("rollType") String rollType, + @Param("status") String status); /** * 按轧辊编号查询(用于换辊时同步状态) diff --git a/klp-mes/src/main/java/com/klp/mes/roll/mapper/MesRollStandbyMapper.java b/klp-mes/src/main/java/com/klp/mes/roll/mapper/MesRollStandbyMapper.java index 407b7df3..e3a50b3a 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/mapper/MesRollStandbyMapper.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/mapper/MesRollStandbyMapper.java @@ -12,9 +12,9 @@ import java.util.List; */ public interface MesRollStandbyMapper extends BaseMapperPlus { - /** 按机架查询下批轧辊列表 */ - List selectByStand(@Param("standNo") String standNo); + /** 按产线+机架查询下批轧辊列表 */ + List selectByStand(@Param("lineId") Long lineId, @Param("standNo") String standNo); - /** 清空某机架的下批轧辊 */ - int clearByStand(@Param("standNo") String standNo); + /** 清空指定产线+机架的下批轧辊 */ + int clearByStand(@Param("lineId") Long lineId, @Param("standNo") String standNo); } diff --git a/klp-mes/src/main/java/com/klp/mes/roll/service/IMesRollChangeService.java b/klp-mes/src/main/java/com/klp/mes/roll/service/IMesRollChangeService.java index d55a223e..e0b6cdd7 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/service/IMesRollChangeService.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/service/IMesRollChangeService.java @@ -15,8 +15,8 @@ public interface IMesRollChangeService { MesRollChangeVo queryById(Long changeId); - /** 查询指定机架当前在机轧辊(最新一次换辊记录) */ - MesRollChangeVo queryCurrentByStand(String standNo); + /** 查询指定产线+机架当前在机轧辊(最新一次换辊记录) */ + MesRollChangeVo queryCurrentByStand(Long lineId, String standNo); TableDataInfo queryPageList(MesRollChangeBo bo, PageQuery pageQuery); @@ -28,9 +28,9 @@ public interface IMesRollChangeService { Boolean deleteWithValidByIds(Collection ids, Boolean isValid); /** - * 查询各机架各辊位的实时工作绩效(工作长度/卷数/重量) + * 查询指定产线各机架各辊位的实时工作绩效(工作长度/卷数/重量) * 返回结构: { posType -> { standNo -> { rollNo, workLength, coilCount, totalWeight } } } * posType: upperBr / upperWr / lowerWr / lowerBr */ - Map> queryRollPerformance(); + Map> queryRollPerformance(Long lineId); } diff --git a/klp-mes/src/main/java/com/klp/mes/roll/service/IMesRollInfoService.java b/klp-mes/src/main/java/com/klp/mes/roll/service/IMesRollInfoService.java index 665143a3..3ec8b61a 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/service/IMesRollInfoService.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/service/IMesRollInfoService.java @@ -20,11 +20,16 @@ public interface IMesRollInfoService { List queryList(MesRollInfoBo bo); - /** 按状态统计(总览卡片) */ - Map queryStatusStats(); + /** + * 按状态统计(总览卡片) + * lineId 为 null 时统计全部产线 + */ + Map queryStatusStats(Long lineId); - /** 轧辊编号下拉列表(status 为 null 时不过滤状态) */ - List queryRollNoList(String rollType, String status); + /** + * 轧辊编号下拉列表(lineId / rollType / status 均可为 null,不过滤对应维度) + */ + List queryRollNoList(Long lineId, String rollType, String status); Long insertByBo(MesRollInfoBo bo); @@ -40,6 +45,7 @@ public interface IMesRollInfoService { * 每个机架最新一次换辊记录中的 4 支辊 → Online; * 下批辊列表中的辊 → Standby(已由 addStandby 维护,此处不重复处理); * 其余不变,仅修正当前在机辊的状态数据不一致问题。 + * lineId 为 null 时同步全部产线;指定 lineId 时仅同步该产线。 */ - void syncStatusFromChange(); + void syncStatusFromChange(Long lineId); } diff --git a/klp-mes/src/main/java/com/klp/mes/roll/service/IMesRollStandbyService.java b/klp-mes/src/main/java/com/klp/mes/roll/service/IMesRollStandbyService.java index 035fc1e3..fa52549d 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/service/IMesRollStandbyService.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/service/IMesRollStandbyService.java @@ -12,8 +12,8 @@ public interface IMesRollStandbyService { MesRollStandbyVo queryById(Long standbyId); - /** 查询指定机架的下批轧辊列表 */ - List queryByStand(String standNo); + /** 查询指定产线+机架的下批轧辊列表 */ + List queryByStand(Long lineId, String standNo); /** 新增下批轧辊,同步将该辊状态更新为 Standby */ Long addStandby(MesRollStandbyBo bo); @@ -24,6 +24,6 @@ public interface IMesRollStandbyService { /** 删除某条下批轧辊,同步将该辊状态恢复为 Offline */ Boolean deleteById(Long standbyId); - /** 清空指定机架的全部下批轧辊,并将对应辊状态恢复为 Offline */ - Boolean clearByStand(String standNo); + /** 清空指定产线+机架的全部下批轧辊,并将对应辊状态恢复为 Offline */ + Boolean clearByStand(Long lineId, String standNo); } diff --git a/klp-mes/src/main/java/com/klp/mes/roll/service/impl/MesRollChangeServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/roll/service/impl/MesRollChangeServiceImpl.java index a5050c94..da5c3086 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/service/impl/MesRollChangeServiceImpl.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/service/impl/MesRollChangeServiceImpl.java @@ -44,11 +44,12 @@ public class MesRollChangeServiceImpl implements IMesRollChangeService { } @Override - public MesRollChangeVo queryCurrentByStand(String standNo) { + public MesRollChangeVo queryCurrentByStand(Long lineId, String standNo) { // 组合各辊位最新状态,转换为 VO - Map state = baseMapper.selectCurrentStateByStand(standNo); + Map state = baseMapper.selectCurrentStateByStand(lineId, standNo); if (state == null) return null; MesRollChangeVo vo = new MesRollChangeVo(); + vo.setLineId(lineId); vo.setStandNo(standNo); vo.setUpperWrNo(str(state.get("upperWrNo"))); vo.setUpperWrDia(decimal(state.get("upperWrDia"))); @@ -70,7 +71,7 @@ public class MesRollChangeServiceImpl implements IMesRollChangeService { Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); // 为每条换辊记录计算:工作长度、卷数、重量 for (MesRollChangeVo vo : result.getRecords()) { - Date endTime = baseMapper.selectNextChangeTime(vo.getStandNo(), vo.getChangeTime()); + Date endTime = baseMapper.selectNextChangeTime(vo.getLineId(), vo.getStandNo(), vo.getChangeTime()); Map stats = baseMapper.selectCoilStats(vo.getChangeTime(), endTime); fillStatsToVo(vo, stats); } @@ -81,12 +82,12 @@ public class MesRollChangeServiceImpl implements IMesRollChangeService { private static final List STANDS = Arrays.asList("1#", "2#"); @Override - public Map> queryRollPerformance() { + public Map> queryRollPerformance(Long lineId) { Map> result = new HashMap<>(4); for (String posType : POS_TYPES) { Map byStand = new HashMap<>(2); for (String standNo : STANDS) { - MesRollChangeVo rec = baseMapper.selectLatestByStandAndPosition(standNo, posType); + MesRollChangeVo rec = baseMapper.selectLatestByStandAndPosition(lineId, standNo, posType); Map cell = new HashMap<>(6); if (rec != null) { cell.put("rollNo", getRollNoByPos(rec, posType)); @@ -106,9 +107,9 @@ public class MesRollChangeServiceImpl implements IMesRollChangeService { } /** 若该辊位要换新辊,则把当前在机的旧辊下线 */ - private void offlineIfReplaced(String standNo, String posType, String newRollNo) { + private void offlineIfReplaced(Long lineId, String standNo, String posType, String newRollNo) { if (StringUtils.isBlank(newRollNo)) return; - MesRollChangeVo cur = baseMapper.selectLatestByStandAndPosition(standNo, posType); + MesRollChangeVo cur = baseMapper.selectLatestByStandAndPosition(lineId, standNo, posType); if (cur != null) { String oldRollNo = getRollNoByPos(cur, posType); if (StringUtils.isNotBlank(oldRollNo)) { @@ -158,6 +159,7 @@ public class MesRollChangeServiceImpl implements IMesRollChangeService { private LambdaQueryWrapper buildQueryWrapper(MesRollChangeBo bo) { LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getLineId() != null, MesRollChange::getLineId, bo.getLineId()); lqw.eq(StringUtils.isNotBlank(bo.getStandNo()), MesRollChange::getStandNo, bo.getStandNo()); lqw.eq(StringUtils.isNotBlank(bo.getChangeType()), MesRollChange::getChangeType, bo.getChangeType()); lqw.eq(StringUtils.isNotBlank(bo.getChangeStatus()), MesRollChange::getChangeStatus, bo.getChangeStatus()); @@ -184,10 +186,10 @@ public class MesRollChangeServiceImpl implements IMesRollChangeService { add.setChangeType("三级换辊"); } // 按辊位独立换辊:只下线被替换的那个位置的旧辊 - offlineIfReplaced(add.getStandNo(), "upperWr", add.getUpperWrNo()); - offlineIfReplaced(add.getStandNo(), "lowerWr", add.getLowerWrNo()); - offlineIfReplaced(add.getStandNo(), "upperBr", add.getUpperBrNo()); - offlineIfReplaced(add.getStandNo(), "lowerBr", add.getLowerBrNo()); + offlineIfReplaced(add.getLineId(), add.getStandNo(), "upperWr", add.getUpperWrNo()); + offlineIfReplaced(add.getLineId(), add.getStandNo(), "lowerWr", add.getLowerWrNo()); + offlineIfReplaced(add.getLineId(), add.getStandNo(), "upperBr", add.getUpperBrNo()); + offlineIfReplaced(add.getLineId(), add.getStandNo(), "lowerBr", add.getLowerBrNo()); baseMapper.insert(add); diff --git a/klp-mes/src/main/java/com/klp/mes/roll/service/impl/MesRollInfoServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/roll/service/impl/MesRollInfoServiceImpl.java index 46d535b3..fe31b1c0 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/service/impl/MesRollInfoServiceImpl.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/service/impl/MesRollInfoServiceImpl.java @@ -52,8 +52,8 @@ public class MesRollInfoServiceImpl implements IMesRollInfoService { } @Override - public Map queryStatusStats() { - List> rows = baseMapper.selectStatusStats(); + public Map queryStatusStats(Long lineId) { + List> rows = baseMapper.selectStatusStats(lineId); Map result = new HashMap(8); int total = 0; for (Map row : rows) { @@ -67,12 +67,13 @@ public class MesRollInfoServiceImpl implements IMesRollInfoService { } @Override - public List queryRollNoList(String rollType, String status) { - return baseMapper.selectRollNoList(rollType, status); + public List queryRollNoList(Long lineId, String rollType, String status) { + return baseMapper.selectRollNoList(lineId, rollType, status); } private LambdaQueryWrapper buildQueryWrapper(MesRollInfoBo bo) { LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getLineId() != null, MesRollInfo::getLineId, bo.getLineId()); lqw.like(StringUtils.isNotBlank(bo.getRollNo()), MesRollInfo::getRollNo, bo.getRollNo()); lqw.eq(StringUtils.isNotBlank(bo.getRollType()), MesRollInfo::getRollType, bo.getRollType()); lqw.eq(StringUtils.isNotBlank(bo.getStatus()), MesRollInfo::getStatus, bo.getStatus()); @@ -120,11 +121,11 @@ public class MesRollInfoServiceImpl implements IMesRollInfoService { } @Override - public void syncStatusFromChange() { + public void syncStatusFromChange(Long lineId) { // 按辊位独立取最新在机辊,确保各位置状态正确 for (String standNo : Arrays.asList("1#", "2#")) { for (String posType : Arrays.asList("upperWr", "lowerWr", "upperBr", "lowerBr")) { - MesRollChangeVo rec = rollChangeMapper.selectLatestByStandAndPosition(standNo, posType); + MesRollChangeVo rec = rollChangeMapper.selectLatestByStandAndPosition(lineId, standNo, posType); if (rec == null) continue; String rollNo = getRollNoByPos(rec, posType); if (StringUtils.isNotBlank(rollNo)) { diff --git a/klp-mes/src/main/java/com/klp/mes/roll/service/impl/MesRollStandbyServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/roll/service/impl/MesRollStandbyServiceImpl.java index 46f66e5c..0c8bb867 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/service/impl/MesRollStandbyServiceImpl.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/service/impl/MesRollStandbyServiceImpl.java @@ -31,8 +31,8 @@ public class MesRollStandbyServiceImpl implements IMesRollStandbyService { } @Override - public List queryByStand(String standNo) { - return baseMapper.selectByStand(standNo); + public List queryByStand(Long lineId, String standNo) { + return baseMapper.selectByStand(lineId, standNo); } @Override @@ -70,10 +70,10 @@ public class MesRollStandbyServiceImpl implements IMesRollStandbyService { @Override @Transactional(rollbackFor = Exception.class) - public Boolean clearByStand(String standNo) { + public Boolean clearByStand(Long lineId, String standNo) { // 先查出所有辊号再清空 - List list = baseMapper.selectByStand(standNo); - int rows = baseMapper.clearByStand(standNo); + List list = baseMapper.selectByStand(lineId, standNo); + int rows = baseMapper.clearByStand(lineId, standNo); for (MesRollStandbyVo vo : list) { if (StringUtils.isNotBlank(vo.getRollNo())) { // 只有仍处于 Standby 状态时才回退为 Offline(换辊后已变 Online 的不动) diff --git a/klp-mes/src/main/resources/mapper/roll/MesRollChangeMapper.xml b/klp-mes/src/main/resources/mapper/roll/MesRollChangeMapper.xml index 33f7abf8..1ae6fa5e 100644 --- a/klp-mes/src/main/resources/mapper/roll/MesRollChangeMapper.xml +++ b/klp-mes/src/main/resources/mapper/roll/MesRollChangeMapper.xml @@ -2,26 +2,28 @@ - + SELECT - (SELECT upper_wr_no FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0 AND upper_wr_no IS NOT NULL AND upper_wr_no != '' ORDER BY change_time DESC, change_id DESC LIMIT 1) AS upperWrNo, - (SELECT upper_wr_dia FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0 AND upper_wr_no IS NOT NULL AND upper_wr_no != '' ORDER BY change_time DESC, change_id DESC LIMIT 1) AS upperWrDia, - (SELECT lower_wr_no FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0 AND lower_wr_no IS NOT NULL AND lower_wr_no != '' ORDER BY change_time DESC, change_id DESC LIMIT 1) AS lowerWrNo, - (SELECT lower_wr_dia FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0 AND lower_wr_no IS NOT NULL AND lower_wr_no != '' ORDER BY change_time DESC, change_id DESC LIMIT 1) AS lowerWrDia, - (SELECT upper_br_no FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0 AND upper_br_no IS NOT NULL AND upper_br_no != '' ORDER BY change_time DESC, change_id DESC LIMIT 1) AS upperBrNo, - (SELECT upper_br_dia FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0 AND upper_br_no IS NOT NULL AND upper_br_no != '' ORDER BY change_time DESC, change_id DESC LIMIT 1) AS upperBrDia, - (SELECT lower_br_no FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0 AND lower_br_no IS NOT NULL AND lower_br_no != '' ORDER BY change_time DESC, change_id DESC LIMIT 1) AS lowerBrNo, - (SELECT lower_br_dia FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0 AND lower_br_no IS NOT NULL AND lower_br_no != '' ORDER BY change_time DESC, change_id DESC LIMIT 1) AS lowerBrDia, - (SELECT MAX(change_time) FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0) AS changeTime + (SELECT upper_wr_no FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0 AND line_id = #{lineId} AND upper_wr_no IS NOT NULL AND upper_wr_no != '' ORDER BY change_time DESC, change_id DESC LIMIT 1) AS upperWrNo, + (SELECT upper_wr_dia FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0 AND line_id = #{lineId} AND upper_wr_no IS NOT NULL AND upper_wr_no != '' ORDER BY change_time DESC, change_id DESC LIMIT 1) AS upperWrDia, + (SELECT lower_wr_no FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0 AND line_id = #{lineId} AND lower_wr_no IS NOT NULL AND lower_wr_no != '' ORDER BY change_time DESC, change_id DESC LIMIT 1) AS lowerWrNo, + (SELECT lower_wr_dia FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0 AND line_id = #{lineId} AND lower_wr_no IS NOT NULL AND lower_wr_no != '' ORDER BY change_time DESC, change_id DESC LIMIT 1) AS lowerWrDia, + (SELECT upper_br_no FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0 AND line_id = #{lineId} AND upper_br_no IS NOT NULL AND upper_br_no != '' ORDER BY change_time DESC, change_id DESC LIMIT 1) AS upperBrNo, + (SELECT upper_br_dia FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0 AND line_id = #{lineId} AND upper_br_no IS NOT NULL AND upper_br_no != '' ORDER BY change_time DESC, change_id DESC LIMIT 1) AS upperBrDia, + (SELECT lower_br_no FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0 AND line_id = #{lineId} AND lower_br_no IS NOT NULL AND lower_br_no != '' ORDER BY change_time DESC, change_id DESC LIMIT 1) AS lowerBrNo, + (SELECT lower_br_dia FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0 AND line_id = #{lineId} AND lower_br_no IS NOT NULL AND lower_br_no != '' ORDER BY change_time DESC, change_id DESC LIMIT 1) AS lowerBrDia, + (SELECT MAX(change_time) FROM mes_roll_change WHERE stand_no = #{standNo} AND del_flag = 0 AND line_id = #{lineId}) AS changeTime - + + - + UPDATE mes_roll_standby SET del_flag = 1 WHERE del_flag = 0 AND stand_no = #{standNo} + AND line_id = #{lineId} diff --git a/klp-ui/src/api/mes/roll/rollChange.js b/klp-ui/src/api/mes/roll/rollChange.js index 68f1d541..8bcf5a7d 100644 --- a/klp-ui/src/api/mes/roll/rollChange.js +++ b/klp-ui/src/api/mes/roll/rollChange.js @@ -1,6 +1,6 @@ import request from '@/utils/request' -// 查询换辊记录分页列表(支持按机架、类型、时间筛选) +// 查询换辊记录分页列表(支持按产线、机架、类型、时间筛选) export function listRollChange(query) { return request({ url: '/mes/rollChange/list', @@ -9,20 +9,21 @@ export function listRollChange(query) { }) } -// 查询指定机架当前在机轧辊(最近一次换辊记录) -export function getCurrentRolls(standNo) { +// 查询指定产线+机架当前在机轧辊(最近一次换辊记录) +export function getCurrentRolls(lineId, standNo) { return request({ url: '/mes/rollChange/current', method: 'get', - params: { standNo } + params: { lineId, standNo } }) } -// 查询各机架各辊位实时工作绩效(workLength/coilCount/totalWeight) -export function getRollPerformance() { +// 查询指定产线各机架各辊位实时工作绩效(workLength/coilCount/totalWeight) +export function getRollPerformance(lineId) { return request({ url: '/mes/rollChange/performance', - method: 'get' + method: 'get', + params: { lineId } }) } diff --git a/klp-ui/src/api/mes/roll/rollInfo.js b/klp-ui/src/api/mes/roll/rollInfo.js index b2295cdd..4393ef04 100644 --- a/klp-ui/src/api/mes/roll/rollInfo.js +++ b/klp-ui/src/api/mes/roll/rollInfo.js @@ -9,20 +9,21 @@ export function listRollInfo(query) { }) } -// 查询状态统计卡片 -export function getRollStats() { +// 查询状态统计卡片(lineId 为空时统计全部产线) +export function getRollStats(lineId) { return request({ url: '/mes/rollInfo/stats', - method: 'get' + method: 'get', + params: { lineId } }) } -// 查询轧辊编号下拉(rollType/status 均可为空,不传则不过滤) -export function listRollOptions(rollType, status) { +// 查询轧辊编号下拉(lineId/rollType/status 均可为空,不传则不过滤) +export function listRollOptions(lineId, rollType, status) { return request({ url: '/mes/rollInfo/options', method: 'get', - params: { rollType, status } + params: { lineId, rollType, status } }) } @@ -68,11 +69,12 @@ export function scrapRollInfo(rollId) { }) } -// 从换辊记录同步在线状态 -export function syncRollStatus() { +// 从换辊记录同步在线状态(lineId 为空时同步全部产线) +export function syncRollStatus(lineId) { return request({ url: '/mes/rollInfo/syncStatus', - method: 'post' + method: 'post', + params: { lineId } }) } diff --git a/klp-ui/src/api/mes/roll/rollStandby.js b/klp-ui/src/api/mes/roll/rollStandby.js index 05a0dc41..5e028436 100644 --- a/klp-ui/src/api/mes/roll/rollStandby.js +++ b/klp-ui/src/api/mes/roll/rollStandby.js @@ -1,11 +1,11 @@ import request from '@/utils/request' -// 查询指定机架下批轧辊列表 -export function listRollStandby(standNo) { +// 查询指定产线+机架下批轧辊列表 +export function listRollStandby(lineId, standNo) { return request({ url: '/mes/rollStandby/list', method: 'get', - params: { standNo } + params: { lineId, standNo } }) } @@ -43,11 +43,11 @@ export function delRollStandby(standbyId) { }) } -// 清空指定机架全部下批轧辊 -export function clearRollStandby(standNo) { +// 清空指定产线+机架全部下批轧辊 +export function clearRollStandby(lineId, standNo) { return request({ url: '/mes/rollStandby/clear', method: 'delete', - params: { standNo } + params: { lineId, standNo } }) } diff --git a/klp-ui/src/views/mes/roll/grind/index.vue b/klp-ui/src/views/mes/roll/grind/index.vue index 37807924..7a952ec0 100644 --- a/klp-ui/src/views/mes/roll/grind/index.vue +++ b/klp-ui/src/views/mes/roll/grind/index.vue @@ -2,7 +2,21 @@
- + +
+
全部
+
{{ l.lineName }}
+
+ +
@@ -11,12 +25,6 @@
- - - - - @@ -39,6 +47,7 @@ {{ statusLabel(r.status) }} φ{{ r.currentDia != null ? r.currentDia : r.initialDia }}
+
{{ r.lineName }}
暂无数据
@@ -229,13 +238,18 @@ + + + + diff --git a/klp-ui/src/views/mes/roll/working/index.vue b/klp-ui/src/views/mes/roll/working/index.vue index 41a8d0b9..ecab7da2 100644 --- a/klp-ui/src/views/mes/roll/working/index.vue +++ b/klp-ui/src/views/mes/roll/working/index.vue @@ -381,6 +381,7 @@ import { getCurrentRolls, listRollChange, addRollChange, updateRollChange, delRollChange, getRollPerformance } from '@/api/mes/roll/rollChange' import { listRollStandby, addRollStandby, delRollStandby, clearRollStandby } from '@/api/mes/roll/rollStandby' import { listRollOptions, listRollInfo } from '@/api/mes/roll/rollInfo' +import rollLineMixin from '../rollLineMixin' const ParamCell = { name: 'ParamCell', @@ -409,6 +410,7 @@ const PerfCell = { export default { name: 'WorkingRoll', components: { ParamCell, PerfCell }, + mixins: [rollLineMixin], data() { return { current: { '1#': {}, '2#': {} }, @@ -576,11 +578,7 @@ export default { } }, - created() { - this.loadAll() - this.loadRollOptions() - this.loadRollInfoMap() - }, + created() {}, mounted() { this.$nextTick(this.syncAsideHeight) @@ -592,6 +590,12 @@ export default { }, methods: { + onLineResolved() { + this.loadAll() + this.loadRollOptions() + this.loadRollInfoMap() + }, + getDefaultChangeForm(standNo) { return { standNo: standNo || undefined, @@ -631,14 +635,14 @@ export default { loadRollPerformance() { this.perfLoading = true - getRollPerformance().then(res => { + getRollPerformance(this.lineId).then(res => { this.perfData = res.data || {} }).finally(() => { this.perfLoading = false }) }, loadCurrent(standNo) { this.$set(this.loadingCurrent, standNo, true) - getCurrentRolls(standNo).then(res => { + getCurrentRolls(this.lineId, standNo).then(res => { this.$set(this.current, standNo, res.data || {}) this.$set(this.loadingCurrent, standNo, false) this.$nextTick(this.syncAsideHeight) @@ -647,7 +651,7 @@ export default { loadStandby(standNo) { this.$set(this.loadingStandby, standNo, true) - listRollStandby(standNo).then(res => { + listRollStandby(this.lineId, standNo).then(res => { this.$set(this.standbyList, standNo, res.data || []) this.$set(this.loadingStandby, standNo, false) }).catch(() => { this.$set(this.loadingStandby, standNo, false) }) @@ -655,7 +659,7 @@ export default { loadHistory() { this.historyLoading = true - listRollChange(this.historyQuery).then(res => { + listRollChange({ ...this.historyQuery, lineId: this.lineId }).then(res => { this.historyList = res.rows || [] this.historyTotal = res.total || 0 this.historyLoading = false @@ -663,13 +667,13 @@ export default { }, loadRollOptions() { - // 下批辊选择只显示离线(Offline)状态的轧辊 - listRollOptions('WR', 'Offline').then(res => { this.wrOptions = res.data || [] }) - listRollOptions('BR', 'Offline').then(res => { this.brOptions = res.data || [] }) + // 下批辊选择只显示离线(Offline)状态的轧辊,限定当前产线 + listRollOptions(this.lineId, 'WR', 'Offline').then(res => { this.wrOptions = res.data || [] }) + listRollOptions(this.lineId, 'BR', 'Offline').then(res => { this.brOptions = res.data || [] }) }, loadRollInfoMap() { - listRollInfo({ pageNum: 1, pageSize: 500 }).then(res => { + listRollInfo({ lineId: this.lineId, pageNum: 1, pageSize: 500 }).then(res => { const map = {} ;(res.rows || []).forEach(r => { map[r.rollNo] = r }) this.rollInfoMap = map @@ -708,6 +712,7 @@ export default { this.changeForm = { ...this.getDefaultChangeForm(standNo), + lineId: this.lineId, upperWrNo: uwr.no, upperWrDia: uwr.dia, lowerWrNo: lwr.no, lowerWrDia: lwr.dia, upperBrNo: ubr.no, upperBrDia: ubr.dia, @@ -722,7 +727,7 @@ export default { addRollChange(this.changeForm).then(() => { this.$modal.msgSuccess('换辊成功') this.changeOpen = false - clearRollStandby(standNo).finally(() => { + clearRollStandby(this.lineId, standNo).finally(() => { this.loadCurrent(standNo) this.loadStandby(standNo) this.loadHistory() @@ -761,7 +766,7 @@ export default { submitStandby() { this.$refs.standbyForm.validate(valid => { if (!valid) return - addRollStandby(this.standbyForm).then(() => { + addRollStandby({ ...this.standbyForm, lineId: this.lineId }).then(() => { this.$modal.msgSuccess('已添加到下批轧辊') this.standbyOpen = false this.loadStandby(this.standbyForm.standNo) @@ -787,7 +792,7 @@ export default { }, handleClearStandby(standNo) { this.$modal.confirm('确认清空 ' + standNo + ' 机架的全部下批轧辊?').then(() => { - return clearRollStandby(standNo) + return clearRollStandby(this.lineId, standNo) }).then(() => { this.$modal.msgSuccess('已清空') this.loadStandby(standNo) @@ -818,7 +823,7 @@ export default { // ── 可用离线辊列表 ──────────────────────────────────────── loadOfflineRolls() { this.offlineLoading = true - listRollInfo({ status: 'Offline', pageNum: 1, pageSize: 30 }).then(res => { + listRollInfo({ lineId: this.lineId, status: 'Offline', pageNum: 1, pageSize: 30 }).then(res => { this.offlineRolls = res.rows || [] }).finally(() => { this.offlineLoading = false diff --git a/klp-ui/src/views/wms/coil/do/acid-merge.vue b/klp-ui/src/views/wms/coil/do/acid-merge.vue new file mode 100644 index 00000000..8ba74328 --- /dev/null +++ b/klp-ui/src/views/wms/coil/do/acid-merge.vue @@ -0,0 +1,247 @@ + + + + + diff --git a/klp-ui/src/views/wms/coil/do/acid-normal.vue b/klp-ui/src/views/wms/coil/do/acid-normal.vue new file mode 100644 index 00000000..ee7d51d4 --- /dev/null +++ b/klp-ui/src/views/wms/coil/do/acid-normal.vue @@ -0,0 +1,237 @@ + + + + + diff --git a/klp-ui/src/views/wms/coil/do/acid-split.vue b/klp-ui/src/views/wms/coil/do/acid-split.vue new file mode 100644 index 00000000..7928f9a4 --- /dev/null +++ b/klp-ui/src/views/wms/coil/do/acid-split.vue @@ -0,0 +1,280 @@ + + + + + diff --git a/klp-ui/src/views/wms/coil/panels/L2MatchPanel.vue b/klp-ui/src/views/wms/coil/panels/L2MatchPanel.vue new file mode 100644 index 00000000..b93659d9 --- /dev/null +++ b/klp-ui/src/views/wms/coil/panels/L2MatchPanel.vue @@ -0,0 +1,188 @@ + + + + + diff --git a/klp-ui/src/views/wms/coil/typing.vue b/klp-ui/src/views/wms/coil/typing.vue index 936ddd23..34c30e14 100644 --- a/klp-ui/src/views/wms/coil/typing.vue +++ b/klp-ui/src/views/wms/coil/typing.vue @@ -26,25 +26,9 @@
- +
- - -
- 酸连轧最近记录 -
- - - - - - - - - -
+
@@ -138,35 +122,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -361,8 +316,6 @@