Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feigh/MdmInterJtClient.java
@@ -14,6 +14,7 @@
import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
import com.vci.ubcs.starter.util.SaveLogUtil;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
@@ -197,20 +198,34 @@
            if (res) {
               //此处需要查询业务数据,去更改
               R<List<BaseModel>> R = mdmEngineClient.selectByTypeAndOid(jdatabtmname,jdataid);
               // TODO:新增业务逻辑,需要根据集团返回的属性进行判断,如果集团对该属性进行了修改编码系统也就需要对属性进行修改
               if(R.isSuccess()){
                  List<BaseModel> oldDatalist=new ArrayList<>();
                  List<BaseModel> newDatalist=R.getData();
                  if(!CollectionUtils.isEmpty(newDatalist)){
                  List<BaseModel> newDatalist=new ArrayList<>();
                  List<BaseModel> oldDatalist=R.getData();
                  if(!CollectionUtils.isEmpty(oldDatalist)){
                     if(editObjectMap.containsKey(jdatabtmname)){
                        oldDatalist=editObjectMap.getOrDefault(jdatabtmname,new ArrayList<>());
                        newDatalist=editObjectMap.getOrDefault(jdatabtmname,new ArrayList<>());
                     }
                     BaseModel baseModel=oldDatalist.get(0);
                     //DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
                     baseModel.setLastModifyTime(new Date());
                     baseModel.getData().put("groupcode",customCoding);
                     baseModel.getData().put("GROUPCODE",customCoding);
                     // 1、取到集团返回的ViewInfos中编码视图中的属性
                     List<Map<String, Object>> viewValueList = mainData.getViewInfos().stream().filter(item -> item.getViewName().equals("编码视图")).map(DockingViewVO::getViewValue).findFirst().orElse(null);
                     // 2、比对属性是否和oldDatalist属性一致,不一致就需要更改
                     if(Func.isNotEmpty(viewValueList)){
                        // 3、需要将集团属性转换为我们系统的属性,再和我们系统的现有属性比对
                        String codeclsfid = VciBaseUtil.getMapStrValueIgnoreCase(baseModel.getData(),"CODECLSFID");
                        // 3.1、通过该条数据的分类id,拿到集团属性映射配置,用来将集团的属性映射到我们系统的属性
                        List<DockingPreAttrMapping> dockingPreAttrMappings = dockingPreAttrMappingService.selectByWrapper(Wrappers.<DockingPreAttrMapping>query().lambda().eq(DockingPreAttrMapping::getTargetClassifyId, codeclsfid).eq(DockingPreAttrMapping::getViewName,"编码视图"));
                        if(Func.isNotEmpty(dockingPreAttrMappings)){
                           //根据集团属性映射将集团转到我们系统,并修改不一致的到我们系统中对应的该条记录的值
                           sourceAttrKey2TargetKey(dockingPreAttrMappings, viewValueList.get(0), oldDatalist, baseModel);
                        }
                     }
                     log.info("申请单:"+applyId+",集团码:"+customCoding+"编码:"+baseModel.getId());
                     oldDatalist.add(baseModel);
                     editObjectMap.put(jdatabtmname,oldDatalist);
                     newDatalist.add(baseModel);
                     editObjectMap.put(jdatabtmname,newDatalist);
                  }
               }
            }
@@ -234,6 +249,37 @@
      return R.success("集团码赋值成功");
   }
   /**
    * 根据集团属性映射将集团转到我们系统
    * @param dockingPreAttrMappings
    * @param viewValueMap
    * @param oldDatalist
    * @param baseModel
    */
   private void sourceAttrKey2TargetKey(List<DockingPreAttrMapping> dockingPreAttrMappings,Map<String, Object> viewValueMap, List<BaseModel> oldDatalist,BaseModel baseModel){
      Map<String, Object> targetKeyMap = new HashMap<>();
      // 将集团属性转成我们系统属性的map
      dockingPreAttrMappings.stream().forEach(item->{
         targetKeyMap.put(item.getTargetAttrKey(),viewValueMap.get(item.getSourceAttrKey()));
      });
      // 比对baseModel的data中的属性是否和targetKeyMap不一致,不一致的话就需要将baseModel的data中的对应key的value值转成集团的
      boolean isEdit = false;
      for (Map.Entry<String, Object> entry : targetKeyMap.entrySet()) {
         String key = entry.getKey();
         Object targetValue = entry.getValue();
         String dataValue = baseModel.getData().get(key);
         if (targetValue != null && !targetValue.equals(dataValue)) {
            baseModel.getData().put(key, targetValue.toString());
            isEdit = true;
         }
      }
      // 集团对我们系统属性做了调整,我们需要对老的业务数据做记录
      if (isEdit) {
         baseModel.getData().put("oldbusinessdata", JSON.toJSONString(oldDatalist));
      }
   }
   /***
    * 接受集团分类主模型数据
    * @param dockingClassifyModelAttrVO