From a17f731ee4bcad459c184be5a7c3de6c3619443b Mon Sep 17 00:00:00 2001 From: ludc Date: 星期三, 07 六月 2023 19:47:03 +0800 Subject: [PATCH] 代码整合 --- Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java | 191 +++++++++++++++++++++++++++++++++++++---------- 1 files changed, 149 insertions(+), 42 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 90eaac9..0fa9c0d 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,14 +5,14 @@ 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.service.IGroupMdmInterService; import com.vci.ubcs.code.webservice.vo.*; import com.vci.ubcs.starter.util.MdmBtmTypeConstant; import com.vci.ubcs.code.webservice.feign.MdmApplyGroupCodeProvider; 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.*; @@ -55,20 +55,20 @@ * 闆嗗洟鍒嗙被鏈嶅姟 */ @Autowired(required = false) - private IDockingPreClassifyService dockingPreClassifyService; + private com.vci.ubcs.code.webservice.service.IDockingPreClassifyService dockingPreClassifyService; /*** * 鐢宠鍗曟湇鍔� */ @Autowired(required = false) - private IDockingPreApplyFormService dockingPreApplyFormService; + private com.vci.ubcs.code.webservice.service.IDockingPreApplyFormService dockingPreApplyFormService; /*** * 妯″瀷瑙嗗浘鍗曟湇鍔� */ @Autowired(required = false) - private IDockingPreViewModelService dockingPreViewModelService; + private com.vci.ubcs.code.webservice.service.IDockingPreViewModelService dockingPreViewModelService; /*** @@ -80,14 +80,17 @@ * 灞炴�у彇鍊艰寖鍥存湇鍔� */ @Autowired(required = false) - private IDockingPreAttrRangeService dockingPreAttrRangeService; + private com.vci.ubcs.code.webservice.service.IDockingPreAttrRangeService dockingPreAttrRangeService; /*** * 闆嗗洟灞炴�ф湇鍔� */ @Autowired(required = false) - private IDockingPreMetaAttrService dockingPreMetaAttrService; + private com.vci.ubcs.code.webservice.service.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){ @@ -326,7 +327,7 @@ * @throws VciBaseException */ @Override - public R queryClassModel(String groupClassifyId) throws VciBaseException { + public R queryClassModel(String groupClassifyId) throws Throwable { log.info("鑾峰彇闆嗗洟妯″瀷璇︾粏淇℃伅鎵ц淇濆瓨start"); String message="鎵ц鎴愬姛锛�"; try { @@ -354,7 +355,7 @@ throw new Throwable(message); } }else{ - message="鏈幏浠庨泦鍥㈣幏鍙栧埌浠讳綍妯″瀷淇℃伅"; + message="鏈粠闆嗗洟鑾峰彇鍒颁换浣曟ā鍨嬩俊鎭�"; log.info(message); throw new Throwable(message); } @@ -383,6 +384,7 @@ log.info(message); throw new Throwable(message); } + DockingModelQueryVO dockingModelQueryVO = new DockingModelQueryVO(); dockingModelQueryVO.setSysName(dockingApplySysName); DockingQueryModelVO dockingQueryModelVO= mdmApplyGroupCodeProvider.queryMdmModel(dockingModelQueryVO); @@ -419,7 +421,7 @@ dockingPreClassify.setPid(pid); dockingPreClassify.setId(classNumber); dockingPreClassify.setNodeLink(nodeLink); - dockingPreClassify.setGetNodeLinkName(nodeLinkName); + dockingPreClassify.setNodeLinkName(nodeLinkName); dockingPreClassify.setClassName(className); dockingPreClassify.setVersionValue(version); dockingPreClassifyList.add(dockingPreClassify); @@ -436,7 +438,7 @@ throw new Throwable(message); } }else{ - message="鏈幏浠庨泦鍥㈣幏鍙栧埌浠讳綍妯″瀷淇℃伅"; + message="鏈粠闆嗗洟鑾峰彇鍒颁换浣曟ā鍨嬩俊鎭�"; log.info(message); throw new Throwable(message); } @@ -450,6 +452,90 @@ return R.success(message); } + + + /*** + * 鏌ヨ鐢宠鍗曠姸鎬� + * @param dataOids + * @return 鎵ц缁撴灉 + */ + @Override + public R queryApplyState(String dataOids) throws VciBaseException { + + String message="鎵ц鎴愬姛锛�"; + log.info("鏌ヨ鐢宠鍗曠姸鎬佹帴鍙tatr"); + try { + VciBaseUtil.alertNotNull(dataOids,"鎵�鏌ョ敵璇峰崟鏁版嵁涓婚敭"); + VciBaseUtil.alertNotNull(dockingApplySysName,"绯荤粺鏍囪瘑閰嶇疆锛歞ocking.apply.unitCode"); + List<String> applyIdList=new ArrayList<>(); + List<DockingPreApplyForm> dockingPreApplyFormList= this.dockingPreApplyFormService.list(Wrappers.<DockingPreApplyForm>query().lambda().in(DockingPreApplyForm::getDataOid, VciBaseUtil.str2List(dataOids))); + Map<String,DockingPreApplyForm> dockingPreApplyFormMap=new HashMap<>(); + dockingPreApplyFormList.stream().forEach(dockingPreApplyForm -> { + applyIdList.add(dockingPreApplyForm.getId()); + dockingPreApplyFormMap.put(dockingPreApplyForm.getId(),dockingPreApplyForm); + }); + + DockingModelQueryVO dockingModelQueryVO=new DockingModelQueryVO(); + dockingModelQueryVO.setApplyNums(VciBaseUtil.array2String(applyIdList.toArray(new String[]{}))); + dockingModelQueryVO.setSysName(dockingApplySysName); + DockingApplyFormQueryStatusVO dockingApplyFormQueryStatusVO=mdmApplyGroupCodeProvider.queryApplyState(dockingModelQueryVO); + + int code=dockingApplyFormQueryStatusVO.getCode(); + String mesg=dockingApplyFormQueryStatusVO.getMsg(); + if(code==1){ + List<DockingApplyFormStatusVO> dockingApplyFormStatusVOList=dockingApplyFormQueryStatusVO.getData(); + if(CollectionUtils.isEmpty(dockingApplyFormStatusVOList)){ + for (DockingApplyFormStatusVO applyFormDataState : dockingApplyFormStatusVOList) { + String applyId=applyFormDataState.getApplyNum(); + String state= applyFormDataState.getFormState(); + String examineOpinion=applyFormDataState.getExamineOpinion(); + String jmsg=getCodeState(state)+"锛屾剰瑙侊細"+examineOpinion; + if(dockingPreApplyFormMap.containsKey(applyId)){ + DockingPreApplyForm applyFormObject=dockingPreApplyFormMap.get(applyId); + applyFormObject.setMsg(jmsg); + } + } + boolean res=this.dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList); + if(res){ + R.success("鐢宠闆嗗洟鐮佺姸鎬佹煡璇㈡垚鍔�:"+mesg); + } + }else{ + throw new Throwable("娌℃湁鑾峰彇鍒扮浉鍏虫暟鎹俊鎭�"); + } + }else{ + throw new Throwable(mesg); + } + + }catch (Throwable e){ + e.printStackTrace();; + log.error("鑾峰彇鐢宠鍗曠姸鎬佸け璐�"+e); + throw new VciBaseException(message); + } + log.info("鏌ヨ鐢宠鍗曠姸鎬佹帴鍙nd"); + return R.success(message); + } + + /*** + * 鍚屾闆嗗洟妯″瀷淇℃伅 + * @param classifyId + * @param operationType + * @return 杩斿洖鎵ц缁撴灉 + * @throws VciBaseException + */ + @Override + public R syncClassifyModel(String classifyId, String operationType) throws VciBaseException { + VciBaseUtil.alertNotNull(operationType,"闆嗘垚鎿嶄綔绫诲瀷"); + try { + if(operationType.equals("all")){ + return queryMdmModel(); + }else{ + VciBaseUtil.alertNotNull(classifyId,"闆嗗洟鍒嗙被涓婚敭"); + return queryClassModel(classifyId); + } + } catch (Throwable e) { + throw new VciBaseException(e.getMessage()); + } + } /*** * 缁勭粐 淇濆瓨鏁版嵁鏂规硶 @@ -492,7 +578,7 @@ dockingPreClassify.setPid(pid); dockingPreClassify.setId(classNumber); dockingPreClassify.setNodeLink(nodeLink); - dockingPreClassify.setGetNodeLinkName(nodeLinkName); + dockingPreClassify.setNodeLinkName(nodeLinkName); dockingPreClassify.setClassName(className); dockingPreClassifyArrayList.add(dockingPreClassify); // 鑾峰彇瀵瑰簲鐨勫垎绫昏鍥炬ā鍨� @@ -688,12 +774,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(); @@ -734,7 +820,7 @@ DockingMainData mainData = new DockingMainData(); mainData.setApplyEntId(dockingApplyUnitCode);//鐢宠鍗曚綅浠g爜 mainData.setApplyId(apllyCode);//鐢宠鍗曞彿 - mainData.setClassName(dockingPreClassify.getGetNodeLinkName());//鍒嗙被鍚嶇О + mainData.setClassName(dockingPreClassify.getNodeLinkName());//鍒嗙被鍚嶇О mainData.setCreateBy(curUserName);// mainData.setSecretLevel("鍐呴儴");//瀵嗙骇锛岄粯璁や负鍐呴儴 mainData.setViewInfos(getviewInfos(optationtype,dockingPreClassify, dataBusinessObject));//鑾峰彇瑙嗗浘妯″瀷 @@ -757,7 +843,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<>(); @@ -786,16 +872,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)) { @@ -918,4 +1001,28 @@ } return value; } + + private String getCodeState(String formState){ + String msg=""; + 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)){ + msg="瀹℃牳缁撴潫锛岃祴鐮佹垚鍔�"; + }else if("6".equals(formState)){ + msg="寰�301璧嬬爜"; + }else if("7".equals(formState)){ + msg="宸茶祴鐮�"; + }else if("8".equals(formState)){ + msg="宸茶祴鐮侊紙娌跨敤锛�"; + }else if("9".equals(formState)){ + msg="瀹℃牳涓�"; + } + return msg; + } } -- Gitblit v1.9.3