From b47493e37a857208c47d1421edcad81260c734ce Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期五, 02 六月 2023 17:29:05 +0800
Subject: [PATCH] 修改树参照的懒加载
---
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java | 118 ++++++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 84 insertions(+), 34 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 90eaac9..fb328fa 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,6 +5,7 @@
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.vo.*;
import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
@@ -12,7 +13,6 @@
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.*;
@@ -88,6 +88,9 @@
*/
@Autowired(required = false)
private IDockingPreMetaAttrService dockingPreMetaAttrService;
+
+ @Autowired(required = false)
+ private IMdmEngineClient mdmEngineClient;
/***
* 涓绘暟鎹儚闆嗗洟鐢宠缂栫爜
* @param oids 闇�瑕佺敵璇风殑鏁版嵁涓婚敭鏁扮粍
@@ -100,20 +103,19 @@
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();
@@ -161,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
}
}
@@ -196,7 +198,7 @@
}
//淇濆瓨琛ㄥ崟鏁版嵁
dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings);
- //mdmEngineService.saveBatch(updateCbos);//淇濆瓨鏁版嵁
+ mdmEngineClient.insertBatchByType(btmName,updateCbos);//淇濆瓨鏁版嵁
}
return R.success("鐢宠鎺ュ彛璋冪敤鎴愬姛");
}catch (VciBaseException e){
@@ -219,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();
@@ -276,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
}
}
@@ -311,7 +312,7 @@
}
//淇濆瓨琛ㄥ崟鏁版嵁
dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings);
- //mdmEngineService.saveBatch(updateCbos);//淇濆瓨鏁版嵁
+ mdmEngineClient.insertBatchByType(btmName,updateCbos);//淇濆瓨鏁版嵁
}
return R.success("鐢宠鎺ュ彛璋冪敤鎴愬姛");
}catch (VciBaseException e){
@@ -326,7 +327,7 @@
* @throws VciBaseException
*/
@Override
- public R queryClassModel(String groupClassifyId) throws VciBaseException {
+ public R queryClassModel(String groupClassifyId) throws Throwable {
log.info("鑾峰彇闆嗗洟妯″瀷璇︾粏淇℃伅鎵ц淇濆瓨start");
String message="鎵ц鎴愬姛锛�";
try {
@@ -383,6 +384,7 @@
log.info(message);
throw new Throwable(message);
}
+
DockingModelQueryVO dockingModelQueryVO = new DockingModelQueryVO();
dockingModelQueryVO.setSysName(dockingApplySysName);
DockingQueryModelVO dockingQueryModelVO= mdmApplyGroupCodeProvider.queryMdmModel(dockingModelQueryVO);
@@ -419,7 +421,7 @@
dockingPreClassify.setPid(pid);
dockingPreClassify.setId(classNumber);
dockingPreClassify.setNodeLink(nodeLink);
- dockingPreClassify.setGetNodeLinkName(nodeLinkName);
+ dockingPreClassify.setNodeLinkName(nodeLinkName);
dockingPreClassify.setClassName(className);
dockingPreClassify.setVersionValue(version);
dockingPreClassifyList.add(dockingPreClassify);
@@ -450,6 +452,57 @@
return R.success(message);
}
+
+
+ /***
+ * 鏌ヨ鐢宠鍗曠姸鎬�
+ * @param dataOids
+ * @return 鎵ц缁撴灉
+ */
+ public R queryApplyState(String dataOids) {
+
+ String message="鎵ц鎴愬姛锛�";
+ log.info("鏌ヨ鐢宠鍗曠姸鎬佹帴鍙tatr");
+ try {
+ VciBaseUtil.alertNotNull(dataOids,"鎵�鏌ョ敵璇峰崟鏁版嵁涓婚敭");
+ VciBaseUtil.alertNotNull(dockingApplySysName,"绯荤粺鏍囪瘑閰嶇疆锛歞ocking.apply.unitCode");
+
+ List<DockingPreApplyForm> dockingPreApplyFormList= this.dockingPreApplyFormService.list(Wrappers.<DockingPreApplyForm>query().lambda().in(DockingPreApplyForm::getDataOid, VciBaseUtil.str2List(dataOids)));
+ dockingPreApplyFormList.stream().forEach(dockingPreApplyForm -> {
+ dockingPreApplyForm.getId();
+
+ });
+
+ }catch (Throwable e){
+ e.printStackTrace();;
+ log.error("鑾峰彇鏁版嵁妯″瀷澶辫触"+e);
+ R.fail(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());
+ }
+ }
/***
* 缁勭粐 淇濆瓨鏁版嵁鏂规硶
@@ -492,7 +545,7 @@
dockingPreClassify.setPid(pid);
dockingPreClassify.setId(classNumber);
dockingPreClassify.setNodeLink(nodeLink);
- dockingPreClassify.setGetNodeLinkName(nodeLinkName);
+ dockingPreClassify.setNodeLinkName(nodeLinkName);
dockingPreClassify.setClassName(className);
dockingPreClassifyArrayList.add(dockingPreClassify);
// 鑾峰彇瀵瑰簲鐨勫垎绫昏鍥炬ā鍨�
@@ -688,12 +741,12 @@
/**
* 缁勭粐鏁版嵁
* */
- 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();
@@ -734,7 +787,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));//鑾峰彇瑙嗗浘妯″瀷
@@ -757,7 +810,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<>();
@@ -786,16 +839,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)) {
--
Gitblit v1.9.3