From 8381325223bee254168855b1b697db31fc591b9e Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期二, 19 九月 2023 09:28:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java |  272 ++++++++++++++++++++++++++++++-----------------------
 1 files changed, 153 insertions(+), 119 deletions(-)

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 7bd34db..b0535f1 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
@@ -9,6 +9,8 @@
 import com.vci.ubcs.code.applyjtcodeservice.entity.*;
 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.result.xml.XMLResultDataObjectDetailDO;
 import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
 import com.vci.ubcs.code.applyjtcodeservice.feign.MdmApplyGroupCodeProvider;
 import com.vci.ubcs.code.applyjtcodeservice.mapper.DockingPreAttrMappingMapper;
@@ -41,8 +43,10 @@
 	private String code="";
 
 	private String msg="";
-
-
+	@Value("${docking.apply.partCoe:10}")
+	public String partCoe;
+	@Value("${docking.apply.userFlag:false}")
+	public boolean usedFlag;
 	@Value("${docking.apply.unitCode:41000}")
 	public String dockingApplyUnitCode;
 
@@ -101,111 +105,118 @@
 	@Transactional(rollbackFor = VciBaseException.class)
 	@Override
 	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, "涓氬姟绫诲瀷");
-			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, BaseModel> baseModelMap = new HashMap<String, BaseModel>();
-				//缁勭粐鏁版嵁
-				dockingGroupDataVO = queryApplycodeDataObjects(1, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelMap);
-				DockingResultVO resultDataObject = mdmApplyGroupCodeProvider.receiveAddApply(dockingGroupDataVO);
-				code = resultDataObject.getCode();
-				msg = resultDataObject.getMsg();
-				if ("1".equals(resultDataObject.getCode())) {//缁撴灉姝g‘鐨勬儏鍐�
-					List<DockingDataVO> dataObjectVOList = resultDataObject.getData();
-					dataObjectVOList.stream().forEach(dataObject -> {
-						boolean isEditDatas = false;
-						String code2 = dataObject.getCode();
-						DockingMainDataVO data2 = dataObject.getData();
-						String applyId = data2.getApplyId();//鐢宠鍗昳d
-						String customCoding = StringUtils.isBlank(data2.getCustomCoding()) ? "" : data2.getCustomCoding();//闆嗗洟鐮佹
-						msg = dataObject.getMsg();
-						if (code2.equals("1")) {//缁撴灉姝g‘鐨勬儏鍐�
-							if (!"".equals(customCoding)) {
-								isEditDatas = true;
+		if(usedFlag) {
+			try {
+				List<BaseModel> updateCbos = new ArrayList<BaseModel>();
+				List<DockingPreApplyForm> dockingPreAttrMappings = new ArrayList<>();
+				VciBaseUtil.alertNotNull(oids, "閫夋嫨鐨勬暟鎹�");
+				VciBaseUtil.alertNotNull(btmName, "涓氬姟绫诲瀷");
+				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, BaseModel> baseModelMap = new HashMap<String, BaseModel>();
+					//缁勭粐鏁版嵁
+					dockingGroupDataVO = queryApplycodeDataObjects(1, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelMap);
+					DockingResultVO resultDataObject = mdmApplyGroupCodeProvider.receiveAddApply(dockingGroupDataVO);
+					code = resultDataObject.getCode();
+					msg = resultDataObject.getMsg();
+					if ("1".equals(resultDataObject.getCode())) {//缁撴灉姝g‘鐨勬儏鍐�
+						List<DockingDataVO> dataObjectVOList = resultDataObject.getData();
+						dataObjectVOList.stream().forEach(dataObject -> {
+							boolean isEditDatas = false;
+							String code2 = dataObject.getCode();
+							DockingMainDataVO data2 = dataObject.getData();
+							String applyId = data2.getApplyId();//鐢宠鍗昳d
+							String customCoding = StringUtils.isBlank(data2.getCustomCoding()) ? "" : data2.getCustomCoding();//闆嗗洟鐮佹
+							msg = dataObject.getMsg();
+							if (code2.equals("1")) {//缁撴灉姝g‘鐨勬儏鍐�
+								if (!"".equals(customCoding)) {
+									isEditDatas = true;
+								}
 							}
-						}
-						//闇�瑕佷慨鏀圭殑鐢宠鍗曟暟鎹�
-						if (editDockingPreApplyFormMap.containsKey(applyId)) {
-							DockingPreApplyForm dockingPreApplyForm = editDockingPreApplyFormMap.get(applyId);
-							dockingPreApplyForm.setCode(code2);
+							//闇�瑕佷慨鏀圭殑鐢宠鍗曟暟鎹�
+							if (editDockingPreApplyFormMap.containsKey(applyId)) {
+								DockingPreApplyForm dockingPreApplyForm = editDockingPreApplyFormMap.get(applyId);
+								dockingPreApplyForm.setCode(code2);
+								dockingPreApplyForm.setMsg("鐢宠锛�" + msg);
+								dockingPreApplyForm.setGroupCode(customCoding);
+								ObjectMapper mp = new ObjectMapper();
+								String writeValueAsString = null;
+								try {
+									writeValueAsString = mp.writeValueAsString(dataObject);
+									dockingPreApplyForm.setContent(writeValueAsString);
+								} catch (JsonProcessingException e) {
+								}
+							}
+							//鏂板鐨勭敵璇峰崟鏁版嵁
+							if (addDockingPreApplyFormMap.containsKey(applyId)) {
+								DockingPreApplyForm dockingPreApplyForm = addDockingPreApplyFormMap.get(applyId);
+								dockingPreApplyForm.setCode(code2);
+								dockingPreApplyForm.setMsg("鐢宠锛�" + msg);
+								dockingPreApplyForm.setGroupCode(customCoding);
+								ObjectMapper mp = new ObjectMapper();
+								String writeValueAsString = null;
+								try {
+									writeValueAsString = mp.writeValueAsString(dataObject);
+									dockingPreApplyForm.setContent(writeValueAsString);
+								} catch (JsonProcessingException e) {
+								}
+							}
+							//濡傛灉鏈夐泦鍥㈢爜鍒欐洿鏂版暟鎹�
+							if (isEditDatas) {
+								if (baseModelMap.containsKey(applyId)) {
+									BaseModel baseModel = baseModelMap.get(applyId);
+									String classOid=baseModel.getData().getOrDefault("CODECLSFID","");
+									if(partCoe.equals(classOid)){
+										baseModel.setId(10+customCoding);
+									}
+									BeanUtilForVCI.copyDeclaredIgnoreCase(baseModel, baseModel);
+									DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
+									DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
+
+									baseModel.getData().getOrDefault("groupCode", customCoding);
+									updateCbos.add(baseModel);//鏇存柊鏁版嵁闆嗗洟code
+								}
+							}
+						});
+					} else {
+						editDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> {
+							dockingPreApplyForm.setCode("2");
 							dockingPreApplyForm.setMsg("鐢宠锛�" + msg);
-							dockingPreApplyForm.setGroupCode(customCoding);
-							ObjectMapper mp = new ObjectMapper();
-							String writeValueAsString = null;
-							try {
-								writeValueAsString = mp.writeValueAsString(dataObject);
-								dockingPreApplyForm.setContent(writeValueAsString);
-							} catch (JsonProcessingException e) {
-							}
-						}
-						//鏂板鐨勭敵璇峰崟鏁版嵁
-						if (addDockingPreApplyFormMap.containsKey(applyId)) {
-							DockingPreApplyForm dockingPreApplyForm = addDockingPreApplyFormMap.get(applyId);
-							dockingPreApplyForm.setCode(code2);
+							dockingPreApplyForm.setContent("");
+							dockingPreApplyForm.setGroupCode("");
+							DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm);
+						});
+						addDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> {
+							dockingPreApplyForm.setCode("2");
 							dockingPreApplyForm.setMsg("鐢宠锛�" + msg);
-							dockingPreApplyForm.setGroupCode(customCoding);
-							ObjectMapper mp = new ObjectMapper();
-							String writeValueAsString = null;
-							try {
-								writeValueAsString = mp.writeValueAsString(dataObject);
-								dockingPreApplyForm.setContent(writeValueAsString);
-							} catch (JsonProcessingException e) {
-							}
-						}
-						//濡傛灉鏈夐泦鍥㈢爜鍒欐洿鏂版暟鎹�
-						if (isEditDatas) {
-							if (baseModelMap.containsKey(applyId)) {
-								BaseModel baseModel = baseModelMap.get(applyId);
-								BeanUtilForVCI.copyDeclaredIgnoreCase(baseModel, baseModel);
-								DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
-								DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
-								//baseModel.setId(customCoding);
-								baseModel.getData().getOrDefault("groupCode",customCoding);
-								updateCbos.add(baseModel);//鏇存柊鏁版嵁闆嗗洟code
-							}
-						}
-					});
-				} else {
-					editDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> {
-						dockingPreApplyForm.setCode("2");
-						dockingPreApplyForm.setMsg("鐢宠锛�" + msg);
-						dockingPreApplyForm.setContent("");
-						dockingPreApplyForm.setGroupCode("");
-						DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm);
-					});
-					addDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> {
-						dockingPreApplyForm.setCode("2");
-						dockingPreApplyForm.setMsg("鐢宠锛�" + msg);
-						dockingPreApplyForm.setContent("");
-						dockingPreApplyForm.setGroupCode("");
-						DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
-					});
+							dockingPreApplyForm.setContent("");
+							dockingPreApplyForm.setGroupCode("");
+							DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
+						});
+					}
+					if (editDockingPreApplyFormMap.size() > 0) {
+						dockingPreAttrMappings.addAll(editDockingPreApplyFormMap.values());//娣诲姞鐢宠鍗曟暟鎹�
+					}
+					if (addDockingPreApplyFormMap.size() > 0) {
+						dockingPreAttrMappings.addAll(addDockingPreApplyFormMap.values());//闇�瑕佷慨鏀圭殑鐢宠鍗曟暟鎹�
+					}
+					//淇濆瓨琛ㄥ崟鏁版嵁
+					dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings);
+					mdmEngineClient.updateBatchBtypeDatas(btmName, updateCbos);//淇濆瓨鏁版嵁
 				}
