From 0671f405f66e907debba7b5a5f69d53b1bc24f45 Mon Sep 17 00:00:00 2001 From: liuyuxin Date: Wed, 15 Apr 2026 15:48:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=93=E4=BD=8D=E4=BF=AE=E6=94=B9=E4=BB=A5?= =?UTF-8?q?=E5=8F=8A=E6=89=B9=E9=87=8F=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PcdeDetailController.java | 14 +++--- .../service/IPcdeDetailService.java | 2 +- .../service/impl/PcdeDetailServiceImpl.java | 46 +++++++++---------- .../project/wisdom/mapper/RkInfoMapper.java | 3 ++ .../mybatis/information/PcdeDetailMapper.xml | 2 - .../resources/mybatis/wisdom/RkInfoMapper.xml | 10 ++++ 6 files changed, 44 insertions(+), 33 deletions(-) diff --git a/src/main/java/com/zg/project/information/controller/PcdeDetailController.java b/src/main/java/com/zg/project/information/controller/PcdeDetailController.java index 99f4eee..e77a63a 100644 --- a/src/main/java/com/zg/project/information/controller/PcdeDetailController.java +++ b/src/main/java/com/zg/project/information/controller/PcdeDetailController.java @@ -126,11 +126,11 @@ public class PcdeDetailController extends BaseController /** * 删除库位明细 */ -// @PreAuthorize("@ss.hasPermi('information:pcdedetail:remove')") -// @Log(title = "库位明细", businessType = BusinessType.DELETE) -// @DeleteMapping("/{ids}") -// public AjaxResult remove(@PathVariable Long[] ids) -// { -// return toAjax(pcdeDetailService.deletePcdeDetailByIds(ids)); -// } + @PreAuthorize("@ss.hasPermi('information:pcdedetail:remove')") + @Log(title = "库位明细", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(pcdeDetailService.deletePcdeDetailByIds(ids)); + } } diff --git a/src/main/java/com/zg/project/information/service/IPcdeDetailService.java b/src/main/java/com/zg/project/information/service/IPcdeDetailService.java index 75c9d35..493fa39 100644 --- a/src/main/java/com/zg/project/information/service/IPcdeDetailService.java +++ b/src/main/java/com/zg/project/information/service/IPcdeDetailService.java @@ -50,7 +50,7 @@ public interface IPcdeDetailService * @param ids 需要删除的库位明细主键集合 * @return 结果 */ -// public int deletePcdeDetailByIds(Long[] ids); + public int deletePcdeDetailByIds(Long[] ids); /** * 删除库位明细信息 diff --git a/src/main/java/com/zg/project/information/service/impl/PcdeDetailServiceImpl.java b/src/main/java/com/zg/project/information/service/impl/PcdeDetailServiceImpl.java index 50c0d50..28da61d 100644 --- a/src/main/java/com/zg/project/information/service/impl/PcdeDetailServiceImpl.java +++ b/src/main/java/com/zg/project/information/service/impl/PcdeDetailServiceImpl.java @@ -95,29 +95,29 @@ public class PcdeDetailServiceImpl implements IPcdeDetailService * @param ids 需要删除的库位明细主键 * @return 结果 */ -// @Override -// public int deletePcdeDetailByIds(Long[] ids) -// { -// for (Long id : ids) { -// // 获取库位信息 -// PcdeDetail pcdeDetail = pcdeDetailMapper.selectPcdeDetailById(id); -// if (pcdeDetail == null) { -// throw new ServiceException("ID为 " + id + " 的库位不存在,无法删除"); -// } -// -// // 获取库位编号 -// String locationCode = pcdeDetail.getPcode(); -// -// // 检查该库位是否仍有关联货物 -// int count = rkInfoMapper.countRkInfoByLocationCode(locationCode); -// if (count > 0) { -// throw new ServiceException("库位 [" + locationCode + "] 上还有货物,无法批量删除"); -// } -// } -// -// // 全部校验通过后再执行删除 -// return pcdeDetailMapper.deletePcdeDetailByIds(ids); -// } + @Override + public int deletePcdeDetailByIds(Long[] ids) + { + for (Long id : ids) { + // 获取库位信息 + PcdeDetail pcdeDetail = pcdeDetailMapper.selectPcdeDetailById(id); + if (pcdeDetail == null) { + throw new ServiceException("ID为 " + id + " 的库位不存在,无法删除"); + } + + // 获取库位编号 + String locationCode = pcdeDetail.getPcode(); + + // 检查该库位是否仍有关联货物 + int count = rkInfoMapper.countRkInfoByLocationCode(locationCode); + if (count > 0) { + throw new ServiceException("库位 [" + locationCode + "] 上还有货物,无法批量删除"); + } + } + + // 全部校验通过后再执行删除 + return pcdeDetailMapper.deletePcdeDetailByIds(ids); + } /** * 删除库位明细信息 diff --git a/src/main/java/com/zg/project/wisdom/mapper/RkInfoMapper.java b/src/main/java/com/zg/project/wisdom/mapper/RkInfoMapper.java index 6839975..ab7219d 100644 --- a/src/main/java/com/zg/project/wisdom/mapper/RkInfoMapper.java +++ b/src/main/java/com/zg/project/wisdom/mapper/RkInfoMapper.java @@ -192,4 +192,7 @@ public interface RkInfoMapper ); int updateInfoByBillNo(RkInfo rkInfo); + + + public int countRkInfoByLocationCode(String locationCode); } diff --git a/src/main/resources/mybatis/information/PcdeDetailMapper.xml b/src/main/resources/mybatis/information/PcdeDetailMapper.xml index 4420d00..31dc6c2 100644 --- a/src/main/resources/mybatis/information/PcdeDetailMapper.xml +++ b/src/main/resources/mybatis/information/PcdeDetailMapper.xml @@ -335,7 +335,6 @@ INSERT IGNORE INTO pcde_detail (pcode, scene, - scene_name, parent_warehouse_code, parent_warehouse_name, warehouse_code, @@ -353,7 +352,6 @@ ( #{item.pcode}, #{item.scene}, - #{item.sceneName}, #{item.parentWarehouseCode}, #{item.parentWarehouseName}, #{item.warehouseCode}, diff --git a/src/main/resources/mybatis/wisdom/RkInfoMapper.xml b/src/main/resources/mybatis/wisdom/RkInfoMapper.xml index f627fd9..aa72093 100644 --- a/src/main/resources/mybatis/wisdom/RkInfoMapper.xml +++ b/src/main/resources/mybatis/wisdom/RkInfoMapper.xml @@ -721,4 +721,14 @@ WHERE bill_no = #{billNo} + +