From c98617764afe0ee4e64ebb7b3af6845aeaeeea12 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期一, 28 八月 2023 15:15:10 +0800
Subject: [PATCH] 最大流水号
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java | 78 +++++++++++++++++---------------------
1 files changed, 35 insertions(+), 43 deletions(-)
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 eaf4e1f..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;
@@ -59,7 +58,8 @@
import javax.annotation.Resource;
import java.util.*;
import java.util.concurrent.CopyOnWriteArrayList;
-import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
import static com.vci.ubcs.code.constant.MdmEngineConstant.DEFAULT_SYNC_ATTR_LIST;
@@ -130,8 +130,6 @@
@Autowired
private ICodeClassifyValueService codeClassifyValueService;
- @Resource
- private IMdmInterJtClient mdmInterJtClient;
/***
* 闆嗘垚鎺ュ彛鏃ュ織鏈嶅姟鐨勯厤缃�
*/
@@ -204,7 +202,7 @@
//鑾峰彇鍒嗙被淇℃伅
try {
libray = classVO.getLibrary();
- CodeClassifyVO codeClassifyVO = getClassfy(classVO);
+ CodeClassifyVO codeClassifyVO = getClassfy(classVO,libray);
log.info("end锛氬垎绫绘煡璇㈠畬姣�");
//鑾峰彇鍒嗙被妯℃澘淇℃伅
if(codeClassifyVO==null || StringUtils.isBlank(codeClassifyVO.getOid())){
@@ -217,7 +215,7 @@
DockingSystemConfig dockingSystemConfig= checkIspass(finalSystemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue(),codeClassifyVO.getOid());
if(dockingSystemConfig==null){
errorid[0] ="101";
- throw new Throwable("绯荤粺鏍囪瘑涓恒��"+ finalSystemId +"銆戯紝闆嗘垚鍒嗙被涓恒��+codeClassifyVO.getName()銆戜互涓婂垎绫伙紝"+sysIntegrationPushTypeEnum.ACCPET_APPCODE.getText()+"鎺ュ彛閰嶇疆宸插仠鐢ㄦ垨鑰呮湭閰嶇疆锛岃鑱旂郴缂栫爜绠$悊鍛橈紒");
+ throw new Throwable("绯荤粺鏍囪瘑涓恒��"+ finalSystemId +"銆戯紝闆嗘垚鍒嗙被涓恒��"+codeClassifyVO.getName()+"銆戜互涓婂垎绫伙紝"+sysIntegrationPushTypeEnum.ACCPET_APPCODE.getText()+"鎺ュ彛閰嶇疆宸插仠鐢ㄦ垨鑰呮湭閰嶇疆锛岃鑱旂郴缂栫爜绠$悊鍛橈紒");
}
isCodeOrGroupCode="true".equals(dockingSystemConfig.getIsGroupCodeFlag())?true:false;
}
@@ -256,6 +254,7 @@
log.info("end锛氱敵璇疯幏鍙栧畬姣�");
} catch (Throwable e) {
List<ApplyDataVO> applyDataVOList= classVO.getObjects().getObject();
+ objerrorCode="1";
if(!CollectionUtils.isEmpty(applyDataVOList)) {
applyDataVOList.stream().forEach(applyDataVO -> {
XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO = new XMLResultDataObjectDetailDO();
@@ -282,13 +281,6 @@
resultClassfyVO.setFullclsfNamePath(classVO.getFullclsfNamePath());
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());
- }
}
});
@@ -342,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
@@ -398,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;
@@ -417,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();
- CodeClassifyVO codeClassifyVO = getClassfy(classVO);
+ 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())){
@@ -442,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();
@@ -460,7 +447,6 @@
resultClassfyVO.setObjects(resultDataObjectDetailDOs);
resultClassfyVOList.add(resultClassfyVO);
}
-
});
}catch (Throwable e){
e.printStackTrace();;
@@ -1327,7 +1313,7 @@
* 鏌ヨ鏍¢獙鍒嗙被淇℃伅
* @param classfyVO
*/
- private CodeClassifyVO getClassfy(ClassfyVO classfyVO) throws Throwable{
+ private CodeClassifyVO getClassfy(ClassfyVO classfyVO,String libray) throws Throwable{
CodeClassifyVO classifyVO = new CodeClassifyVO();
try {
String classCode = classfyVO.getClassCode();
@@ -1336,13 +1322,19 @@
if (StringUtils.isNotBlank(classfyVO.getClassCode())) {
Map<String, String> conditionMap = new HashMap<>();
List<CodeClassify> codeClassifyList = classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().eq(CodeClassify::getId, classCode));
+ final CodeClassify[] newCodeClassify = {new CodeClassify()};
if (!CollectionUtils.isEmpty(codeClassifyList)) {
- CodeClassify classifyDO = codeClassifyList.get(0);
- //灏咲TO杞崲涓篋O
+ codeClassifyList.stream().forEach(codeClassify -> {
+ CodeClassifyVO codeClassifyVO= classifyService.getTopClassifyVO(codeClassify.getOid());
+ if(codeClassifyVO.getId().equals(libray)){
+ newCodeClassify[0] =codeClassify;
+ }
+ });
classifyVO = new CodeClassifyVO();
- BeanUtilForVCI.copyPropertiesIgnoreCase(classifyDO, classifyVO);
+ BeanUtilForVCI.copyPropertiesIgnoreCase(newCodeClassify[0], classifyVO);
+ //灏咲TO杞崲涓篋O
if(StringUtils.isBlank(classifyVO.getOid())){
- throw new Throwable("鏍规嵁鍒嗙被浠e彿鏈煡璇㈠埌鐩稿簲鐨勫垎绫讳俊鎭�");
+ throw new Throwable("鐢宠缂栫爜鐨勫垎绫伙細銆�"+classCode+"銆戜笉灞炰簬搴撹妭鐐广��"+libray+"銆戯紝璇锋鏌ュ弬鏁板垎绫昏妭鐐�/搴撹妭鐐逛俊鎭槸鍚﹀尮閰�");
}
}else{
throw new Throwable("鏍规嵁鍒嗙被浠e彿鏈煡璇㈠埌鐩稿簲鐨勫垎绫讳俊鎭�");
@@ -1355,7 +1347,7 @@
}
}catch (Throwable e){
objerrorCode="100";
- new Throwable("鑾峰彇鍒嗙被淇℃伅澶辫触:"+e.getMessage());
+ throw new Throwable("鑾峰彇鍒嗙被淇℃伅澶辫触:"+e.getMessage());
}
return classifyVO;
}
--
Gitblit v1.9.3