-				if (editDockingPreApplyFormMap.size() > 0) {
-					dockingPreAttrMappings.addAll(editDockingPreApplyFormMap.values());//娣诲姞鐢宠鍗曟暟鎹�
-				}
-				if (addDockingPreApplyFormMap.size() > 0) {
-					dockingPreAttrMappings.addAll(addDockingPreApplyFormMap.values());//闇�瑕佷慨鏀圭殑鐢宠鍗曟暟鎹�
-				}
-				//淇濆瓨琛ㄥ崟鏁版嵁
-				dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings);
-				mdmEngineClient.updateBatchByType(btmName,updateCbos);//淇濆瓨鏁版嵁
+				return R.success("鐢宠鎺ュ彛璋冪敤鎴愬姛");
+			} catch (VciBaseException e) {
+				return R.fail("鐢宠鎺ュ彛璋冪敤澶辫触" + e);
 			}
-			return R.success("鐢宠鎺ュ彛璋冪敤鎴愬姛");
-		}catch (VciBaseException e){
-			return R.fail("鐢宠鎺ュ彛璋冪敤澶辫触"+e);
+		}else{
+			return R.fail("鐢宠鎺ュ彛寮�鍏冲凡鍏抽棴锛屼笉鐢宠闆嗗洟鐮�");
 		}
 	}
