From becbe54034f5803eee6540f533be9eb35ef8b86e Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期六, 13 四月 2024 20:46:52 +0800
Subject: [PATCH] 内网开发环境代码合并

---
 Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java |  573 +++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 377 insertions(+), 196 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..102c534 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
@@ -1,13 +1,14 @@
 package com.vci.ubcs.code.applyjtcodeservice.service.impl;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.vci.ubcs.code.applyjtcodeservice.service.*;
 import com.vci.ubcs.code.feign.IMdmEngineClient;
 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.starter.util.MdmBtmTypeConstant;
 import com.vci.ubcs.code.applyjtcodeservice.feign.MdmApplyGroupCodeProvider;
@@ -17,8 +18,10 @@
 import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
 import com.vci.ubcs.starter.web.util.VciBaseUtil;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.map.CaseInsensitiveMap;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -42,167 +45,243 @@
 
 	private String msg="";
 
+	@Value("${docking.apply.partCode:101}")
+	public String partCode;
 
-	@Value("${docking.apply.unitCode:41000}")
+	@Value("${docking.apply.usedFlag:false}")
+	public boolean usedFlag;
+
+	@Value("${docking.apply.unitCode:4100}")
 	public String dockingApplyUnitCode;
 
 	@Value("${docking.apply.sysName:410-MDM}")
 	public String dockingApplySysName;
 
+	@Value("${docking.apply.personUserAccount:28201728}")
+	public String applyCodeUserAccount;
+
 	@Autowired(required = false)
 	private MdmApplyGroupCodeProvider mdmApplyGroupCodeProvider;
+
 	/***
 	 * 闆嗗洟鍒嗙被鏈嶅姟
 	 */
 	@Autowired(required = false)
-	private com.vci.ubcs.code.applyjtcodeservice.service.IDockingPreClassifyService dockingPreClassifyService;
+	private IDockingPreClassifyService dockingPreClassifyService;
 
 	/***
 	 * 鐢宠鍗曟湇鍔�
 	 */
 	@Autowired(required = false)
-	private com.vci.ubcs.code.applyjtcodeservice.service.IDockingPreApplyFormService dockingPreApplyFormService;
-
+	private IDockingPreApplyFormService dockingPreApplyFormService;
 
 	/***
 	 * 妯″瀷瑙嗗浘鍗曟湇鍔�
 	 */
 	@Autowired(required = false)
-	private com.vci.ubcs.code.applyjtcodeservice.service.IDockingPreViewModelService dockingPreViewModelService;
-
+	private IDockingPreViewModelService dockingPreViewModelService;
 
 	/***
 	 * 闆嗗洟鍒嗙被灞炴�у睘鎬ф槧灏勯厤缃湇鍔�
 	 */
 	@Autowired(required = false)
 	private DockingPreAttrMappingMapper dockingPreAttrMappingMapper;
+
 	/***
 	 * 灞炴�у彇鍊艰寖鍥存湇鍔�
 	 */
 	@Autowired(required = false)
-	private com.vci.ubcs.code.applyjtcodeservice.service.IDockingPreAttrRangeService dockingPreAttrRangeService;
-
+	private IDockingPreAttrRangeService dockingPreAttrRangeService;
 
 	/***
 	 * 闆嗗洟灞炴�ф湇鍔�
 	 */
 	@Autowired(required = false)
-	private com.vci.ubcs.code.applyjtcodeservice.service.IDockingPreMetaAttrService dockingPreMetaAttrService;
+	private IDockingPreMetaAttrService dockingPreMetaAttrService;
 
 	@Autowired(required = false)
 	private IMdmEngineClient mdmEngineClient;
+
 	/***
-	 * 涓绘暟鎹儚闆嗗洟鐢宠缂栫爜
+	 * 涓绘暟鎹悜闆嗗洟鐢宠缂栫爜
 	 * @param oids 闇�瑕佺敵璇风殑鏁版嵁涓婚敭鏁扮粍
 	 * @param btmName 涓氬姟绫诲瀷
 	 * @return 杩斿洖缁撴灉淇℃伅
 	 * @throws Exception
 	 */
-	@Transactional(rollbackFor = VciBaseException.class)
 	@Override
+	@Transactional(rollbackFor = Exception.class)
 	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>();
