From 300c96cbfb9a9cee605749e0b142205f415e17dc Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期一, 28 八月 2023 07:46:14 +0800 Subject: [PATCH] 统一接口配置保存bug修复 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java | 50 ++++++++---------------- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java | 2 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java | 45 ++++++++++++++++++++-- 3 files changed, 59 insertions(+), 38 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java index 82dab4b..d8aaf65 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java @@ -101,7 +101,7 @@ R deleteDatas(String redisOid, String codeClassifyOid, String dataOids); - void batchSyncEditDatas(CodeClassifyVO codeClassifyVO, DataObjectVO dataObjectVO, LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs); + void batchSyncEditDatas(CodeClassifyVO codeClassifyVO, DataObjectVO dataObjectVO, LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs,boolean isCodeOrGroupCode); /** * 闆嗘垚鎵归噺鐢宠鏁版嵁 diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java index b0e21bf..c81e986 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java @@ -3,6 +3,7 @@ import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.common.utils.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.vci.ubcs.code.applyjtcodeservice.feign.IMdmInterJtClient; import com.vci.ubcs.code.bo.AttributeValue; import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; import com.vci.ubcs.code.bo.CodeTemplateAttrSqlBO; @@ -11,6 +12,7 @@ import com.vci.ubcs.code.entity.CodeAllCode; import com.vci.ubcs.code.enumpack.CodeDefaultLC; import com.vci.ubcs.code.enumpack.CodeLevelTypeEnum; +import com.vci.ubcs.code.enumpack.sysIntegrationPushTypeEnum; import com.vci.ubcs.code.lifecycle.CodeAllCodeLC; import com.vci.ubcs.code.mapper.CommonsMapper; import com.vci.ubcs.code.service.*; @@ -154,7 +156,11 @@ */ @Autowired private IBtmTypeClient btmTypeClient; - + /*** + * 鐢宠闆嗗洟缂栫爜鏈嶅姟 + */ + @Resource + private IMdmInterJtClient mdmInterJtClient; /*** * 瀵嗙骇鏈嶅姟 */ @@ -2131,11 +2137,13 @@ allNeedSaveCboList.add(baseModel.getOid()); }); try { + List<String>applyGroupCodeIdList=new ArrayList<>(); productCodeService.productCodeAndSaveData(classifyFullInfo, templateVO, ruleVO, orderDTO.getSecDTOList(), dataCBOList); //濡傛灉鏄紪鐮佺敓鎴愬け璐ワ紝鍒欑洿鎺ュ氨澶辫触浜嗭紝鍏朵粬鐨勫垽鏂嚭鏉ユ湁閿欒鐨勬垜浠兘缁熶竴杩斿洖鍒癳xcel閲岄潰 engineService.batchSaveSelectChar(templateVO, dataCBOList); // if(!isProcess){ dataCBOList.stream().forEach(needSaveCbo->{ + XMLResultDataObjectDetailDO resultDataObjectDetailDO=new XMLResultDataObjectDetailDO(); String code=StringUtils.isBlank(needSaveCbo.getId())?" ":needSaveCbo.getId(); String groupCode=needSaveCbo.getData().getOrDefault("GROUPCODE"," "); @@ -2143,6 +2151,7 @@ String msg="鐢宠缂栫爜鎴愬姛"; String oid=needSaveCbo.getOid(); String sourceOid=oid; + applyGroupCodeIdList.add(oid); if(codeOidToSystemOidMap.containsKey(oid)){ sourceOid=codeOidToSystemOidMap.get(oid); } @@ -2178,6 +2187,13 @@ }); }*/ + //鏄惁璋冪敤闆嗗洟鎺ュ彛鐢宠鎺ュ彛 + if(isCodeOrGroupCode){ + if(!CollectionUtils.isEmpty(applyGroupCodeIdList)) { + this.sendApplyGroupcode(applyGroupCodeIdList, classifyFullInfo.getTopClassifyVO().getId(), sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue()); + } + } + }catch (Throwable e){ e.printStackTrace(); needSaveCboList.stream().forEach(needSaveCbo->{ @@ -2248,10 +2264,11 @@ * @param codeClassifyVO; * @param dataObjectVO 鏁版嵁淇℃伅 * @param resultDataObjectDetailDOs 閿欒淇℃伅 + * @param isCodeOrGroupCode 鏄惁鏇撮泦鍥㈢郴缁熸暟鎹� */ @Transactional(rollbackFor = VciBaseException.class) @Override - public void batchSyncEditDatas(CodeClassifyVO codeClassifyVO, DataObjectVO dataObjectVO, LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs) { + public void batchSyncEditDatas(CodeClassifyVO codeClassifyVO, DataObjectVO dataObjectVO, LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs,boolean isCodeOrGroupCode) { String errorid=""; String msg=""; //鏌ヨ鍒嗙被鍜屾ā鏉� @@ -2276,8 +2293,8 @@ List<String> titleRowData = dataObjectVO.getColName(); Map<String/**涓枃鍚嶇О**/, String/**鑻辨枃鍚嶇О**/> attrNameIdMap = attrVOS.stream().collect(Collectors.toMap(s -> s.getName(), t -> t.getId().toLowerCase(Locale.ROOT), (o1, o2) -> o2)); getFieldIndexMap(titleRowData, attrNameIdMap, fieldIndexMap); - Map<String, String> cboOidMap = new HashMap<>(); - cboOidMap.put("id", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(codeDataMap.keySet().toArray(new String[0])) + ")"); + //Map<String, String> cboOidMap = new HashMap<>(); + //cboOidMap.put("id", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(codeDataMap.keySet().toArray(new String[0])) + ")"); String tableName =""; try { R<BtmTypeVO> r = btmTypeClient.getAllAttributeByBtmId(templateVO.getBtmTypeId()); @@ -2459,6 +2476,13 @@ codeAllCodeService.saveBatch(codeAllCodeList); if(deleteList.size()>0) { commonsMapper.deleteByTaleAndOid(tableName, VciBaseUtil.array2String(deleteList.toArray(new String[]{}))); + } + //鏄惁璋冪敤闆嗗洟鎺ュ彛鐢宠鎺ュ彛 + if(isCodeOrGroupCode){ + List<String> IdList=resultDataObjectDetailDOs.stream().filter(xMLResultDataObjectDetailDO-> com.alibaba.cloud.commons.lang.StringUtils.isNotBlank(xMLResultDataObjectDetailDO.getId())).map(XMLResultDataObjectDetailDO::getId).distinct().collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(IdList)) { + this.sendApplyGroupcode(IdList, classifyFullInfo.getTopClassifyVO().getBtmTypeId(),sysIntegrationPushTypeEnum.ACCPET_EDITCODE.getValue()); + } } errorid="0"; msg="鏇存柊/鐘舵�佹洿鏀�/鍒犻櫎鎴愬姛锛�"; @@ -4405,4 +4429,17 @@ } } + /*** + * 鐢宠闆嗗洟缂栫爜 + * @param idList + * @param btmName + */ + private void sendApplyGroupcode(List<String> idList,String btmName,String operationType){ + String oids=VciBaseUtil.array2String(idList.toArray(new String[]{})); + if(operationType.equals(sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue())) { + mdmInterJtClient.applyGroupCode(oids,btmName); + }else if(operationType.equals(sysIntegrationPushTypeEnum.ACCPET_EDITCODE)){ + mdmInterJtClient.receiveEditApply(oids,btmName); + } + } } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java index 1e7ecf0..b21309c 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java @@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.xml.DomDriver; -import com.vci.ubcs.code.applyjtcodeservice.feign.IMdmInterJtClient; import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; import com.vci.ubcs.code.constant.MdmDuckingConstant; import com.vci.ubcs.code.dto.CodeOrderDTO; @@ -131,8 +130,6 @@ @Autowired private ICodeClassifyValueService codeClassifyValueService; - @Resource - private IMdmInterJtClient mdmInterJtClient; /*** * 闆嗘垚鎺ュ彛鏃ュ織鏈嶅姟鐨勯厤缃� */ @@ -285,13 +282,6 @@ resultClassfyVO.setObjects(resultDataObjectDetailDOs); resultClassfyVOList.add(resultClassfyVO); } - //鏄惁璋冪敤闆嗗洟鎺ュ彛鐢宠鎺ュ彛 - if(isCodeOrGroupCode){ - List<String> IdList=resultDataObjectDetailDOs.stream().filter(xMLResultDataObjectDetailDO->StringUtils.isNotBlank(xMLResultDataObjectDetailDO.getId())).map(XMLResultDataObjectDetailDO::getId).distinct().collect(Collectors.toList()); - if(!CollectionUtils.isEmpty(IdList)) { - this.sendApplyGroupcode(IdList, libray,sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue()); - } - } }); XMLResultSystemVO xmlResultSystemVO=new XMLResultSystemVO(); @@ -344,19 +334,7 @@ return resultStr; } - /*** - * 鐢宠闆嗗洟缂栫爜 - * @param idList - * @param btmName - */ - private void sendApplyGroupcode(List<String> idList,String btmName,String operationType){ - String oids=VciBaseUtil.array2String(idList.toArray(new String[]{})); - if(operationType.equals(sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue())) { - mdmInterJtClient.applyGroupCode(oids,btmName); - }else if(operationType.equals(sysIntegrationPushTypeEnum.ACCPET_EDITCODE)){ - mdmInterJtClient.receiveEditApply(oids,btmName); - } - } + /*** * 缁熶竴鏇存柊鎺ュ彛锛堟洿鏀圭姸鎬侊紝鏇存敼灞炴�т俊鎭級鎺ュ彛 * @param data @@ -400,13 +378,6 @@ } ClassfysVO classfysVO = interParameterVO.getData().getClassifys(); systemId = interParameterVO.getData().getSystemId(); - - //鏍¢獙鏄惁閰嶇疆 - boolean checkPass = checkIspass(systemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_EDITCODE.getValue()); - if (!checkPass) { - errorid = "101"; - throw new Throwable("绯荤粺鏍囪瘑涓恒��" + systemId + "銆�," + sysIntegrationPushTypeEnum.ACCPET_EDITCODE.getText() + "鎺ュ彛閰嶇疆宸插仠鐢ㄦ垨鑰呮湭閰嶇疆锛岃鑱旂郴缂栫爜绠$悊鍛橈紒"); - } UserVO userVo = interParameterVO.getData().getUser(); List<ClassfyVO> classVOList = classfysVO.getClassify(); InterParameterVO finalInterParameterVO = interParameterVO; @@ -419,16 +390,30 @@ String finalSystemId = systemId; classVOList.stream().forEach(classVO->{ log.info("鍙傛暟锛氬垎绫籆Ode:" + classVO.getClassCode()); + boolean isCodeOrGroupCode=false; LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs = new LinkedList<>(); + String libray =""; //鑾峰彇鍒嗙被淇℃伅 try { - String libray = classVO.getLibrary(); + libray = classVO.getLibrary(); CodeClassifyVO codeClassifyVO = getClassfy(classVO,libray); if(codeClassifyVO==null || StringUtils.isBlank(codeClassifyVO.getOid())){ objerrorCode="100"; throw new Throwable ("鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙栧埌鍒嗙被淇℃伅"); } log.info("end锛氬垎绫绘煡璇㈠畬姣�"); + + String operation=""; + if(CODE_CHECKCONFIG) { + //鏍¢獙鏄惁閰嶇疆 + DockingSystemConfig dockingSystemConfig= checkIspass(finalSystemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_EDITCODE.getValue(),codeClassifyVO.getOid()); + if(dockingSystemConfig==null){ + objerrorCode ="101"; + throw new Throwable("绯荤粺鏍囪瘑涓恒��"+ finalSystemId +"銆戯紝闆嗘垚鍒嗙被涓恒��"+codeClassifyVO.getName()+"銆戜互涓婂垎绫伙紝"+sysIntegrationPushTypeEnum.ACCPET_EDITCODE.getText()+"鎺ュ彛閰嶇疆宸插仠鐢ㄦ垨鑰呮湭閰嶇疆锛岃鑱旂郴缂栫爜绠$悊鍛橈紒"); + } + isCodeOrGroupCode="true".equals(dockingSystemConfig.getIsGroupCodeFlag())?true:false; + } + //鑾峰彇鍒嗙被妯℃澘淇℃伅 CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyVO.getOid()); if(templateVO==null||StringUtils.isBlank(templateVO.getOid())){ @@ -444,7 +429,7 @@ this.getConfigDatas(finalSystemId, libray, applyDatasVO, attrVOS, dataObjectVO); log.info("end锛氭暟鎹瀯寤哄畬姣�"); log.info("start锛氫慨鏀规暟鎹墽琛屽畬姣�"); - mdmIOService.batchSyncEditDatas(codeClassifyVO,dataObjectVO, resultDataObjectDetailDOs); + mdmIOService.batchSyncEditDatas(codeClassifyVO,dataObjectVO, resultDataObjectDetailDOs,isCodeOrGroupCode); log.info("end锛氫慨鏀规暟鎹墽琛屽畬姣�"); } catch (Throwable e) { XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO=new XMLResultDataObjectDetailDO(); @@ -462,7 +447,6 @@ resultClassfyVO.setObjects(resultDataObjectDetailDOs); resultClassfyVOList.add(resultClassfyVO); } - }); }catch (Throwable e){ e.printStackTrace();; -- Gitblit v1.9.3