From d9183aa80ae17d36b79dda48c6b1d7fa22a80ee3 Mon Sep 17 00:00:00 2001
From: xiejun <xiejun@vci-tech.com>
Date: 星期三, 22 一月 2025 11:20:41 +0800
Subject: [PATCH] 现场型号代号/人员/组织接口调试

---
 Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java |   88 +++++++++++++++++++++++++------------------
 1 files changed, 51 insertions(+), 37 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 1cf91b0..1a03985 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
@@ -19,6 +19,7 @@
 import com.vci.ubcs.starter.web.util.VciBaseUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.map.CaseInsensitiveMap;
+import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
@@ -99,6 +100,12 @@
 	@Autowired(required = false)
 	private IDockingPreMetaAttrService dockingPreMetaAttrService;
 
+	/**
+	 * 闆嗗洟灞炴�ф睜鏄犲皠鏈嶅姟
+	 */
+	@Autowired(required = false)
+	private IGroupAttrPoolMappingService groupAttrPoolMappingService;
+
 	@Autowired(required = false)
 	private IMdmEngineClient mdmEngineClient;
 
@@ -141,10 +148,11 @@
 					log.info("鐢宠闆嗗洟鐮佹暟鎹牸寮�:->"+resultStr);
 					DockingResultVO resultDataObject = new DockingResultVO();
 					resultDataObject = mdmApplyGroupCodeProvider.receiveAddApply(dockingGroupDataVO);
+					log.info("鐢宠闆嗗洟鐮佽繑鍥炵粨鏋�:->"+JSONObject.toJSONString(resultDataObject));
 					code = resultDataObject.getCode();
 					msg = resultDataObject.getMsg();
 					boolean res=false;