+					//鏁版嵁搴撲笉瀛樺湪鐨�
+					/*List<BaseModel> newDdataModelList = dataModelList.stream().filter(cbo -> {
+						String groupcode =cbo.getData().getOrDefault("GROUPCODE","");
+						return StringUtils.isBlank(groupcode);
+					}).collect(Collectors.toList());
+					if(newDdataModelList.size()==0)
+						return R.fail("鐢宠鎺ュ彛璋冪敤鎴愬姛,鎵�鏈夋暟鎹凡缁忓瓨鍦ㄩ泦鍥㈢爜");*/
+
+					//缁勭粐鏁版嵁
+					dockingGroupDataVO = queryApplycodeDataObjects(1, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelMap);
+					Object object = JSONObject.toJSON(dockingGroupDataVO);
+					String resultStr = object.toString();
+					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)) {
+						//缁撴灉姝g‘鐨勬儏鍐�
+						List<DockingDataVO> dataObjectVOList = resultDataObject.getData();
+						res=true;
+						dataObjectVOList.stream().forEach(dataObject -> {
+							boolean isEditDatas = false;
+							String code2 = dataObject.getCode();
+							DockingMainDataVO data2 = dataObject.getData();
+							String applyId = data2.getApplyId();//鐢宠鍗昳d
+							BaseModel baseModel = baseModelMap.get(applyId);
+							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.setDescription(baseModel.getId());
+								dockingPreApplyForm.setMsg("鐢宠锛�" + msg);
+								if(StringUtils.isBlank(dockingPreApplyForm.getGroupCode())) {
+									dockingPreApplyForm.setGroupCode(customCoding);
+								}else{
+									isEditDatas = true;
+									if (StringUtils.isBlank(customCoding)) {
+										customCoding=dockingPreApplyForm.getGroupCode();
+									}
+								}
+								ObjectMapper mp = new ObjectMapper();
+								String writeValueAsString = null;
+								try {
+									writeValueAsString = mp.writeValueAsString(dataObject);
+									dockingPreApplyForm.setContent(writeValueAsString);
+								} catch (JsonProcessingException e) {
+								}
+								Date date = new Date();
+								dockingPreApplyForm.setLastModifyTime(date);
+								dockingPreApplyForm.setTs(date);
+								dockingPreApplyForm.setLastModifier(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
+								//DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm);
+							}
+							//鏂板鐨勭敵璇峰崟鏁版嵁
+							if (addDockingPreApplyFormMap.containsKey(applyId)) {
+								DockingPreApplyForm dockingPreApplyForm = addDockingPreApplyFormMap.get(applyId);
+								dockingPreApplyForm.setCode(code2);
+								dockingPreApplyForm.setDescription(baseModel.getId());
+								dockingPreApplyForm.setMsg("鐢宠锛�" + msg);
+								dockingPreApplyForm.setGroupCode(customCoding);
+								ObjectMapper mp = new ObjectMapper();
+								String writeValueAsString = null;
+								try {
+									writeValueAsString = mp.writeValueAsString(dataObject);
+									dockingPreApplyForm.setContent(writeValueAsString);
+								} catch (JsonProcessingException e) {
+								}
+								Date date = new Date();
+								dockingPreApplyForm.setCreateTime(date);
+								dockingPreApplyForm.setLastModifyTime(date);
+								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());
+									/*String classOid=baseModel.getId();
+									if(partCode.equals(classOid)){
+										baseModel.setId(10+customCoding);
+										customCoding=10+customCoding;
+									}*/
+									BeanUtilForVCI.copyDeclaredIgnoreCase(baseModel, baseModel);
+									Date date = new Date();
+									baseModel.setLastModifyTime(date);
+									baseModel.setTs(date);
+									baseModel.setLastModifier(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
+									//DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
+									baseModel.getData().put("GROUPCODE",customCoding);
+									updateCbos.add(baseModel);//鏇存柊鏁版嵁闆嗗洟code
+								}
+							}
+						});
+					} else {
+						res=false;
+						Date date = new Date();
+						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("");
+							dockingPreApplyForm.setCreateTime(date);
+							dockingPreApplyForm.setLastModifyTime(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) -> {
+							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("");
+							dockingPreApplyForm.setCreateTime(date);
+							dockingPreApplyForm.setLastModifyTime(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.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(!res){
+						throw new VciBaseException(msg);
+					}
 				}
-				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.getMessage());
 			}
-			return R.success("鐢宠鎺ュ彛璋冪敤鎴愬姛");
-		}catch (VciBaseException e){
-			return R.fail("鐢宠鎺ュ彛璋冪敤澶辫触"+e);
+		}else{
+			return R.fail("鐢宠鎺ュ彛寮�鍏冲凡鍏抽棴锛屼笉鐢宠闆嗗洟鐮�");
 		}
 	}
 
@@ -213,16 +292,25 @@
 	 * @return 杩斿洖缁撴灉淇℃伅
 	 * @throws Throwable
 	 */
-	@Transactional(rollbackFor = VciBaseException.class)
 	@Override
