From 5759e5d2d9109b37538ebf0bf8898455b25e452f Mon Sep 17 00:00:00 2001 From: Yen Date: Wed, 5 Jun 2024 09:34:03 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E6=94=BF=E7=AD=96=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E6=A0=A1=E9=AA=8C=E5=92=8C=E6=8B=A6=E6=88=AA=20opt:?= =?UTF-8?q?=20spu=E7=BC=96=E7=A0=81=E5=92=8C=E5=90=8D=E7=A7=B0=E5=94=AF?= =?UTF-8?q?=E4=B8=80=E6=8B=A6=E6=88=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../goods/controller/GoodsSkuController.java | 2 +- .../goods/controller/GoodsSpuController.java | 9 ++++++++- .../goods/service/impl/GoodsSkuServiceImpl.java | 6 +++++- .../goods/service/impl/GoodsSpuServiceImpl.java | 7 +++++++ .../seeyon/service/SeeYonRequestService.java | 8 ++++++++ .../service/impl/SeeYonRequestServiceImpl.java | 14 ++++++++++++++ .../serve/modules/tbs/common/TbsSeeYonConst.java | 1 + .../service/impl/TbsCostApplyPart1ServiceImpl.java | 3 +++ .../tbs/service/impl/TbsCostApplyServiceImpl.java | 7 +++++++ 9 files changed, 54 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java index 3053a2c1..522444ba 100644 --- a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java +++ b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java @@ -350,7 +350,7 @@ public class GoodsSkuController { }else if (SAVE.equals(opt)){ //保存 if(sku!=null){ - skuItem.setErrMsg(skuItem.getErrMsg()==null?"已保存,新增失败;":skuItem.getErrMsg()+"\n已保存,新增失败;"); + skuItem.setErrMsg(skuItem.getErrMsg()==null?"编码重复,新增失败;":skuItem.getErrMsg()+"\n编码重复,新增失败;"); throwEx = true; continue; } diff --git a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java index d3021a5c..09e89917 100644 --- a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java +++ b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java @@ -643,7 +643,14 @@ public class GoodsSpuController { isError = true; item.setErrMsg("SKU编码不存在"); } - + long count = goodsSpuService.count(new LambdaQueryWrapper() + .eq(GoodsSpu::getName,item.getName()) + .ne(GoodsSpu::getSpuCode,spuCode) + ); + if(count>0){ + isError = true; + item.setErrMsg("SKU名称已存在"); + } } if(isError){ diff --git a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java index befe6edc..a97cc956 100644 --- a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java @@ -274,8 +274,12 @@ public class GoodsSkuServiceImpl extends ServiceImpl im } //code必须唯一 + Long goodsSkuId = null; + if(dbGoodSku!=null){ + goodsSkuId = dbGoodSku.getId(); + } Long countCode = super.getBaseMapper().selectCount(new LambdaQueryWrapper() - .ne(GoodsSku::getId,dbGoodSku.getId()) + .ne(GoodsSku::getId,goodsSkuId) .eq(GoodsSku::getSkuCode,goodSkuVo.getSkuCode()) ); if(countCode>0L){ diff --git a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java index f235ec84..7f820e9e 100644 --- a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java @@ -178,6 +178,13 @@ public class GoodsSpuServiceImpl extends ServiceImpl im if(count>0){ Assert.throwEx("编码不可重复"); } + Long count2 = super.baseMapper.selectCount(new LambdaQueryWrapper() + .ne(param.getId()!=null,GoodsSpu::getId,param.getId()) + .eq(GoodsSpu::getName,param.getName()) + ); + if(count2>0){ + Assert.throwEx("名称不可重复"); + } this.saveOrUpdate(spu); insertSpuSpec(spu.getId()); return spu; diff --git a/src/main/java/com/qs/serve/modules/seeyon/service/SeeYonRequestService.java b/src/main/java/com/qs/serve/modules/seeyon/service/SeeYonRequestService.java index 76efa25c..e5402e7e 100644 --- a/src/main/java/com/qs/serve/modules/seeyon/service/SeeYonRequestService.java +++ b/src/main/java/com/qs/serve/modules/seeyon/service/SeeYonRequestService.java @@ -84,6 +84,14 @@ public interface SeeYonRequestService { */ SyAffairStateResult checkAffairState(String targetId,String templateCode); + /** + * 检验协议类编码是否存在 + * @param templateCode + * @return + */ + Boolean checkConstCodeExist(String templateCode); + + /** * 校验OA节点状态(用于调整校验) * @param key diff --git a/src/main/java/com/qs/serve/modules/seeyon/service/impl/SeeYonRequestServiceImpl.java b/src/main/java/com/qs/serve/modules/seeyon/service/impl/SeeYonRequestServiceImpl.java index e8903e0d..36a94cf0 100644 --- a/src/main/java/com/qs/serve/modules/seeyon/service/impl/SeeYonRequestServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/seeyon/service/impl/SeeYonRequestServiceImpl.java @@ -25,6 +25,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import static com.qs.serve.modules.tbs.common.TbsSeeYonConst.API_PROCESS_GET_CONST; + /** * @author YenHex * @since 2022/11/30 @@ -164,6 +166,18 @@ public class SeeYonRequestServiceImpl implements SeeYonRequestService { return getSyAffairStateResult(title, param); } + @Override + public Boolean checkConstCodeExist(String templateCode) { + R result = seeYonRequestBaseService.getBase(API_PROCESS_GET_CONST+"?costCode="+templateCode,"API_PROCESS_GET_CONST"); + if(result.getStatus()==200){ + String resultString = result.getData(); + if(resultString.contains("ok")){ + return true; + } + } + return false; + } + @Override public SyAffairStateResult checkAffairState(String key, String memberId, String templateCode) { String title = "【校验OA节点状态】"; diff --git a/src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java b/src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java index fb9a9d70..dc44797a 100644 --- a/src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java +++ b/src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java @@ -68,6 +68,7 @@ public interface TbsSeeYonConst { String API_TEST = "/testConnection"; String API_PROCESS_CREATE = "/process/create"; + String API_PROCESS_GET_CONST = "/process/getConst"; String API_PROCESS_CREATE_NEW = "/process/newCreate"; String API_PROCESS_CREATE_CALLBACK = "/process/createCallback"; String API_PROCESS_COMMIT = "/process/commit"; diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyPart1ServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyPart1ServiceImpl.java index d74095ea..423c0086 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyPart1ServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyPart1ServiceImpl.java @@ -111,6 +111,9 @@ public class TbsCostApplyPart1ServiceImpl implements TbsCostApplyPart1Service { if(orgCost.getCancelFlag().equals(1)){ Assert.throwEx("该记录的费用已异动"); } + if(orgCost.getContractFlag().equals(1)){ + Assert.throwEx("协议类不支持异动"); + } boolean isExtUser = orgCost.getExtUserId()!=null&&userId.equals(orgCost.getExtUserId()); if(!userId.equals(orgCost.getUserId())&&!isExtUser){ Assert.throwEx("拒绝访问"); diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java index f99c6140..dc4bbb01 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java @@ -539,6 +539,12 @@ public class TbsCostApplyServiceImpl extends ServiceImpl payConditions = null; if(tbsCostApply.getContractFlag()!=null&&tbsCostApply.getContractFlag().equals(1)){ + //排查OA是否已提交数据 + String costCode = tbsCostApply.getCode(); + boolean checkExist = seeYonService.checkConstCodeExist(costCode); + if(!checkExist){ + Assert.throwEx("流程错误,请联系IT部门"); + } LambdaQueryWrapper contractLambdaQueryWrapper = new LambdaQueryWrapper<>(); contractLambdaQueryWrapper.eq(TbsCostContract::getCostApplyId,id); List contractList = costContractMapper.selectList(contractLambdaQueryWrapper); @@ -679,6 +685,7 @@ public class TbsCostApplyServiceImpl extends ServiceImpl