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