From 13716d87a6579ea8be6d76beb89f873d51d35a89 Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期三, 31 五月 2023 17:19:20 +0800 Subject: [PATCH] 将集团分类树查询待属性集合分开分别查询集团分类树,模型属性 --- Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java | 96 ++++++++++++++---------------------------------- 1 files changed, 28 insertions(+), 68 deletions(-) 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 b0b17d6..b2ff550 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 @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; +import com.vci.ubcs.code.feign.IMdmEngineClient; import com.vci.ubcs.code.webservice.entity.*; import com.vci.ubcs.code.webservice.vo.*; import com.vci.ubcs.starter.util.MdmBtmTypeConstant; @@ -12,7 +13,6 @@ import com.vci.ubcs.code.webservice.mapper.DockingPreAttrMappingMapper; import com.vci.ubcs.code.webservice.service.*; import com.vci.ubcs.starter.exception.VciBaseException; -import com.vci.ubcs.starter.revision.model.BaseModel; import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; import com.vci.ubcs.starter.web.util.BeanUtilForVCI; import com.vci.ubcs.starter.web.util.VciBaseUtil; @@ -23,7 +23,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; - +import com.vci.ubcs.starter.revision.model.BaseModel; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @@ -88,6 +88,9 @@ */ @Autowired(required = false) private IDockingPreMetaAttrService dockingPreMetaAttrService; + + @Autowired(required = false) + private IMdmEngineClient mdmEngineClient; /*** * 涓绘暟鎹儚闆嗗洟鐢宠缂栫爜 * @param oids 闇�瑕佺敵璇风殑鏁版嵁涓婚敭鏁扮粍 @@ -100,20 +103,19 @@ public R applyGroupCode(String oids, String btmName) throws VciBaseException { try { List<BaseModel> updateCbos = new ArrayList<BaseModel>(); - List<DockingPreApplyForm> dockingPreAttrMappings = new ArrayList<>(); VciBaseUtil.alertNotNull(oids, "閫夋嫨鐨勬暟鎹�"); VciBaseUtil.alertNotNull(btmName, "涓氬姟绫诲瀷"); - //List<BaseModelVO> codeWupins=mdmEngineService.listByIds(VciBaseUtil.str2List(oids)); - List<BaseModelVO> dataModelList = new ArrayList<>(); + R<List<BaseModel>> baseModelR =mdmEngineClient.selectByTypeAndOid(btmName,oids); + List<BaseModel> dataModelList= baseModelR.getData(); if (!CollectionUtils.isEmpty(dataModelList)) { DockingGroupDataVO dockingGroupDataVO = new DockingGroupDataVO(); //鐢宠鍗曞拰鐢宠鍗曞璞″叧绯� Map<String, DockingPreApplyForm> addDockingPreApplyFormMap = new HashMap<String, DockingPreApplyForm>(); Map<String, DockingPreApplyForm> editDockingPreApplyFormMap = new HashMap<String, DockingPreApplyForm>(); - Map<String, BaseModelVO> baseModelVOMap = new HashMap<String, BaseModelVO>(); + Map<String, BaseModel> baseModelMap = new HashMap<String, BaseModel>(); //缁勭粐鏁版嵁 - dockingGroupDataVO = queryApplycodeDataObjects(1, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelVOMap); + dockingGroupDataVO = queryApplycodeDataObjects(1, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelMap); DockingResultVO resultDataObject = mdmApplyGroupCodeProvider.receiveAddApply(dockingGroupDataVO); code = resultDataObject.getCode(); msg = resultDataObject.getMsg(); @@ -161,13 +163,13 @@ } //濡傛灉鏈夐泦鍥㈢爜鍒欐洿鏂版暟鎹� if (isEditDatas) { - if (baseModelVOMap.containsKey(applyId)) { - BaseModelVO baseModelVO = baseModelVOMap.get(applyId); - BaseModel baseModel = new BaseModel(); - BeanUtilForVCI.copyDeclaredIgnoreCase(baseModelVO, baseModel); + if (baseModelMap.containsKey(applyId)) { + BaseModel baseModel = baseModelMap.get(applyId); + BeanUtilForVCI.copyDeclaredIgnoreCase(baseModel, baseModel); DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel); DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel); - baseModelVO.setId(customCoding); + //baseModel.setId(customCoding); + baseModel.getData().getOrDefault("groupCode",customCoding); updateCbos.add(baseModel);//鏇存柊鏁版嵁闆嗗洟code } } @@ -196,7 +198,7 @@ } //淇濆瓨琛ㄥ崟鏁版嵁 dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings); - //mdmEngineService.saveBatch(updateCbos);//淇濆瓨鏁版嵁 + mdmEngineClient.insertBatchByType(btmName,updateCbos);//淇濆瓨鏁版嵁 } return R.success("鐢宠鎺ュ彛璋冪敤鎴愬姛"); }catch (VciBaseException e){ @@ -219,16 +221,16 @@ VciBaseUtil.alertNotNull(oids,"閫夋嫨鐨勬暟鎹�"); VciBaseUtil.alertNotNull(btmName,"涓氬姟绫诲瀷"); //List<BaseModelVO> codeWupins=mdmEngineService.listByIds(VciBaseUtil.str2List(oids)); - List<BaseModelVO> dataModelList = new ArrayList<>(); + List<BaseModel> dataModelList = new ArrayList<>(); try { if (!CollectionUtils.isEmpty(dataModelList)) { DockingGroupDataVO dockingGroupDataVO = new DockingGroupDataVO(); //鐢宠鍗曞拰鐢宠鍗曞璞″叧绯� Map<String, DockingPreApplyForm> addDockingPreApplyFormMap = new HashMap<String, DockingPreApplyForm>(); Map<String, DockingPreApplyForm> editDockingPreApplyFormMap = new HashMap<String, DockingPreApplyForm>(); - Map<String, BaseModelVO> baseModelVOMap = new HashMap<String, BaseModelVO>(); + Map<String, BaseModel> baseModelMap = new HashMap<String, BaseModel>(); //缁勭粐鏁版嵁 - dockingGroupDataVO = queryApplycodeDataObjects(2, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelVOMap); + dockingGroupDataVO = queryApplycodeDataObjects(2, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelMap); DockingResultVO resultDataObject = mdmApplyGroupCodeProvider.receiveEditApply(dockingGroupDataVO); code = resultDataObject.getCode(); msg = resultDataObject.getMsg(); @@ -276,13 +278,12 @@ } //濡傛灉鏈夐泦鍥㈢爜鍒欐洿鏂版暟鎹� if (isEditDatas) { - if (baseModelVOMap.containsKey(applyId)) { - BaseModelVO baseModelVO = baseModelVOMap.get(applyId); - BaseModel baseModel = new BaseModel(); - BeanUtilForVCI.copyDeclaredIgnoreCase(baseModelVO, baseModel); + if (baseModelMap.containsKey(applyId)) { + BaseModel baseModel = baseModelMap.get(applyId); + //BeanUtilForVCI.copyDeclaredIgnoreCase(baseModelVO, baseModel); DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel); - DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel); - baseModelVO.setId(customCoding); + // baseModel.setId(customCoding); + baseModel.getData().getOrDefault("groupCode",customCoding); updateCbos.add(baseModel);//鏇存柊鏁版嵁闆嗗洟code } } @@ -311,7 +312,7 @@ } //淇濆瓨琛ㄥ崟鏁版嵁 dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings); - //mdmEngineService.saveBatch(updateCbos);//淇濆瓨鏁版嵁 + mdmEngineClient.insertBatchByType(btmName,updateCbos);//淇濆瓨鏁版嵁 } return R.success("鐢宠鎺ュ彛璋冪敤鎴愬姛"); }catch (VciBaseException e){ @@ -502,44 +503,6 @@ throw new VciBaseException(e.getMessage()); } } - -// /** -// * 鍚屾涓绘ā鍨� -// * @return -// */ -// private String queryMdmModel() throws VciBaseException { -// String message="鎵ц鎴愬姛锛�"; -// try { -// -// -// }catch (VciBaseException e){ -// message=e.getMessage(); -// throw new VciBaseException(message); -// }finally { -// return message; -// } -// -// -// } -// -// /*** -// * 鍚屾妯″瀷璇︾粏淇℃伅 -// * @param classifyId -// * @return -// */ -// private String queryClassModel(String classifyId)throws VciBaseException{ -// String message="鎵ц鎴愬姛锛�"; -// try { -// -// }catch (VciBaseException e){ -// message=e.getMessage(); -// throw new VciBaseException(message); -// }finally { -// return message; -// } -// -// } - /*** * 缁勭粐 淇濆瓨鏁版嵁鏂规硶 @@ -778,12 +741,12 @@ /** * 缁勭粐鏁版嵁 * */ - private DockingGroupDataVO queryApplycodeDataObjects(int optationtype,List<BaseModelVO> codeWupins,Map<String,DockingPreApplyForm> addDockingPreApplyFormMap,Map<String,DockingPreApplyForm> editDockingPreApplyFormMap,Map<String,BaseModelVO> codeWupinMap) throws VciBaseException{ + 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(); //鐢宠鐨勬暟鎹� List<DockingMainData> mainDataList=new ArrayList<DockingMainData>(); - for (BaseModelVO dataBusinessObject : codeWupins) { + for (BaseModel dataBusinessObject : codeWupins) { String format = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()); String codeclsfid = dataBusinessObject.getData().getOrDefault("codeclsfid",""); String btmName = dataBusinessObject.getBtmname(); @@ -847,7 +810,7 @@ * @param dataBusinessObject * @throws VciBaseException */ - private List<DockingViewVO>getviewInfos(int type, DockingPreClassify dockingPreClassify, BaseModelVO dataBusinessObject) throws Throwable{ + private List<DockingViewVO>getviewInfos(int type, DockingPreClassify dockingPreClassify, BaseModel dataBusinessObject) throws Throwable{ List<DockingViewVO> viewInfoList=new ArrayList<>(); String jclassOid= dockingPreClassify.getOid(); List<DockingPreViewModel> dockingPreViewModels=new ArrayList<>(); @@ -876,16 +839,13 @@ * @return * @throws VciBaseException */ - private List<Map<String, Object>> getViewValueList(DockingPreViewModel dockingPreViewModel,String jclassOid,BaseModelVO dataBusinessObject) throws Throwable{ + private List<Map<String, Object>> getViewValueList(DockingPreViewModel dockingPreViewModel,String jclassOid,BaseModel dataBusinessObject) throws Throwable{ //鏋勯�犳ā鍨嬭鍥炬暟鎹� List<Map<String, Object>> viewValueList=new ArrayList<Map<String,Object>>(); String oid = dockingPreViewModel.getOid(); Map<String,String> dataValueMap=dataBusinessObject.getData(); String codeClassifyId=dataValueMap.get("codeclsfid"); Map<String,String>conditionsMap=new HashMap<String, String>(); - - - List<DockingPreAttrMapping> dockingPreAttrMappingList = dockingPreAttrMappingMapper.selectList(Wrappers.<DockingPreAttrMapping>query().lambda() .eq(DockingPreAttrMapping::getSourceClassifyId, jclassOid).eq(DockingPreAttrMapping::getTargetClassifyId, codeClassifyId)); if(CollectionUtils.isEmpty(dockingPreAttrMappingList)) { -- Gitblit v1.9.3