From 85f4b7fa11411d9956870ccdc1fc5c5aa05d2893 Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期四, 07 十二月 2023 17:20:09 +0800 Subject: [PATCH] 标准申请bug修改 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java | 33 ++++++++++++++++++++------------- 1 files changed, 20 insertions(+), 13 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 c6708e6..37d80d8 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 @@ -36,6 +36,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.BladeUser; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.WebUtil; @@ -98,7 +99,7 @@ @Override @Transactional(rollbackFor = Exception.class) - public List<String> productCodeAndSaveData(CodeClassifyFullInfoBO classifyFullInfoBO, CodeClassifyTemplateVO templateVO, CodeRuleVO ruleVO, List<CodeOrderSecDTO> secDTOList, List<BaseModel> dataCBOList) throws Exception { + public List<String> productCodeAndSaveData(CodeClassifyFullInfoBO classifyFullInfoBO, CodeClassifyTemplateVO templateVO, CodeRuleVO ruleVO, List<CodeOrderSecDTO> secDTOList, List<BaseModel> dataCBOList,BladeUser user) throws Exception { dataCBOList = dataCBOList.stream().sorted(((o1, o2) -> o1.getCreateTime().compareTo(o2.getCreateTime()))).collect(Collectors.toList()); List<String> codeList = new ArrayList<>(); final CodeRuleVO finalRuleVO = ruleVO; @@ -114,7 +115,6 @@ List<CodeAllCode> allCodeDOList = new CopyOnWriteArrayList<>(); Map<String/**娴佹按渚濇嵁**/, HashMap<String/**鐮佹鐨勪富閿�**/,String/**鏈�澶ф祦姘村彿**/>> maxSerialMap = new HashMap<>(); // TODO 澶氱嚎绋嬫祦寮曞彂鐨勯棶棰樺凡淇敼 - final HttpServletRequest request = WebUtil.getRequest(); dataCBOList.parallelStream().forEach(cbo->{ log.info("code:----->"+cbo.getId()); //VciBaseUtil.setCurrentUserSessionInfo(sessionInfo); @@ -204,7 +204,7 @@ }); } CodeAllCode allCodeDO = new CodeAllCode(); - DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCodeDO, MdmBtmTypeConstant.CODE_ALL_CODE,request); + DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCodeDO, MdmBtmTypeConstant.CODE_ALL_CODE,user); allCodeDO.setCodeClassifyOid(classifyFullInfoBO.getCurrentClassifyVO().getOid()); allCodeDO.setCodeRuleOid(finalRuleVO.getOid()); allCodeDO.setId(cbo.getId()); @@ -237,13 +237,13 @@ log.info("oldmaxSerial--->"+serialValueDO.getMaxSerial()+"---- newmaxSerial---->"+maxSerial); if(VciBaseUtil.getDouble(serialValueDO.getMaxSerial())<VciBaseUtil.getDouble(maxSerial)){ serialValueDO.setMaxSerial(String.valueOf(maxSerial)); - DefaultAttrAssimtUtil.updateDefaultAttrAssimt(serialValueDO,null); + DefaultAttrAssimtUtil.updateDefaultAttrAssimt(serialValueDO,user); editSerialValueList.add(serialValueDO); } }else{ //娌℃湁 CodeSerialValue serialValueDO = new CodeSerialValue(); - DefaultAttrAssimtUtil.addDefaultAttrAssimt(serialValueDO, MdmBtmTypeConstant.CODE_SERIAL_VALUE,request); + DefaultAttrAssimtUtil.addDefaultAttrAssimt(serialValueDO, MdmBtmTypeConstant.CODE_SERIAL_VALUE,user); serialValueDO.setCodeRuleOid(finalRuleVO.getOid()); serialValueDO.setSerialUnit(serialUnit); serialValueDO.setCodeSecOid(secOid); @@ -419,7 +419,7 @@ saveSerialValue( finalRuleVO, lastMaxSerialValueMap, maxSerialValueMap); allCodeDOList.stream().forEach( - allCode -> {DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCode,"codeallcode",null);allCode.setLctid("codeAllCodeLC");} + allCode -> {DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCode,"codeallcode",user);allCode.setLctid("codeAllCodeLC");} ); @@ -982,7 +982,7 @@ BaseModel cbo, CodeClassifyTemplateVO templateVO, List<CodeAllCode> allCodeDOList, String serialUnitString, String serialValueString,String codeDelimiter){ CodeAllCode allCodeDO = new CodeAllCode(); - DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCodeDO, MdmBtmTypeConstant.CODE_ALL_CODE,null); + DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCodeDO, MdmBtmTypeConstant.CODE_ALL_CODE); allCodeDO.setCodeClassifyOid(classifyFullInfoBO.getCurrentClassifyVO().getOid()); allCodeDO.setCodeRuleOid(ruleVO.getOid()); allCodeDO.setId(cbo.getId()); @@ -1015,11 +1015,11 @@ //璇存槑鏈� serialValueDO = maxSerialValueMap.get(secOid).get(unit); serialValueDO.setMaxSerial(maxSerial.toString()); - DefaultAttrAssimtUtil.updateDefaultAttrAssimt(serialValueDO,null); + DefaultAttrAssimtUtil.updateDefaultAttrAssimt(serialValueDO); editSerialValueDOList.add(serialValueDO); }else{ serialValueDO = new CodeSerialValue(); - DefaultAttrAssimtUtil.addDefaultAttrAssimt(serialValueDO, MdmBtmTypeConstant.CODE_SERIAL_VALUE,null); + DefaultAttrAssimtUtil.addDefaultAttrAssimt(serialValueDO, MdmBtmTypeConstant.CODE_SERIAL_VALUE); serialValueDO.setCodeRuleOid(ruleVO.getOid()); serialValueDO.setSerialUnit(unit); serialValueDO.setCodeSecOid(secOid); @@ -1191,10 +1191,12 @@ switchSecValueBZ(secVO, secValueMap, classifyFullInfoBO, serialSecVOList, attrSecVOList, serialUnitList, secValueList); //鍒嗘瀛樺偍娴佹按渚濊禆 if(secVO.getSecType().equals(CodeSecTypeEnum.CODE_SERIAL_SEC.getValue())){ + int finalI = i; + final int[] index = {0}; List<String> newSerialUnitList= serialUnitList.stream().filter(secValueStr -> { - return !secValueStr.equals("${"+secVO.getOid()+"}"); + return index[0]++< finalI;//闄ゅ幓娴佹按鐨� }).collect(Collectors.toList()); - String serialUnitString = serialUnitList.size() == 0 ? EMPTY_SERIAL_UNIT : newSerialUnitList.stream().collect(Collectors.joining(SERIAL_UNIT_SPACE)); + String serialUnitString = newSerialUnitList.size() == 0 ? EMPTY_SERIAL_UNIT : newSerialUnitList.stream().collect(Collectors.joining(SERIAL_UNIT_SPACE)); secOdserialUnitMap.put(secVO.getOid(),serialUnitString); } } @@ -1231,7 +1233,7 @@ AtomicReference<String> serialUnitString= new AtomicReference<>(""); for (int j = 0; j < serialSecVOList.size(); j++) { CodeBasicSecVO secVO = serialSecVOList.get(j); - if(lastMaxSerialValueMap.containsKey(secVO.getOid())){ + if(lastMaxSerialValueMap.containsKey(secVO.getOid())){//姝や负鏈�鍚庨渶瑕佸瓨鍏ユ祦姘翠緷璧栫殑鏈�澶ф祦姘� Map<String/**娴佹按渚濇嵁**/, String> serialValueMap= lastMaxSerialValueMap.get(secVO.getOid()); serialValueMap.forEach((maxSerialUnitString,serialValue)->{ if(StringUtils.isNotBlank(serialValue)){ @@ -1239,6 +1241,11 @@ sb.append(serialValue).append(SERIAL_VALUE_SPACE); } }); + }else{ + if(secValueMap.containsKey(secVO.getOid())) {//浼佷笟鏍囧噯澶勭悊淇椤哄簭鍙峰凡缁忓瓨鍦ㄧ殑鏁版嵁鍒欎笉闇�瑕佸姩娴佹按渚濊禆琛ㄧ殑鏁版嵁 + serialUnitString.set(secOdserialUnitMap.get(secVO.getOid())); + sb.append(secValueMap.get(secVO.getOid())).append(SERIAL_VALUE_SPACE); + } } } String codeDelimiter=thisSecValueList.stream().collect(Collectors.joining(SERIAL_VALUE_SPACE)); @@ -1249,7 +1256,7 @@ saveSerialValue( finalRuleVO, lastMaxSerialValueMap, maxSerialValueMap); allCodeDOList.stream().forEach( - allCode -> {DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCode,"codeallcode",null);allCode.setLctid("codeAllCodeLC");} + allCode -> {DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCode,"codeallcode");allCode.setLctid("codeAllCodeLC");} ); Map<String, String> statusMap = allCodeDOList.stream().collect(Collectors.toMap(s -> s.getOid(), s -> s.getLcStatus())); -- Gitblit v1.9.3