+	@Transactional(rollbackFor = Exception.class)
 	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 {
+			R<List<BaseModel>> listR = mdmEngineClient.selectByTypeAndOid(btmName, oids);
+			if(listR.getData().size() == 0){
+				return R.fail("涓烘煡璇㈠埌鐩稿叧涓氬姟鏁版嵁锛�");
+			}
+			dataModelList = listR.getData();
 			if (!CollectionUtils.isEmpty(dataModelList)) {
 				DockingGroupDataVO dockingGroupDataVO = new DockingGroupDataVO();
 				//鐢宠鍗曞拰鐢宠鍗曞璞″叧绯�
@@ -253,7 +341,9 @@
 							DockingPreApplyForm dockingPreApplyForm = editDockingPreApplyFormMap.get(applyId);
 							dockingPreApplyForm.setCode(code2);
 							dockingPreApplyForm.setMsg("淇敼锛�" + msg);
-							dockingPreApplyForm.setGroupCode(customCoding);
+							if(StringUtils.isBlank(dockingPreApplyForm.getGroupCode())) {
+								dockingPreApplyForm.setGroupCode(customCoding);
+							}
 							ObjectMapper mp = new ObjectMapper();
 							String writeValueAsString = null;
 							try {
@@ -261,13 +351,20 @@
 								dockingPreApplyForm.setContent(writeValueAsString);
 							} catch (JsonProcessingException e) {
 							}
+							Date date = new Date();
+							dockingPreApplyForm.setLastModifyTime(date);
+							dockingPreApplyForm.setTs(date);
+							dockingPreApplyForm.setLastModifier(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
+							//DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm);
 						}
 						//鏂板鐨勭敵璇峰崟鏁版嵁
 						if (addDockingPreApplyFormMap.containsKey(applyId)) {
 							DockingPreApplyForm dockingPreApplyForm = addDockingPreApplyFormMap.get(applyId);
 							dockingPreApplyForm.setCode(code2);
 							dockingPreApplyForm.setMsg("淇敼锛�" + msg);
-							dockingPreApplyForm.setGroupCode(customCoding);
+							if(StringUtils.isBlank(dockingPreApplyForm.getGroupCode())) {
+								dockingPreApplyForm.setGroupCode(customCoding);
+							}
 							ObjectMapper mp = new ObjectMapper();
 							String writeValueAsString = null;
 							try {
@@ -275,15 +372,31 @@
 								dockingPreApplyForm.setContent(writeValueAsString);
 							} catch (JsonProcessingException e) {
 							}
+							Date date = new Date();
+							dockingPreApplyForm.setCreateTime(date);
+							dockingPreApplyForm.setLastModifyTime(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);
 						}
 						//濡傛灉鏈夐泦鍥㈢爜鍒欐洿鏂版暟鎹�
 						if (isEditDatas) {
 							if (baseModelMap.containsKey(applyId)) {
 								BaseModel baseModel = baseModelMap.get(applyId);
 								//BeanUtilForVCI.copyDeclaredIgnoreCase(baseModelVO, baseModel);
-								DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
-							//	baseModel.setId(customCoding);
-								baseModel.getData().getOrDefault("groupCode",customCoding);
+								/*String classOid=baseModel.getData().getOrDefault("CODECLSFID","");
+								if(partCode.equals(classOid)){
+									baseModel.setId(10+customCoding);
+								}*/
+								Date date = new Date();
+								baseModel.setLastModifyTime(date);
+								baseModel.setTs(date);
+								baseModel.setLastModifier(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
+								//DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
+								//baseModel.setId(customCoding);
+								baseModel.getData().put("GROUPCODE", customCoding);
 								updateCbos.add(baseModel);//鏇存柊鏁版嵁闆嗗洟code
 							}
 						}
@@ -294,14 +407,25 @@
 						dockingPreApplyForm.setMsg("淇敼锛�" + msg);
 						dockingPreApplyForm.setContent("");
 						dockingPreApplyForm.setGroupCode("");
-						DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm);
+						Date date = new Date();
+						dockingPreApplyForm.setLastModifyTime(date);
+						dockingPreApplyForm.setTs(date);
+						dockingPreApplyForm.setLastModifier(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
+						//DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm);
 					});
 					addDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> {
 						dockingPreApplyForm.setCode("2");
 						dockingPreApplyForm.setMsg("淇敼锛�" + msg);
 						dockingPreApplyForm.setContent("");
 						dockingPreApplyForm.setGroupCode("");
-						DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
+						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());
+						//DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
 					});
 				}
 				if (editDockingPreApplyFormMap.size() > 0) {
@@ -312,11 +436,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 +454,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 +482,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 +506,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 + "涓虹┖锛岃鏌ョ湅閰嶇疆锛�";
@@ -426,7 +558,7 @@
 						dockingPreClassify.setVersionValue(version);
 						dockingPreClassifyList.add(dockingPreClassify);
 					});
-					boolean res=	dockingPreClassifyService.saveOrUpdateBatch(dockingPreClassifyList);
+					boolean res = dockingPreClassifyService.saveOrUpdateBatch(dockingPreClassifyList);
 					if(res){
 						R.success(message);
 					}else{
@@ -444,15 +576,13 @@
 			}
 			return R.success(message);
 		}catch (Throwable e){
-			e.printStackTrace();;
+			e.printStackTrace();
 			log.error("鑾峰彇鏁版嵁妯″瀷澶辫触"+e);
 			R.fail(message);
 		}
 		log.info("浠庨泦鍥㈣幏鍙栦富妯″瀷淇℃伅鎵ц淇濆瓨鎺ュ彛end");
 		return R.success(message);
 	}
