From c8844d5167ead638cadabc14fe245ac35384456e Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期二, 10 十月 2023 10:15:32 +0800 Subject: [PATCH] 定时器推送更将增加集成系统唯一标识字段以便对方系统更新数据 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java | 19 +++++++++++++------ Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeObjectDTO.java | 31 +++++++++++++++++++++---------- 2 files changed, 34 insertions(+), 16 deletions(-) diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeObjectDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeObjectDTO.java index 8ea3daf..d74b400 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeObjectDTO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeObjectDTO.java @@ -8,6 +8,8 @@ @XStreamAlias("object") public class NodeObjectDTO { + @XStreamAsAttribute + private String itemid="" ; @XStreamAsAttribute private String code="" ; @XStreamAsAttribute @@ -58,14 +60,23 @@ this.pro = pro; } - @Override - public String toString() { - return "NodeObjectDTO{" + - "code='" + code + '\'' + - ", status='" + status + '\'' + - ", library='" + library + '\'' + - ", classCode='" + classCode + '\'' + - ", pro=" + pro + - '}'; - } + public String getItemid() { + return itemid; + } + + public void setItemid(String itemid) { + this.itemid = itemid; + } + + @Override + public String toString() { + return "NodeObjectDTO{" + + "itemid='" + itemid + '\'' + + ", code='" + code + '\'' + + ", status='" + status + '\'' + + ", library='" + library + '\'' + + ", classCode='" + classCode + '\'' + + ", pro=" + pro + + '}'; + } } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java index a1a876f..ae522ff 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java @@ -43,6 +43,7 @@ import javax.annotation.Resource; import java.util.*; +import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; import static com.vci.ubcs.code.constant.MdmDuckingConstant.*; @@ -59,8 +60,8 @@ public class CodeDuckingSyncServiceImpl implements ICodeDuckingSyncService { @Value("${dataSyncPush.dataParamName:xmlData}") public String DATA_PARAM_NAME; - - + @Value("${dataSyncPush.dataId:itemOid}") + private String itemId; @Resource private MdmEngineService mdmEngineServiceI; @@ -336,6 +337,7 @@ //琛ㄧず鏄富鏁版嵁 CodeClassifyTemplateVO codeClassifyTemplateVO = mdmEngineServiceI.getUsedTemplateByClassifyOid(classifyoid); R<List<Map<String, String>>> r = mdmEngineServiceI.getDataByOid(btmoid, codeClassifyTemplateVO.getOid()); + List<CodeClassifyTemplateAttrVO> attrVOS = codeClassifyTemplateVO.getAttributes(); Map<String/**鑻辨枃鍚嶇О**/, String/**涓枃鍚嶇О**/> attrIdNameMap = attrVOS.stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t.getName(), (o1, o2) -> o2)); Map<String, String> data = new HashMap<>(); @@ -347,7 +349,12 @@ } List<NodeProDTO> nodeProDTOS = new ArrayList<>(); Map<String, String> finalData = data; + AtomicReference<String> newItemId= new AtomicReference<>(""); attrIdNameMap.keySet().forEach(field -> { + if(field.toLowerCase(Locale.ROOT).equals(itemId.toLowerCase(Locale.ROOT))){ + String Value = finalData.get(field); + newItemId.set(Value); + } String outName = attrIdNameMap.get(field); if (finalData.containsKey(field)) { String Value = finalData.get(field); @@ -381,6 +388,7 @@ nodeObjectDTO.setCode(code);//璁剧疆缂栫爜 nodeObjectDTO.setClassCode(classCodeLeves[0]); nodeObjectDTO.setStatus(data.get("lcstatus")); + nodeObjectDTO.setItemid(newItemId.get()); nodeObjectDTO.setLibrary(classCodeLeves[classCodeLeves.length - 1]); nodeObjectDTO.setPro(nodeProDTOS); List<NodeObjectDTO> nodeObjectDTOS = new ArrayList<>(); @@ -506,14 +514,13 @@ } ResultNodeDataDTO resultNodeDataDTO=resultJsonDTO.getData(); resultNodeObjectDTOS=resultNodeDataDTO.getObject(); - }catch (Throwable e){ msg="璋冪敤鎺ュ彛澶辫触:"+e.getMessage(); e.printStackTrace(); log.error("璋冪敤鎺ュ彛澶辫触:"+e); // throw new Throwable("璋冪敤鎺ュ彛澶辫触:"+e); ResultNodeObjectDTO resultNodeObjectDTO=new ResultNodeObjectDTO(); - resultNodeObjectDTO.setErroid("1"); + resultNodeObjectDTO.setErroid("0"); resultNodeObjectDTO.setMsg(msg); resultNodeObjectDTO.setCode(dockingSystemConfig.getPushType().equalsIgnoreCase("2")?dockingTask.getClassifyId():dockingTask.getId()); resultNodeObjectDTO.setItemid(dockingTask.getBtmOid()); @@ -523,9 +530,9 @@ for (ResultNodeObjectDTO resultNodeObjectDTO:resultNodeObjectDTOS){ String erroid = resultNodeObjectDTO.getErroid(); msg = resultNodeObjectDTO.getMsg(); - if("0".equals(erroid)){ + if("1".equals(erroid)){ isSend = true; - }else if("1".equals(erroid)){ + }else if("0".equals(erroid)){ isSend=false; }else{ isSend=false; -- Gitblit v1.9.3