From 65f561a4d7feae95fbfb6cdb133f22cc18afae16 Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Mon, 15 Dec 2025 14:43:48 +0800 Subject: [PATCH] =?UTF-8?q?2025-12-15=20=E8=BF=87=E7=AB=99=E9=87=87?= =?UTF-8?q?=E9=9B=86-=E3=80=8B=E8=BD=A6=E9=97=B4=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0->=E5=BC=82=E5=B8=B8=E7=BB=AD=E5=8D=B7?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ShiftAbnormalRollReportController.java | 72 +++++++++++++++++++ .../mapper/ShiftAbnormalRollReportMapper.java | 34 +++++++++ .../ShiftAbnormalRollReportService.java | 25 +++++++ .../ShiftAbnormalRollReportServiceImpl.java | 18 +++++ .../ShiftAbnormalRollReportMapper.xml | 64 +++++++++++++++++ 5 files changed, 213 insertions(+) diff --git a/src/main/java/com/gaotao/modules/schedule/controller/ShiftAbnormalRollReportController.java b/src/main/java/com/gaotao/modules/schedule/controller/ShiftAbnormalRollReportController.java index 38bfcab..e48c507 100644 --- a/src/main/java/com/gaotao/modules/schedule/controller/ShiftAbnormalRollReportController.java +++ b/src/main/java/com/gaotao/modules/schedule/controller/ShiftAbnormalRollReportController.java @@ -127,5 +127,77 @@ public class ShiftAbnormalRollReportController { return R.error(500, "操作失败:" + e.getMessage()); } } + + /** + * 查询卷号列表(去重)用于异常续卷 + */ + @PostMapping("/getRollNoList") + public R getRollNoList(@RequestBody Map params) { + String site = (String) params.get("site"); + String orderNo = (String) params.get("orderNo"); + + List> list = shiftAbnormalRollReportService.getRollNoList(site, orderNo); + + return R.ok() + .put("code", 0) + .put("data", list) + .put("count", list != null ? list.size() : 0); + } + + /** + * 根据卷号组合查询详细数据 + */ + @PostMapping("/getByRollNos") + public R getByRollNos(@RequestBody Map params) { + String site = (String) params.get("site"); + String orderNo = (String) params.get("orderNo"); + String currentRollNo = (String) params.get("currentRollNo"); + String newRollNo = (String) params.get("newRollNo"); + + List list = shiftAbnormalRollReportService.getByRollNos(site, orderNo, currentRollNo, newRollNo); + + return R.ok() + .put("code", 0) + .put("data", list) + .put("count", list != null ? list.size() : 0); + } + + /** + * 异常续卷(更新数据) + */ + @PostMapping("/continueRoll") + public R continueRoll(@RequestBody Map params) { + try { + String processedBy = (String) params.get("processedBy"); + + // 获取行数据列表 + @SuppressWarnings("unchecked") + List> rowDataList = (List>) params.get("rowDataList"); + + // 构建实体列表 + List entityList = new ArrayList<>(); + if (rowDataList != null) { + for (Map rowData : rowDataList) { + ShiftAbnormalRollReportEntity entity = new ShiftAbnormalRollReportEntity(); + entity.setId(rowData.get("id") != null ? Long.valueOf(rowData.get("id").toString()) : null); + entity.setGoodQty(rowData.get("goodQty") != null ? new BigDecimal(rowData.get("goodQty").toString()) : BigDecimal.ZERO); + entity.setDefectQty(rowData.get("defectQty") != null ? new BigDecimal(rowData.get("defectQty").toString()) : BigDecimal.ZERO); + entity.setSurfaceLossQty(rowData.get("surfaceLossQty") != null ? new BigDecimal(rowData.get("surfaceLossQty").toString()) : BigDecimal.ZERO); + entity.setPoorPerformanceQty(rowData.get("poorPerformanceQty") != null ? new BigDecimal(rowData.get("poorPerformanceQty").toString()) : BigDecimal.ZERO); + entity.setRemark(rowData.get("remark") != null ? rowData.get("remark").toString() : ""); + entityList.add(entity); + } + } + + // 更新数据 + shiftAbnormalRollReportService.continueRoll(entityList, processedBy); + + return R.ok() + .put("code", 0) + .put("msg", "异常续卷数据更新成功"); + } catch (Exception e) { + return R.error(500, "操作失败:" + e.getMessage()); + } + } } diff --git a/src/main/java/com/gaotao/modules/schedule/mapper/ShiftAbnormalRollReportMapper.java b/src/main/java/com/gaotao/modules/schedule/mapper/ShiftAbnormalRollReportMapper.java index 4fa92a8..1065e9e 100644 --- a/src/main/java/com/gaotao/modules/schedule/mapper/ShiftAbnormalRollReportMapper.java +++ b/src/main/java/com/gaotao/modules/schedule/mapper/ShiftAbnormalRollReportMapper.java @@ -59,5 +59,39 @@ public interface ShiftAbnormalRollReportMapper extends BaseMapper> selectRollNoList( + @Param("site") String site, + @Param("orderNo") String orderNo); + + /** + * 根据卷号组合查询详细数据 + * @param site 工厂 + * @param orderNo 工单号 + * @param currentRollNo 当前卷号 + * @param newRollNo 新卷号 + * @return 详细数据列表 + */ + List selectByRollNos( + @Param("site") String site, + @Param("orderNo") String orderNo, + @Param("currentRollNo") String currentRollNo, + @Param("newRollNo") String newRollNo); + + /** + * 批量更新异常截卷数据(续卷) + * @param list 数据列表 + * @param processedBy 处理人 + * @return 更新的行数 + */ + int batchUpdateByRollNos( + @Param("list") List list, + @Param("processedBy") String processedBy); } diff --git a/src/main/java/com/gaotao/modules/schedule/service/ShiftAbnormalRollReportService.java b/src/main/java/com/gaotao/modules/schedule/service/ShiftAbnormalRollReportService.java index 9e82a4e..4aa9ff8 100644 --- a/src/main/java/com/gaotao/modules/schedule/service/ShiftAbnormalRollReportService.java +++ b/src/main/java/com/gaotao/modules/schedule/service/ShiftAbnormalRollReportService.java @@ -45,5 +45,30 @@ public interface ShiftAbnormalRollReportService extends IService> getRollNoList(String site, String orderNo); + + /** + * 根据卷号组合查询详细数据 + * @param site 工厂 + * @param orderNo 工单号 + * @param currentRollNo 当前卷号 + * @param newRollNo 新卷号 + * @return 详细数据列表 + */ + List getByRollNos(String site, String orderNo, String currentRollNo, String newRollNo); + + /** + * 异常续卷(更新数据) + * @param dataList 数据列表 + * @param processedBy 处理人 + */ + void continueRoll(List dataList, String processedBy); } diff --git a/src/main/java/com/gaotao/modules/schedule/service/impl/ShiftAbnormalRollReportServiceImpl.java b/src/main/java/com/gaotao/modules/schedule/service/impl/ShiftAbnormalRollReportServiceImpl.java index 1c23672..4954103 100644 --- a/src/main/java/com/gaotao/modules/schedule/service/impl/ShiftAbnormalRollReportServiceImpl.java +++ b/src/main/java/com/gaotao/modules/schedule/service/impl/ShiftAbnormalRollReportServiceImpl.java @@ -49,5 +49,23 @@ public class ShiftAbnormalRollReportServiceImpl List list = shiftAbnormalRollReportMapper.selectUnprocessedData(site, orderNo, seqNo); return list != null ? list.size() : 0; } + + @Override + public List> getRollNoList(String site, String orderNo) { + return shiftAbnormalRollReportMapper.selectRollNoList(site, orderNo); + } + + @Override + public List getByRollNos(String site, String orderNo, String currentRollNo, String newRollNo) { + return shiftAbnormalRollReportMapper.selectByRollNos(site, orderNo, currentRollNo, newRollNo); + } + + @Override + @Transactional + public void continueRoll(List dataList, String processedBy) { + if (dataList != null && !dataList.isEmpty()) { + shiftAbnormalRollReportMapper.batchUpdateByRollNos(dataList, processedBy); + } + } } diff --git a/src/main/resources/mapper/schedule/ShiftAbnormalRollReportMapper.xml b/src/main/resources/mapper/schedule/ShiftAbnormalRollReportMapper.xml index 3295e1e..f25f35c 100644 --- a/src/main/resources/mapper/schedule/ShiftAbnormalRollReportMapper.xml +++ b/src/main/resources/mapper/schedule/ShiftAbnormalRollReportMapper.xml @@ -96,5 +96,69 @@ AND is_processed = 0 + + + + + + + + + + UPDATE shift_abnormal_roll_report + SET good_qty = #{item.goodQty}, + defect_qty = #{item.defectQty}, + surface_loss_qty = #{item.surfaceLossQty}, + poor_performance_qty = #{item.poorPerformanceQty}, + remark = #{item.remark}, + processed_by = #{processedBy}, + processed_time = GETDATE() + WHERE id = #{item.id} + + +