-
-
 
 	/***
 	 * 鏌ヨ鐢宠鍗曠姸鎬�
@@ -461,9 +591,12 @@
 	 */
 	@Override
 	public R queryApplyState(String dataOids) throws VciBaseException {
-
+		if(!usedFlag){
+			log.info("鏌ヨ鐢宠鍗曠姸鎬佹帴鍙e紑鍏冲凡鍏抽棴");
+			return R.fail("鏌ヨ鐢宠鍗曠姸鎬佹帴鍙e紑鍏冲凡鍏抽棴");
+		}
 		String message="鎵ц鎴愬姛锛�";
-		log.info("鏌ヨ鐢宠鍗曠姸鎬佹帴鍙tatr");
+		log.info("鏌ヨ鐢宠鍗曠姸鎬佹帴鍙tart");
 		try {
 			VciBaseUtil.alertNotNull(dataOids,"鎵�鏌ョ敵璇峰崟鏁版嵁涓婚敭");
 			VciBaseUtil.alertNotNull(dockingApplySysName,"绯荤粺鏍囪瘑閰嶇疆锛歞ocking.apply.unitCode");
@@ -478,13 +611,19 @@
 			DockingModelQueryVO dockingModelQueryVO=new DockingModelQueryVO();
 			dockingModelQueryVO.setApplyNums(VciBaseUtil.array2String(applyIdList.toArray(new String[]{})));
 			dockingModelQueryVO.setSysName(dockingApplySysName);
-			DockingApplyFormQueryStatusVO dockingApplyFormQueryStatusVO=mdmApplyGroupCodeProvider.queryApplyState(dockingModelQueryVO);
+			DockingApplyFormQueryStatusVO dockingApplyFormQueryStatusVO = mdmApplyGroupCodeProvider.queryApplyState(dockingModelQueryVO);
+
+			if(Func.isEmpty(dockingApplyFormQueryStatusVO)){
+				log.error("鑾峰彇鐢宠鍗曚负绌猴紒");
+				return R.fail("娌℃湁鑾峰彇鍒扮浉鍏虫暟鎹俊鎭紒");
+			}
 
 			int code=dockingApplyFormQueryStatusVO.getCode();
 			String mesg=dockingApplyFormQueryStatusVO.getMsg();
 			if(code==1){
+				message=mesg;
 				List<DockingApplyFormStatusVO> dockingApplyFormStatusVOList=dockingApplyFormQueryStatusVO.getData();
-				if(CollectionUtils.isEmpty(dockingApplyFormStatusVOList)){
+				if(!CollectionUtils.isEmpty(dockingApplyFormStatusVOList)){
 					for (DockingApplyFormStatusVO applyFormDataState : dockingApplyFormStatusVOList) {
 						String applyId=applyFormDataState.getApplyNum();
 						String state= applyFormDataState.getFormState();
@@ -495,21 +634,24 @@
 							applyFormObject.setMsg(jmsg);
 						}
 					}
-					boolean res=this.dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList);
-					if(res){
-						R.success("鐢宠闆嗗洟鐮佺姸鎬佹煡璇㈡垚鍔�:"+mesg);
-					}
+					boolean res =  this.dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList);
 				}else{
 					throw new Throwable("娌℃湁鑾峰彇鍒扮浉鍏虫暟鎹俊鎭�");
 				}
 			}else{
-				throw new	Throwable(mesg);
+				message=mesg;
+				dockingPreApplyFormList.stream().forEach(dockingPreApplyForm -> {
+					dockingPreApplyForm.setMsg("鐢宠鍗曟煡鐪嬪け璐ワ細"+mesg);
+				});
+				this.dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList);
+				throw new Throwable(message);
 			}
 
 		}catch (Throwable e){
-			e.printStackTrace();;
+			e.printStackTrace();
+			//message=""+e;
 			log.error("鑾峰彇鐢宠鍗曠姸鎬佸け璐�"+e);
-			throw  new VciBaseException(message);
+			throw new VciBaseException(e.getMessage());
 		}
 		log.info("鏌ヨ鐢宠鍗曠姸鎬佹帴鍙nd");
 		return R.success(message);
@@ -524,10 +666,14 @@
 	 */
 	@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")){
