From deba19bf6b73448c9f7a0ee1ef85d5ee99b50bb4 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 20 七月 2023 14:44:03 +0800
Subject: [PATCH] 提交代码
---
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java | 557 +++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 515 insertions(+), 42 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java
index cf3146d..0424584 100644
--- a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java
@@ -5,14 +5,14 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
+import com.vci.ubcs.code.feign.IMdmEngineClient;
import com.vci.ubcs.code.webservice.entity.*;
+import com.vci.ubcs.code.webservice.service.IGroupMdmInterService;
import com.vci.ubcs.code.webservice.vo.*;
import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
import com.vci.ubcs.code.webservice.feign.MdmApplyGroupCodeProvider;
import com.vci.ubcs.code.webservice.mapper.DockingPreAttrMappingMapper;
-import com.vci.ubcs.code.webservice.service.*;
import com.vci.ubcs.starter.exception.VciBaseException;
-import com.vci.ubcs.starter.revision.model.BaseModel;
import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
@@ -23,7 +23,7 @@
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-
+import com.vci.ubcs.starter.revision.model.BaseModel;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -42,28 +42,33 @@
private String msg="";
- @Value("${docking.apply.unitCode:410-MDM}")
+
+ @Value("${docking.apply.unitCode:41000}")
public String dockingApplyUnitCode;
+
+ @Value("${docking.apply.sysName:410-MDM}")
+ public String dockingApplySysName;
+
@Autowired(required = false)
private MdmApplyGroupCodeProvider mdmApplyGroupCodeProvider;
/***
* 闆嗗洟鍒嗙被鏈嶅姟
*/
@Autowired(required = false)
- private IDockingPreClassifyService dockingPreClassifyService;
+ private com.vci.ubcs.code.webservice.service.IDockingPreClassifyService dockingPreClassifyService;
/***
* 鐢宠鍗曟湇鍔�
*/
@Autowired(required = false)
- private IDockingPreApplyFormService dockingPreApplyFormService;
+ private com.vci.ubcs.code.webservice.service.IDockingPreApplyFormService dockingPreApplyFormService;
/***
* 妯″瀷瑙嗗浘鍗曟湇鍔�
*/
@Autowired(required = false)
- private IDockingPreViewModelService dockingPreViewModelService;
+ private com.vci.ubcs.code.webservice.service.IDockingPreViewModelService dockingPreViewModelService;
/***
@@ -75,14 +80,17 @@
* 灞炴�у彇鍊艰寖鍥存湇鍔�
*/
@Autowired(required = false)
- private IDockingPreAttrRangeService dockingPreAttrRangeService;
+ private com.vci.ubcs.code.webservice.service.IDockingPreAttrRangeService dockingPreAttrRangeService;
/***
* 闆嗗洟灞炴�ф湇鍔�
*/
@Autowired(required = false)
- private IDockingPreMetaAttrService dockingPreMetaAttrService;
+ private com.vci.ubcs.code.webservice.service.IDockingPreMetaAttrService dockingPreMetaAttrService;
+
+ @Autowired(required = false)
+ private IMdmEngineClient mdmEngineClient;
/***
* 涓绘暟鎹儚闆嗗洟鐢宠缂栫爜
* @param oids 闇�瑕佺敵璇风殑鏁版嵁涓婚敭鏁扮粍
@@ -90,25 +98,24 @@
* @return 杩斿洖缁撴灉淇℃伅
* @throws Exception
*/
+ @Transactional(rollbackFor = VciBaseException.class)
@Override
- @Transactional
public R applyGroupCode(String oids, String btmName) throws VciBaseException {
try {
List<BaseModel> updateCbos = new ArrayList<BaseModel>();
-
List<DockingPreApplyForm> dockingPreAttrMappings = new ArrayList<>();
VciBaseUtil.alertNotNull(oids, "閫夋嫨鐨勬暟鎹�");
VciBaseUtil.alertNotNull(btmName, "涓氬姟绫诲瀷");
- //List<BaseModelVO> codeWupins=mdmEngineService.listByIds(VciBaseUtil.str2List(oids));
- List<BaseModelVO> dataModelList = new ArrayList<>();
+ R<List<BaseModel>> baseModelR =mdmEngineClient.selectByTypeAndOid(btmName,oids);
+ List<BaseModel> dataModelList= baseModelR.getData();
if (!CollectionUtils.isEmpty(dataModelList)) {
DockingGroupDataVO dockingGroupDataVO = new DockingGroupDataVO();
//鐢宠鍗曞拰鐢宠鍗曞璞″叧绯�
Map<String, DockingPreApplyForm> addDockingPreApplyFormMap = new HashMap<String, DockingPreApplyForm>();
Map<String, DockingPreApplyForm> editDockingPreApplyFormMap = new HashMap<String, DockingPreApplyForm>();
- Map<String, BaseModelVO> baseModelVOMap = new HashMap<String, BaseModelVO>();
+ Map<String, BaseModel> baseModelMap = new HashMap<String, BaseModel>();
//缁勭粐鏁版嵁
- dockingGroupDataVO = queryApplycodeDataObjects(1, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelVOMap);
+ dockingGroupDataVO = queryApplycodeDataObjects(1, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelMap);
DockingResultVO resultDataObject = mdmApplyGroupCodeProvider.receiveAddApply(dockingGroupDataVO);
code = resultDataObject.getCode();
msg = resultDataObject.getMsg();
@@ -156,13 +163,13 @@
}
//濡傛灉鏈夐泦鍥㈢爜鍒欐洿鏂版暟鎹�
if (isEditDatas) {
- if (baseModelVOMap.containsKey(applyId)) {
- BaseModelVO baseModelVO = baseModelVOMap.get(applyId);
- BaseModel baseModel = new BaseModel();
- BeanUtilForVCI.copyDeclaredIgnoreCase(baseModelVO, baseModel);
+ if (baseModelMap.containsKey(applyId)) {
+ BaseModel baseModel = baseModelMap.get(applyId);
+ BeanUtilForVCI.copyDeclaredIgnoreCase(baseModel, baseModel);
DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
- baseModelVO.setId(customCoding);
+ //baseModel.setId(customCoding);
+ baseModel.getData().getOrDefault("groupCode",customCoding);
updateCbos.add(baseModel);//鏇存柊鏁版嵁闆嗗洟code
}
}
@@ -191,7 +198,7 @@
}
//淇濆瓨琛ㄥ崟鏁版嵁
dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings);
- //mdmEngineService.saveBatch(updateCbos);//淇濆瓨鏁版嵁
+ mdmEngineClient.updateBatchByType(btmName,updateCbos);//淇濆瓨鏁版嵁
}
return R.success("鐢宠鎺ュ彛璋冪敤鎴愬姛");
}catch (VciBaseException e){
@@ -206,6 +213,7 @@
* @return 杩斿洖缁撴灉淇℃伅
* @throws Throwable
*/
+ @Transactional(rollbackFor = VciBaseException.class)
@Override
public R receiveEditApply(String oids, String btmName) throws VciBaseException {
List<BaseModel> updateCbos=new ArrayList<BaseModel>();
@@ -213,16 +221,16 @@
VciBaseUtil.alertNotNull(oids,"閫夋嫨鐨勬暟鎹�");
VciBaseUtil.alertNotNull(btmName,"涓氬姟绫诲瀷");
//List<BaseModelVO> codeWupins=mdmEngineService.listByIds(VciBaseUtil.str2List(oids));
- List<BaseModelVO> dataModelList = new ArrayList<>();
+ List<BaseModel> dataModelList = new ArrayList<>();
try {
if (!CollectionUtils.isEmpty(dataModelList)) {
DockingGroupDataVO dockingGroupDataVO = new DockingGroupDataVO();
//鐢宠鍗曞拰鐢宠鍗曞璞″叧绯�
Map<String, DockingPreApplyForm> addDockingPreApplyFormMap = new HashMap<String, DockingPreApplyForm>();
Map<String, DockingPreApplyForm> editDockingPreApplyFormMap = new HashMap<String, DockingPreApplyForm>();
- Map<String, BaseModelVO> baseModelVOMap = new HashMap<String, BaseModelVO>();
+ Map<String, BaseModel> baseModelMap = new HashMap<String, BaseModel>();
//缁勭粐鏁版嵁
- dockingGroupDataVO = queryApplycodeDataObjects(2, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelVOMap);
+ dockingGroupDataVO = queryApplycodeDataObjects(2, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelMap);
DockingResultVO resultDataObject = mdmApplyGroupCodeProvider.receiveEditApply(dockingGroupDataVO);
code = resultDataObject.getCode();
msg = resultDataObject.getMsg();
@@ -270,13 +278,12 @@
}
//濡傛灉鏈夐泦鍥㈢爜鍒欐洿鏂版暟鎹�
if (isEditDatas) {
- if (baseModelVOMap.containsKey(applyId)) {
- BaseModelVO baseModelVO = baseModelVOMap.get(applyId);
- BaseModel baseModel = new BaseModel();
- BeanUtilForVCI.copyDeclaredIgnoreCase(baseModelVO, baseModel);
+ if (baseModelMap.containsKey(applyId)) {
+ BaseModel baseModel = baseModelMap.get(applyId);
+ //BeanUtilForVCI.copyDeclaredIgnoreCase(baseModelVO, baseModel);
DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
- DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
- baseModelVO.setId(customCoding);
+ // baseModel.setId(customCoding);
+ baseModel.getData().getOrDefault("groupCode",customCoding);
updateCbos.add(baseModel);//鏇存柊鏁版嵁闆嗗洟code
}
}
@@ -305,7 +312,7 @@
}
//淇濆瓨琛ㄥ崟鏁版嵁
dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings);
- //mdmEngineService.saveBatch(updateCbos);//淇濆瓨鏁版嵁
+ mdmEngineClient.updateBatchByType(btmName,updateCbos);//淇濆瓨鏁版嵁
}
return R.success("鐢宠鎺ュ彛璋冪敤鎴愬姛");
}catch (VciBaseException e){
@@ -313,21 +320,466 @@
}
}
+ /***
+ * 鑾峰彇闆嗗洟妯″瀷璇︾粏淇℃伅鎵ц淇濆瓨
+ * @param groupClassifyId
+ * @return
+ * @throws VciBaseException
+ */
@Override
- public R pubJTclsfModel() throws Throwable {
- return null;
+ public R queryClassModel(String groupClassifyId) throws Throwable {
+ log.info("鑾峰彇闆嗗洟妯″瀷璇︾粏淇℃伅鎵ц淇濆瓨start");
+ String message="鎵ц鎴愬姛锛�";
+ try {
+ if (StringUtils.isBlank(groupClassifyId)) {
+ message = "鍙傛暟锛氶泦鍥㈠垎绫讳富閿紝涓虹┖!";
+ log.info(message);
+ throw new Throwable(message);
+ }
+ if (StringUtils.isBlank(dockingApplySysName)) {
+ message = "鑾峰彇绯荤粺鏍囪瘑" + dockingApplySysName + "涓虹┖锛岃鏌ョ湅閰嶇疆锛�";
+ log.info(message);
+ throw new Throwable(message);
+ }
+ DockingModelQueryVO dockingModelQueryVO = new DockingModelQueryVO();
+ dockingModelQueryVO.setClassId(groupClassifyId);
+ dockingModelQueryVO.setSysName(dockingApplySysName);
+ DockingQueryClassModelVO dockingQueryClassifyModelVO = mdmApplyGroupCodeProvider.queryClassModel(dockingModelQueryVO);
+ if (dockingQueryClassifyModelVO != null) {
+ int code = dockingQueryClassifyModelVO.getCode();
+ message = dockingQueryClassifyModelVO.getMsg();
+ if (code == 1) {
+ this.saveDatas(dockingQueryClassifyModelVO);
+ } else {
+ log.info(message);
+ throw new Throwable(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);
+ }
+ log.info("鑾峰彇闆嗗洟妯″瀷璇︾粏淇℃伅鎵ц淇濆瓨end");
+ return R.success(message);
}
+
+ /***
+ * 浠庨泦鍥㈣幏鍙栦富妯″瀷淇℃伅鎵ц淇濆瓨
+ * @return
+ * @throws Throwable
+ */
+ @Override
+ public R queryMdmModel() throws Throwable {
+ String message="鎵ц鎴愬姛锛�";
+ log.info("浠庨泦鍥㈣幏鍙栦富妯″瀷淇℃伅鎵ц淇濆瓨鎺ュ彛statr");
+ try {
+ if (StringUtils.isBlank(dockingApplySysName)) {
+ message = "鑾峰彇绯荤粺鏍囪瘑" + dockingApplySysName + "涓虹┖锛岃鏌ョ湅閰嶇疆锛�";
+ log.info(message);
+ throw new Throwable(message);
+ }
+
+ DockingModelQueryVO dockingModelQueryVO = new DockingModelQueryVO();
+ dockingModelQueryVO.setSysName(dockingApplySysName);
+ DockingQueryModelVO dockingQueryModelVO= mdmApplyGroupCodeProvider.queryMdmModel(dockingModelQueryVO);
+ if (dockingQueryModelVO != null) {
+ int code = dockingQueryModelVO.getCode();
+ message = dockingQueryModelVO.getMsg();
+ if (code == 1) {
+ List<DockingClassifyVO> dockingClassifyVOList=dockingQueryModelVO.getData();
+ List<DockingPreClassify>dockingPreClassifyList=new ArrayList<>();
+ dockingClassifyVOList.stream().forEach(dockingClassifyVO -> {
+ String id = StringUtils.isBlank(dockingClassifyVO.getId())?"":dockingClassifyVO.getId();
+ String className = StringUtils.isBlank(dockingClassifyVO.getClassName())?"":dockingClassifyVO.getClassName();
+ String classNumber = StringUtils.isBlank(dockingClassifyVO.getClassNumber())?"":dockingClassifyVO.getClassNumber();
+ String nodeLink = StringUtils.isBlank(dockingClassifyVO.getNodeLink())?"":dockingClassifyVO.getNodeLink();
+ String nodeLinkName = StringUtils.isBlank(dockingClassifyVO.getNodeLinkName())?"":dockingClassifyVO.getNodeLinkName();
+ String pid = StringUtils.isBlank(dockingClassifyVO.getPid())?"":dockingClassifyVO.getPid();
+ String version = StringUtils.isBlank(dockingClassifyVO.getVersion())?"":dockingClassifyVO.getVersion();
+ DockingPreClassify dockingPreClassify= this.dockingPreClassifyService.getById(id);
+
+ log.info("classify:-------------->闆嗗洟鍒嗙被涓绘満:"+id);
+ log.info("classify:-------------->闆嗗洟鍒嗙被鍚嶇О:"+className);
+ log.info("classify:--------------> 闆嗗洟鍒嗙被鐖惰妭鐐�:"+pid);
+ log.info("classify:-------------->閾炬帴:"+nodeLink);
+ log.info("classify:-------------->闆嗗洟鍒嗙被浠e彿:"+classNumber);
+ log.info("classify:-------------->閾炬帴鍚嶇О:"+nodeLinkName);
+ log.info("classify:-------------->閾炬帴鐗堟湰:"+version);
+ if (dockingPreClassify == null || StringUtils.isBlank(dockingPreClassify.getOid())) {
+ DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreClassify,MdmBtmTypeConstant.DOCKING_PRE_JCLASSIFY);
+ } else {
+ DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreClassify);
+ }
+ dockingPreClassify.setOid(id);
+ dockingPreClassify.setName(className);
+ dockingPreClassify.setPid(pid);
+ dockingPreClassify.setId(classNumber);
+ dockingPreClassify.setNodeLink(nodeLink);
+ dockingPreClassify.setNodeLinkName(nodeLinkName);
+ dockingPreClassify.setClassName(className);
+ dockingPreClassify.setVersionValue(version);
+ dockingPreClassifyList.add(dockingPreClassify);
+ });
+ boolean res= dockingPreClassifyService.saveOrUpdateBatch(dockingPreClassifyList);
+ if(res){
+ R.success(message);
+ }else{
+ message="淇濆瓨鍒嗙被涓绘ā鍨嬪け璐�";
+ throw new Throwable(message);
+ }
+ } else {
+ log.info(message);
+ throw new Throwable(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);
+ }
+ log.info("浠庨泦鍥㈣幏鍙栦富妯″瀷淇℃伅鎵ц淇濆瓨鎺ュ彛end");
+ return R.success(message);
+ }
+
+
+
+ /***
+ * 鏌ヨ鐢宠鍗曠姸鎬�
+ * @param dataOids
+ * @return 鎵ц缁撴灉
+ */
+ @Override
+ public R queryApplyState(String dataOids) throws VciBaseException {
+
+ String message="鎵ц鎴愬姛锛�";
+ log.info("鏌ヨ鐢宠鍗曠姸鎬佹帴鍙tatr");
+ try {
+ VciBaseUtil.alertNotNull(dataOids,"鎵�鏌ョ敵璇峰崟鏁版嵁涓婚敭");
+ VciBaseUtil.alertNotNull(dockingApplySysName,"绯荤粺鏍囪瘑閰嶇疆锛歞ocking.apply.unitCode");
+ List<String> applyIdList=new ArrayList<>();
+ List<DockingPreApplyForm> dockingPreApplyFormList= this.dockingPreApplyFormService.list(Wrappers.<DockingPreApplyForm>query().lambda().in(DockingPreApplyForm::getDataOid, VciBaseUtil.str2List(dataOids)));
+ Map<String,DockingPreApplyForm> dockingPreApplyFormMap=new HashMap<>();
+ dockingPreApplyFormList.stream().forEach(dockingPreApplyForm -> {
+ applyIdList.add(dockingPreApplyForm.getId());
+ dockingPreApplyFormMap.put(dockingPreApplyForm.getId(),dockingPreApplyForm);
+ });
+
+ DockingModelQueryVO dockingModelQueryVO=new DockingModelQueryVO();
+ dockingModelQueryVO.setApplyNums(VciBaseUtil.array2String(applyIdList.toArray(new String[]{})));
+ dockingModelQueryVO.setSysName(dockingApplySysName);
+ DockingApplyFormQueryStatusVO dockingApplyFormQueryStatusVO=mdmApplyGroupCodeProvider.queryApplyState(dockingModelQueryVO);
+
+ int code=dockingApplyFormQueryStatusVO.getCode();
+ String mesg=dockingApplyFormQueryStatusVO.getMsg();
+ if(code==1){
+ List<DockingApplyFormStatusVO> dockingApplyFormStatusVOList=dockingApplyFormQueryStatusVO.getData();
+ if(CollectionUtils.isEmpty(dockingApplyFormStatusVOList)){
+ for (DockingApplyFormStatusVO applyFormDataState : dockingApplyFormStatusVOList) {
+ String applyId=applyFormDataState.getApplyNum();
+ String state= applyFormDataState.getFormState();
+ String examineOpinion=applyFormDataState.getExamineOpinion();
+ String jmsg=getCodeState(state)+"锛屾剰瑙侊細"+examineOpinion;
+ if(dockingPreApplyFormMap.containsKey(applyId)){
+ DockingPreApplyForm applyFormObject=dockingPreApplyFormMap.get(applyId);
+ applyFormObject.setMsg(jmsg);
+ }
+ }
+ boolean res=this.dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList);
+ if(res){
+ R.success("鐢宠闆嗗洟鐮佺姸鎬佹煡璇㈡垚鍔�:"+mesg);
+ }
+ }else{
+ throw new Throwable("娌℃湁鑾峰彇鍒扮浉鍏虫暟鎹俊鎭�");
+ }
+ }else{
+ throw new Throwable(mesg);
+ }
+
+ }catch (Throwable e){
+ e.printStackTrace();;
+ log.error("鑾峰彇鐢宠鍗曠姸鎬佸け璐�"+e);
+ throw new VciBaseException(message);
+ }
+ log.info("鏌ヨ鐢宠鍗曠姸鎬佹帴鍙nd");
+ return R.success(message);
+ }
+
+ /***
+ * 鍚屾闆嗗洟妯″瀷淇℃伅
+ * @param classifyId
+ * @param operationType
+ * @return 杩斿洖鎵ц缁撴灉
+ * @throws VciBaseException
+ */
+ @Override
+ public R syncClassifyModel(String classifyId, String operationType) throws VciBaseException {
+ VciBaseUtil.alertNotNull(operationType,"闆嗘垚鎿嶄綔绫诲瀷");
+ try {
+ if(operationType.equals("all")){
+ return queryMdmModel();
+ }else{
+ VciBaseUtil.alertNotNull(classifyId,"闆嗗洟鍒嗙被涓婚敭");
+ return queryClassModel(classifyId);
+ }
+ } catch (Throwable e) {
+ throw new VciBaseException(e.getMessage());
+ }
+ }
+
+ /***
+ * 缁勭粐 淇濆瓨鏁版嵁鏂规硶
+ *
+ * @param dockingQueryClassifyModelVO
+ * @return
+ * @throws Throwable
+ * @throws
+ * @throws Throwable
+ */
+ private boolean saveDatas(DockingQueryClassModelVO dockingQueryClassifyModelVO) throws Throwable {
+ try {
+ DockingClassifyMainVO mainData = dockingQueryClassifyModelVO.getMainData();
+ List<DockingClassifyVO> classList = mainData.getClassList();
+ Map<String,List<DockingClassifyViewVO>>classInfoMap = mainData.getClassInfos();
+ ////initVCIInvocationInfo("1");
+ List<DockingPreClassify> dockingPreClassifyArrayList=new ArrayList<>();
+ for (DockingClassifyVO jclassObject : classList) {
+ String id =StringUtils.isBlank(jclassObject.getId())?"":jclassObject.getId();
+ String className = StringUtils.isBlank(jclassObject.getClassName())?"":jclassObject.getClassName();
+ String pid = StringUtils.isBlank(jclassObject.getPid())?"":jclassObject.getPid();
+ String nodeLink = StringUtils.isBlank(jclassObject.getNodeLink())?"":jclassObject.getNodeLink();
+ String nodeLinkName = StringUtils.isBlank(jclassObject.getNodeLinkName())?"":jclassObject.getNodeLinkName();
+ String classNumber = StringUtils.isBlank(jclassObject.getClassNumber())?"":jclassObject.getClassNumber();
+ //鏍规嵁鍒嗙被鏌ヨ妯″瀷瑙嗗浘瀵硅薄
+ DockingPreClassify dockingPreClassify = dockingPreClassifyService.getById(id);
+ log.info("classify:-------------->闆嗗洟鍒嗙被涓绘満:"+id);
+ log.info("classify:-------------->闆嗗洟鍒嗙被鍚嶇О:"+className);
+ log.info("classify:--------------> 闆嗗洟鍒嗙被鐖惰妭鐐�:"+pid);
+ log.info("classify:-------------->閾炬帴:"+nodeLink);
+ log.info("classify:-------------->閾炬帴鍚嶇О:"+nodeLinkName);
+
+ if (dockingPreClassify == null || StringUtils.isBlank(dockingPreClassify.getOid())) {
+ DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreClassify,MdmBtmTypeConstant.DOCKING_PRE_JCLASSIFY);
+ } else {
+ DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreClassify);
+ }
+ dockingPreClassify.setOid(id);
+ dockingPreClassify.setName(className);
+ dockingPreClassify.setPid(pid);
+ dockingPreClassify.setId(classNumber);
+ dockingPreClassify.setNodeLink(nodeLink);
+ dockingPreClassify.setNodeLinkName(nodeLinkName);
+ dockingPreClassify.setClassName(className);
+ dockingPreClassifyArrayList.add(dockingPreClassify);
+ // 鑾峰彇瀵瑰簲鐨勫垎绫昏鍥炬ā鍨�
+ if (classInfoMap.containsKey(id)) {
+ List<DockingClassifyViewVO> list = classInfoMap.get(id);
+ getVilewMode(jclassObject,list);
+ }
+ }
+ boolean res= dockingPreClassifyService.saveOrUpdateBatch(dockingPreClassifyArrayList);
+ return res;
+ } catch (Throwable e) {
+ e.printStackTrace();
+ throw new Throwable("瀛樺偍瑙嗗浘妯″瀷鍑虹幇闂");
+ }
+ }
+
+ /***
+ * 鑾峰彇鍒嗙被瑙嗗浘
+ *
+ * @param jclassObject
+ * @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));// 鏍规嵁鍒嗙被鏌ヨ妯″瀷瑙嗗浘瀵硅薄
+ 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();
+ log.info("VilewMode:-------------->瑙嗗浘鍚嶇О:"+viewName);
+ log.info("VilewMode:-------------->褰卞搷缂栫爜椤�:"+impactList);
+ log.info("VilewMode:--------------> 闆嗗洟鍒嗙被涓婚敭:"+jclassId);
+ List<DockingClassifyMetaAttrVO> metaList = viewInfo.getMetaList();
+ DockingPreViewModel jviewModelObject = null;
+ if (jviewmodelMap.containsKey(viewName)) {
+ jviewModelObject = jviewmodelMap.get(viewName);
+ //褰卞搷缂栫爜椤圭殑鏁版嵁
+ jviewModelObject.setImpactList(impactList);
+ DefaultAttrAssimtUtil.updateDefaultAttrAssimt(jviewModelObject);
+ } else {
+ jviewModelObject =new DockingPreViewModel();
+ DefaultAttrAssimtUtil.addDefaultAttrAssimt(jviewModelObject,MdmBtmTypeConstant.DOCKING_PRE_JVIEWMODEL);
+ jviewModelObject.setSourceClassifyId(jclassId);// 闆嗗洟鍒嗙被id
+ jviewModelObject.setViewName(viewName);// 闆嗗洟瑙嗗浘鍚嶇О
+ //褰卞搷缂栫爜椤圭殑鏁版嵁
+ jviewModelObject.setImpactList(impactList);
+ dockingPreViewModelList.add(jviewModelObject);
+ }
+ // 鑾峰彇妯″瀷瑙嗗浘涓嬬殑灞炴�ч泦
+ // String oid = jviewModelObject.getOid();
+ List<DockingPreMetaAttr>allDockingPreMetaAttrList=new ArrayList<>();
+ getMetaAttrObject(metaList, jclassId, jviewModelObject, "root",allDockingPreMetaAttrList);
+ //淇濆瓨妯″瀷瑙嗗浘灞炴��
+ dockingPreMetaAttrService.saveOrUpdateBatch(allDockingPreMetaAttrList);
+ //淇濆瓨妯″瀷瑙嗗浘
+ dockingPreViewModelService.saveOrUpdateBatch(dockingPreViewModelList);
+ }
+ } catch (Throwable e) {
+ e.printStackTrace();
+ throw new Throwable("缁勭粐鍒嗙被" + nodeLinkName + "妯″瀷瑙嗗浘瀛樺偍鍑虹幇闂");
+ }
+ }
+
+
+ /***
+ * 鑾峰彇妯″瀷瑙嗗浘灞炴��
+ * @throws Throwable
+ */
+ private void getMetaAttrObject(List<DockingClassifyMetaAttrVO> metaList,
+ String jclassId, DockingPreViewModel jviewModelObject, String pid,List<DockingPreMetaAttr>allDockingPreMetaAttrList)throws Throwable {
+ try {
+ //// 鏍规嵁鍒嗙被鏌ヨ妯″瀷瑙嗗浘瀵硅薄
+ List<DockingPreMetaAttr> dockingPreMetaAttrList = dockingPreMetaAttrService.selectByWrapper(Wrappers.<DockingPreMetaAttr>query().lambda()
+ .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));
+
+ for (DockingClassifyMetaAttrVO dockingClassifyMetaAttrVO : metaList) {
+ String chineseName = com.alibaba.cloud.commons.lang.StringUtils.isBlank(dockingClassifyMetaAttrVO.getChineseName())?"":dockingClassifyMetaAttrVO.getChineseName();// 灞炴�у悕绉�
+ String englishName = com.alibaba.cloud.commons.lang.StringUtils.isBlank(dockingClassifyMetaAttrVO.getEnglishName())?"":dockingClassifyMetaAttrVO.getEnglishName();// 鑻辨枃鍚嶇О
+ String defaultValue = com.alibaba.cloud.commons.lang.StringUtils.isBlank(dockingClassifyMetaAttrVO.getDefaultValue())?"":dockingClassifyMetaAttrVO.getDefaultValue();
+ Integer metadataType =dockingClassifyMetaAttrVO.getMetadataType();// 绫诲瀷
+ Integer necessaryConf = dockingClassifyMetaAttrVO.getNecessaryConf();// 鏄惁蹇呭~
+ Map<String, String> range = dockingClassifyMetaAttrVO.getRange()==null?new HashMap<String, String>():dockingClassifyMetaAttrVO.getRange();// 鍙栧�艰寖鍥�
+
+ log.info("metaAttr:-------------->灞炴�у悕绉�:"+chineseName);
+ log.info("metaAttr:-------------->鑻辨枃鍚嶇О:"+englishName);
+ log.info("metaAttr:-------------->榛樿鍊�:"+defaultValue);
+ log.info("metaAttr:--------------> 绫诲瀷:"+metadataType);
+ log.info("metaAttr:--------------> 鏄惁蹇呭~:"+necessaryConf);
+ DockingPreMetaAttr dockingPreMetaAttr = new DockingPreMetaAttr();
+ if (jmetaattrMap.containsKey(englishName)) {
+ dockingPreMetaAttr = jmetaattrMap.get(englishName);
+ dockingPreMetaAttr.setChineseName(chineseName);
+ dockingPreMetaAttr.setDefaultValue(defaultValue);
+ DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreMetaAttr);
+ } else {
+ DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreMetaAttr,MdmBtmTypeConstant.DOCKING_PRE_JMETAATRR);
+ dockingPreMetaAttr.setSourceClassifyId(jclassId);// 闆嗗洟鍒嗙被id
+ dockingPreMetaAttr.setViewModelId(jviewModelObject.getOid());// 闆嗗洟瑙嗗浘妯″瀷id
+ dockingPreMetaAttr.setChineseName(chineseName);// 灞炴�у悕绉�
+ dockingPreMetaAttr.setEnglishName(englishName);// 灞炴�у瓧娈�
+ dockingPreMetaAttr.setDefaultValue(defaultValue);// 灞炴�у悕绉�
+ dockingPreMetaAttr.setMetaDataType(metadataType);// 灞炴�х被鍨�
+ dockingPreMetaAttr.setNecesSaryConf(necessaryConf);// 灞炴�у繀濉」
+ dockingPreMetaAttr.setPid(pid);// 鐖惰妭鐐筰d
+ }
+ if(range!=null&&range.size()>0){
+ // 鑾峰彇灞炴�у�煎煙
+ getRange(dockingPreMetaAttr, range);
+ }
+ /***
+ * 鑾峰彇瀛愯妭鐐�
+ */
+ DockingClassifyMetaAttrVO compositeMeta = dockingClassifyMetaAttrVO.getCompositeMeta();
+ if (compositeMeta != null) {
+ pid = com.alibaba.cloud.commons.lang.StringUtils.isBlank(dockingPreMetaAttr.getOid())?"":dockingPreMetaAttr.getOid();// 褰撳墠oid
+ List<DockingClassifyMetaAttrVO> childMetaList = new ArrayList<>();
+ childMetaList.add(compositeMeta);
+ getMetaAttrObject(childMetaList, jclassId,jviewModelObject, pid,allDockingPreMetaAttrList);
+ }
+
+ }
+
+ } catch (Throwable e) {
+ e.printStackTrace();
+ log.error("缁勭粐妯″瀷瑙嗗浘"+ jviewModelObject.getViewName()
+ + "灞炴�у瓨鍌ㄥ嚭鐜伴棶棰�" + e);
+ throw new Throwable("缁勭粐妯″瀷瑙嗗浘"+ jviewModelObject.getViewName()
+ + "灞炴�у瓨鍌ㄥ嚭鐜伴棶棰�" + e);
+ }
+ }
+
+ /**
+ * @throws Throwable
+ * * 鑾峰彇鍊煎煙
+ * @param metaAttrObject
+ * @param range
+ * @throws
+ */
+ 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 {
+ Map<String, String> condtionMa = new HashMap<String, String>();
+ 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));
+
+ for (String rangeKey : range.keySet()) {
+ DockingPreAttrRange rangeObject = new DockingPreAttrRange();
+ String keyValue = com.alibaba.cloud.commons.lang.StringUtils.isBlank(range.get(rangeKey))?"":range.get(rangeKey);
+ log.info("range:-------------->鏄剧ず鍊�"+rangeKey+",鍐呴儴鍊�"+keyValue);
+ if (rangeMap.containsKey(rangeKey)) {
+ rangeObject = rangeMap.get(rangeKey);
+ rangeObject.setNumTextValue(keyValue);
+ rangeObject.setNumText(rangeKey);
+ DefaultAttrAssimtUtil.updateDefaultAttrAssimt(rangeObject);
+ } else {
+ DefaultAttrAssimtUtil.addDefaultAttrAssimt(rangeObject,MdmBtmTypeConstant.DOCKING_PRE_JRANGE);
+ rangeObject.setNumTextValue(keyValue);
+ rangeObject.setNumText(rangeKey);
+ rangeObject.setTs(rangeObject.getLastModifyTime());
+ rangeObject.setMetaListId(metaAttrOid);
+ log.info("range:-------------->灞炴�у唴閮ㄥ��:"+metaAttrOid);
+ log.info("range:-------------->鏃堕棿:"+rangeObject.getLastModifyTime());
+ jmetaattrList.add(rangeObject);
+ }
+ }
+ dockingPreAttrRangeService.saveOrUpdateBatch(jmetaattrList);
+ } catch (Throwable e) {
+ e.printStackTrace();
+ log.info("缁勭粐灞炴�э細銆�" + jchinesename + "銆戝�煎煙鍑虹幇闂"+ e);
+ throw new Throwable("缁勭粐灞炴�э細銆�" + jchinesename + "銆戝�煎煙鍑虹幇闂"+ e);
+ }
+ }
+
+
/**
* 缁勭粐鏁版嵁
* */
- private DockingGroupDataVO queryApplycodeDataObjects(int optationtype,List<BaseModelVO> codeWupins,Map<String,DockingPreApplyForm> addDockingPreApplyFormMap,Map<String,DockingPreApplyForm> editDockingPreApplyFormMap,Map<String,BaseModelVO> codeWupinMap) throws VciBaseException{
+ private DockingGroupDataVO queryApplycodeDataObjects(int optationtype,List<BaseModel> codeWupins,Map<String,DockingPreApplyForm> addDockingPreApplyFormMap,Map<String,DockingPreApplyForm> editDockingPreApplyFormMap,Map<String,BaseModel> codeWupinMap) throws VciBaseException{
try {
String curUserName = AuthUtil.getUser().getUserName();
//鐢宠鐨勬暟鎹�
List<DockingMainData> mainDataList=new ArrayList<DockingMainData>();
- for (BaseModelVO dataBusinessObject : codeWupins) {
+ for (BaseModel dataBusinessObject : codeWupins) {
String format = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
String codeclsfid = dataBusinessObject.getData().getOrDefault("codeclsfid","");
String btmName = dataBusinessObject.getBtmname();
@@ -368,7 +820,7 @@
DockingMainData mainData = new DockingMainData();
mainData.setApplyEntId(dockingApplyUnitCode);//鐢宠鍗曚綅浠g爜
mainData.setApplyId(apllyCode);//鐢宠鍗曞彿
- mainData.setClassName(dockingPreClassify.getGetNodeLinkName());//鍒嗙被鍚嶇О
+ mainData.setClassName(dockingPreClassify.getNodeLinkName());//鍒嗙被鍚嶇О
mainData.setCreateBy(curUserName);//
mainData.setSecretLevel("鍐呴儴");//瀵嗙骇锛岄粯璁や负鍐呴儴
mainData.setViewInfos(getviewInfos(optationtype,dockingPreClassify, dataBusinessObject));//鑾峰彇瑙嗗浘妯″瀷
@@ -376,7 +828,7 @@
}
//鏍规嵁鏁版嵁妯″瀷锛岀粍缁囨墍闇�瑕佹暟鎹�
DockingGroupDataVO postParameters=new DockingGroupDataVO();
- postParameters.setSysName("420-CODE");//绯荤粺鏍囪瘑
+ postParameters.setSysName(dockingApplySysName);//绯荤粺鏍囪瘑
postParameters.setMainData(mainDataList);//
return postParameters;
} catch (Throwable e) {
@@ -391,7 +843,7 @@
* @param dataBusinessObject
* @throws VciBaseException
*/
- private List<DockingViewVO>getviewInfos(int type, DockingPreClassify dockingPreClassify, BaseModelVO dataBusinessObject) throws Throwable{
+ private List<DockingViewVO>getviewInfos(int type, DockingPreClassify dockingPreClassify, BaseModel dataBusinessObject) throws Throwable{
List<DockingViewVO> viewInfoList=new ArrayList<>();
String jclassOid= dockingPreClassify.getOid();
List<DockingPreViewModel> dockingPreViewModels=new ArrayList<>();
@@ -420,16 +872,13 @@
* @return
* @throws VciBaseException
*/
- private List<Map<String, Object>> getViewValueList(DockingPreViewModel dockingPreViewModel,String jclassOid,BaseModelVO dataBusinessObject) throws Throwable{
+ private List<Map<String, Object>> getViewValueList(DockingPreViewModel dockingPreViewModel,String jclassOid,BaseModel dataBusinessObject) throws Throwable{
//鏋勯�犳ā鍨嬭鍥炬暟鎹�
List<Map<String, Object>> viewValueList=new ArrayList<Map<String,Object>>();
String oid = dockingPreViewModel.getOid();
Map<String,String> dataValueMap=dataBusinessObject.getData();
String codeClassifyId=dataValueMap.get("codeclsfid");
Map<String,String>conditionsMap=new HashMap<String, String>();
-
-
-
List<DockingPreAttrMapping> dockingPreAttrMappingList = dockingPreAttrMappingMapper.selectList(Wrappers.<DockingPreAttrMapping>query().lambda()
.eq(DockingPreAttrMapping::getSourceClassifyId, jclassOid).eq(DockingPreAttrMapping::getTargetClassifyId, codeClassifyId));
if(CollectionUtils.isEmpty(dockingPreAttrMappingList)) {
@@ -552,4 +1001,28 @@
}
return value;
}
+
+ private String getCodeState(String formState){
+ String msg="";
+ if("1".equals(formState)){
+ msg="闆嗗洟瀹℃牳涓�";
+ }else if("2".equals(formState)){
+ msg="椹冲洖";
+ }else if("3".equals(formState)){
+ msg="闆嗗洟瀹℃牳涓�";
+ }else if("4".equals(formState)){
+ msg="瀹℃牳缁撴潫锛岃祴鐮佸け璐�";
+ }else if("5".equals(formState)){
+ msg="瀹℃牳缁撴潫锛岃祴鐮佹垚鍔�";
+ }else if("6".equals(formState)){
+ msg="寰�301璧嬬爜";
+ }else if("7".equals(formState)){
+ msg="宸茶祴鐮�";
+ }else if("8".equals(formState)){
+ msg="宸茶祴鐮侊紙娌跨敤锛�";
+ }else if("9".equals(formState)){
+ msg="瀹℃牳涓�";
+ }
+ return msg;
+ }
}
--
Gitblit v1.9.3