From 353bc1b8b4650f144a65b9125457253051e68492 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期四, 06 七月 2023 18:44:23 +0800
Subject: [PATCH] 集成获取分类接口(包含编码规则码段码值信息)
---
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java | 191 +++++++++++++++++++++++++++++++++++++----------
1 files changed, 149 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 90eaac9..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.*;
@@ -55,20 +55,20 @@
* 闆嗗洟鍒嗙被鏈嶅姟
*/
@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;
/***
@@ -80,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 闇�瑕佺敵璇风殑鏁版嵁涓婚敭鏁扮粍
@@ -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.updateBatchByType(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.updateBatchByType(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 {
@@ -354,7 +355,7 @@
throw new Throwable(message);
}
}else{
- message="鏈幏浠庨泦鍥㈣幏鍙栧埌浠讳綍妯″瀷淇℃伅";
+ message="鏈粠闆嗗洟鑾峰彇鍒颁换浣曟ā鍨嬩俊鎭�";
log.info(message);
throw new Throwable(message);
}
@@ -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);
@@ -436,7 +438,7 @@
throw new Throwable(message);
}
}else{
- message="鏈幏浠庨泦鍥㈣幏鍙栧埌浠讳綍妯″瀷淇℃伅";
+ message="鏈粠闆嗗洟鑾峰彇鍒颁换浣曟ā鍨嬩俊鎭�";
log.info(message);
throw new Throwable(message);
}
@@ -450,6 +452,90 @@
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());
+ }
+ }
/***
* 缁勭粐 淇濆瓨鏁版嵁鏂规硶
@@ -492,7 +578,7 @@
dockingPreClassify.setPid(pid);
dockingPreClassify.setId(classNumber);
dockingPreClassify.setNodeLink(nodeLink);
- dockingPreClassify.setGetNodeLinkName(nodeLinkName);
+ dockingPreClassify.setNodeLinkName(nodeLinkName);
dockingPreClassify.setClassName(className);
dockingPreClassifyArrayList.add(dockingPreClassify);
// 鑾峰彇瀵瑰簲鐨勫垎绫昏鍥炬ā鍨�
@@ -688,12 +774,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 +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));//鑾峰彇瑙嗗浘妯″瀷
@@ -757,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<>();
@@ -786,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)) {
@@ -918,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