-					if ("1".equals(code)) {
+					if("1".equals(code)) {
 						//缁撴灉姝g‘鐨勬儏鍐�
 						List<DockingDataVO> dataObjectVOList = resultDataObject.getData();
 						res=true;
@@ -154,7 +162,7 @@
 							DockingMainDataVO data2 = dataObject.getData();
 							String applyId = data2.getApplyId();//鐢宠鍗昳d
 							BaseModel baseModel = baseModelMap.get(applyId);
-							String customCoding = StringUtils.isBlank(data2.getCustomCoding()) ? "" : data2.getCustomCoding();//闆嗗洟鐮佹
+							String customCoding = StringUtils.isBlank(data2.getCustomCoding()) ? "" : data2.getCustomCoding();
 							msg = dataObject.getMsg();
 							if (code2.equals("1")) {//缁撴灉姝g‘鐨勬儏鍐�
 								if (!"".equals(customCoding)) {
@@ -181,11 +189,12 @@
 									writeValueAsString = mp.writeValueAsString(dataObject);
 									dockingPreApplyForm.setContent(writeValueAsString);
 								} catch (JsonProcessingException e) {
+									throw new ServiceException("淇敼鐢宠鍗曟暟鎹椂杞崲鍑洪敊锛屽師鍥�"+e.getMessage());
 								}
 								Date date = new Date();
-								baseModel.setLastModifyTime(date);
-								baseModel.setTs(date);
-								baseModel.setLastModifier(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
+								dockingPreApplyForm.setLastModifyTime(date);
+								dockingPreApplyForm.setTs(date);
+								dockingPreApplyForm.setLastModifier(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
 								//DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm);
 							}
 							//鏂板鐨勭敵璇峰崟鏁版嵁
@@ -201,21 +210,22 @@
 									writeValueAsString = mp.writeValueAsString(dataObject);
 									dockingPreApplyForm.setContent(writeValueAsString);
 								} catch (JsonProcessingException e) {
+									throw new ServiceException("鏂板鐢宠鍗曟暟鎹椂鏁版嵁杞崲鍑洪敊锛屽師鍥�"+e.getMessage());
 								}
 								Date date = new Date();
 								dockingPreApplyForm.setCreateTime(date);
 								dockingPreApplyForm.setLastModifyTime(date);
-								dockingPreApplyForm.setTs(date);
-								dockingPreApplyForm.setBtmname(MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
 								dockingPreApplyForm.setLastModifier(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
 								dockingPreApplyForm.setCreator(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
+								dockingPreApplyForm.setBtmname(MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
+								dockingPreApplyForm.setTs(date);
 								// DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
 							}
 							//濡傛灉鏈夐泦鍥㈢爜鍒欐洿鏂版暟鎹�
 							if (isEditDatas) {
 								if (baseModelMap.containsKey(applyId)) {
 									baseModel = baseModelMap.get(applyId);
-									Map<String,String> dataValueMap=new CaseInsensitiveMap<>(baseModel.getData());
+									//Map<String,String> dataValueMap=new CaseInsensitiveMap<>(baseModel.getData());
 									/*String classOid=baseModel.getId();
 									if(partCode.equals(classOid)){
 										baseModel.setId(10+customCoding);
@@ -234,15 +244,18 @@
 						});
 					} else {
 						res=false;
+						Date date = new Date();
 						editDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> {
 							dockingPreApplyForm.setCode("2");
 							dockingPreApplyForm.setMsg("鐢宠锛�" + msg);
 							dockingPreApplyForm.setContent("");
 							dockingPreApplyForm.setGroupCode("");
-							Date date = new Date();
+							dockingPreApplyForm.setCreateTime(date);
 							dockingPreApplyForm.setLastModifyTime(date);
-							dockingPreApplyForm.setTs(date);
+							dockingPreApplyForm.setBtmname(MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
 							dockingPreApplyForm.setLastModifier(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
+							dockingPreApplyForm.setCreator(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
+							dockingPreApplyForm.setTs(date);
 							//DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm);
 						});
 						addDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> {
@@ -250,13 +263,12 @@
 							dockingPreApplyForm.setMsg("鐢宠锛�" + msg);
 							dockingPreApplyForm.setContent("");
 							dockingPreApplyForm.setGroupCode("");
-							Date date = new Date();
 							dockingPreApplyForm.setCreateTime(date);
 							dockingPreApplyForm.setLastModifyTime(date);
-							dockingPreApplyForm.setTs(date);
+							dockingPreApplyForm.setBtmname(MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
 							dockingPreApplyForm.setLastModifier(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
 							dockingPreApplyForm.setCreator(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
-							dockingPreApplyForm.setBtmname(MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
+							dockingPreApplyForm.setTs(date);
 							//DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
 						});
 					}
@@ -275,7 +287,7 @@
 				}
 				return R.success("鐢宠鎺ュ彛璋冪敤鎴愬姛");
 			} catch (VciBaseException e) {
-				return R.fail("鐢宠鎺ュ彛璋冪敤澶辫触" + e);
+				return R.fail("鐢宠鎺ュ彛璋冪敤澶辫触" + e.getMessage());
 			}
 		}else{
 			return R.fail("鐢宠鎺ュ彛寮�鍏冲凡鍏抽棴锛屼笉鐢宠闆嗗洟鐮�");
@@ -372,8 +384,8 @@
 							Date date = new Date();
 							dockingPreApplyForm.setCreateTime(date);
 							dockingPreApplyForm.setLastModifyTime(date);
-							dockingPreApplyForm.setTs(date);
 							dockingPreApplyForm.setBtmname(MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
+							dockingPreApplyForm.setTs(date);
 							dockingPreApplyForm.setLastModifier(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
 							dockingPreApplyForm.setCreator(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
 							//DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
@@ -391,20 +403,20 @@
 								baseModel.setLastModifyTime(date);
 								baseModel.setTs(date);
 								baseModel.setLastModifier(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
-								DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
-								//	baseModel.setId(customCoding);
+								//DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
+								//baseModel.setId(customCoding);
 								baseModel.getData().put("GROUPCODE", customCoding);
 								updateCbos.add(baseModel);//鏇存柊鏁版嵁闆嗗洟code
 							}
 						}
 					});
 				} else {
+					Date date = new Date();
 					editDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> {
 						dockingPreApplyForm.setCode("2");
 						dockingPreApplyForm.setMsg("淇敼锛�" + msg);
 						dockingPreApplyForm.setContent("");
 						dockingPreApplyForm.setGroupCode("");
-						Date date = new Date();
 						dockingPreApplyForm.setLastModifyTime(date);
 						dockingPreApplyForm.setTs(date);
 						dockingPreApplyForm.setLastModifier(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
@@ -415,7 +427,6 @@
 						dockingPreApplyForm.setMsg("淇敼锛�" + msg);
 						dockingPreApplyForm.setContent("");
 						dockingPreApplyForm.setGroupCode("");
-						Date date = new Date();
 						dockingPreApplyForm.setCreateTime(date);
 						dockingPreApplyForm.setLastModifyTime(date);
 						dockingPreApplyForm.setTs(date);
@@ -555,7 +566,7 @@
 						dockingPreClassify.setVersionValue(version);
 						dockingPreClassifyList.add(dockingPreClassify);
 					});
-					boolean res=	dockingPreClassifyService.saveOrUpdateBatch(dockingPreClassifyList);
+					boolean res = dockingPreClassifyService.saveOrUpdateBatch(dockingPreClassifyList);
 					if(res){
 						R.success(message);
 					}else{
@@ -668,15 +679,15 @@
 			return R.fail("鍚屾闆嗗洟妯″瀷淇℃伅寮�鍏冲凡鍏抽棴");
 		}
 		VciBaseUtil.alertNotNull(operationType,"闆嗘垚鎿嶄綔绫诲瀷");
-		try {
+		try{
 			if(operationType.equals("all")){
-				return	queryMdmModel();
+				return queryMdmModel();
 			}else{
 				VciBaseUtil.alertNotNull(classifyId,"闆嗗洟鍒嗙被涓婚敭");
 				return queryClassModel(classifyId);
 			}
-		} catch (Throwable e) {
-			throw  new VciBaseException(e.getMessage());
+		}catch(Throwable e) {
+			throw new VciBaseException(e.getMessage());
 		}
 	}
 
@@ -745,8 +756,7 @@
 	 * @param jclassObject
 	 * @throws Throwable
 	 */
-	private void getVilewMode(DockingClassifyVO jclassObject, List<DockingClassifyViewVO> list)
-		throws Throwable {
+	private void getVilewMode(DockingClassifyVO jclassObject, List<DockingClassifyViewVO> list) throws Throwable {
 		String nodeLinkName = jclassObject.getNodeLinkName();
 		try {
 			String jclassId = com.alibaba.cloud.commons.lang.StringUtils.isBlank(jclassObject.getId())?"":jclassObject.getId();
@@ -782,8 +792,10 @@
 				}
 				// 鑾峰彇妯″瀷瑙嗗浘涓嬬殑灞炴�ч泦
 				// String oid = jviewModelObject.getOid();
-				List<DockingPreMetaAttr>allDockingPreMetaAttrList=new ArrayList<>();
+				List<DockingPreMetaAttr> allDockingPreMetaAttrList = new ArrayList<>();
 				getMetaAttrObject(metaList, jclassId, jviewModelObject, "root",allDockingPreMetaAttrList);
+				//淇濆瓨闆嗗洟灞炴�у埌闆嗗洟灞炴�ф睜鏄犲皠琛ㄤ腑
+				groupAttrPoolMappingService.saveDistinctGroupAttr(allDockingPreMetaAttrList);
 				//淇濆瓨妯″瀷瑙嗗浘灞炴��
 				dockingPreMetaAttrService.saveOrUpdateBatch(allDockingPreMetaAttrList);
 				//淇濆瓨妯″瀷瑙嗗浘
@@ -855,9 +867,7 @@
 				}else{
 					allDockingPreMetaAttrList.add(dockingPreMetaAttr);
 				}
-
 			}
-
 		} catch (Throwable e) {
 			e.printStackTrace();
 			log.error("缁勭粐妯″瀷瑙嗗浘"+ jviewModelObject.getViewName()
@@ -926,7 +936,7 @@
 	 * @return
 	 * @throws VciBaseException
 	 */
-	private DockingGroupDataVO queryApplycodeDataObjects(int optationtype,List<BaseModel>  codeWupins,Map<String,DockingPreApplyForm> addDockingPreApplyFormMap,Map<String,DockingPreApplyForm>  editDockingPreApplyFormMap,Map<String,BaseModel>  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 {
 			// TODO锛氫富鏁版嵁鎺ㄩ�佽繃鏉ョ殑鏁版嵁鏄嬁涓嶅埌鍙互鐢宠闆嗗洟鐮佺殑鐢ㄦ埛淇℃伅鐨勶紝骞朵笖杩欎竴鍧楀効鐨勯�昏緫涔熻繕娌℃暡瀹氾紝鎵�浠ヨ繖鍎块噰鐢ㄩ厤缃殑鐢ㄦ埛鏉ョ敵璇烽泦鍥㈢爜
 			String curUserName = Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount();
@@ -961,7 +971,8 @@
 					addDockingPreApplyFormMap.put(applyCode, dockingPreApplyForm);//鐢宠鍗曞拰鐢宠鍗曞璞″叧绯�
 				//	}
 
-				codeWupinMap.put(applyCode, dataBusinessObject);//鐢宠鍗曞拰瀵瑰簲鏁版嵁鍏崇郴
+				//鐢宠鍗曞拰瀵瑰簲鏁版嵁鍏崇郴
+				codeWupinMap.put(applyCode, dataBusinessObject);
 				// conditionsMap = new HashMap<String, String>();
 				// conditionsMap.put("jtargetclsfid", codeclsfid);//瑙嗗浘oid
 
@@ -982,13 +993,16 @@
 					dockingPreApplyForm.setGroupCode(groucode);
 					mainData.setCustomCoding(groucode);
 				}
-				mainData.setSecretLevel("鍐呴儴");//瀵嗙骇锛岄粯璁や负鍐呴儴
-				mainData.setViewInfos(getviewInfos(optationtype,dockingPreClassify, dataBusinessObject));//鑾峰彇瑙嗗浘妯″瀷
+				//瀵嗙骇锛岄粯璁や负鍐呴儴
+				mainData.setSecretLevel("鍐呴儴");
+				//鑾峰彇瑙嗗浘妯″瀷
+				mainData.setViewInfos(getviewInfos(optationtype,dockingPreClassify, dataBusinessObject));
 				mainDataList.add(mainData);
 			}
 			//鏍规嵁鏁版嵁妯″瀷锛岀粍缁囨墍闇�瑕佹暟鎹�
-			DockingGroupDataVO postParameters=new DockingGroupDataVO();
-			postParameters.setSysName(dockingApplySysName);//绯荤粺鏍囪瘑
+			DockingGroupDataVO postParameters = new DockingGroupDataVO();
+			//绯荤粺鏍囪瘑
+			postParameters.setSysName(dockingApplySysName);
 			postParameters.setMainData(mainDataList);//
 			return postParameters;
 		} catch (Throwable e) {
@@ -1058,7 +1072,7 @@
 			String jenglishname=dockingPreMetaAttr.getEnglishName();////闆嗗洟閰嶇疆灞炴��
 			if(jintegmappconfigMap.containsKey(jenglishname)){
 				DockingPreAttrMapping dockingPreAttrMapping=jintegmappconfigMap.get(jenglishname);
-				String attrId = dockingPreAttrMapping.getTargetAttrId();//缂栫爜灞炴�d
+				// String attrId = dockingPreAttrMapping.getTargetAttrId();//缂栫爜灞炴�d
 				String jtargetattrkey = dockingPreAttrMapping.getTargetAttrKey();//缂栫爜灞炴�d
 				Object newVaue=null;
 				if(StringUtils.isNotBlank(jtargetattrkey)){
@@ -1077,7 +1091,7 @@
 				}else{
 					newVaue = getVaue(dockingPreMetaAttr, "");
 				}
-				if(newVaue==null||"".equals(newVaue)){
+				if(newVaue==null || "".equals(newVaue)){
 					newVaue= dockingPreMetaAttr.getDefaultValue();
 				}
 				//newVaue= Func.isNotEmpty(newVaue)?newVaue:"";

--
Gitblit v1.9.3