From 7edf909724a2bcc6a267deea56b5229896e112e5 Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期二, 23 一月 2024 14:25:54 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/com/vci/ubcs/code/applyjtcodeservice/vo/DockingMainData.java | 5 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/Scheduling/SearchDataSyncForERPScheduling.java | 59 +++++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java | 133 ++++++++----- Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SearchItemVO.java | 19 + Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/MdmSearchItemCodeProvider.java | 28 ++ Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java | 146 ++++++++++---- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java | 96 +++++++++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeDuckingSyncService.java | 2 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SearchItemDataVO.java | 49 ++++ Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SearchItemParam.java | 24 ++ 10 files changed, 465 insertions(+), 96 deletions(-) diff --git a/Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/com/vci/ubcs/code/applyjtcodeservice/vo/DockingMainData.java b/Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/com/vci/ubcs/code/applyjtcodeservice/vo/DockingMainData.java index 9415317..e8ffe25 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/com/vci/ubcs/code/applyjtcodeservice/vo/DockingMainData.java +++ b/Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/com/vci/ubcs/code/applyjtcodeservice/vo/DockingMainData.java @@ -28,6 +28,10 @@ */ private String className; /*** + * 闆嗗洟鐮� + */ + private String customCoding; + /*** * 妯″瀷瑙嗗浘淇℃伅 */ private List<DockingViewVO> viewInfos; @@ -41,6 +45,7 @@ ", createBy='" + createBy + '\'' + ", className='" + className + '\'' + ", viewInfos=" + viewInfos + + ", customCoding=" + customCoding + '}'; } } diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/MdmSearchItemCodeProvider.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/MdmSearchItemCodeProvider.java new file mode 100644 index 0000000..6eb55d2 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/MdmSearchItemCodeProvider.java @@ -0,0 +1,28 @@ +package com.vci.ubcs.code.feign; + +import com.vci.ubcs.code.vo.pagemodel.SearchItemParam; +import com.vci.ubcs.code.vo.pagemodel.SearchItemVO; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import javax.validation.constraints.NotNull; + +/**** + * 浠庡閮ㄨ幏鍙栧瀷鍙蜂唬鍙凤紝鎴栬�呴」鐩唬鍙� + * @author xiejun + * @date 2023-05-26 + */ +@FeignClient(name = "erpIntegration", + url = "${erp.item.url:http://127.0.0.1:8080}", + path = "") +public interface MdmSearchItemCodeProvider { + + /*** + * 鏌ヨ椤圭洰浠e彿鎴栬�呭瀷鍙蜂唬鍙� + * @param searchItemParam + * @return 鎵ц缁撴灉 + */ + @PostMapping("/api/pp/pp/ext/extend/v1.0/getppModelByElem") + SearchItemVO getppModelByElem(@NotNull @RequestBody SearchItemParam searchItemParam); +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SearchItemDataVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SearchItemDataVO.java new file mode 100644 index 0000000..e5c434e --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SearchItemDataVO.java @@ -0,0 +1,49 @@ +package com.vci.ubcs.code.vo.pagemodel; + +import lombok.Data; + +import java.util.Date; + +@Data +public class SearchItemDataVO { + /*** + * 鏁版嵁鐘舵�� 瀛楃鍨嬶紝鏋氫妇鍊硷紱鍒跺崟锛�0锛涘鎵逛腑锛�1锛涢�氳繃锛�2锛涢┏鍥烇細3锛� + */ + private String status; + /** + * 鍒堕�犲瀷鍙蜂唬鍙� + */ + private String mmodelcode; + /** + * 椤圭洰浠e彿 + */ + private String projectitem; + /*** + * 椤圭洰缂栫爜 + */ + private String projectcode; + /*** + * 浜у搧缂栫爜 + */ + private String materialcode; + /*** + * 鍒涘缓鑰� + */ + private String creatby; + /*** + * 鍒涘缓鏃ユ湡 鏃ユ湡鍨嬶紝濡傦細2023-09-08 19:24:11 + */ + private Date createdon; + /*** + * 鏇存敼鑰� + */ + private String lastchangedby; + /*** + * 鏇存敼鏃堕棿 鏃ユ湡鍨嬶紝濡傦細2023-09-08 19:24:11 + */ + private Date lastchangedon; + /*** + * 瀛楃鍨嬶紝鏋氫妇鍊硷紱鍋滅敤锛�0锛涘惎鐢細1锛� + */ + private String isenabled; +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SearchItemParam.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SearchItemParam.java new file mode 100644 index 0000000..bcf4e58 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SearchItemParam.java @@ -0,0 +1,24 @@ +package com.vci.ubcs.code.vo.pagemodel; + +import lombok.Data; + +import java.util.Date; +@Data +public class SearchItemParam { + /*** + * 璋冪敤绯荤粺鏍囪瘑 + */ + private String systag; + /** + * 鏁版嵁鐘舵�� + */ + private String status; + /** + * 鏄惁鍋滅敤 + */ + private String isenabled; + /** + * 鏈�鍚庝慨鏀规棩鏈� + */ + private Date lastchangedon; +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SearchItemVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SearchItemVO.java new file mode 100644 index 0000000..8a4d891 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SearchItemVO.java @@ -0,0 +1,19 @@ +package com.vci.ubcs.code.vo.pagemodel; + +import lombok.Data; + +import java.util.List; + +@Data +public class SearchItemVO { + /*** + * 杩斿洖鏍囪瘑 + */ + private String code; + /*** + * 娑堟伅淇℃伅 + */ + private String msg; + + private List<SearchItemDataVO> data; +} diff --git a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java index 3e9a87c..7267079 100644 --- a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java @@ -1,5 +1,6 @@ package com.vci.ubcs.code.applyjtcodeservice.service.impl; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -10,6 +11,8 @@ import com.vci.ubcs.code.applyjtcodeservice.service.IGroupMdmInterService; import com.vci.ubcs.code.applyjtcodeservice.vo.*; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; +import com.vci.ubcs.code.vo.webserviceModel.apply.ApplyDataVO; +import com.vci.ubcs.code.vo.webserviceModel.apply.InterParameterVO; import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultDataObjectDetailDO; import com.vci.ubcs.starter.util.MdmBtmTypeConstant; import com.vci.ubcs.code.applyjtcodeservice.feign.MdmApplyGroupCodeProvider; @@ -19,8 +22,10 @@ import com.vci.ubcs.starter.web.util.BeanUtilForVCI; import com.vci.ubcs.starter.web.util.VciBaseUtil; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.map.CaseInsensitiveMap; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -43,11 +48,11 @@ private String code=""; private String msg=""; - @Value("${docking.apply.partCoe:10}") + @Value("${docking.apply.partCode:101}") public String partCoe; - @Value("${docking.apply.userFlag:false}") + @Value("${docking.apply.usedFlag:false}") public boolean usedFlag; - @Value("${docking.apply.unitCode:41000}") + @Value("${docking.apply.unitCode:4100}") public String dockingApplyUnitCode; @Value("${docking.apply.sysName:410-MDM}") @@ -119,18 +124,33 @@ Map<String, DockingPreApplyForm> addDockingPreApplyFormMap = new HashMap<String, DockingPreApplyForm>(); Map<String, DockingPreApplyForm> editDockingPreApplyFormMap = new HashMap<String, DockingPreApplyForm>(); Map<String, BaseModel> baseModelMap = new HashMap<String, BaseModel>(); + //鏁版嵁搴撲笉瀛樺湪鐨� + /*List<BaseModel> newDdataModelList = dataModelList.stream().filter(cbo -> { + String groupcode =cbo.getData().getOrDefault("GROUPCODE",""); + return StringUtils.isBlank(groupcode); + }).collect(Collectors.toList()); + if(newDdataModelList.size()==0) + return R.fail("鐢宠鎺ュ彛璋冪敤鎴愬姛,鎵�鏈夋暟鎹凡缁忓瓨鍦ㄩ泦鍥㈢爜");*/ + //缁勭粐鏁版嵁 dockingGroupDataVO = queryApplycodeDataObjects(1, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelMap); - DockingResultVO resultDataObject = mdmApplyGroupCodeProvider.receiveAddApply(dockingGroupDataVO); + Object object = JSONObject.toJSON(dockingGroupDataVO); + String resultStr = object.toString(); + log.info("鐢宠闆嗗洟鐮佹暟鎹牸寮�:->"+resultStr); + DockingResultVO resultDataObject =new DockingResultVO(); + resultDataObject= mdmApplyGroupCodeProvider.receiveAddApply(dockingGroupDataVO); code = resultDataObject.getCode(); msg = resultDataObject.getMsg(); + boolean res=false; if ("1".equals(resultDataObject.getCode())) {//缁撴灉姝g‘鐨勬儏鍐� List<DockingDataVO> dataObjectVOList = resultDataObject.getData(); + res=true; dataObjectVOList.stream().forEach(dataObject -> { boolean isEditDatas = false; String code2 = dataObject.getCode(); DockingMainDataVO data2 = dataObject.getData(); String applyId = data2.getApplyId();//鐢宠鍗昳d + BaseModel baseModel = baseModelMap.get(applyId); String customCoding = StringUtils.isBlank(data2.getCustomCoding()) ? "" : data2.getCustomCoding();//闆嗗洟鐮佹 msg = dataObject.getMsg(); if (code2.equals("1")) {//缁撴灉姝g‘鐨勬儏鍐� @@ -142,8 +162,16 @@ if (editDockingPreApplyFormMap.containsKey(applyId)) { DockingPreApplyForm dockingPreApplyForm = editDockingPreApplyFormMap.get(applyId); dockingPreApplyForm.setCode(code2); + //dockingPreApplyForm.setDescription(baseModel.getId()); dockingPreApplyForm.setMsg("鐢宠锛�" + msg); - dockingPreApplyForm.setGroupCode(customCoding); + if(StringUtils.isBlank(dockingPreApplyForm.getGroupCode())) { + dockingPreApplyForm.setGroupCode(customCoding); + }else{ + isEditDatas = true; + if (StringUtils.isBlank(customCoding)) { + customCoding=dockingPreApplyForm.getGroupCode(); + } + } ObjectMapper mp = new ObjectMapper(); String writeValueAsString = null; try { @@ -151,11 +179,13 @@ dockingPreApplyForm.setContent(writeValueAsString); } catch (JsonProcessingException e) { } + DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm); } //鏂板鐨勭敵璇峰崟鏁版嵁 if (addDockingPreApplyFormMap.containsKey(applyId)) { DockingPreApplyForm dockingPreApplyForm = addDockingPreApplyFormMap.get(applyId); dockingPreApplyForm.setCode(code2); + dockingPreApplyForm.setDescription(baseModel.getId()); dockingPreApplyForm.setMsg("鐢宠锛�" + msg); dockingPreApplyForm.setGroupCode(customCoding); ObjectMapper mp = new ObjectMapper(); @@ -165,25 +195,28 @@ dockingPreApplyForm.setContent(writeValueAsString); } catch (JsonProcessingException e) { } + DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM); } //濡傛灉鏈夐泦鍥㈢爜鍒欐洿鏂版暟鎹� if (isEditDatas) { if (baseModelMap.containsKey(applyId)) { - BaseModel baseModel = baseModelMap.get(applyId); - String classOid=baseModel.getData().getOrDefault("CODECLSFID",""); + baseModel = baseModelMap.get(applyId); + Map<String,String> dataValueMap=new CaseInsensitiveMap<>(baseModel.getData()); + String classOid=dataValueMap.getOrDefault("CODECLSFID",""); if(partCoe.equals(classOid)){ baseModel.setId(10+customCoding); + customCoding=10+customCoding; } BeanUtilForVCI.copyDeclaredIgnoreCase(baseModel, baseModel); DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel); - DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel); - - baseModel.getData().getOrDefault("groupCode", customCoding); + // DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel); + baseModel.getData().put("GROUPCODE",customCoding); updateCbos.add(baseModel);//鏇存柊鏁版嵁闆嗗洟code } } }); } else { + res=false; editDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> { dockingPreApplyForm.setCode("2"); dockingPreApplyForm.setMsg("鐢宠锛�" + msg); @@ -208,6 +241,9 @@ //淇濆瓨琛ㄥ崟鏁版嵁 dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings); mdmEngineClient.updateBatchBtypeDatas(btmName, updateCbos);//淇濆瓨鏁版嵁 + if(!res){ + throw new VciBaseException(msg); + } } return R.success("鐢宠鎺ュ彛璋冪敤鎴愬姛"); } catch (VciBaseException e) { @@ -227,7 +263,7 @@ @Transactional(rollbackFor = VciBaseException.class) @Override public R receiveEditApply(String oids, String btmName) throws VciBaseException { - if(usedFlag) { + if(!usedFlag) { log.info("鏇存柊鎺ュ彛鍔熻兘宸插叧闂紒->"+usedFlag); R.success("鏇存柊鎺ュ彛鍔熻兘宸插叧闂紒"); } @@ -273,7 +309,9 @@ DockingPreApplyForm dockingPreApplyForm = editDockingPreApplyFormMap.get(applyId); dockingPreApplyForm.setCode(code2); dockingPreApplyForm.setMsg("淇敼锛�" + msg); - dockingPreApplyForm.setGroupCode(customCoding); + if(StringUtils.isBlank(dockingPreApplyForm.getGroupCode())) { + dockingPreApplyForm.setGroupCode(customCoding); + } ObjectMapper mp = new ObjectMapper(); String writeValueAsString = null; try { @@ -281,13 +319,16 @@ dockingPreApplyForm.setContent(writeValueAsString); } catch (JsonProcessingException e) { } + DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm); } //鏂板鐨勭敵璇峰崟鏁版嵁 if (addDockingPreApplyFormMap.containsKey(applyId)) { DockingPreApplyForm dockingPreApplyForm = addDockingPreApplyFormMap.get(applyId); dockingPreApplyForm.setCode(code2); dockingPreApplyForm.setMsg("淇敼锛�" + msg); - dockingPreApplyForm.setGroupCode(customCoding); + if(StringUtils.isBlank(dockingPreApplyForm.getGroupCode())) { + dockingPreApplyForm.setGroupCode(customCoding); + } ObjectMapper mp = new ObjectMapper(); String writeValueAsString = null; try { @@ -295,6 +336,7 @@ dockingPreApplyForm.setContent(writeValueAsString); } catch (JsonProcessingException e) { } + DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM); } //濡傛灉鏈夐泦鍥㈢爜鍒欐洿鏂版暟鎹� if (isEditDatas) { @@ -307,7 +349,7 @@ } DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel); // baseModel.setId(customCoding); - baseModel.getData().put("groupCode", customCoding); + baseModel.getData().put("GROUPCODE", customCoding); updateCbos.add(baseModel);//鏇存柊鏁版嵁闆嗗洟code } } @@ -354,7 +396,7 @@ public R queryClassModel(String groupClassifyId) throws Throwable { log.info("鑾峰彇闆嗗洟妯″瀷璇︾粏淇℃伅鎵ц淇濆瓨start"); String message="鎵ц鎴愬姛锛�"; - if(usedFlag){ + if(!usedFlag){ log.info("鑾峰彇闆嗗洟妯″瀷璇︾粏淇℃伅鎵ц淇濆瓨鍔熻兘宸插叧闂紒->"+usedFlag); return R.fail("鑾峰彇闆嗗洟妯″瀷璇︾粏淇℃伅鎺ュ彛宸插叧闂�!"); } @@ -406,7 +448,7 @@ public R queryMdmModel() throws Throwable { String message="鎵ц鎴愬姛锛�"; log.info("浠庨泦鍥㈣幏鍙栦富妯″瀷淇℃伅鎵ц淇濆瓨鎺ュ彛statr"); - if(usedFlag){ + if(!usedFlag){ log.info("浠庨泦鍥㈣幏鍙栦富妯″瀷淇℃伅鎵ц淇濆瓨鎺ュ彛鍔熻兘宸插叧闂紒->"+usedFlag); return R.fail("鏌ヨ妯″瀷瑙嗗浘鎺ュ彛宸插叧闂�!"); } @@ -493,7 +535,7 @@ */ @Override public R queryApplyState(String dataOids) throws VciBaseException { - if(usedFlag){ + if(!usedFlag){ log.info("鏌ヨ鐢宠鍗曠姸鎬佹帴鍙e紑鍏冲凡鍏抽棴"); return R.fail("鏌ヨ鐢宠鍗曠姸鎬佹帴鍙e紑鍏冲凡鍏抽棴"); } @@ -518,8 +560,9 @@ int code=dockingApplyFormQueryStatusVO.getCode(); String mesg=dockingApplyFormQueryStatusVO.getMsg(); if(code==1){ + message=mesg; List<DockingApplyFormStatusVO> dockingApplyFormStatusVOList=dockingApplyFormQueryStatusVO.getData(); - if(CollectionUtils.isEmpty(dockingApplyFormStatusVOList)){ + if(!CollectionUtils.isEmpty(dockingApplyFormStatusVOList)){ for (DockingApplyFormStatusVO applyFormDataState : dockingApplyFormStatusVOList) { String applyId=applyFormDataState.getApplyNum(); String state= applyFormDataState.getFormState(); @@ -531,20 +574,23 @@ } } boolean res=this.dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList); - if(res){ - R.success("鐢宠闆嗗洟鐮佺姸鎬佹煡璇㈡垚鍔�:"+mesg); - } }else{ throw new Throwable("娌℃湁鑾峰彇鍒扮浉鍏虫暟鎹俊鎭�"); } }else{ - throw new Throwable(mesg); + message=mesg; + dockingPreApplyFormList.stream().forEach(dockingPreApplyForm -> { + dockingPreApplyForm.setMsg("鐢宠鍗曟煡鐪嬪け璐ワ細"+mesg); + }); + this.dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList); + throw new Throwable(message); } }catch (Throwable e){ e.printStackTrace(); + //message=""+e; log.error("鑾峰彇鐢宠鍗曠姸鎬佸け璐�"+e); - throw new VciBaseException(message); + throw new VciBaseException(e.getMessage()); } log.info("鏌ヨ鐢宠鍗曠姸鎬佹帴鍙nd"); return R.success(message); @@ -559,7 +605,7 @@ */ @Override public R syncClassifyModel(String classifyId, String operationType) throws VciBaseException { - if(usedFlag){ + if(!usedFlag){ log.info("鍚屾闆嗗洟妯″瀷淇℃伅寮�鍏冲凡鍏抽棴"); return R.fail("鍚屾闆嗗洟妯″瀷淇℃伅寮�鍏冲凡鍏抽棴"); } @@ -608,6 +654,7 @@ log.info("classify:-------------->閾炬帴鍚嶇О:"+nodeLinkName); if (dockingPreClassify == null || StringUtils.isBlank(dockingPreClassify.getOid())) { + dockingPreClassify=new DockingPreClassify(); DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreClassify,MdmBtmTypeConstant.DOCKING_PRE_JCLASSIFY); } else { DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreClassify); @@ -703,7 +750,7 @@ .eq(DockingPreMetaAttr::getSourceClassifyId,jclassId).eq(DockingPreMetaAttr::getViewModelId,jviewModelObject.getOid()) .eq(DockingPreMetaAttr:: getPid,pid)); Map<String,DockingPreMetaAttr> jmetaattrMap = dockingPreMetaAttrList.stream().filter( - s -> com.alibaba.cloud.commons.lang.StringUtils.isNotBlank(s.getEnglishName())).collect(Collectors.toMap(s -> s.getEnglishName().toLowerCase(Locale.ROOT), t -> t)); + s -> com.alibaba.cloud.commons.lang.StringUtils.isNotBlank(s.getEnglishName())).collect(Collectors.toMap(s -> s.getEnglishName(), t -> t)); for (DockingClassifyMetaAttrVO dockingClassifyMetaAttrVO : metaList) { String chineseName = com.alibaba.cloud.commons.lang.StringUtils.isBlank(dockingClassifyMetaAttrVO.getChineseName())?"":dockingClassifyMetaAttrVO.getChineseName();// 灞炴�у悕绉� @@ -772,6 +819,7 @@ */ private void getRange(DockingPreMetaAttr metaAttrObject,Map<String, String> range) throws Throwable { String metaAttrOid = com.alibaba.cloud.commons.lang.StringUtils.isBlank(metaAttrObject.getOid())?"":metaAttrObject.getOid();// 灞炴�х殑oid + String jchinesename = com.alibaba.cloud.commons.lang.StringUtils.isBlank(metaAttrObject.getChineseName())?"":metaAttrObject.getChineseName(); Map<String, DockingPreAttrRange> rangeMap = new HashMap<>(); try { @@ -779,7 +827,9 @@ condtionMa.put("jmetalistid", metaAttrOid); List<DockingPreAttrRange> jmetaattrList = dockingPreAttrRangeService.selectByWrapper(Wrappers.<DockingPreAttrRange>query().lambda() .eq(DockingPreAttrRange::getMetaListId,metaAttrOid));// 鏍规嵁鍒嗙被鏌ヨ妯″瀷瑙嗗浘瀵硅薄 - rangeMap= jmetaattrList.stream().collect(Collectors.toMap(s -> com.alibaba.cloud.commons.lang.StringUtils.isNotBlank(s.getNumText().toLowerCase(Locale.ROOT))?"":s.getNumText().toLowerCase(Locale.ROOT), t -> t)); + log.info("鑾峰彇灞炴�х編鍓� 灞炴�d------->"+metaAttrOid); + //rangeMap= jmetaattrList.stream().collect(Collectors.toMap(s ->StringUtils.isNotBlank(s.getNumText())?"":s.getNumText(), t -> t)); + rangeMap=jmetaattrList.stream().filter(data -> data != null && StringUtils.isNotBlank(data.getNumText())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getNumText(), t -> t)); for (String rangeKey : range.keySet()) { DockingPreAttrRange rangeObject = new DockingPreAttrRange(); @@ -809,43 +859,42 @@ } } - - - /** * 缁勭粐鏁版嵁 * */ private DockingGroupDataVO queryApplycodeDataObjects(int optationtype,List<BaseModel> codeWupins,Map<String,DockingPreApplyForm> addDockingPreApplyFormMap,Map<String,DockingPreApplyForm> editDockingPreApplyFormMap,Map<String,BaseModel> codeWupinMap) throws VciBaseException{ try { - String curUserName = AuthUtil.getUser().getUserName(); + String curUserName ="28201728"; //AuthUtil.getUser().getUserName(); //鐢宠鐨勬暟鎹� List<DockingMainData> mainDataList=new ArrayList<DockingMainData>(); for (BaseModel dataBusinessObject : codeWupins) { String format = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()); - String codeclsfid = dataBusinessObject.getData().getOrDefault("codeclsfid",""); + //String codeclsfid = dataBusinessObject.getData().getOrDefault("codeclsfid".toUpperCase(Locale.ROOT),""); + Map<String,String> dataMap=new CaseInsensitiveMap<>(dataBusinessObject.getData()); + String codeclsfid=dataMap.getOrDefault("codeclsfid",""); String btmName = dataBusinessObject.getBtmname(); String oid = dataBusinessObject.getOid(); - DockingPreApplyForm dockingPreApplyForm = new DockingPreApplyForm(); String dataOid = dataBusinessObject.getOid(); Map<String, String> conditionsMap = new HashMap<String, String>(); - List<DockingPreApplyForm> applyFormObjects = dockingPreApplyFormService.list(Wrappers.<DockingPreApplyForm>query().lambda().eq(DockingPreApplyForm::getDataOid, dataOid).eq(DockingPreApplyForm::getOperationType, optationtype)); + //List<DockingPreApplyForm> applyFormObjects = dockingPreApplyFormService.list(Wrappers.<DockingPreApplyForm>query().lambda().eq(DockingPreApplyForm::getDataOid, dataOid).eq(DockingPreApplyForm::getOperationType, optationtype)); + // DockingPreApplyForm dockingPreApplyForm=new DockingPreApplyForm(); String apllyCode = ""; - if (!CollectionUtils.isEmpty(applyFormObjects)) { + /*if (!CollectionUtils.isEmpty(applyFormObjects)) { dockingPreApplyForm = applyFormObjects.get(0); apllyCode = dockingPreApplyForm.getId(); editDockingPreApplyFormMap.put(apllyCode, dockingPreApplyForm);//鐢宠鍗曞拰鐢宠鍗曞璞″叧绯� - } else { + } else {*/ apllyCode = dockingApplyUnitCode + "-" + format; dockingPreApplyForm.setId(apllyCode); dockingPreApplyForm.setName(""); dockingPreApplyForm.setOperationType(optationtype+""); - dockingPreApplyForm.setDescription(dataBusinessObject.getDescription());//鑾峰彇鏁版嵁鎻忚堪淇℃伅 + dockingPreApplyForm.setDescription(dataBusinessObject.getId());//鑾峰彇鏁版嵁鎻忚堪淇℃伅 dockingPreApplyForm.setDataOid(oid); dockingPreApplyForm.setDataBtmName(btmName); addDockingPreApplyFormMap.put(apllyCode, dockingPreApplyForm);//鐢宠鍗曞拰鐢宠鍗曞璞″叧绯� - } + // } codeWupinMap.put(apllyCode, dataBusinessObject);//鐢宠鍗曞拰瀵瑰簲鏁版嵁鍏崇郴 conditionsMap = new HashMap<String, String>(); @@ -863,6 +912,11 @@ mainData.setApplyId(apllyCode);//鐢宠鍗曞彿 mainData.setClassName(dockingPreClassify.getNodeLinkName());//鍒嗙被鍚嶇О mainData.setCreateBy(curUserName);// + if(optationtype==2) { + String groucode=dataBusinessObject.getData().getOrDefault("GROUPCODE",""); + dockingPreApplyForm.setGroupCode(groucode); + mainData.setCustomCoding(groucode); + } mainData.setSecretLevel("鍐呴儴");//瀵嗙骇锛岄粯璁や负鍐呴儴 mainData.setViewInfos(getviewInfos(optationtype,dockingPreClassify, dataBusinessObject));//鑾峰彇瑙嗗浘妯″瀷 mainDataList.add(mainData); @@ -917,7 +971,7 @@ //鏋勯�犳ā鍨嬭鍥炬暟鎹� List<Map<String, Object>> viewValueList=new ArrayList<Map<String,Object>>(); String oid = dockingPreViewModel.getOid(); - Map<String,String> dataValueMap=dataBusinessObject.getData(); + Map<String,String> dataValueMap=new CaseInsensitiveMap<>(dataBusinessObject.getData()); String codeClassifyId=dataValueMap.get("codeclsfid"); Map<String,String>conditionsMap=new HashMap<String, String>(); List<DockingPreAttrMapping> dockingPreAttrMappingList = dockingPreAttrMappingMapper.selectList(Wrappers.<DockingPreAttrMapping>query().lambda() @@ -944,7 +998,16 @@ Object newVaue=null; if(StringUtils.isNotBlank(jtargetattrkey)){ getAttrRange(dockingPreMetaAttr);//鑾峰彇瀛楁鍙栧�艰寖鍥� - String value=dataValueMap.get(jtargetattrkey)==null?"":dataValueMap.getOrDefault(jtargetattrkey,""); + String value=""; + if(jtargetattrkey.toLowerCase(Locale.ROOT).equals("name")){ + value=dataBusinessObject.getName(); + }else if(jtargetattrkey.toLowerCase(Locale.ROOT).equals("id")){ + value=dataBusinessObject.getId(); + }else if(jtargetattrkey.toLowerCase(Locale.ROOT).equals("description")){ + value=dataBusinessObject.getDescription(); + }else{ + value=dataValueMap.get(jtargetattrkey)==null?"":dataValueMap.getOrDefault(jtargetattrkey,""); + } newVaue = getVaue(dockingPreMetaAttr, value); }else{ newVaue = getVaue(dockingPreMetaAttr, ""); @@ -952,6 +1015,7 @@ if(newVaue==null||"".equals(newVaue)){ newVaue= dockingPreMetaAttr.getDefaultValue(); } + //newVaue= Func.isNotEmpty(newVaue)?newVaue:""; viewValueMap.put(jenglishname, newVaue); } } @@ -1017,7 +1081,7 @@ return null; }else { try { - return simpleDateFormat.parse(value); + return simpleDateFormat.format(simpleDateFormat.parse(value)); } catch (ParseException e) { throw new VciBaseException("date", new String[]{"鏃ユ湡鏍煎紡杞崲閿欒"}); } @@ -1028,7 +1092,7 @@ return null; }else{ try { - return simpleDateFormat.parse(value); + return simpleDateFormat.format(simpleDateFormat.parse(value)); } catch (ParseException e) { throw new VciBaseException("date", new String[]{"鏃ユ湡鏍煎紡杞崲閿欒"}); } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/Scheduling/SearchDataSyncForERPScheduling.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/Scheduling/SearchDataSyncForERPScheduling.java new file mode 100644 index 0000000..145f6aa --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/Scheduling/SearchDataSyncForERPScheduling.java @@ -0,0 +1,59 @@ +package com.vci.ubcs.code.Scheduling; + +import com.vci.ubcs.code.service.ICodeDuckingSyncService; +import com.vci.ubcs.code.service.UniversalInterfaceI; +import com.vci.ubcs.starter.web.enumpck.BooleanEnum; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import javax.annotation.Resource; +import java.text.SimpleDateFormat; +import java.util.Date; + +/*** + * 闆嗘垚浠诲姟瀹氭椂鍣� + * 浠嶦RP鏌ヨ鍨嬪彿浠e彿,椤圭洰浠e彿 + * @author xj + * @date 2024-01-19 + */ +@Component +@Slf4j +public class SearchDataSyncForERPScheduling { + @Resource + private ICodeDuckingSyncService codeDuckingSyncServiceI; + + @Value("${erp.item.isStart:false}") + public boolean ERP_ITEM_ISSTARE; + + @Value("${erp.item.btmName:XHDH}") + public String ERP_ITEM_BTMNAME; + /** + * 鏄惁鍒濆鍖栧畬鎴愪簡 + */ + public static volatile String FINISH_INIT = "false"; + /** + * 鍦ㄥ垵濮嬪寲瀹屾垚鍚庢墽琛� + */ + @PostConstruct() + public void onInit(){ + FINISH_INIT = "true"; + } + + //榛樿姣忓崄鍒嗛挓鎵ц鏂规硶 + @Scheduled(cron = "${dataSyncPush.cronTime:0 0/10 * * * ?}") + public void scheduled() { + log.info("鎵ц浠嶦RP椤圭洰浠e彿/鍨嬪彿浠e彿鏁版嵁 start:"); + log.info("鎵ц涓绘暟鎹泦鎴愭暟鎹帹閫� end: "+ "寮�鍏虫槸鍚﹀紑鍚�:" +ERP_ITEM_ISSTARE); + if(ERP_ITEM_ISSTARE && BooleanEnum.TRUE.getValue().equalsIgnoreCase(FINISH_INIT)) { + SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss."); + String time = formatter.format(new Date()); + codeDuckingSyncServiceI.saveItemDataSyncScheduing(ERP_ITEM_BTMNAME); + String outInfo = "============ 鎵ц浜嗕粠ERP椤圭洰浠e彿/鍨嬪彿浠e彿鏁版嵁 end;"; + log.info(outInfo+time); + } + + } +} diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeDuckingSyncService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeDuckingSyncService.java index 21f6d55..6762ec7 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeDuckingSyncService.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeDuckingSyncService.java @@ -47,5 +47,7 @@ * @return */ R sendData(String oids); + + void saveItemDataSyncScheduing(String btmName); } 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 56b35b8..e963093 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 @@ -7,6 +7,7 @@ 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.MdmApplyGroupCodeProvider; import com.vci.ubcs.code.constant.MdmDuckingConstant; import com.vci.ubcs.code.dto.datapush.classify.JsonRootDataDTO; import com.vci.ubcs.code.dto.datapush.classify.NodeClassifyDTO; @@ -21,19 +22,23 @@ import com.vci.ubcs.code.dto.datapush.result.ResultNodeObjectDTO; import com.vci.ubcs.code.entity.*; import com.vci.ubcs.code.enumpack.SysIntegrationDataFlowTypeEnum; +import com.vci.ubcs.code.feign.MdmSearchItemCodeProvider; +import com.vci.ubcs.code.mapper.CommonsMapper; import com.vci.ubcs.code.service.*; +import com.vci.ubcs.code.vo.pagemodel.*; +import com.vci.ubcs.omd.feign.IBtmTypeClient; +import com.vci.ubcs.omd.vo.BtmTypeVO; 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; -import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; import com.vci.ubcs.starter.web.enumpck.UserSecretEnum; import com.vci.ubcs.starter.web.pagemodel.SessionInfo; import com.vci.ubcs.starter.web.util.VciBaseUtil; import com.vci.ubcs.starter.web.util.WebUtil; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.util.StringUtil; import org.springblade.core.redis.cache.BladeRedis; import org.springblade.core.tool.api.R; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -62,6 +67,20 @@ public String DATA_PARAM_NAME; @Value("${dataSyncPush.dataId:itemid}") private String itemId; + + @Value("${erp.item.attrKey:xhdh}") + public String attrKey; + + /** + * 涓氬姟绫诲瀷鐨勬湇鍔� + */ + @Autowired + private IBtmTypeClient btmTypeClient; + /** + * 閫氱敤鏌ヨ + */ + @Resource + private CommonsMapper commonsMapper; @Resource private MdmEngineService mdmEngineServiceI; @@ -84,7 +103,8 @@ private IDockingSysIntParamService dockingSysIntParamService; @Resource private IDockingSysIntHeaderService dockingSysIntHeaderService; - + @Autowired(required = false) + private MdmSearchItemCodeProvider mdmSearchItemCodeProvider; @Override @@ -149,6 +169,74 @@ return R.success("鎵嬪姩鎺ㄩ�佸畬鎴�,璇锋牳瀵规槸鍚︽帹閫佹垚鍔�"); } + /*** + * 鍚屾鍨嬪彿浠e彿 + */ + @Override + public void saveItemDataSyncScheduing(String btmName) { + SearchItemParam searchItemParam=new SearchItemParam(); + searchItemParam.setSystag("CODE"); //璋冪敤绯荤粺鏍囪瘑 + searchItemParam.setLastchangedon(new Date()); + searchItemParam.setStatus("1");// + SearchItemVO searchItemVO= mdmSearchItemCodeProvider.getppModelByElem(searchItemParam); + if(searchItemVO!=null) { + searchItemVO.getCode(); + searchItemVO.getMsg(); + List<CodeClassify> codeClassifyList = codeClassifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().in(CodeClassify::getId, btmName)); + try { + if (CollectionUtils.isEmpty(codeClassifyList)) { + throw new Throwable("鍒嗙被鏈煡璇㈠埌"); + } + CodeClassify codeClassify= codeClassifyList.get(0); + List<SearchItemDataVO> dataList = searchItemVO.getData(); + Map<String, SearchItemDataVO> dataVOMap = new HashMap<>(); + List<String> itemCodeList = new ArrayList<>(); + if (!CollectionUtils.isEmpty(dataList)) { + dataList.stream().forEach(searchItemDataVO -> { + String itemCode = StringUtils.isNotBlank(searchItemDataVO.getProjectitem()) ? searchItemDataVO.getProjectitem() : searchItemDataVO.getMmodelcode();//椤圭洰浠e彿 + dataVOMap.put(itemCode, searchItemDataVO); + itemCodeList.add(itemCode); + }); + String tableName = ""; + R<BtmTypeVO> r = btmTypeClient.getAllAttributeByBtmId(btmName); + if (!r.isSuccess()) { + throw new Throwable(r.getMsg()); + } + BtmTypeVO btmTypeVO = r.getData(); + if (btmTypeVO == null) { + throw new Throwable("鏍规嵁涓氬姟绫诲瀷鏈煡璇㈠埌涓氬姟绫诲瀷瀵硅薄锛�"); + } + tableName = btmTypeVO.getTableName(); + if (com.alibaba.nacos.common.utils.StringUtils.isBlank(tableName)) { + throw new Throwable("鏍规嵁涓氬姟绫诲瀷鏈煡璇㈠埌涓氬姟绫诲瀷鐩稿叧鑱旂殑琛�"); + } + StringBuffer sb = new StringBuffer(); + sb.append(" select * from "); + sb.append(tableName); + sb.append(" where 1=1"); + sb.append(" and lastr=1 and lastv=1"); + sb.append(" and codeclsfid = '" + codeClassify.getOid() + "'"); + List<Map<String, String>> newDataList = commonsMapper.queryByOnlySqlForMap(sb.toString()); + newDataList.stream().forEach(dataMap->{ + String value= dataMap.getOrDefault(attrKey,""); + if(dataVOMap.containsKey(attrKey)){ + SearchItemDataVO searchItemDataVO=dataVOMap.get(attrKey); + + }else{ + + + } + + }); + + } + } + catch (Throwable e){ + log.error("鏌ヨ澶辫触--->"+e); + } + } + } + /*** * 鏌ヨredis涓暟鎹紝瀵规瘮鍚庢彃鍏ockingtask 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 59d595a..486c729 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 @@ -2431,41 +2431,58 @@ return codeOrderSecDTOList; } + /*** + * 璇诲彇灞炴�ф槧灏勯厤缃俊鎭� + * @param systemId + * @param libray + * @param applyDatasVO + * @param codeClassifyTemplateAttrVOList + * @param dataObjectVO + * @throws Throwable + */ public void getConfigDatas(String systemId,String libray, ApplyBZDatasVO applyDatasVO,List<CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrVOList,DataObjectVO dataObjectVO) throws Throwable { LinkedHashMap<String,LinkedHashMap<String,String>> dataKeyValueMap=new LinkedHashMap<>(); //濡傛灉灏嗘暟鎹浆鎹㈡垚鎵�闇�瑕佺殑鏁版嵁瀵硅薄 Map<String, String> attrMapConfigMap=new HashMap<>(); Map<String, String> propMaps=new HashMap<>(); - try { - log.info("寮�濮嬭鍙栫郴缁熼厤缃枃浠� start"); - Map<String, String> stringStringMap=attributeMapConfig.getSystem_attrmap(); - log.info("闆嗘垚绯荤粺灞炴�ф槧灏勯厤缃枃浠舵潯鐩暟-銆�"+stringStringMap.size()); - //stringStringMap.put("RLM","D:\\RLM.xml"); - if(!CollectionUtils.isEmpty(stringStringMap)) { + log.info("寮�濮嬭鍙栫郴缁熼厤缃枃浠� start"); + Map<String, String> stringStringMap=attributeMapConfig.getSystem_attrmap(); + log.info("闆嗘垚绯荤粺灞炴�ф槧灏勯厤缃枃浠舵潯鐩暟-銆�"+stringStringMap.size()); + //stringStringMap.put("RLM","D:\\RLM.xml"); + if(!CollectionUtils.isEmpty(stringStringMap)) { + List<LibraryClsfDO> libraryClsfDOList=new ArrayList<>(); + try { log.info("info锛氶渶瑕佽鍙栭厤缃枃浠�"); LibraryDO libraryDO = gennerAttrMapUtil.getNewInstance().gennerAttrMapBySystem(systemId, stringStringMap); - List<LibraryClsfDO> libraryClsfDOList = libraryDO.getClsf(); - if(!CollectionUtils.isEmpty(libraryClsfDOList)) { - Map<String, List<ClsfAttrMappingDO>> libPropMaps = libraryClsfDOList.stream().collect(Collectors.toMap(LibraryClsfDO::getLibrary, LibraryClsfDO::getProp, (key1, key2) -> key2)); - log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�" + libray + "浠庨厤缃枃浠朵腑鎵惧搴斿睘鎬ф槧灏勯厤缃�"); - String path=stringStringMap.get(systemId); - if (libPropMaps.containsKey(libray.toUpperCase(Locale.ROOT))) { - log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�" + libray + "鍖归厤鍒扮浉搴旂殑灞炴�ф槧灏勪俊鎭�"); - List<ClsfAttrMappingDO> clsfAttrMappingDOList = libPropMaps.get(libray.toUpperCase(Locale.ROOT)); - propMaps = clsfAttrMappingDOList.stream().collect(Collectors.toMap(ClsfAttrMappingDO::getSourceKey, ClsfAttrMappingDO::getTargetKey, (key1, key2) -> key2)); - log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�" + libray + "鍖归厤鍒扮浉搴旂殑灞炴�ф槧灏勪俊鎭�,灞炴�ф槧灏勬潯鐩暟+" + clsfAttrMappingDOList.size()); - }else{ - throw new Throwable("鏍规嵁绯荤粺鏍囪瘑銆�"+systemId+"銆戞壘鍒板搴旂殑閰嶇疆鏂囦欢:銆�"+path+"銆戯紝浣嗘湭鑾峰彇鍒板搴旂殑搴撱��"+libray+"銆戝睘鎬ф槧灏勪俊鎭厤缃�"); - } - } + libraryClsfDOList = libraryDO.getClsf(); + } catch (Throwable e) { + objerrorCode = "1"; + e.printStackTrace(); + throw new Throwable("闆嗘垚绯荤粺鏍囪瘑涓猴細銆�" + systemId + "銆戯紝鍒嗙被搴撲负:銆�" + libray + "銆戠殑闆嗘垚灞炴�ч厤缃枃浠惰鍙栧け璐�"); } - log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�"+libray+"浠庨厤缃枃浠朵腑鎵惧搴斿睘鎬ф槧灏勯厤缃� end "); - }catch (Throwable e){ - objerrorCode="1"; - e.printStackTrace(); - throw new Throwable("闆嗘垚绯荤粺鏍囪瘑涓猴細銆�"+systemId+"銆戯紝鍒嗙被搴撲负:銆�"+libray+"銆戠殑闆嗘垚灞炴�ч厤缃枃浠惰鍙栧け璐�"); + String path = stringStringMap.get(systemId); + if (!CollectionUtils.isEmpty(libraryClsfDOList)) { + Map<String, List<ClsfAttrMappingDO>> libPropMaps = libraryClsfDOList.stream().collect(Collectors.toMap(LibraryClsfDO::getLibrary, LibraryClsfDO::getProp, (key1, key2) -> key2)); + log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�" + libray + "浠庨厤缃枃浠朵腑鎵惧搴斿睘鎬ф槧灏勯厤缃�"); + if (libPropMaps.containsKey(libray.toUpperCase(Locale.ROOT))) { + log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�" + libray + "鍖归厤鍒扮浉搴旂殑灞炴�ф槧灏勪俊鎭�"); + List<ClsfAttrMappingDO> clsfAttrMappingDOList = libPropMaps.get(libray.toUpperCase(Locale.ROOT)); + propMaps = clsfAttrMappingDOList.stream().collect(Collectors.toMap(ClsfAttrMappingDO::getSourceKey, ClsfAttrMappingDO::getTargetKey, (key1, key2) -> key2)); + log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�" + libray + "鍖归厤鍒扮浉搴旂殑灞炴�ф槧灏勪俊鎭�,灞炴�ф槧灏勬潯鐩暟+" + clsfAttrMappingDOList.size()); + } else { + objerrorCode = "1"; + throw new Throwable("鏍规嵁绯荤粺鏍囪瘑銆�" + systemId + "銆戞壘鍒板搴旂殑閰嶇疆鏂囦欢:銆�" + path + "銆戯紝浣嗘湭鑾峰彇鍒板搴旂殑搴撱��" + libray + "銆戝睘鎬ф槧灏勪俊鎭厤缃�"); + } + }else{ + objerrorCode = "1"; + throw new Throwable("鏍规嵁绯荤粺鏍囪瘑銆�" + systemId + "銆戞壘鍒板搴旂殑閰嶇疆鏂囦欢:銆�" + path + "銆戯紝浣嗘湭鑾峰彇鍒板搴旂殑搴撱��" + libray + "銆戝睘鎬ф槧灏勪俊鎭厤缃�"); + } + }else{ + objerrorCode = "1"; + throw new Throwable("鏈幏鍙栧埌闆嗘垚灞炴�ф槧灏勭郴缁熼厤缃俊鎭�"); } + log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�"+libray+"浠庨厤缃枃浠朵腑鎵惧搴斿睘鎬ф槧灏勯厤缃� end "); LinkedList<String> rowNameList=new LinkedList<>(); LinkedHashMap<String,Integer> filedIndexMap=new LinkedHashMap<>(); //鏍规嵁鍒嗙被妯℃澘缁勭粐鏁版嵁 @@ -2540,7 +2557,13 @@ } /*** - * 鏍规嵁灞炴�ф槧灏勮浆鎹㈢紪鐮佹墍闇�瀛楁 + * 璇诲彇灞炴�ф槧灏勯厤缃俊鎭� + * @param systemId + * @param libray + * @param applyDatasVO + * @param codeClassifyTemplateAttrVOList + * @param dataObjectVO + * @throws Throwable */ public void getConfigDatas(String systemId,String libray, ApplyDatasVO applyDatasVO,List<CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrVOList,DataObjectVO dataObjectVO) throws Throwable { @@ -2548,35 +2571,43 @@ //濡傛灉灏嗘暟鎹浆鎹㈡垚鎵�闇�瑕佺殑鏁版嵁瀵硅薄 Map<String, String> attrMapConfigMap=new HashMap<>(); Map<String, String> propMaps=new HashMap<>(); - try { - log.info("寮�濮嬭鍙栫郴缁熼厤缃枃浠� start"); - Map<String, String> stringStringMap=attributeMapConfig.getSystem_attrmap(); - log.info("闆嗘垚绯荤粺灞炴�ф槧灏勯厤缃枃浠舵潯鐩暟-銆�"+stringStringMap.size()); - //stringStringMap.put("RLM","D:\\RLM.xml"); - if(!CollectionUtils.isEmpty(stringStringMap)) { + log.info("寮�濮嬭鍙栫郴缁熼厤缃枃浠� start"); + Map<String, String> stringStringMap=attributeMapConfig.getSystem_attrmap(); + log.info("闆嗘垚绯荤粺灞炴�ф槧灏勯厤缃枃浠舵潯鐩暟-銆�"+stringStringMap.size()); + //stringStringMap.put("RLM","D:\\RLM.xml"); + if(!CollectionUtils.isEmpty(stringStringMap)) { + List<LibraryClsfDO> libraryClsfDOList=new ArrayList<>(); + try { log.info("info锛氶渶瑕佽鍙栭厤缃枃浠�"); LibraryDO libraryDO = gennerAttrMapUtil.getNewInstance().gennerAttrMapBySystem(systemId, stringStringMap); - List<LibraryClsfDO> libraryClsfDOList = libraryDO.getClsf(); - if(!CollectionUtils.isEmpty(libraryClsfDOList)) { - Map<String, List<ClsfAttrMappingDO>> libPropMaps = libraryClsfDOList.stream().collect(Collectors.toMap(LibraryClsfDO::getLibrary, LibraryClsfDO::getProp, (key1, key2) -> key2)); - log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�" + libray + "浠庨厤缃枃浠朵腑鎵惧搴斿睘鎬ф槧灏勯厤缃�"); - String path=stringStringMap.get(systemId); - if (libPropMaps.containsKey(libray.toUpperCase(Locale.ROOT))) { - log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�" + libray + "鍖归厤鍒扮浉搴旂殑灞炴�ф槧灏勪俊鎭�"); - List<ClsfAttrMappingDO> clsfAttrMappingDOList = libPropMaps.get(libray.toUpperCase(Locale.ROOT)); - propMaps = clsfAttrMappingDOList.stream().collect(Collectors.toMap(ClsfAttrMappingDO::getSourceKey, ClsfAttrMappingDO::getTargetKey, (key1, key2) -> key2)); - log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�" + libray + "鍖归厤鍒扮浉搴旂殑灞炴�ф槧灏勪俊鎭�,灞炴�ф槧灏勬潯鐩暟+" + clsfAttrMappingDOList.size()); - }else{ - throw new Throwable("鏍规嵁绯荤粺鏍囪瘑銆�"+systemId+"銆戞壘鍒板搴旂殑閰嶇疆鏂囦欢:銆�"+path+"銆戯紝浣嗘湭鑾峰彇鍒板搴旂殑搴撱��"+libray+"銆戝睘鎬ф槧灏勪俊鎭厤缃�"); - } - } + libraryClsfDOList = libraryDO.getClsf(); + } catch (Throwable e) { + objerrorCode = "1"; + e.printStackTrace(); + throw new Throwable("闆嗘垚绯荤粺鏍囪瘑涓猴細銆�" + systemId + "銆戯紝鍒嗙被搴撲负:銆�" + libray + "銆戠殑闆嗘垚灞炴�ч厤缃枃浠惰鍙栧け璐�"); } - log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�"+libray+"浠庨厤缃枃浠朵腑鎵惧搴斿睘鎬ф槧灏勯厤缃� end "); - }catch (Throwable e){ - objerrorCode="1"; - e.printStackTrace(); - throw new Throwable("闆嗘垚绯荤粺鏍囪瘑涓猴細銆�"+systemId+"銆戯紝鍒嗙被搴撲负:銆�"+libray+"銆戠殑闆嗘垚灞炴�ч厤缃枃浠惰鍙栧け璐�"); + String path = stringStringMap.get(systemId); + if (!CollectionUtils.isEmpty(libraryClsfDOList)) { + Map<String, List<ClsfAttrMappingDO>> libPropMaps = libraryClsfDOList.stream().collect(Collectors.toMap(LibraryClsfDO::getLibrary, LibraryClsfDO::getProp, (key1, key2) -> key2)); + log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�" + libray + "浠庨厤缃枃浠朵腑鎵惧搴斿睘鎬ф槧灏勯厤缃�"); + if (libPropMaps.containsKey(libray.toUpperCase(Locale.ROOT))) { + log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�" + libray + "鍖归厤鍒扮浉搴旂殑灞炴�ф槧灏勪俊鎭�"); + List<ClsfAttrMappingDO> clsfAttrMappingDOList = libPropMaps.get(libray.toUpperCase(Locale.ROOT)); + propMaps = clsfAttrMappingDOList.stream().collect(Collectors.toMap(ClsfAttrMappingDO::getSourceKey, ClsfAttrMappingDO::getTargetKey, (key1, key2) -> key2)); + log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�" + libray + "鍖归厤鍒扮浉搴旂殑灞炴�ф槧灏勪俊鎭�,灞炴�ф槧灏勬潯鐩暟+" + clsfAttrMappingDOList.size()); + } else { + objerrorCode = "1"; + throw new Throwable("鏍规嵁绯荤粺鏍囪瘑銆�" + systemId + "銆戞壘鍒板搴旂殑閰嶇疆鏂囦欢:銆�" + path + "銆戯紝浣嗘湭鑾峰彇鍒板搴旂殑搴撱��" + libray + "銆戝睘鎬ф槧灏勪俊鎭厤缃�"); + } + }else{ + objerrorCode = "1"; + throw new Throwable("鏍规嵁绯荤粺鏍囪瘑銆�" + systemId + "銆戞壘鍒板搴旂殑閰嶇疆鏂囦欢:銆�" + path + "銆戯紝浣嗘湭鑾峰彇鍒板搴旂殑搴撱��" + libray + "銆戝睘鎬ф槧灏勪俊鎭厤缃�"); + } + }else{ + objerrorCode = "1"; + throw new Throwable("鏈幏鍙栧埌闆嗘垚灞炴�ф槧灏勭郴缁熼厤缃俊鎭�"); } + log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�"+libray+"浠庨厤缃枃浠朵腑鎵惧搴斿睘鎬ф槧灏勯厤缃� end "); LinkedList<String> rowNameList=new LinkedList<>(); LinkedHashMap<String,Integer> filedIndexMap=new LinkedHashMap<>(); //鏍规嵁鍒嗙被妯℃澘缁勭粐鏁版嵁 -- Gitblit v1.9.3