-				return	queryMdmModel();
+				return queryMdmModel();
 			}else{
 				VciBaseUtil.alertNotNull(classifyId,"闆嗗洟鍒嗙被涓婚敭");
 				return queryClassModel(classifyId);
@@ -548,9 +694,9 @@
 	 */
 	private boolean saveDatas(DockingQueryClassModelVO dockingQueryClassifyModelVO) throws Throwable {
 		try {
-			DockingClassifyMainVO mainData = dockingQueryClassifyModelVO.getMainData();
-			List<DockingClassifyVO> classList = mainData.getClassList();
-			Map<String,List<DockingClassifyViewVO>>classInfoMap = mainData.getClassInfos();
+			DockingClassifyMainVO data = dockingQueryClassifyModelVO.getData();
+			List<DockingClassifyVO> classList = data.getClassList();
+			Map<String,List<DockingClassifyViewVO>>classInfoMap = data.getClassInfos();
 			////initVCIInvocationInfo("1");
 			List<DockingPreClassify> dockingPreClassifyArrayList=new ArrayList<>();
 			for (DockingClassifyVO jclassObject : classList) {
@@ -569,6 +715,7 @@
 				log.info("classify:-------------->閾炬帴鍚嶇О:"+nodeLinkName);
 
 				if (dockingPreClassify == null || StringUtils.isBlank(dockingPreClassify.getOid())) {
+					dockingPreClassify=new DockingPreClassify();
 					DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreClassify,MdmBtmTypeConstant.DOCKING_PRE_JCLASSIFY);
 				} else {
 					DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreClassify);
@@ -609,14 +756,14 @@
 			Map<String, DockingPreViewModel> jviewmodelMap = new HashMap<String, DockingPreViewModel>();
 			//Map<String, String> condtionMa = new HashMap<String, String>();
 			//	condtionMa.put("jsourceclsfid", jclassId);
-			List<DockingPreViewModel> dockingPreViewModelList= dockingPreViewModelService.list(Wrappers.<DockingPreViewModel>query().lambda().eq(DockingPreViewModel::getSourceClassifyId,false));// 鏍规嵁鍒嗙被鏌ヨ妯″瀷瑙嗗浘瀵硅薄
+			List<DockingPreViewModel> dockingPreViewModelList= dockingPreViewModelService.list(Wrappers.<DockingPreViewModel>query().lambda().eq(DockingPreViewModel::getSourceClassifyId,jclassId));// 鏍规嵁鍒嗙被鏌ヨ妯″瀷瑙嗗浘瀵硅薄
 			for (DockingPreViewModel dockingPreViewModel : dockingPreViewModelList) {
 				jviewmodelMap.put(dockingPreViewModel.getViewName(),dockingPreViewModel);
 			}
 
 			for (DockingClassifyViewVO viewInfo : list) {
 				String viewName = com.alibaba.cloud.commons.lang.StringUtils.isBlank(viewInfo.getViewName())?"":viewInfo.getViewName();
-				String impactList = com.alibaba.cloud.commons.lang.StringUtils.isBlank(viewInfo.getImpactList())?"":viewInfo.getImpactList();
+				String impactList = viewInfo.getImpactList() == null ? "" : viewInfo.getImpactList().get(0)==null||viewInfo.getImpactList().get(0).size()==0?"":viewInfo.getImpactList().get(0).get(0);
 				log.info("VilewMode:-------------->瑙嗗浘鍚嶇О:"+viewName);
 				log.info("VilewMode:-------------->褰卞搷缂栫爜椤�:"+impactList);
 				log.info("VilewMode:--------------> 闆嗗洟鍒嗙被涓婚敭:"+jclassId);
@@ -651,7 +798,6 @@
 		}
 	}
 
-
 	/***
 	 * 鑾峰彇妯″瀷瑙嗗浘灞炴��
 	 * @throws Throwable
@@ -664,7 +810,7 @@
 				.eq(DockingPreMetaAttr::getSourceClassifyId,jclassId).eq(DockingPreMetaAttr::getViewModelId,jviewModelObject.getOid())
 				.eq(DockingPreMetaAttr:: getPid,pid));
 			Map<String,DockingPreMetaAttr> jmetaattrMap = dockingPreMetaAttrList.stream().filter(
-				s -> com.alibaba.cloud.commons.lang.StringUtils.isNotBlank(s.getEnglishName())).collect(Collectors.toMap(s -> s.getEnglishName().toLowerCase(Locale.ROOT), t -> t));
+				s -> com.alibaba.cloud.commons.lang.StringUtils.isNotBlank(s.getEnglishName())).collect(Collectors.toMap(s -> s.getEnglishName(), t -> t));
 
 			for (DockingClassifyMetaAttrVO dockingClassifyMetaAttrVO : metaList) {
 				String chineseName = com.alibaba.cloud.commons.lang.StringUtils.isBlank(dockingClassifyMetaAttrVO.getChineseName())?"":dockingClassifyMetaAttrVO.getChineseName();// 灞炴�у悕绉�
@@ -709,6 +855,8 @@
 					List<DockingClassifyMetaAttrVO> childMetaList = new ArrayList<>();
 					childMetaList.add(compositeMeta);
 					getMetaAttrObject(childMetaList, jclassId,jviewModelObject, pid,allDockingPreMetaAttrList);
+				}else{
+					allDockingPreMetaAttrList.add(dockingPreMetaAttr);
 				}
 
 			}
@@ -731,6 +879,7 @@
 	 */
 	private void getRange(DockingPreMetaAttr metaAttrObject,Map<String, String> range) throws Throwable {
 		String metaAttrOid = com.alibaba.cloud.commons.lang.StringUtils.isBlank(metaAttrObject.getOid())?"":metaAttrObject.getOid();// 灞炴�х殑oid
+
 		String jchinesename = com.alibaba.cloud.commons.lang.StringUtils.isBlank(metaAttrObject.getChineseName())?"":metaAttrObject.getChineseName();
 		Map<String, DockingPreAttrRange> rangeMap = new HashMap<>();
 		try {
@@ -738,7 +887,9 @@
 			condtionMa.put("jmetalistid", metaAttrOid);
 			List<DockingPreAttrRange> jmetaattrList = dockingPreAttrRangeService.selectByWrapper(Wrappers.<DockingPreAttrRange>query().lambda()
 				.eq(DockingPreAttrRange::getMetaListId,metaAttrOid));// 鏍规嵁鍒嗙被鏌ヨ妯″瀷瑙嗗浘瀵硅薄
-			rangeMap= jmetaattrList.stream().collect(Collectors.toMap(s -> com.alibaba.cloud.commons.lang.StringUtils.isNotBlank(s.getNumText().toLowerCase(Locale.ROOT))?"":s.getNumText().toLowerCase(Locale.ROOT), t -> t));
+			log.info("鑾峰彇灞炴�х編鍓� 灞炴�d------->"+metaAttrOid);
+			//rangeMap= jmetaattrList.stream().collect(Collectors.toMap(s ->StringUtils.isNotBlank(s.getNumText())?"":s.getNumText(), t -> t));
+			rangeMap=jmetaattrList.stream().filter(data -> data != null && StringUtils.isNotBlank(data.getNumText())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getNumText(), t -> t));
 
 			for (String rangeKey : range.keySet()) {
 				DockingPreAttrRange rangeObject = new DockingPreAttrRange();
@@ -768,47 +919,55 @@
 		}
 	}
 
-
-
-
 	/**
 	 * 缁勭粐鏁版嵁
-	 * */
-	private DockingGroupDataVO queryApplycodeDataObjects(int optationtype,List<BaseModel>  codeWupins,Map<String,DockingPreApplyForm>   addDockingPreApplyFormMap,Map<String,DockingPreApplyForm>  editDockingPreApplyFormMap,Map<String,BaseModel>  codeWupinMap) throws VciBaseException{
+	 * @param optationtype
+	 * @param codeWupins
+	 * @param addDockingPreApplyFormMap
+	 * @param editDockingPreApplyFormMap
+	 * @param codeWupinMap
+	 * @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{
 		try {
-			String curUserName = AuthUtil.getUser().getUserName();
+			// TODO锛氫富鏁版嵁鎺ㄩ�佽繃鏉ョ殑鏁版嵁鏄嬁涓嶅埌鍙互鐢宠闆嗗洟鐮佺殑鐢ㄦ埛淇℃伅鐨勶紝骞朵笖杩欎竴鍧楀効鐨勯�昏緫涔熻繕娌℃暡瀹氾紝鎵�浠ヨ繖鍎块噰鐢ㄩ厤缃殑鐢ㄦ埛鏉ョ敵璇烽泦鍥㈢爜
+			String curUserName = Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount();
 			//鐢宠鐨勬暟鎹�
 			List<DockingMainData> mainDataList=new ArrayList<DockingMainData>();
 			for (BaseModel dataBusinessObject : codeWupins) {
 				String format = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
-				String codeclsfid = dataBusinessObject.getData().getOrDefault("codeclsfid","");
+				//String codeclsfid = dataBusinessObject.getData().getOrDefault("codeclsfid".toUpperCase(Locale.ROOT),"");
+			 	Map<String,String> dataMap=new CaseInsensitiveMap<>(dataBusinessObject.getData());
+				String codeclsfid=dataMap.getOrDefault("codeclsfid","");
 				String btmName = dataBusinessObject.getBtmname();
 				String oid = dataBusinessObject.getOid();
-
 				DockingPreApplyForm dockingPreApplyForm = new DockingPreApplyForm();
 
-				String dataOid = dataBusinessObject.getOid();
-				Map<String, String> conditionsMap = new HashMap<String, String>();
-				List<DockingPreApplyForm> applyFormObjects = dockingPreApplyFormService.list(Wrappers.<DockingPreApplyForm>query().lambda().eq(DockingPreApplyForm::getDataOid, dataOid).eq(DockingPreApplyForm::getOperationType, optationtype));
-				String apllyCode = "";
-				if (!CollectionUtils.isEmpty(applyFormObjects)) {
+				// String dataOid = dataBusinessObject.getOid();
+				// Map<String, String> conditionsMap = new HashMap<String, String>();
+				// List<DockingPreApplyForm> applyFormObjects = dockingPreApplyFormService.list(Wrappers.<DockingPreApplyForm>query().lambda().eq(DockingPreApplyForm::getDataOid, dataOid).eq(DockingPreApplyForm::getOperationType, optationtype));
+				// DockingPreApplyForm dockingPreApplyForm=new DockingPreApplyForm();
+				String applyCode = "";
+				/*if (!CollectionUtils.isEmpty(applyFormObjects)) {
 					dockingPreApplyForm = applyFormObjects.get(0);
-					apllyCode = dockingPreApplyForm.getId();
-					editDockingPreApplyFormMap.put(apllyCode, dockingPreApplyForm);//鐢宠鍗曞拰鐢宠鍗曞璞″叧绯�
-				} else {
-					apllyCode = dockingApplyUnitCode + "-" + format;
-					dockingPreApplyForm.setId(apllyCode);
+					applyCode = dockingPreApplyForm.getId();
+					editDockingPreApplyFormMap.put(applyCode, dockingPreApplyForm);//鐢宠鍗曞拰鐢宠鍗曞璞″叧绯�
+				} else {*/
+					applyCode = dockingApplyUnitCode + "-" + format;
+					dockingPreApplyForm.setId(applyCode);
 					dockingPreApplyForm.setName("");
 					dockingPreApplyForm.setOperationType(optationtype+"");
-					dockingPreApplyForm.setDescription(dataBusinessObject.getDescription());//鑾峰彇鏁版嵁鎻忚堪淇℃伅
+					dockingPreApplyForm.setDescription(dataBusinessObject.getId());//鑾峰彇鏁版嵁鎻忚堪淇℃伅
 					dockingPreApplyForm.setDataOid(oid);
 					dockingPreApplyForm.setDataBtmName(btmName);
-					addDockingPreApplyFormMap.put(apllyCode, dockingPreApplyForm);//鐢宠鍗曞拰鐢宠鍗曞璞″叧绯�
-				}
+					addDockingPreApplyFormMap.put(applyCode, dockingPreApplyForm);//鐢宠鍗曞拰鐢宠鍗曞璞″叧绯�
+				//	}
 
-				codeWupinMap.put(apllyCode, dataBusinessObject);//鐢宠鍗曞拰瀵瑰簲鏁版嵁鍏崇郴
-				conditionsMap = new HashMap<String, String>();
-				conditionsMap.put("jtargetclsfid", codeclsfid);//瑙嗗浘oid
+				//鐢宠鍗曞拰瀵瑰簲鏁版嵁鍏崇郴
+				codeWupinMap.put(applyCode, dataBusinessObject);
+				// conditionsMap = new HashMap<String, String>();
+				// conditionsMap.put("jtargetclsfid", codeclsfid);//瑙嗗浘oid
 
 				List<DockingPreAttrMapping> dockingPreAttrMappingList = dockingPreAttrMappingMapper.selectList(Wrappers.<DockingPreAttrMapping>query().lambda().eq(DockingPreAttrMapping::getTargetClassifyId, codeclsfid));
 				if (CollectionUtils.isEmpty(dockingPreAttrMappingList)) {
@@ -819,21 +978,29 @@
 				DockingPreClassify dockingPreClassify = dockingPreClassifyService.getById(jsourceclsfid);
 				DockingMainData mainData = new DockingMainData();
 				mainData.setApplyEntId(dockingApplyUnitCode);//鐢宠鍗曚綅浠g爜
-				mainData.setApplyId(apllyCode);//鐢宠鍗曞彿
+				mainData.setApplyId(applyCode);//鐢宠鍗曞彿
 				mainData.setClassName(dockingPreClassify.getNodeLinkName());//鍒嗙被鍚嶇О
 				mainData.setCreateBy(curUserName);//
-				mainData.setSecretLevel("鍐呴儴");//瀵嗙骇锛岄粯璁や负鍐呴儴
-				mainData.setViewInfos(getviewInfos(optationtype,dockingPreClassify, dataBusinessObject));//鑾峰彇瑙嗗浘妯″瀷
+				if(optationtype==2) {
+					String groucode=dataBusinessObject.getData().getOrDefault("GROUPCODE","");
+					dockingPreApplyForm.setGroupCode(groucode);
+					mainData.setCustomCoding(groucode);
+				}
+				//瀵嗙骇锛岄粯璁や负鍐呴儴
+				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) {
 			// TODO Auto-generated catch block
-			throw new VciBaseException("鏌ヨ鏁版嵁鍑洪敊"+e);
+			throw new VciBaseException("鏌ヨ鏁版嵁鍑洪敊锛屽師鍥狅細"+e.getMessage());
 		}
 	}
 
@@ -876,7 +1043,7 @@
 		//鏋勯�犳ā鍨嬭鍥炬暟鎹�
 		List<Map<String, Object>> viewValueList=new ArrayList<Map<String,Object>>();
 		String oid = dockingPreViewModel.getOid();
-		Map<String,String> dataValueMap=dataBusinessObject.getData();
+		Map<String,String> dataValueMap=new CaseInsensitiveMap<>(dataBusinessObject.getData());
 		String codeClassifyId=dataValueMap.get("codeclsfid");
 		Map<String,String>conditionsMap=new HashMap<String, String>();
 		List<DockingPreAttrMapping> dockingPreAttrMappingList = dockingPreAttrMappingMapper.selectList(Wrappers.<DockingPreAttrMapping>query().lambda()
@@ -898,19 +1065,29 @@
 			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)){
 					getAttrRange(dockingPreMetaAttr);//鑾峰彇瀛楁鍙栧�艰寖鍥�
-					String value=dataValueMap.get(jtargetattrkey)==null?"":dataValueMap.getOrDefault(jtargetattrkey,"");
+					String value="";
+					if(jtargetattrkey.toLowerCase(Locale.ROOT).equals("name")){
+						value=dataBusinessObject.getName();
+					}else if(jtargetattrkey.toLowerCase(Locale.ROOT).equals("id")){
+						value=dataBusinessObject.getId();
+					}else if(jtargetattrkey.toLowerCase(Locale.ROOT).equals("description")){
+						value=dataBusinessObject.getDescription();
+					}else{
+						value=dataValueMap.get(jtargetattrkey)==null?"":dataValueMap.getOrDefault(jtargetattrkey,"");
+					}
 					newVaue = getVaue(dockingPreMetaAttr, value);
 				}else{
 					newVaue = getVaue(dockingPreMetaAttr, "");
 				}
-				if(newVaue==null||"".equals(newVaue)){
+				if(newVaue==null || "".equals(newVaue)){
 					newVaue= dockingPreMetaAttr.getDefaultValue();
 				}
+				//newVaue= Func.isNotEmpty(newVaue)?newVaue:"";
 				viewValueMap.put(jenglishname, newVaue);
 			}
 		}
@@ -923,23 +1100,26 @@
 	 * 鑾峰彇灞炴�ф灇涓炬槧灏勯厤缃�
 	 */
 	Map<String,Map<String, DockingPreAttrRange>> attrRangeMap=new HashMap<String, Map<String,DockingPreAttrRange>>();
+
 	private void getAttrRange(DockingPreMetaAttr jmetaatter) throws Throwable{
 
 		String jmetalistoid = jmetaatter.getOid();
 		if(attrRangeMap.containsKey(jmetalistoid)) {
 			return;
 		}
-		Map<String,String>conditionsMap=new HashMap<String, String>();
-		conditionsMap.put("jmetalistid", jmetalistoid);//瑙嗗浘oid
+		// Map<String,String>conditionsMap=new HashMap<String, String>();
+		// conditionsMap.put("jmetalistid", jmetalistoid);//瑙嗗浘oid
 		List<DockingPreAttrRange> dockingPreAttrRangeList = dockingPreAttrRangeService.selectByWrapper(Wrappers.<DockingPreAttrRange>query().lambda().eq(DockingPreAttrRange::getMetaListId, jmetalistoid));
 		if (CollectionUtils.isEmpty(dockingPreAttrRangeList)) {
 			return;
 		}
 		Map<String, DockingPreAttrRange> rangeMap = new HashMap<String, DockingPreAttrRange>();
-		rangeMap = dockingPreAttrRangeList.stream().collect(Collectors.toMap(s -> s.getNumTextValue(), t -> t, (o1, o2) -> o2));
+		// TODO: 杩欏効瀛樺唴閮ㄥ瓨鍌ㄥ�硷紝鏃犳硶鍦ㄥ悗缁繘琛岃浆鎹�
+		rangeMap = dockingPreAttrRangeList.stream().collect(Collectors.toMap(s -> s.getTargetNumText(), t -> t, (o1, o2) -> o2));
 		attrRangeMap.put(jmetalistoid, rangeMap);
 
 	}
+
 	/****
 	 * 鍊肩被鍨嬭浆鎹�
 	 * @param jmetaatter
@@ -976,7 +1156,7 @@
 				return null;
 			}else {
 				try {
-					return simpleDateFormat.parse(value);
+					return simpleDateFormat.format(simpleDateFormat.parse(value));
 				} catch (ParseException e) {
 					throw new VciBaseException("date", new String[]{"鏃ユ湡鏍煎紡杞崲閿欒"});
 				}
@@ -987,7 +1167,7 @@
 				return null;
 			}else{
 				try {
-					return simpleDateFormat.parse(value);
+					return simpleDateFormat.format(simpleDateFormat.parse(value));
 				} catch (ParseException e) {
 					throw new VciBaseException("date", new String[]{"鏃ユ湡鏍煎紡杞崲閿欒"});
 				}
@@ -1025,4 +1205,5 @@
 		}
 		return msg;
 	}
+
 }

--
Gitblit v1.9.3