From 58e1c4e2bdc8e4f8b647d7c2b9e5e5656a00b445 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期五, 17 五月 2024 11:06:43 +0800
Subject: [PATCH] 集成申请,历史数据导入,关键属性查重多线程导致判重失误问题
---
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java | 596 +++++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 392 insertions(+), 204 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 6afa76d..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
@@ -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,11 @@
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.log.exception.ServiceException;
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 +46,251 @@
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 IGroupAttrPoolMappingService groupAttrPoolMappingService;
@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) {
+ throw new ServiceException("淇敼鐢宠鍗曟暟鎹椂杞崲鍑洪敊锛屽師鍥�"+e.getMessage());
+ }
+ 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) {
+ throw new ServiceException("鏂板鐢宠鍗曟暟鎹椂鏁版嵁杞崲鍑洪敊锛屽師鍥�"+e.getMessage());
+ }
+ 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.success("鐢宠鎺ュ彛璋冪敤鎴愬姛"+e);
+ }else{
+ return R.fail("鐢宠鎺ュ彛寮�鍏冲凡鍏抽棴锛屼笉鐢宠闆嗗洟鐮�");
}
}
@@ -213,16 +301,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 +350,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 +360,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,33 +381,59 @@
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
}
}
});
} else {
+ Date date = new Date();
editDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> {
dockingPreApplyForm.setCode("2");
dockingPreApplyForm.setMsg("淇敼锛�" + msg);
dockingPreApplyForm.setContent("");
dockingPreApplyForm.setGroupCode("");
- DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm);
+ 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);
+ 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 +444,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 +462,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 +490,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 +514,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 +566,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 +584,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 +599,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 +619,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 +642,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,16 +674,20 @@
*/
@Override
public R syncClassifyModel(String classifyId, String operationType) throws VciBaseException {
+ if(!usedFlag){
+ log.info("鍚屾闆嗗洟妯″瀷淇℃伅寮�鍏冲凡鍏抽棴");
+ 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());
}
}
@@ -548,9 +702,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 +723,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);
@@ -601,22 +756,21 @@
* @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();
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);
@@ -638,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);
//淇濆瓨妯″瀷瑙嗗浘
@@ -650,7 +806,6 @@
throw new Throwable("缁勭粐鍒嗙被" + nodeLinkName + "妯″瀷瑙嗗浘瀛樺偍鍑虹幇闂");
}
}
-
/***
* 鑾峰彇妯″瀷瑙嗗浘灞炴��
@@ -664,7 +819,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,10 +864,10 @@
List<DockingClassifyMetaAttrVO> childMetaList = new ArrayList<>();
childMetaList.add(compositeMeta);
getMetaAttrObject(childMetaList, jclassId,jviewModelObject, pid,allDockingPreMetaAttrList);
+ }else{
+ allDockingPreMetaAttrList.add(dockingPreMetaAttr);
}
-
}
-
} catch (Throwable e) {
e.printStackTrace();
log.error("缁勭粐妯″瀷瑙嗗浘"+ jviewModelObject.getViewName()
@@ -731,6 +886,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 +894,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 +926,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 +985,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 +1050,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 +1072,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 +1107,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 +1163,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 +1174,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 +1212,5 @@
}
return msg;
}
+
}
--
Gitblit v1.9.3