From 101e8e9738e4bfe0ef7a5170d117b47bf901b8f6 Mon Sep 17 00:00:00 2001 From: ludc <pUXmgxCf6A> Date: 星期一, 29 五月 2023 11:29:48 +0800 Subject: [PATCH] 集团主模型发布接口方法移植开发 --- Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java | 5 Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/feign/MdmApplyGroupCodeProvider.java | 5 Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/feigh/MdmInterJtClient.java | 398 +++++++++++++++++++++++++++++++++++++++++++++++++ Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingClassifyModelAttrVO.java | 2 Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/feign/IMdmInterJtClient.java | 17 ++ Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IGroupMdmInterService.java | 7 6 files changed, 432 insertions(+), 2 deletions(-) diff --git a/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/feign/IMdmInterJtClient.java b/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/feign/IMdmInterJtClient.java index f873239..fabc948 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/feign/IMdmInterJtClient.java +++ b/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/feign/IMdmInterJtClient.java @@ -1,11 +1,18 @@ package com.vci.ubcs.code.webservice.feign; +import com.vci.ubcs.code.webservice.vo.DockingClassifyModelAttrVO; import com.vci.ubcs.code.webservice.vo.DockingResultVO; +import com.vci.ubcs.code.webservice.vo.DockingReturnStoreVO; +import com.vci.ubcs.starter.exception.VciBaseException; import org.springblade.core.tool.api.R; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; + +import javax.validation.constraints.NotNull; /**** @@ -21,12 +28,20 @@ String API_PREFIX = "/mdmInterService"; String RETURNGROUPCODE = API_PREFIX + "/getApplyGroupCode"; + String PUBMDMMODEL = API_PREFIX + "/pubMdmModel"; + + + /*** * 灏嗛泦鍥㈢敵璇锋垚鍔熺殑缂栫爜瀛樺叆鐩稿叧鏁版嵁涔嬩腑 * @param dockingResultVO * @return 杩斿洖瀛樺偍鏄惁鎴愬姛淇℃伅 */ @GetMapping(RETURNGROUPCODE) - public R getApplyGroupCode( @RequestParam("dockingResultVO") DockingResultVO dockingResultVO); + public R getApplyGroupCode( @RequestParam("dockingResultVO") DockingReturnStoreVO dockingResultVO); + + + @PostMapping(PUBMDMMODEL) + R pubMdmModel(@RequestParam("dockingClassifyModelAttrVO") DockingClassifyModelAttrVO dockingClassifyModelAttrVO); } diff --git a/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/feign/MdmApplyGroupCodeProvider.java b/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/feign/MdmApplyGroupCodeProvider.java index e861b2b..2069dd0 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/feign/MdmApplyGroupCodeProvider.java +++ b/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/feign/MdmApplyGroupCodeProvider.java @@ -5,6 +5,7 @@ * @date 2023-05-26 */ +import com.vci.ubcs.code.webservice.vo.DockingClassifyModelAttrVO; import com.vci.ubcs.code.webservice.vo.DockingGroupDataVO; import com.vci.ubcs.code.webservice.vo.DockingResultVO; import com.vci.ubcs.starter.exception.VciBaseException; @@ -39,4 +40,8 @@ @PostMapping("/externalMainData/receiveAddApply") DockingResultVO receiveEditApply(@NotNull @RequestBody DockingGroupDataVO dockingGroupDataVO)throws VciBaseException; + + + + } diff --git a/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingClassifyModeAttrVO.java b/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingClassifyModelAttrVO.java similarity index 95% rename from Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingClassifyModeAttrVO.java rename to Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingClassifyModelAttrVO.java index 8bba504..a58ce49 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingClassifyModeAttrVO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingClassifyModelAttrVO.java @@ -5,7 +5,7 @@ * @author xiejun * @date 2023-05-26 */ -public class DockingClassifyModeAttrVO { +public class DockingClassifyModelAttrVO { /*** * 绯荤粺鏍囪瘑 */ diff --git a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/feigh/MdmInterJtClient.java b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/feigh/MdmInterJtClient.java new file mode 100644 index 0000000..88d06a4 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/feigh/MdmInterJtClient.java @@ -0,0 +1,398 @@ +package com.vci.ubcs.code.webservice.feigh; + +import com.alibaba.cloud.commons.lang.StringUtils; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.vci.ubcs.code.webservice.entity.*; +import com.vci.ubcs.code.webservice.feign.IMdmInterJtClient; +import com.vci.ubcs.code.webservice.service.*; +import com.vci.ubcs.code.webservice.vo.*; +import com.vci.ubcs.starter.revision.model.BaseModel; +import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; +import com.vci.ubcs.starter.util.MdmBtmTypeConstant; +import com.vci.ubcs.starter.web.constant.MdmEnumIdConstant; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springblade.core.tenant.annotation.NonDS; +import org.springblade.core.tool.api.R; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.RestController; +import springfox.documentation.annotations.ApiIgnore; + +import java.util.*; +import java.util.stream.Collectors; + +/*** + * 鎻愪緵涓庨泦鍥㈢敵璇穎eigh + */ +@NonDS +@ApiIgnore +@RestController +@AllArgsConstructor +@Slf4j +public class MdmInterJtClient implements IMdmInterJtClient { + /** + * 闆嗗洟鐢宠鍗曟湇鍔� + */ + private final IDockingPreApplyFormService dockingPreApplyFormService; + + /** + * 闆嗗洟鍒嗙被妯″瀷瑙嗗浘鏈嶅姟 + */ + private final IDockingPreViewModelService dockingPreViewModelService; + + /** + * 闆嗗洟鍒嗙被灞炴�ф湇鍔� + */ + private final IDockingPreMetaAttrService dockingPreMetaAttrService; + + /** + * 闆嗗洟鐢宠鍗曟湇鍔� + */ + private final IDockingPreClassifyService dockingPreClassifyService; + + + /** + * 闆嗗洟鐢宠鍗曟湇鍔� + */ + private final IDockingPreAttrRangeService dockingPreAttrRangeService; + + + /* + * 涓绘暟鎹笟鍔℃湇鍔� + */ + + + /** + * 鑾峰彇闆嗗洟闆嗗洟鐮侊紝璧嬪�煎埌涓绘暟鎹� + * @param dockingReturnStoreVO + * @return 杩斿洖闆嗘垚缁撴灉淇℃伅 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public R getApplyGroupCode(DockingReturnStoreVO dockingReturnStoreVO) { + log.info("鑾峰彇闆嗗洟闆嗗洟鐮侊紝璧嬪�煎埌涓绘暟鎹� start"); + try { + List<BaseModel> editObjectList = new ArrayList(); + + List<DockingPreApplyForm> dockingPreApplyFormList = new ArrayList(); + //String classId = javaObject.getClassId(); + //String sysName = javaObject.getSysName(); + List<MainData> mainDataList = dockingReturnStoreVO.getMainData(); + for (MainData mainData : mainDataList) { + JSONObject jcontent = new JSONObject(); + //缂栫爜鐘舵�� + String formState = mainData.getFormState(); + //鐢宠鍗� + String applyId = mainData.getApplyId(); + String customCoding = StringUtils.isBlank(mainData.getCustomCoding()) ? "" : mainData.getCustomCoding();//闆嗗洟鐮� + String msg = ""; + log.info("鐢宠鍗�:"+applyId+",闆嗗洟鐮侊細"+customCoding); + boolean res = false; + if ("1".equals(formState)) { + msg = "闆嗗洟瀹℃牳涓�"; + } else if ("2".equals(formState)) { + msg = "椹冲洖"; + } else if ("3".equals(formState)) { + msg = "闆嗗洟瀹℃牳涓�"; + } else if ("4".equals(formState)) { + msg = "瀹℃牳缁撴潫锛岃祴鐮佸け璐�"; + } else if ("5".equals(formState)) { + res = true; + msg = "瀹℃牳缁撴潫锛岃祴鐮佹垚鍔�"; + } else if ("6".equals(formState)) { + msg = "寰�301璧嬬爜"; + } else if ("7".equals(formState)) { + res = true; + msg = "宸茶祴鐮�"; + } else if ("8".equals(formState)) { + res = true; + msg = "宸茶祴鐮侊紙娌跨敤锛�"; + } else if ("9".equals(formState)) { + msg = "瀹℃牳涓�"; + } + jcontent.put("applyId", applyId); + jcontent.put("formState", formState); + jcontent.put("customCoding", customCoding); + jcontent.put("msg", msg); + List<DockingPreApplyForm> oldDockingPreApplyFormList = dockingPreApplyFormService.list(Wrappers.<DockingPreApplyForm>query().lambda() + .eq(DockingPreApplyForm::getId, applyId)); + if (CollectionUtils.isEmpty(oldDockingPreApplyFormList)) { + continue; //// return false; + } + DockingPreApplyForm dockingPreApplyForm = oldDockingPreApplyFormList.get(0); + dockingPreApplyForm.setMsg(msg); + dockingPreApplyForm.setCode("1"); + if (res) { + dockingPreApplyForm.setGroupCode(customCoding); + } + //杩斿洖缁撴灉淇℃伅 + dockingPreApplyForm.setContent(jcontent.toJSONString()); + dockingPreApplyFormList.add(dockingPreApplyForm); + if (res) { + String jdataid = dockingPreApplyForm.getDataOid(); + String jdatabtmname = dockingPreApplyForm.getDataBtmName(); + //姝ゅ闇�瑕佹煡璇笟鍔℃暟鎹紝鍘绘洿鏀� + BaseModel baseModel = new BaseModel(); + baseModel.setId(customCoding); + log.info("鐢宠鍗�:"+applyId+",闆嗗洟鐮侊細"+customCoding+"缂栫爜锛�"+baseModel.getId()); + editObjectList.add(baseModel); + } + } + dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList); + //璋冪敤涓绘暟鎹湇鍔℃壒閲忎繚瀛樻帴鍙� + }catch (Throwable e){ + e.printStackTrace(); + return R.fail("闆嗗洟鐮侀泦鎴愯祴鍊煎け璐�"+e); + } + log.info("鑾峰彇闆嗗洟闆嗗洟鐮侊紝璧嬪�煎埌涓绘暟鎹� end"); + return R.success("闆嗗洟鐮佽祴鍊兼垚鍔�"); + } + + /*** + * 鎺ュ彈闆嗗洟鍒嗙被涓绘ā鍨嬫暟鎹� + * @param dockingClassifyModelAttrVO + * @return + */ + @Override + @Transactional(rollbackFor = Exception.class) + public R pubMdmModel(DockingClassifyModelAttrVO dockingClassifyModelAttrVO) { + log.info(""); + try { + this.saveDatas(dockingClassifyModelAttrVO); + }catch (Throwable e){ + e.printStackTrace(); + return R.fail("鎺ュ彈闆嗗洟鍒嗙被涓绘ā鍨嬫暟鎹け璐�"+e); + } + log.info("鎺ュ彈闆嗗洟鍒嗙被涓绘ā鍨嬫暟鎹� end"); + return R.success("鎺ュ彈闆嗗洟鍒嗙被涓绘ā鍨嬫暟鎹垚鍔�"); + } + + /*** + * 缁勭粐 淇濆瓨鏁版嵁鏂规硶 + * @param dockingClassifyModelAttrVO + * @throws Throwable + */ + private boolean saveDatas(DockingClassifyModelAttrVO dockingClassifyModelAttrVO) throws Throwable { + List<DockingPreClassify> dockingPreClassifyArrayList=new ArrayList<>(); + try { + DockingClassifyMainVO mainData = dockingClassifyModelAttrVO.getDataStructure(); + List<DockingClassifyVO> classList = mainData.getClassList(); + Map<String, List<DockingClassifyViewVO>> classInfoMap = mainData.getClassInfos(); + for (DockingClassifyVO jclassObject : classList) { + String id =StringUtils.isBlank(jclassObject.getId())?"":jclassObject.getId(); + String className = StringUtils.isBlank(jclassObject.getClassName())?"":jclassObject.getClassName(); + String pid = StringUtils.isBlank(jclassObject.getPid())?"":jclassObject.getPid(); + String nodeLink = StringUtils.isBlank(jclassObject.getNodeLink())?"":jclassObject.getNodeLink(); + String nodeLinkName = StringUtils.isBlank(jclassObject.getNodeLinkName())?"":jclassObject.getNodeLinkName(); + String classNumber = StringUtils.isBlank(jclassObject.getClassNumber())?"":jclassObject.getClassNumber(); + //ClientBusinessObject classObject = objectOperation.readBusinessObjectById(id, "jclass");// 鑾峰彇鍒嗙被淇℃伅 + DockingPreClassify dockingPreClassify=dockingPreClassifyService.getById(id); + log.info("classify:-------------->闆嗗洟鍒嗙被涓绘満:"+id); + log.info("classify:-------------->闆嗗洟鍒嗙被鍚嶇О:"+className); + log.info("classify:--------------> 闆嗗洟鍒嗙被鐖惰妭鐐�:"+pid); + log.info("classify:-------------->閾炬帴:"+nodeLink); + 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); + } + dockingPreClassify.setOid(id); + dockingPreClassify.setName(className); + dockingPreClassify.setPid(pid); + dockingPreClassify.setId(classNumber); + dockingPreClassify.setNodeLink(nodeLink); + dockingPreClassify.setGetNodeLinkName(nodeLinkName); + dockingPreClassify.setClassName(className); + dockingPreClassifyArrayList.add(dockingPreClassify); + // 鑾峰彇瀵瑰簲鐨勫垎绫昏鍥炬ā鍨� + if (classInfoMap.containsKey(id)) { + List<DockingClassifyViewVO> list = classInfoMap.get(id); + getVilewMode(jclassObject, list); + } + } + boolean res= dockingPreClassifyService.saveOrUpdateBatch(dockingPreClassifyArrayList); + return res; + } catch (Throwable e) { + e.printStackTrace(); + throw new Throwable("瀛樺偍瑙嗗浘妯″瀷鍑虹幇闂"); + } + } + /*** + * 鑾峰彇鍒嗙被瑙嗗浘 + * + * @param jclassObject + * @throws Throwable + */ + private void getVilewMode(DockingClassifyVO jclassObject, List<DockingClassifyViewVO> list) + throws Throwable { + String nodeLinkName = jclassObject.getNodeLinkName(); + try { + String jclassId =StringUtils.isBlank(jclassObject.getId())?"":jclassObject.getId(); + Map<String, DockingPreViewModel> jviewmodelMap = new HashMap<String, DockingPreViewModel>(); + //Map<String, String> condtionMa = new HashMap<String, String>(); + // condtionMa.put("jsourceclsfid", jclassId); + List<DockingPreViewModel> dockingPreViewModelList= dockingPreViewModelService.list(Wrappers.<DockingPreViewModel>query().lambda().eq(DockingPreViewModel::getSourceClassifyId,false));// 鏍规嵁鍒嗙被鏌ヨ妯″瀷瑙嗗浘瀵硅薄 + for (DockingPreViewModel dockingPreViewModel : dockingPreViewModelList) { + jviewmodelMap.put(dockingPreViewModel.getViewName(),dockingPreViewModel); + } + + for (DockingClassifyViewVO viewInfo : list) { + String viewName =StringUtils.isBlank(viewInfo.getViewName())?"":viewInfo.getViewName(); + String impactList = StringUtils.isBlank(viewInfo.getImpactList())?"":viewInfo.getImpactList(); + log.info("VilewMode:-------------->瑙嗗浘鍚嶇О:"+viewName); + log.info("VilewMode:-------------->褰卞搷缂栫爜椤�:"+impactList); + log.info("VilewMode:--------------> 闆嗗洟鍒嗙被涓婚敭:"+jclassId); + List<DockingClassifyMetaAttrVO> metaList = viewInfo.getMetaList(); + DockingPreViewModel jviewModelObject = null; + if (jviewmodelMap.containsKey(viewName)) { + jviewModelObject = jviewmodelMap.get(viewName); + //褰卞搷缂栫爜椤圭殑鏁版嵁 + jviewModelObject.setImpactList(impactList); + DefaultAttrAssimtUtil.updateDefaultAttrAssimt(jviewModelObject); + } else { + jviewModelObject =new DockingPreViewModel(); + DefaultAttrAssimtUtil.addDefaultAttrAssimt(jviewModelObject,MdmBtmTypeConstant.DOCKING_PRE_JVIEWMODEL); + jviewModelObject.setSourceClassifyId(jclassId);// 闆嗗洟鍒嗙被id + jviewModelObject.setViewName(viewName);// 闆嗗洟瑙嗗浘鍚嶇О + //褰卞搷缂栫爜椤圭殑鏁版嵁 + jviewModelObject.setImpactList(impactList); + dockingPreViewModelList.add(jviewModelObject); + } + // 鑾峰彇妯″瀷瑙嗗浘涓嬬殑灞炴�ч泦 + // String oid = jviewModelObject.getOid(); + List<DockingPreMetaAttr>allDockingPreMetaAttrList=new ArrayList<>(); + getMetaAttrObject(metaList, jclassId, jviewModelObject, "root",allDockingPreMetaAttrList); + //淇濆瓨妯″瀷瑙嗗浘灞炴�� + dockingPreMetaAttrService.saveOrUpdateBatch(allDockingPreMetaAttrList); + //淇濆瓨妯″瀷瑙嗗浘 + dockingPreViewModelService.saveOrUpdateBatch(dockingPreViewModelList); + } + } catch (Throwable e) { + e.printStackTrace(); + throw new Throwable("缁勭粐鍒嗙被" + nodeLinkName + "妯″瀷瑙嗗浘瀛樺偍鍑虹幇闂"); + } + } + + + /*** + * 鑾峰彇妯″瀷瑙嗗浘灞炴�� + * @throws Throwable + */ + private void getMetaAttrObject(List<DockingClassifyMetaAttrVO> metaList, + String jclassId, DockingPreViewModel jviewModelObject, String pid,List<DockingPreMetaAttr>allDockingPreMetaAttrList)throws Throwable { + try { + //// 鏍规嵁鍒嗙被鏌ヨ妯″瀷瑙嗗浘瀵硅薄 + List<DockingPreMetaAttr> dockingPreMetaAttrList = dockingPreMetaAttrService.selectByWrapper(Wrappers.<DockingPreMetaAttr>query().lambda() + .eq(DockingPreMetaAttr::getSourceClassifyId,jclassId).eq(DockingPreMetaAttr::getViewModelId,jviewModelObject.getOid()) + .eq(DockingPreMetaAttr:: getPid,pid)); + Map<String,DockingPreMetaAttr> jmetaattrMap = dockingPreMetaAttrList.stream().filter( + s -> StringUtils.isNotBlank(s.getEnglishName())).collect(Collectors.toMap(s -> s.getEnglishName().toLowerCase(Locale.ROOT), t -> t)); + + for (DockingClassifyMetaAttrVO dockingClassifyMetaAttrVO : metaList) { + String chineseName =StringUtils.isBlank(dockingClassifyMetaAttrVO.getChineseName())?"":dockingClassifyMetaAttrVO.getChineseName();// 灞炴�у悕绉� + String englishName = StringUtils.isBlank(dockingClassifyMetaAttrVO.getEnglishName())?"":dockingClassifyMetaAttrVO.getEnglishName();// 鑻辨枃鍚嶇О + String defaultValue = StringUtils.isBlank(dockingClassifyMetaAttrVO.getDefaultValue())?"":dockingClassifyMetaAttrVO.getDefaultValue(); + Integer metadataType =dockingClassifyMetaAttrVO.getMetadataType();// 绫诲瀷 + Integer necessaryConf = dockingClassifyMetaAttrVO.getNecessaryConf();// 鏄惁蹇呭~ + Map<String, String> range = dockingClassifyMetaAttrVO.getRange()==null?new HashMap<String, String>():dockingClassifyMetaAttrVO.getRange();// 鍙栧�艰寖鍥� + + log.info("metaAttr:-------------->灞炴�у悕绉�:"+chineseName); + log.info("metaAttr:-------------->鑻辨枃鍚嶇О:"+englishName); + log.info("metaAttr:-------------->榛樿鍊�:"+defaultValue); + log.info("metaAttr:--------------> 绫诲瀷:"+metadataType); + log.info("metaAttr:--------------> 鏄惁蹇呭~:"+necessaryConf); + DockingPreMetaAttr dockingPreMetaAttr = new DockingPreMetaAttr(); + if (jmetaattrMap.containsKey(englishName)) { + dockingPreMetaAttr = jmetaattrMap.get(englishName); + dockingPreMetaAttr.setChineseName(chineseName); + dockingPreMetaAttr.setDefaultValue(defaultValue); + DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreMetaAttr); + } else { + DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreMetaAttr,MdmBtmTypeConstant.DOCKING_PRE_JMETAATRR); + dockingPreMetaAttr.setSourceClassifyId(jclassId);// 闆嗗洟鍒嗙被id + dockingPreMetaAttr.setViewModelId(jviewModelObject.getOid());// 闆嗗洟瑙嗗浘妯″瀷id + dockingPreMetaAttr.setChineseName(chineseName);// 灞炴�у悕绉� + dockingPreMetaAttr.setEnglishName(englishName);// 灞炴�у瓧娈� + dockingPreMetaAttr.setDefaultValue(defaultValue);// 灞炴�у悕绉� + dockingPreMetaAttr.setMetaDataType(metadataType);// 灞炴�х被鍨� + dockingPreMetaAttr.setNecesSaryConf(necessaryConf);// 灞炴�у繀濉」 + dockingPreMetaAttr.setPid(pid);// 鐖惰妭鐐筰d + } + if(range!=null&&range.size()>0){ + // 鑾峰彇灞炴�у�煎煙 + getRange(dockingPreMetaAttr, range); + } + /*** + * 鑾峰彇瀛愯妭鐐� + */ + DockingClassifyMetaAttrVO compositeMeta = dockingClassifyMetaAttrVO.getCompositeMeta(); + if (compositeMeta != null) { + pid = StringUtils.isBlank(dockingPreMetaAttr.getOid())?"":dockingPreMetaAttr.getOid();// 褰撳墠oid + List<DockingClassifyMetaAttrVO> childMetaList = new ArrayList<>(); + childMetaList.add(compositeMeta); + getMetaAttrObject(childMetaList, jclassId,jviewModelObject, pid,allDockingPreMetaAttrList); + } + + } + + } catch (Throwable e) { + e.printStackTrace(); + log.error("缁勭粐妯″瀷瑙嗗浘"+ jviewModelObject.getViewName() + + "灞炴�у瓨鍌ㄥ嚭鐜伴棶棰�" + e); + throw new Throwable("缁勭粐妯″瀷瑙嗗浘"+ jviewModelObject.getViewName() + + "灞炴�у瓨鍌ㄥ嚭鐜伴棶棰�" + e); + } + } + + /** + * @throws Throwable + * * 鑾峰彇鍊煎煙 + * @param metaAttrObject + * @param range + * @throws + */ + private void getRange(DockingPreMetaAttr metaAttrObject,Map<String, String> range) throws Throwable { + String metaAttrOid =StringUtils.isBlank(metaAttrObject.getOid())?"":metaAttrObject.getOid();// 灞炴�х殑oid + String jchinesename = StringUtils.isBlank(metaAttrObject.getChineseName())?"":metaAttrObject.getChineseName(); + Map<String, DockingPreAttrRange> rangeMap = new HashMap<>(); + try { + Map<String, String> condtionMa = new HashMap<String, String>(); + condtionMa.put("jmetalistid", metaAttrOid); + List<DockingPreAttrRange> jmetaattrList = dockingPreAttrRangeService.selectByWrapper(Wrappers.<DockingPreAttrRange>query().lambda() + .eq(DockingPreAttrRange::getMetaListId,metaAttrOid));// 鏍规嵁鍒嗙被鏌ヨ妯″瀷瑙嗗浘瀵硅薄 + rangeMap= jmetaattrList.stream().collect(Collectors.toMap(s -> StringUtils.isNotBlank(s.getNumText().toLowerCase(Locale.ROOT))?"":s.getNumText().toLowerCase(Locale.ROOT), t -> t)); + + for (String rangeKey : range.keySet()) { + DockingPreAttrRange rangeObject = new DockingPreAttrRange(); + String keyValue = StringUtils.isBlank(range.get(rangeKey))?"":range.get(rangeKey); + log.info("range:-------------->鏄剧ず鍊�"+rangeKey+",鍐呴儴鍊�"+keyValue); + if (rangeMap.containsKey(rangeKey)) { + rangeObject = rangeMap.get(rangeKey); + rangeObject.setNumTextValue(keyValue); + rangeObject.setNumText(rangeKey); + DefaultAttrAssimtUtil.updateDefaultAttrAssimt(rangeObject); + } else { + DefaultAttrAssimtUtil.addDefaultAttrAssimt(rangeObject,MdmBtmTypeConstant.DOCKING_PRE_JRANGE); + rangeObject.setNumTextValue(keyValue); + rangeObject.setNumText(rangeKey); + rangeObject.setTs(rangeObject.getLastModifyTime()); + rangeObject.setMetaListId(metaAttrOid); + log.info("range:-------------->灞炴�у唴閮ㄥ��:"+metaAttrOid); + log.info("range:-------------->鏃堕棿:"+rangeObject.getLastModifyTime()); + jmetaattrList.add(rangeObject); + } + } + dockingPreAttrRangeService.saveOrUpdateBatch(jmetaattrList); + } catch (Throwable e) { + e.printStackTrace(); + log.info("缁勭粐灞炴�э細銆�" + jchinesename + "銆戝�煎煙鍑虹幇闂"+ e); + throw new Throwable("缁勭粐灞炴�э細銆�" + jchinesename + "銆戝�煎煙鍑虹幇闂"+ e); + } + } + +} diff --git a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IGroupMdmInterService.java b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IGroupMdmInterService.java index c416cbf..67972cf 100644 --- a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IGroupMdmInterService.java +++ b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IGroupMdmInterService.java @@ -27,4 +27,11 @@ public R receiveEditApply(String oids, String btmName)throws Throwable; + /*** + * + * @return + * @throws Throwable + */ + public R pubJTclsfModel()throws Throwable; + } diff --git a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java index 2cdc8d6..cf3146d 100644 --- a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java @@ -313,6 +313,11 @@ } } + @Override + public R pubJTclsfModel() throws Throwable { + return null; + } + /** * 缁勭粐鏁版嵁 -- Gitblit v1.9.3