ludc
2024-03-25 41021633bfee5b5c9c57cb888423f3392c530f98
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feigh/MdmInterJtClient.java
@@ -1,7 +1,9 @@
package com.vci.ubcs.code.applyjtcodeservice.feigh;
import com.alibaba.cloud.commons.lang.StringUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.nacos.shaded.com.google.protobuf.ServiceException;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.vci.ubcs.code.applyjtcodeservice.entity.*;
import com.vci.ubcs.code.applyjtcodeservice.feign.IMdmInterJtClient;
@@ -11,11 +13,14 @@
import com.vci.ubcs.starter.revision.model.BaseModel;
import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
import com.vci.ubcs.starter.util.SaveLogUtil;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import org.springblade.core.tenant.annotation.NonDS;
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.transaction.annotation.Transactional;
@@ -35,8 +40,10 @@
@Data
@Slf4j
public class MdmInterJtClient implements IMdmInterJtClient {
   @Value("${docking.apply.partCoe:10}")
   public String partCoe;
   /**
    * 集团申请单服务
    */
@@ -56,10 +63,12 @@
    * 集团分类申请单服务
    */
   private final IDockingPreClassifyService dockingPreClassifyService;
   /***
    * 属性映射服务
    */
   private final IDockingPreAttrMappingService dockingPreAttrMappingService;
   /**
    * 集团取值范围申请单服务
    */
@@ -72,6 +81,9 @@
   @Autowired(required = false)
   private IMdmEngineClient mdmEngineClient;
   private final SaveLogUtil saveLogUtil;
   /***
    * 申请集团编码
    * @return
@@ -111,9 +123,7 @@
         return R.fail("集团码数据修改失败:"+e.getMessage());
      }
   }
   /*
    * 主数据业务服务
    */
   /**
    * 获取集团集团码,赋值到主数据
    * @param dockingReturnStoreVO
@@ -162,6 +172,7 @@
            } else if ("9".equals(formState)) {
               msg = "审核中";
            }
            msg = Func.isNotBlank(mainData.getExamineOpinion()) ? mainData.getExamineOpinion():msg;
            jcontent.put("applyId", applyId);
            jcontent.put("formState", formState);
            jcontent.put("customCoding", customCoding);
@@ -184,16 +195,23 @@
            String jdatabtmname = dockingPreApplyForm.getDataBtmName();
            if (res) {
               //此处需要查询业务数据,去更改
               BaseModel baseModel = new BaseModel();
               String classOid=baseModel.getData().getOrDefault("CODECLSFID","");
               if(partCoe.equals(classOid)){
                  baseModel.setId(10+customCoding);
               R<List<BaseModel>> R = mdmEngineClient.selectByTypeAndOid(jdatabtmname,jdataid);
               if(R.isSuccess()){
                  List<BaseModel> oldDatalist=new ArrayList<>();
                  List<BaseModel> newDatalist=R.getData();
                  if(!CollectionUtils.isEmpty(newDatalist)){
                     if(editObjectMap.containsKey(jdatabtmname)){
                        oldDatalist=editObjectMap.getOrDefault(jdatabtmname,new ArrayList<>());
                     }
                     BaseModel baseModel=oldDatalist.get(0);
                     //DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
                     baseModel.setLastModifyTime(new Date());
                     baseModel.getData().put("groupcode",customCoding);
                     log.info("申请单:"+applyId+",集团码:"+customCoding+"编码:"+baseModel.getId());
                     oldDatalist.add(baseModel);
                     editObjectMap.put(jdatabtmname,oldDatalist);
                  }
               }
               String btmeName=baseModel.getBtmname();
               baseModel.getData().put("groupcode",customCoding);
               log.info("申请单:"+applyId+",集团码:"+customCoding+"编码:"+baseModel.getId());
               editObjectMap.getOrDefault(btmeName,new ArrayList<>()).add(baseModel);
            }
         }
         if(!CollectionUtils.isEmpty(editObjectMap)) {
@@ -202,10 +220,14 @@
               mdmEngineClient.updateBatchBtypeDatas(btmName, modeList);
            });
         }
         dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList);
         if(!CollectionUtils.isEmpty(dockingPreApplyFormList)){
            dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList);
         }
         saveLogUtil.operateLog("申请单结果返回",false,JSON.toJSONString(dockingReturnStoreVO.getMainData()));
      }catch (Throwable e){
         e.printStackTrace();
         return R.fail("集团码集成赋值失败"+e);
         saveLogUtil.operateLog("申请单结果返回",true,"错误信息:"+e.getMessage()+"\n"+ JSON.toJSONString(dockingReturnStoreVO.getMainData()));
         return R.fail("集团码集成赋值失败,原因:"+e.getMessage());
      }
      log.info("获取集团集团码,赋值到主数据 end");
      return R.success("集团码赋值成功");
@@ -258,9 +280,9 @@
            if (dockingPreClassify == null|| StringUtils.isBlank(dockingPreClassify.getOid())) {
               dockingPreClassify = new DockingPreClassify();
               DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreClassify, MdmBtmTypeConstant.DOCKING_PRE_JCLASSIFY,null);
               DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreClassify, MdmBtmTypeConstant.DOCKING_PRE_JCLASSIFY);
            } else {
               DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreClassify,null);
               DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreClassify);
            }
            dockingPreClassify.setOid(id);
            dockingPreClassify.setName(className);
@@ -283,14 +305,14 @@
         throw new Throwable("存储视图模型出现问题");
      }
   }
   /***
    * 获取分类视图
    *
    * @param jclassObject
    * @throws Throwable
    */
   private void getVilewMode(DockingClassifyVO jclassObject, List<DockingClassifyViewVO> list)
      throws Throwable {
   private void getVilewMode(@NotNull DockingClassifyVO jclassObject, List<DockingClassifyViewVO> list) throws Throwable {
      String nodeLinkName = jclassObject.getNodeLinkName();
      try {
         String jclassId =StringUtils.isBlank(jclassObject.getId())?"":jclassObject.getId();
@@ -304,7 +326,7 @@
         for (DockingClassifyViewVO viewInfo : list) {
            String viewName =StringUtils.isBlank(viewInfo.getViewName())?"":viewInfo.getViewName();
            String impactList = StringUtils.isBlank(viewInfo.getImpactList())?"":viewInfo.getImpactList();
            String impactList = viewInfo.getImpactList() == null ? "" : viewInfo.getImpactList().get(0).get(0);
            log.info("VilewMode:-------------->视图名称:"+viewName);
            log.info("VilewMode:-------------->影响编码项:"+impactList);
            log.info("VilewMode:--------------> 集团分类主键:"+jclassId);
@@ -314,10 +336,10 @@
               jviewModelObject = jviewmodelMap.get(viewName);
               //影响编码项的数据
               jviewModelObject.setImpactList(impactList);
               DefaultAttrAssimtUtil.updateDefaultAttrAssimt(jviewModelObject,null);
               DefaultAttrAssimtUtil.updateDefaultAttrAssimt(jviewModelObject);
            } else {
               jviewModelObject =new DockingPreViewModel();
               DefaultAttrAssimtUtil.addDefaultAttrAssimt(jviewModelObject,MdmBtmTypeConstant.DOCKING_PRE_JVIEWMODEL,null);
               DefaultAttrAssimtUtil.addDefaultAttrAssimt(jviewModelObject,MdmBtmTypeConstant.DOCKING_PRE_JVIEWMODEL);
               jviewModelObject.setSourceClassifyId(jclassId);// 集团分类id
               jviewModelObject.setViewName(viewName);// 集团视图名称
               //影响编码项的数据
@@ -338,7 +360,6 @@
         throw new Throwable("组织分类" + nodeLinkName + "模型视图存储出现问题");
      }
   }
   /***
    * 获取模型视图属性
@@ -372,9 +393,9 @@
               dockingPreMetaAttr = jmetaattrMap.get(englishName);
               dockingPreMetaAttr.setChineseName(chineseName);
               dockingPreMetaAttr.setDefaultValue(defaultValue);
               DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreMetaAttr,null);
               DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreMetaAttr);
            } else {
               DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreMetaAttr,MdmBtmTypeConstant.DOCKING_PRE_JMETAATRR,null);
               DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreMetaAttr,MdmBtmTypeConstant.DOCKING_PRE_JMETAATRR);
               dockingPreMetaAttr.setSourceClassifyId(jclassId);// 集团分类id
               dockingPreMetaAttr.setViewModelId(jviewModelObject.getOid());// 集团视图模型id
               dockingPreMetaAttr.setChineseName(chineseName);// 属性名称
@@ -436,9 +457,9 @@
               rangeObject = rangeMap.get(rangeKey);
               rangeObject.setNumTextValue(keyValue);
               rangeObject.setNumText(rangeKey);
               DefaultAttrAssimtUtil.updateDefaultAttrAssimt(rangeObject,null);
               DefaultAttrAssimtUtil.updateDefaultAttrAssimt(rangeObject);
            } else {
               DefaultAttrAssimtUtil.addDefaultAttrAssimt(rangeObject,MdmBtmTypeConstant.DOCKING_PRE_JRANGE,null);
               DefaultAttrAssimtUtil.addDefaultAttrAssimt(rangeObject,MdmBtmTypeConstant.DOCKING_PRE_JRANGE);
               rangeObject.setNumTextValue(keyValue);
               rangeObject.setNumText(rangeKey);
               rangeObject.setTs(rangeObject.getLastModifyTime());