From b8a42ca6e3220d08dc078863c56543550e723bf8 Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期二, 10 十月 2023 10:27:56 +0800 Subject: [PATCH] 定时器推送更将增加集成系统唯一标识字段以便对方系统更新数据 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java | 18 ++++++++++++------ 1 files changed, 12 insertions(+), 6 deletions(-) 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 c3c5def..a2b2c06 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 @@ -3,7 +3,6 @@ import com.alibaba.cloud.commons.lang.StringUtils; import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.thoughtworks.xstream.XStream; @@ -23,7 +22,7 @@ import com.vci.ubcs.code.entity.*; import com.vci.ubcs.code.enumpack.SysIntegrationDataFlowTypeEnum; import com.vci.ubcs.code.service.*; -import com.vci.ubcs.code.util.HttpUtils; +import com.vci.ubcs.starter.util.HttpUtils; import com.vci.ubcs.code.util.WsErpClientUtil; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; @@ -44,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.*; @@ -60,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; @@ -337,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<>(); @@ -348,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); @@ -382,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<>(); @@ -507,7 +514,6 @@ } ResultNodeDataDTO resultNodeDataDTO=resultJsonDTO.getData(); resultNodeObjectDTOS=resultNodeDataDTO.getObject(); - }catch (Throwable e){ msg="璋冪敤鎺ュ彛澶辫触:"+e.getMessage(); e.printStackTrace(); @@ -517,7 +523,7 @@ resultNodeObjectDTO.setErroid("1"); resultNodeObjectDTO.setMsg(msg); resultNodeObjectDTO.setCode(dockingSystemConfig.getPushType().equalsIgnoreCase("2")?dockingTask.getClassifyId():dockingTask.getId()); - resultNodeObjectDTO.setOid(dockingTask.getBtmOid()); + resultNodeObjectDTO.setItemid(dockingTask.getBtmOid()); resultNodeObjectDTOS.add(resultNodeObjectDTO); }finally { boolean isSend = false; -- Gitblit v1.9.3