From 78aee17ebebc59590ec61b0977dd58acbb98bec6 Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Mon, 27 Oct 2025 16:24:25 +0800 Subject: [PATCH] =?UTF-8?q?2025-10-27=20=E4=BB=93=E5=BA=93=E7=9B=98?= =?UTF-8?q?=E7=82=B9=E7=AE=A1=E7=90=86PDA=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CountingWIPController.java | 31 +++++++++++++++++++ .../warehouse/dao/CountingWIPMapper.java | 12 +++++++ .../warehouse/service/CountingWIPService.java | 9 ++++++ .../service/impl/CountingWIPServiceImpl.java | 16 ++++++++++ .../mapper/warehouse/CountingWIPMapper.xml | 8 +++++ 5 files changed, 76 insertions(+) diff --git a/src/main/java/com/gaotao/modules/warehouse/controller/CountingWIPController.java b/src/main/java/com/gaotao/modules/warehouse/controller/CountingWIPController.java index e63f7b1..15de3d1 100644 --- a/src/main/java/com/gaotao/modules/warehouse/controller/CountingWIPController.java +++ b/src/main/java/com/gaotao/modules/warehouse/controller/CountingWIPController.java @@ -179,5 +179,36 @@ public class CountingWIPController extends AbstractController { return R.error("确认失败: " + e.getMessage()); } } + + /** + * 删除WIP数据 + */ + @PostMapping("delete") + public R delete(@RequestBody Map params) { + try { + String site = (String) params.get("site"); + String reportId = (String) params.get("reportId"); + String rollNo = (String) params.get("rollNo"); + + if (site == null || site.isEmpty()) { + return R.error("站点不能为空"); + } + if (reportId == null || reportId.isEmpty()) { + return R.error("盘点任务单号不能为空"); + } + if (rollNo == null || rollNo.isEmpty()) { + return R.error("标签条码不能为空"); + } + + countingWIPService.deleteByRollNo(site, reportId, rollNo); + + return R.ok() + .put("code", 0) + .put("msg", "删除成功"); + } catch (Exception e) { + logger.error("删除WIP数据失败", e); + return R.error("删除失败: " + e.getMessage()); + } + } } diff --git a/src/main/java/com/gaotao/modules/warehouse/dao/CountingWIPMapper.java b/src/main/java/com/gaotao/modules/warehouse/dao/CountingWIPMapper.java index 7fb7e85..1508ede 100644 --- a/src/main/java/com/gaotao/modules/warehouse/dao/CountingWIPMapper.java +++ b/src/main/java/com/gaotao/modules/warehouse/dao/CountingWIPMapper.java @@ -75,6 +75,18 @@ public interface CountingWIPMapper { int deleteByReportId(@Param("site") String site, @Param("reportId") String reportId); + /** + * 删除单条WIP数据 + * + * @param site 站点 + * @param reportId 盘点任务单号 + * @param rollNo 标签条码 + * @return 影响行数 + */ + int deleteByRollNo(@Param("site") String site, + @Param("reportId") String reportId, + @Param("rollNo") String rollNo); + /** * 检查标签是否存在于WIP中 * diff --git a/src/main/java/com/gaotao/modules/warehouse/service/CountingWIPService.java b/src/main/java/com/gaotao/modules/warehouse/service/CountingWIPService.java index 4c46e85..d4ed47f 100644 --- a/src/main/java/com/gaotao/modules/warehouse/service/CountingWIPService.java +++ b/src/main/java/com/gaotao/modules/warehouse/service/CountingWIPService.java @@ -67,5 +67,14 @@ public interface CountingWIPService { * @return 操作结果 */ Map confirmCounting(String site, String reportId); + + /** + * 删除单条WIP数据 + * + * @param site 站点 + * @param reportId 盘点任务单号 + * @param rollNo 标签条码 + */ + void deleteByRollNo(String site, String reportId, String rollNo); } diff --git a/src/main/java/com/gaotao/modules/warehouse/service/impl/CountingWIPServiceImpl.java b/src/main/java/com/gaotao/modules/warehouse/service/impl/CountingWIPServiceImpl.java index 9fd621e..430c53e 100644 --- a/src/main/java/com/gaotao/modules/warehouse/service/impl/CountingWIPServiceImpl.java +++ b/src/main/java/com/gaotao/modules/warehouse/service/impl/CountingWIPServiceImpl.java @@ -279,5 +279,21 @@ public class CountingWIPServiceImpl implements CountingWIPService { throw new RuntimeException("确认盘点失败: " + e.getMessage(), e); } } + + @Override + public void deleteByRollNo(String site, String reportId, String rollNo) { + logger.info("删除WIP数据,站点: {}, 盘点单号: {}, 标签条码: {}", site, reportId, rollNo); + try { + int count = countingWIPMapper.deleteByRollNo(site, reportId, rollNo); + if (count > 0) { + logger.info("删除WIP数据成功,删除行数: {}", count); + } else { + logger.warn("未找到要删除的WIP数据"); + } + } catch (Exception e) { + logger.error("删除WIP数据失败,错误信息: {}", e.getMessage(), e); + throw new RuntimeException("删除WIP数据失败: " + e.getMessage(), e); + } + } } diff --git a/src/main/resources/mapper/warehouse/CountingWIPMapper.xml b/src/main/resources/mapper/warehouse/CountingWIPMapper.xml index 30dd014..faa5dd8 100644 --- a/src/main/resources/mapper/warehouse/CountingWIPMapper.xml +++ b/src/main/resources/mapper/warehouse/CountingWIPMapper.xml @@ -143,6 +143,14 @@ AND report_id = #{reportId} + + + DELETE FROM CountingWIP + WHERE site = #{site} + AND report_id = #{reportId} + AND roll_no = #{rollNo} + +