From 13e07d48a90efdaee8b89e96a1d97a42f19777d7 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期三, 25 十月 2023 22:43:53 +0800 Subject: [PATCH] 1、修改从其他规则克隆规则时排序号未重排的bug。 2、为密码策略管理、用户管理、部门管理界面增加按钮权限控制 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java | 55 +++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 49 insertions(+), 6 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java index e24b7fb..85d050f 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java @@ -31,6 +31,7 @@ import com.vci.ubcs.starter.web.util.VciDateUtil; import lombok.extern.slf4j.Slf4j; import org.springblade.core.log.exception.ServiceException; +import org.springblade.core.secure.utils.AuthUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; @@ -278,8 +279,27 @@ QueryWrapper<CodeAllCode> wrapper = new QueryWrapper<>(); wrapper.eq("CREATECODEBTM",addCodeDOs.get(0).getCreateCodeBtm()); wrapper.in("ID",addCodeDOs.stream().map(CodeAllCode::getId).collect(Collectors.toList())); - if(codeAllCodeService.count(wrapper)>0){ + List<CodeAllCode> codeAllCodes = codeAllCodeService.selectByWrapper(wrapper); + List<CodeAllCode> takeBack = codeAllCodes.stream().filter(e -> e.getLcStatus().equals("TakeBack")).collect(Collectors.toList()); + if(codeAllCodes.size()>takeBack.size()){ throw new ServiceException("鐢熸垚缂栫爜鏁版嵁ID宸叉湁鍘嗗彶璁板綍,璇风‘璁ゅ涓嬬敓鎴愮殑ID鏁版嵁锛�"+ addCodeDOs.stream().map(CodeAllCode::getId).collect(Collectors.toList())); + } + for (CodeAllCode codeAllCode : takeBack) { + codeAllCode.setTs(new Date()); + codeAllCode.setLastModifyTime(new Date()); + codeAllCode.setLastModifier(AuthUtil.getUserId().toString()); + Iterator<CodeAllCode> iterator = addCodeDOs.iterator(); + while (iterator.hasNext()){ + CodeAllCode next = iterator.next(); + if(codeAllCode.getId().equals(next.getId())){ + codeAllCode.setCreateCodeOid(next.getCreateCodeOid()); + codeAllCode.setLcStatus(next.getLcStatus()); + iterator.remove(); + } + } + } + if(takeBack.size()>0){ + codeAllCodeService.updateBatchById(takeBack); } codeAllCodeService.saveBatch(addCodeDOs); } @@ -365,8 +385,28 @@ QueryWrapper<CodeAllCode> wrapper = new QueryWrapper<>(); wrapper.eq("CREATECODEBTM",allCodeDOList.get(0).getCreateCodeBtm()); wrapper.in("ID",allCodeDOList.stream().map(CodeAllCode::getId).collect(Collectors.toList())); - if(codeAllCodeService.count(wrapper)>0){ + List<CodeAllCode> codeAllCodes = codeAllCodeService.selectByWrapper(wrapper); + List<CodeAllCode> takeBack = codeAllCodes.stream().filter(e -> e.getLcStatus().equals("TakeBack")).collect(Collectors.toList()); + if(codeAllCodes.size()>takeBack.size()){ throw new ServiceException("鐢熸垚缂栫爜鏁版嵁ID宸叉湁鍘嗗彶璁板綍,璇风‘璁ゅ涓嬬敓鎴愮殑ID鏁版嵁锛�"+ allCodeDOList.stream().map(CodeAllCode::getId).collect(Collectors.toList())); + } + + for (CodeAllCode codeAllCode : takeBack) { + codeAllCode.setTs(new Date()); + codeAllCode.setLastModifyTime(new Date()); + codeAllCode.setLastModifier(AuthUtil.getUserId().toString()); + Iterator<CodeAllCode> iterator = allCodeDOList.iterator(); + while (iterator.hasNext()){ + CodeAllCode next = iterator.next(); + if(codeAllCode.getId().equals(next.getId())){ + codeAllCode.setCreateCodeOid(next.getCreateCodeOid()); + codeAllCode.setLcStatus(next.getLcStatus()); + iterator.remove(); + } + } + } + if(takeBack.size()>0){ + codeAllCodeService.updateBatchById(takeBack); } codeAllCodeService.saveBatch(allCodeDOList); // iCodeWupinService.saveBatch(dataCBOList); @@ -752,12 +792,14 @@ private String killFillChar(String s, String fillString,boolean left){ Integer index = 0; String value = s; + if(left){ for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); - if((new String(new char[]{c})).equalsIgnoreCase(fillString)){ - index = i; + if(!(new String(new char[]{c})).equalsIgnoreCase(fillString)){ + break; } + index = i; } if(index >0){ value = value.substring(index); @@ -766,9 +808,10 @@ //浠庡彸寰�宸︽壘 for (int i = s.length()-1; i >=0; i++) { char c = s.charAt(i); - if((new String(new char[]{c})).equalsIgnoreCase(fillString)){ - index = i; + if(!(new String(new char[]{c})).equalsIgnoreCase(fillString)){ + break; } + index = i; } if(index >0){ value = value.substring(0,index); -- Gitblit v1.9.3