-
 	/***
 	 * 涓绘暟鎹儚闆嗗洟鏇存敼缂栫爜
 	 * @param oids 闇�瑕佷慨鏀圭殑鏁版嵁涓婚敭鏁扮粍
@@ -216,10 +227,14 @@
 	@Transactional(rollbackFor = VciBaseException.class)
 	@Override
 	public R receiveEditApply(String oids, String btmName) throws VciBaseException {
-		List<BaseModel> updateCbos=new ArrayList<BaseModel>();
-		List<DockingPreApplyForm> dockingPreAttrMappings=new ArrayList<>();
-		VciBaseUtil.alertNotNull(oids,"閫夋嫨鐨勬暟鎹�");
-		VciBaseUtil.alertNotNull(btmName,"涓氬姟绫诲瀷");
+		if(usedFlag) {
+			log.info("鏇存柊鎺ュ彛鍔熻兘宸插叧闂紒->"+usedFlag);
+			R.success("鏇存柊鎺ュ彛鍔熻兘宸插叧闂紒");
+		}
+		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<BaseModel> dataModelList = new ArrayList<>();
 		try {
@@ -281,9 +296,13 @@
 							if (baseModelMap.containsKey(applyId)) {
 								BaseModel baseModel = baseModelMap.get(applyId);
 								//BeanUtilForVCI.copyDeclaredIgnoreCase(baseModelVO, baseModel);
+								String classOid=baseModel.getData().getOrDefault("CODECLSFID","");
+								if(partCoe.equals(classOid)){
+									baseModel.setId(10+customCoding);
+								}
 								DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
-							//	baseModel.setId(customCoding);
-								baseModel.getData().getOrDefault("groupCode",customCoding);
+								//	baseModel.setId(customCoding);
+								baseModel.getData().put("groupCode", customCoding);
 								updateCbos.add(baseModel);//鏇存柊鏁版嵁闆嗗洟code
 							}
 						}
@@ -312,11 +331,11 @@
 				}
 				//淇濆瓨琛ㄥ崟鏁版嵁
 				dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings);
-				mdmEngineClient.updateBatchByType(btmName,updateCbos);//淇濆瓨鏁版嵁
+				mdmEngineClient.updateBatchBtypeDatas(btmName, updateCbos);//淇濆瓨鏁版嵁
 			}
-			return R.success("鐢宠鎺ュ彛璋冪敤鎴愬姛");
-		}catch (VciBaseException e){
-			return R.fail("鐢宠鎺ュ彛璋冪敤澶辫触"+e.getMessage());
+			return R.success("鏇存柊鎺ュ彛璋冪敤鎴愬姛");
+		} catch (VciBaseException e) {
+			return R.fail("鏇存柊鎺ュ彛璋冪敤澶辫触" + e.getMessage());
 		}
 	}
 
@@ -330,6 +349,10 @@
 	public R queryClassModel(String groupClassifyId) throws Throwable {
 		log.info("鑾峰彇闆嗗洟妯″瀷璇︾粏淇℃伅鎵ц淇濆瓨start");
 		String message="鎵ц鎴愬姛锛�";
+		if(usedFlag){
+			log.info("鑾峰彇闆嗗洟妯″瀷璇︾粏淇℃伅鎵ц淇濆瓨鍔熻兘宸插叧闂紒->"+usedFlag);
+			return R.fail("鑾峰彇闆嗗洟妯″瀷璇︾粏淇℃伅鎺ュ彛宸插叧闂�!");
+		}
 		try {
 			if (StringUtils.isBlank(groupClassifyId)) {
 				message = "鍙傛暟锛氶泦鍥㈠垎绫讳富閿紝涓虹┖!";
@@ -354,19 +377,19 @@
 					log.info(message);
 					throw new Throwable(message);
 				}
-			}else{
-				message="鏈粠闆嗗洟鑾峰彇鍒颁换浣曟ā鍨嬩俊鎭�";
+			} else {
+				message = "鏈粠闆嗗洟鑾峰彇鍒颁换浣曟ā鍨嬩俊鎭�";
 				log.info(message);
 				throw new Throwable(message);
 			}
 			return R.success(message);
-		}catch (Throwable e){
-			e.printStackTrace();;
-			log.error("鑾峰彇鏁版嵁妯″瀷璇︾粏淇℃伅澶辫触"+e);
-			R.fail(message);
+		} catch (Throwable e) {
+			e.printStackTrace();
+			log.error("鑾峰彇鏁版嵁妯″瀷璇︾粏淇℃伅澶辫触" + e);
+			return R.fail(message);
+		}finally {
+			log.info("鑾峰彇闆嗗洟妯″瀷璇︾粏淇℃伅鎵ц淇濆瓨end");
 		}
-		log.info("鑾峰彇闆嗗洟妯″瀷璇︾粏淇℃伅鎵ц淇濆瓨end");
-		return R.success(message);
 	}
 
 	/***
@@ -378,6 +401,10 @@
 	public R queryMdmModel() throws Throwable {
 		String message="鎵ц鎴愬姛锛�";
 		log.info("浠庨泦鍥㈣幏鍙栦富妯″瀷淇℃伅鎵ц淇濆瓨鎺ュ彛statr");
+		if(usedFlag){
+			log.info("浠庨泦鍥㈣幏鍙栦富妯″瀷淇℃伅鎵ц淇濆瓨鎺ュ彛鍔熻兘宸插叧闂紒->"+usedFlag);
+			return R.fail("鏌ヨ妯″瀷瑙嗗浘鎺ュ彛宸插叧闂�!");
+		}
 		try {
 			if (StringUtils.isBlank(dockingApplySysName)) {
 				message = "鑾峰彇绯荤粺鏍囪瘑" + dockingApplySysName + "涓虹┖锛岃鏌ョ湅閰嶇疆锛�";
@@ -461,7 +488,10 @@
 	 */
 	@Override
 	public R queryApplyState(String dataOids) throws VciBaseException {
-
+		if(usedFlag){
+			log.info("鏌ヨ鐢宠鍗曠姸鎬佹帴鍙e紑鍏冲凡鍏抽棴");
+			return R.fail("鏌ヨ鐢宠鍗曠姸鎬佹帴鍙e紑鍏冲凡鍏抽棴");
+		}
 		String message="鎵ц鎴愬姛锛�";
 		log.info("鏌ヨ鐢宠鍗曠姸鎬佹帴鍙tatr");
 		try {
@@ -524,6 +554,10 @@
 	 */
 	@Override
 	public R syncClassifyModel(String classifyId, String operationType) throws VciBaseException {
+		if(usedFlag){
+			log.info("鍚屾闆嗗洟妯″瀷淇℃伅寮�鍏冲凡鍏抽棴");
+			return R.fail("鍚屾闆嗗洟妯″瀷淇℃伅寮�鍏冲凡鍏抽棴");
+		}
 		VciBaseUtil.alertNotNull(operationType,"闆嗘垚鎿嶄綔绫诲瀷");
 		try {
 			if(operationType.equals("all")){

--
Gitblit v1.9.3