From 598dccbcf8c9be035e69205c331641e63fa9ad8c Mon Sep 17 00:00:00 2001 From: "han\\hanst" Date: Fri, 3 Oct 2025 21:40:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=8D=E5=88=B6=E6=A8=A1=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ecss/controller/CoDelController.java | 7 ++++ .../sys/modules/ecss/mapper/CoDelMapper.java | 2 + .../modules/ecss/service/CoDelService.java | 2 + .../ecss/service/impl/CoDelServiceImpl.java | 38 +++++++++++++++++++ .../resources/mapper/ecss/CoDelMapper.xml | 4 ++ 5 files changed, 53 insertions(+) diff --git a/src/main/java/com/xujie/sys/modules/ecss/controller/CoDelController.java b/src/main/java/com/xujie/sys/modules/ecss/controller/CoDelController.java index aef54fbe..7e1a653e 100644 --- a/src/main/java/com/xujie/sys/modules/ecss/controller/CoDelController.java +++ b/src/main/java/com/xujie/sys/modules/ecss/controller/CoDelController.java @@ -481,6 +481,13 @@ public class CoDelController { return R.ok(); } + @PostMapping("/copyEcssTemplate") + @ResponseBody + public R copyEcssTemplate(@RequestBody EcssTemplate inData){ + coDelService.copyEcssTemplate(inData); + return R.ok(); + } + @PostMapping("/searchWalMartOrderData") public R searchWalMartOrderData(@RequestBody EcssWalMartOrder data) { PageUtils page = coDelService.searchWalMartOrderData(data); diff --git a/src/main/java/com/xujie/sys/modules/ecss/mapper/CoDelMapper.java b/src/main/java/com/xujie/sys/modules/ecss/mapper/CoDelMapper.java index a75f8591..6167a9ac 100644 --- a/src/main/java/com/xujie/sys/modules/ecss/mapper/CoDelMapper.java +++ b/src/main/java/com/xujie/sys/modules/ecss/mapper/CoDelMapper.java @@ -215,6 +215,8 @@ public interface CoDelMapper { void deleteEcssTemplate(EcssTemplate inData); + EcssTemplate getEcssTemplateByBuAndName(@Param("name") String name, @Param("site") String site); + IPage searchWalMartOrderData(Page ecssTemplateDataPage, @Param("query") EcssWalMartOrder data); void insertWalMartOrderData(EcssWalMartOrder inData); diff --git a/src/main/java/com/xujie/sys/modules/ecss/service/CoDelService.java b/src/main/java/com/xujie/sys/modules/ecss/service/CoDelService.java index 5067d904..0df99181 100644 --- a/src/main/java/com/xujie/sys/modules/ecss/service/CoDelService.java +++ b/src/main/java/com/xujie/sys/modules/ecss/service/CoDelService.java @@ -145,6 +145,8 @@ public interface CoDelService { void deleteEcssTemplate(EcssTemplate data); + void copyEcssTemplate(EcssTemplate data); + PageUtils searchWalMartOrderData(EcssWalMartOrder data); String saveWalMartOrderByExcel(MultipartFile file, EcssWalMartOrder data); diff --git a/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelServiceImpl.java b/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelServiceImpl.java index 55332d11..a86e673a 100644 --- a/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelServiceImpl.java @@ -2522,6 +2522,44 @@ public class CoDelServiceImpl implements CoDelService { coDelMapper.deleteEcssTemplate(data); } + @Override + public void copyEcssTemplate(EcssTemplate data) { + SysUserEntity currentUser = (SysUserEntity) SecurityUtils.getSubject().getPrincipal(); + String site = coDelMapper.getSiteByBu(data.getBuNo()); + + // 检查目标模板名称是否已存在 + EcssTemplate checkData = new EcssTemplate(); + checkData.setBuNo(data.getBuNo()); + checkData.setName(data.getName()); + List existingTemplates = sqlSession.selectList("ecssMapper" + "." + "searchTemplateList", checkData); + if(!existingTemplates.isEmpty()){ + throw new RuntimeException("目标BU中模版["+data.getName()+"]已存在!"); + } + + // 获取原模板数据 + EcssTemplate sourceTemplate = coDelMapper.getEcssTemplateByBuAndName(data.getNameNative(), data.getSite()); + if(sourceTemplate == null) { + throw new RuntimeException("原模版不存在!"); + } + + // 复制模板数据 + sourceTemplate.setBuNo(data.getBuNo()); + sourceTemplate.setName(data.getName()); + sourceTemplate.setSite(site); + sourceTemplate.setCreateBy(currentUser.getUsername()); + sourceTemplate.setAddFlag(0); // 设置为新增标识 + + // 根据目标BU调整kgs参数 + if("03-RFID".equals(data.getBuNo())) { + sourceTemplate.setKgs(new BigDecimal("4.5")); + } else if("01-Label".equals(data.getBuNo())) { + sourceTemplate.setKgs(new BigDecimal("2.5")); + } + + // 插入新模板 + coDelMapper.insertEcssTemplateData(sourceTemplate); + } + @Override public PageUtils searchWalMartOrderData(EcssWalMartOrder data) { IPage resultList = coDelMapper.searchWalMartOrderData(new Page(data.getPage(), data.getLimit()), data); diff --git a/src/main/resources/mapper/ecss/CoDelMapper.xml b/src/main/resources/mapper/ecss/CoDelMapper.xml index 9f8cf70a..2ec77571 100644 --- a/src/main/resources/mapper/ecss/CoDelMapper.xml +++ b/src/main/resources/mapper/ecss/CoDelMapper.xml @@ -990,6 +990,10 @@ left join ecss_CoDelNotifyHeader noHeader on a.site=noHeader.site and a.delNo=no delete from ecss_template where buNo=#{buNo} and name=#{name} + +