ludc
2024-04-13 becbe54034f5803eee6540f533be9eb35ef8b86e
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java
@@ -1,13 +1,14 @@
package com.vci.ubcs.code.applyjtcodeservice.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.vci.ubcs.code.applyjtcodeservice.service.*;
import com.vci.ubcs.code.feign.IMdmEngineClient;
import com.vci.ubcs.code.applyjtcodeservice.entity.*;
import com.vci.ubcs.code.applyjtcodeservice.service.IGroupMdmInterService;
import com.vci.ubcs.code.applyjtcodeservice.vo.*;
import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
import com.vci.ubcs.code.applyjtcodeservice.feign.MdmApplyGroupCodeProvider;
@@ -17,8 +18,10 @@
import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.map.CaseInsensitiveMap;
import org.springblade.core.secure.utils.AuthUtil;
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.stereotype.Service;
@@ -42,167 +45,243 @@
   private String msg="";
   @Value("${docking.apply.partCode:101}")
   public String partCode;
   @Value("${docking.apply.unitCode:41000}")
   @Value("${docking.apply.usedFlag:false}")
   public boolean usedFlag;
   @Value("${docking.apply.unitCode:4100}")
   public String dockingApplyUnitCode;
   @Value("${docking.apply.sysName:410-MDM}")
   public String dockingApplySysName;
   @Value("${docking.apply.personUserAccount:28201728}")
   public String applyCodeUserAccount;
   @Autowired(required = false)
   private MdmApplyGroupCodeProvider mdmApplyGroupCodeProvider;
   /***
    * 集团分类服务
    */
   @Autowired(required = false)
   private com.vci.ubcs.code.applyjtcodeservice.service.IDockingPreClassifyService dockingPreClassifyService;
   private IDockingPreClassifyService dockingPreClassifyService;
   /***
    * 申请单服务
    */
   @Autowired(required = false)
   private com.vci.ubcs.code.applyjtcodeservice.service.IDockingPreApplyFormService dockingPreApplyFormService;
   private IDockingPreApplyFormService dockingPreApplyFormService;
   /***
    * 模型视图单服务
    */
   @Autowired(required = false)
   private com.vci.ubcs.code.applyjtcodeservice.service.IDockingPreViewModelService dockingPreViewModelService;
   private IDockingPreViewModelService dockingPreViewModelService;
   /***
    * 集团分类属性属性映射配置服务
    */
   @Autowired(required = false)
   private DockingPreAttrMappingMapper dockingPreAttrMappingMapper;
   /***
    * 属性取值范围服务
    */
   @Autowired(required = false)
   private com.vci.ubcs.code.applyjtcodeservice.service.IDockingPreAttrRangeService dockingPreAttrRangeService;
   private IDockingPreAttrRangeService dockingPreAttrRangeService;
   /***
    * 集团属性服务
    */
   @Autowired(required = false)
   private com.vci.ubcs.code.applyjtcodeservice.service.IDockingPreMetaAttrService dockingPreMetaAttrService;
   private IDockingPreMetaAttrService dockingPreMetaAttrService;
   @Autowired(required = false)
   private IMdmEngineClient mdmEngineClient;
   /***
    * 主数据像集团申请编码
    * 主数据向集团申请编码
    * @param oids 需要申请的数据主键数组
    * @param btmName 业务类型
    * @return 返回结果信息
    * @throws Exception
    */
   @Transactional(rollbackFor = VciBaseException.class)
   @Override
   @Transactional(rollbackFor = Exception.class)
   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, "业务类型");
         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, BaseModel> baseModelMap = new HashMap<String, BaseModel>();
            //组织数据
            dockingGroupDataVO = queryApplycodeDataObjects(1, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelMap);
            DockingResultVO resultDataObject = mdmApplyGroupCodeProvider.receiveAddApply(dockingGroupDataVO);
            code = resultDataObject.getCode();
            msg = resultDataObject.getMsg();
            if ("1".equals(resultDataObject.getCode())) {//结果正确的情况
               List<DockingDataVO> dataObjectVOList = resultDataObject.getData();
               dataObjectVOList.stream().forEach(dataObject -> {
                  boolean isEditDatas = false;
                  String code2 = dataObject.getCode();
                  DockingMainDataVO data2 = dataObject.getData();
                  String applyId = data2.getApplyId();//申请单id
                  String customCoding = StringUtils.isBlank(data2.getCustomCoding()) ? "" : data2.getCustomCoding();//集团码段
                  msg = dataObject.getMsg();
                  if (code2.equals("1")) {//结果正确的情况
                     if (!"".equals(customCoding)) {
                        isEditDatas = true;
      if(usedFlag) {
         try {
            List<BaseModel> updateCbos = new ArrayList<BaseModel>();
            List<DockingPreApplyForm> dockingPreAttrMappings = new ArrayList<>();
            VciBaseUtil.alertNotNull(oids, "选择的数据");
            VciBaseUtil.alertNotNull(btmName, "业务类型");
            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, BaseModel> baseModelMap = new HashMap<String, BaseModel>();
               //数据库不存在的
               /*List<BaseModel> newDdataModelList = dataModelList.stream().filter(cbo -> {
                  String groupcode =cbo.getData().getOrDefault("GROUPCODE","");
                  return StringUtils.isBlank(groupcode);
               }).collect(Collectors.toList());
               if(newDdataModelList.size()==0)
                  return R.fail("申请接口调用成功,所有数据已经存在集团码");*/
               //组织数据
               dockingGroupDataVO = queryApplycodeDataObjects(1, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelMap);
               Object object = JSONObject.toJSON(dockingGroupDataVO);
               String resultStr = object.toString();
               log.info("申请集团码数据格式:->"+resultStr);
               DockingResultVO resultDataObject = new DockingResultVO();
               resultDataObject = mdmApplyGroupCodeProvider.receiveAddApply(dockingGroupDataVO);
               log.info("申请集团码返回结果:->"+JSONObject.toJSONString(resultDataObject));
               code = resultDataObject.getCode();
               msg = resultDataObject.getMsg();
               boolean res=false;
               if("1".equals(code)) {
                  //结果正确的情况
                  List<DockingDataVO> dataObjectVOList = resultDataObject.getData();
                  res=true;
                  dataObjectVOList.stream().forEach(dataObject -> {
                     boolean isEditDatas = false;
                     String code2 = dataObject.getCode();
                     DockingMainDataVO data2 = dataObject.getData();
                     String applyId = data2.getApplyId();//申请单id
                     BaseModel baseModel = baseModelMap.get(applyId);
                     String customCoding = StringUtils.isBlank(data2.getCustomCoding()) ? "" : data2.getCustomCoding();
                     msg = dataObject.getMsg();
                     if (code2.equals("1")) {//结果正确的情况
                        if (!"".equals(customCoding)) {
                           isEditDatas = true;
                        }
                     }
                  }
                  //需要修改的申请单数据
                  if (editDockingPreApplyFormMap.containsKey(applyId)) {
                     DockingPreApplyForm dockingPreApplyForm = editDockingPreApplyFormMap.get(applyId);
                     dockingPreApplyForm.setCode(code2);
                     //需要修改的申请单数据
                     if (editDockingPreApplyFormMap.containsKey(applyId)) {
                        DockingPreApplyForm dockingPreApplyForm = editDockingPreApplyFormMap.get(applyId);
                        dockingPreApplyForm.setCode(code2);
                        dockingPreApplyForm.setDescription(baseModel.getId());
                        dockingPreApplyForm.setMsg("申请:" + msg);
                        if(StringUtils.isBlank(dockingPreApplyForm.getGroupCode())) {
                           dockingPreApplyForm.setGroupCode(customCoding);
                        }else{
                           isEditDatas = true;
                           if (StringUtils.isBlank(customCoding)) {
                              customCoding=dockingPreApplyForm.getGroupCode();
                           }
                        }
                        ObjectMapper mp = new ObjectMapper();
                        String writeValueAsString = null;
                        try {
                           writeValueAsString = mp.writeValueAsString(dataObject);
                           dockingPreApplyForm.setContent(writeValueAsString);
                        } catch (JsonProcessingException e) {
                        }
                        Date date = new Date();
                        dockingPreApplyForm.setLastModifyTime(date);
                        dockingPreApplyForm.setTs(date);
                        dockingPreApplyForm.setLastModifier(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
                        //DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm);
                     }
                     //新增的申请单数据
                     if (addDockingPreApplyFormMap.containsKey(applyId)) {
                        DockingPreApplyForm dockingPreApplyForm = addDockingPreApplyFormMap.get(applyId);
                        dockingPreApplyForm.setCode(code2);
                        dockingPreApplyForm.setDescription(baseModel.getId());
                        dockingPreApplyForm.setMsg("申请:" + msg);
                        dockingPreApplyForm.setGroupCode(customCoding);
                        ObjectMapper mp = new ObjectMapper();
                        String writeValueAsString = null;
                        try {
                           writeValueAsString = mp.writeValueAsString(dataObject);
                           dockingPreApplyForm.setContent(writeValueAsString);
                        } catch (JsonProcessingException e) {
                        }
                        Date date = new Date();
                        dockingPreApplyForm.setCreateTime(date);
                        dockingPreApplyForm.setLastModifyTime(date);
                        dockingPreApplyForm.setLastModifier(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
                        dockingPreApplyForm.setCreator(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
                        dockingPreApplyForm.setBtmname(MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
                        dockingPreApplyForm.setTs(date);
                        // DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
                     }
                     //如果有集团码则更新数据
                     if (isEditDatas) {
                        if (baseModelMap.containsKey(applyId)) {
                           baseModel = baseModelMap.get(applyId);
                           //Map<String,String> dataValueMap=new CaseInsensitiveMap<>(baseModel.getData());
                           /*String classOid=baseModel.getId();
                           if(partCode.equals(classOid)){
                              baseModel.setId(10+customCoding);
                              customCoding=10+customCoding;
                           }*/
                           BeanUtilForVCI.copyDeclaredIgnoreCase(baseModel, baseModel);
                           Date date = new Date();
                           baseModel.setLastModifyTime(date);
                           baseModel.setTs(date);
                           baseModel.setLastModifier(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
                           //DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
                           baseModel.getData().put("GROUPCODE",customCoding);
                           updateCbos.add(baseModel);//更新数据集团code
                        }
                     }
                  });
               } else {
                  res=false;
                  Date date = new Date();
                  editDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> {
                     dockingPreApplyForm.setCode("2");
                     dockingPreApplyForm.setMsg("申请:" + msg);
                     dockingPreApplyForm.setGroupCode(customCoding);
                     ObjectMapper mp = new ObjectMapper();
                     String writeValueAsString = null;
                     try {
                        writeValueAsString = mp.writeValueAsString(dataObject);
                        dockingPreApplyForm.setContent(writeValueAsString);
                     } catch (JsonProcessingException e) {
                     }
                  }
                  //新增的申请单数据
                  if (addDockingPreApplyFormMap.containsKey(applyId)) {
                     DockingPreApplyForm dockingPreApplyForm = addDockingPreApplyFormMap.get(applyId);
                     dockingPreApplyForm.setCode(code2);
                     dockingPreApplyForm.setContent("");
                     dockingPreApplyForm.setGroupCode("");
                     dockingPreApplyForm.setCreateTime(date);
                     dockingPreApplyForm.setLastModifyTime(date);
                     dockingPreApplyForm.setBtmname(MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
                     dockingPreApplyForm.setLastModifier(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
                     dockingPreApplyForm.setCreator(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
                     dockingPreApplyForm.setTs(date);
                     //DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm);
                  });
                  addDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> {
                     dockingPreApplyForm.setCode("2");
                     dockingPreApplyForm.setMsg("申请:" + msg);
                     dockingPreApplyForm.setGroupCode(customCoding);
                     ObjectMapper mp = new ObjectMapper();
                     String writeValueAsString = null;
                     try {
                        writeValueAsString = mp.writeValueAsString(dataObject);
                        dockingPreApplyForm.setContent(writeValueAsString);
                     } catch (JsonProcessingException e) {
                     }
                  }
                  //如果有集团码则更新数据
                  if (isEditDatas) {
                     if (baseModelMap.containsKey(applyId)) {
                        BaseModel baseModel = baseModelMap.get(applyId);
                        BeanUtilForVCI.copyDeclaredIgnoreCase(baseModel, baseModel);
                        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
                        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
                        //baseModel.setId(customCoding);
                        baseModel.getData().getOrDefault("groupCode",customCoding);
                        updateCbos.add(baseModel);//更新数据集团code
                     }
                  }
               });
            } else {
               editDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> {
                  dockingPreApplyForm.setCode("2");
                  dockingPreApplyForm.setMsg("申请:" + msg);
                  dockingPreApplyForm.setContent("");
                  dockingPreApplyForm.setGroupCode("");
                  DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm);
               });
               addDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> {
                  dockingPreApplyForm.setCode("2");
                  dockingPreApplyForm.setMsg("申请:" + msg);
                  dockingPreApplyForm.setContent("");
                  dockingPreApplyForm.setGroupCode("");
                  DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
               });
                     dockingPreApplyForm.setContent("");
                     dockingPreApplyForm.setGroupCode("");
                     dockingPreApplyForm.setCreateTime(date);
                     dockingPreApplyForm.setLastModifyTime(date);
                     dockingPreApplyForm.setBtmname(MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
                     dockingPreApplyForm.setLastModifier(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
                     dockingPreApplyForm.setCreator(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
                     dockingPreApplyForm.setTs(date);
                     //DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
                  });
               }
               if (editDockingPreApplyFormMap.size() > 0) {
                  dockingPreAttrMappings.addAll(editDockingPreApplyFormMap.values());//添加申请单数据
               }
               if (addDockingPreApplyFormMap.size() > 0) {
                  dockingPreAttrMappings.addAll(addDockingPreApplyFormMap.values());//需要修改的申请单数据
               }
               //保存表单数据
               dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings);
               mdmEngineClient.updateBatchBtypeDatas(btmName, updateCbos);//保存数据
               if(!res){
                  throw new VciBaseException(msg);
               }
            }
            if (editDockingPreApplyFormMap.size() > 0) {
               dockingPreAttrMappings.addAll(editDockingPreApplyFormMap.values());//添加申请单数据
            }
            if (addDockingPreApplyFormMap.size() > 0) {
               dockingPreAttrMappings.addAll(addDockingPreApplyFormMap.values());//需要修改的申请单数据
            }
            //保存表单数据
            dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings);
            mdmEngineClient.updateBatchByType(btmName,updateCbos);//保存数据
            return R.success("申请接口调用成功");
         } catch (VciBaseException e) {
            return R.fail("申请接口调用失败" + e.getMessage());
         }
         return R.success("申请接口调用成功");
      }catch (VciBaseException e){
         return R.fail("申请接口调用失败"+e);
      }else{
         return R.fail("申请接口开关已关闭,不申请集团码");
      }
   }
@@ -213,16 +292,25 @@
    * @return 返回结果信息
    * @throws Throwable
    */
   @Transactional(rollbackFor = VciBaseException.class)
   @Override
   @Transactional(rollbackFor = Exception.class)
   public R receiveEditApply(String oids, String btmName) throws VciBaseException {
      List<BaseModel> updateCbos=new ArrayList<BaseModel>();
      List<DockingPreApplyForm> dockingPreAttrMappings=new ArrayList<>();
      VciBaseUtil.alertNotNull(oids,"选择的数据");
      VciBaseUtil.alertNotNull(btmName,"业务类型");
      if(!usedFlag) {
         log.info("更新接口功能已关闭!->"+usedFlag);
         R.success("更新接口功能已关闭!");
      }
      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<BaseModel> dataModelList = new ArrayList<>();
      try {
         R<List<BaseModel>> listR = mdmEngineClient.selectByTypeAndOid(btmName, oids);
         if(listR.getData().size() == 0){
            return R.fail("为查询到相关业务数据!");
         }
         dataModelList = listR.getData();
         if (!CollectionUtils.isEmpty(dataModelList)) {
            DockingGroupDataVO dockingGroupDataVO = new DockingGroupDataVO();
            //申请单和申请单对象关系
@@ -253,7 +341,9 @@
                     DockingPreApplyForm dockingPreApplyForm = editDockingPreApplyFormMap.get(applyId);
                     dockingPreApplyForm.setCode(code2);
                     dockingPreApplyForm.setMsg("修改:" + msg);
                     dockingPreApplyForm.setGroupCode(customCoding);
                     if(StringUtils.isBlank(dockingPreApplyForm.getGroupCode())) {
                        dockingPreApplyForm.setGroupCode(customCoding);
                     }
                     ObjectMapper mp = new ObjectMapper();
                     String writeValueAsString = null;
                     try {
@@ -261,13 +351,20 @@
                        dockingPreApplyForm.setContent(writeValueAsString);
                     } catch (JsonProcessingException e) {
                     }
                     Date date = new Date();
                     dockingPreApplyForm.setLastModifyTime(date);
                     dockingPreApplyForm.setTs(date);
                     dockingPreApplyForm.setLastModifier(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
                     //DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm);
                  }
                  //新增的申请单数据
                  if (addDockingPreApplyFormMap.containsKey(applyId)) {
                     DockingPreApplyForm dockingPreApplyForm = addDockingPreApplyFormMap.get(applyId);
                     dockingPreApplyForm.setCode(code2);
                     dockingPreApplyForm.setMsg("修改:" + msg);
                     dockingPreApplyForm.setGroupCode(customCoding);
                     if(StringUtils.isBlank(dockingPreApplyForm.getGroupCode())) {
                        dockingPreApplyForm.setGroupCode(customCoding);
                     }
                     ObjectMapper mp = new ObjectMapper();
                     String writeValueAsString = null;
                     try {
@@ -275,15 +372,31 @@
                        dockingPreApplyForm.setContent(writeValueAsString);
                     } catch (JsonProcessingException e) {
                     }
                     Date date = new Date();
                     dockingPreApplyForm.setCreateTime(date);
                     dockingPreApplyForm.setLastModifyTime(date);
                     dockingPreApplyForm.setBtmname(MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
                     dockingPreApplyForm.setTs(date);
                     dockingPreApplyForm.setLastModifier(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
                     dockingPreApplyForm.setCreator(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
                     //DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
                  }
                  //如果有集团码则更新数据
                  if (isEditDatas) {
                     if (baseModelMap.containsKey(applyId)) {
                        BaseModel baseModel = baseModelMap.get(applyId);
                        //BeanUtilForVCI.copyDeclaredIgnoreCase(baseModelVO, baseModel);
                        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
                     //   baseModel.setId(customCoding);
                        baseModel.getData().getOrDefault("groupCode",customCoding);
                        /*String classOid=baseModel.getData().getOrDefault("CODECLSFID","");
                        if(partCode.equals(classOid)){
                           baseModel.setId(10+customCoding);
                        }*/
                        Date date = new Date();
                        baseModel.setLastModifyTime(date);
                        baseModel.setTs(date);
                        baseModel.setLastModifier(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
                        //DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
                        //baseModel.setId(customCoding);
                        baseModel.getData().put("GROUPCODE", customCoding);
                        updateCbos.add(baseModel);//更新数据集团code
                     }
                  }
@@ -294,14 +407,25 @@
                  dockingPreApplyForm.setMsg("修改:" + msg);
                  dockingPreApplyForm.setContent("");
                  dockingPreApplyForm.setGroupCode("");
                  DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm);
                  Date date = new Date();
                  dockingPreApplyForm.setLastModifyTime(date);
                  dockingPreApplyForm.setTs(date);
                  dockingPreApplyForm.setLastModifier(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
                  //DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm);
               });
               addDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> {
                  dockingPreApplyForm.setCode("2");
                  dockingPreApplyForm.setMsg("修改:" + msg);
                  dockingPreApplyForm.setContent("");
                  dockingPreApplyForm.setGroupCode("");
                  DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
                  Date date = new Date();
                  dockingPreApplyForm.setCreateTime(date);
                  dockingPreApplyForm.setLastModifyTime(date);
                  dockingPreApplyForm.setTs(date);
                  dockingPreApplyForm.setBtmname(MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
                  dockingPreApplyForm.setLastModifier(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
                  dockingPreApplyForm.setCreator(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount());
                  //DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
               });
            }
            if (editDockingPreApplyFormMap.size() > 0) {
@@ -312,11 +436,11 @@
            }
            //保存表单数据
            dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings);
            mdmEngineClient.updateBatchByType(btmName,updateCbos);//保存数据
            mdmEngineClient.updateBatchBtypeDatas(btmName, updateCbos);//保存数据
         }
         return R.success("申请接口调用成功");
      }catch (VciBaseException e){
         return R.fail("申请接口调用失败"+e.getMessage());
         return R.success("更新接口调用成功");
      } catch (VciBaseException e) {
         return R.fail("更新接口调用失败" + e.getMessage());
      }
   }
@@ -330,6 +454,10 @@
   public R queryClassModel(String groupClassifyId) throws Throwable {
      log.info("获取集团模型详细信息执行保存start");
      String message="执行成功!";
      if(!usedFlag){
         log.info("获取集团模型详细信息执行保存功能已关闭!->"+usedFlag);
         return R.fail("获取集团模型详细信息接口已关闭!");
      }
      try {
         if (StringUtils.isBlank(groupClassifyId)) {
            message = "参数:集团分类主键,为空!";
@@ -354,19 +482,19 @@
               log.info(message);
               throw new Throwable(message);
            }
         }else{
            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);
      } catch (Throwable e) {
         e.printStackTrace();
         log.error("获取数据模型详细信息失败" + e);
         return R.fail(message);
      }finally {
         log.info("获取集团模型详细信息执行保存end");
      }
      log.info("获取集团模型详细信息执行保存end");
      return R.success(message);
   }
   /***
@@ -378,6 +506,10 @@
   public R queryMdmModel() throws Throwable {
      String message="执行成功!";
      log.info("从集团获取主模型信息执行保存接口statr");
      if(!usedFlag){
         log.info("从集团获取主模型信息执行保存接口功能已关闭!->"+usedFlag);
         return R.fail("查询模型视图接口已关闭!");
      }
      try {
         if (StringUtils.isBlank(dockingApplySysName)) {
            message = "获取系统标识" + dockingApplySysName + "为空,请查看配置!";
@@ -426,7 +558,7 @@
                  dockingPreClassify.setVersionValue(version);
                  dockingPreClassifyList.add(dockingPreClassify);
               });
               boolean res=   dockingPreClassifyService.saveOrUpdateBatch(dockingPreClassifyList);
               boolean res = dockingPreClassifyService.saveOrUpdateBatch(dockingPreClassifyList);
               if(res){
                  R.success(message);
               }else{
@@ -444,15 +576,13 @@
         }
         return R.success(message);
      }catch (Throwable e){
         e.printStackTrace();;
         e.printStackTrace();
         log.error("获取数据模型失败"+e);
         R.fail(message);
      }
      log.info("从集团获取主模型信息执行保存接口end");
      return R.success(message);
   }
   /***
    * 查询申请单状态
@@ -461,9 +591,12 @@
    */
   @Override
   public R queryApplyState(String dataOids) throws VciBaseException {
      if(!usedFlag){
         log.info("查询申请单状态接口开关已关闭");
         return R.fail("查询申请单状态接口开关已关闭");
      }
      String message="执行成功!";
      log.info("查询申请单状态接口statr");
      log.info("查询申请单状态接口start");
      try {
         VciBaseUtil.alertNotNull(dataOids,"所查申请单数据主键");
         VciBaseUtil.alertNotNull(dockingApplySysName,"系统标识配置:docking.apply.unitCode");
@@ -478,13 +611,19 @@
         DockingModelQueryVO dockingModelQueryVO=new DockingModelQueryVO();
         dockingModelQueryVO.setApplyNums(VciBaseUtil.array2String(applyIdList.toArray(new String[]{})));
         dockingModelQueryVO.setSysName(dockingApplySysName);
         DockingApplyFormQueryStatusVO dockingApplyFormQueryStatusVO=mdmApplyGroupCodeProvider.queryApplyState(dockingModelQueryVO);
         DockingApplyFormQueryStatusVO dockingApplyFormQueryStatusVO = mdmApplyGroupCodeProvider.queryApplyState(dockingModelQueryVO);
         if(Func.isEmpty(dockingApplyFormQueryStatusVO)){
            log.error("获取申请单为空!");
            return R.fail("没有获取到相关数据信息!");
         }
         int code=dockingApplyFormQueryStatusVO.getCode();
         String mesg=dockingApplyFormQueryStatusVO.getMsg();
         if(code==1){
            message=mesg;
            List<DockingApplyFormStatusVO> dockingApplyFormStatusVOList=dockingApplyFormQueryStatusVO.getData();
            if(CollectionUtils.isEmpty(dockingApplyFormStatusVOList)){
            if(!CollectionUtils.isEmpty(dockingApplyFormStatusVOList)){
               for (DockingApplyFormStatusVO applyFormDataState : dockingApplyFormStatusVOList) {
                  String applyId=applyFormDataState.getApplyNum();
                  String state= applyFormDataState.getFormState();
@@ -495,21 +634,24 @@
                     applyFormObject.setMsg(jmsg);
                  }
               }
               boolean res=this.dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList);
               if(res){
                  R.success("申请集团码状态查询成功:"+mesg);
               }
               boolean res =  this.dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList);
            }else{
               throw new Throwable("没有获取到相关数据信息");
            }
         }else{
            throw new   Throwable(mesg);
            message=mesg;
            dockingPreApplyFormList.stream().forEach(dockingPreApplyForm -> {
               dockingPreApplyForm.setMsg("申请单查看失败:"+mesg);
            });
            this.dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList);
            throw new Throwable(message);
         }
      }catch (Throwable e){
         e.printStackTrace();;
         e.printStackTrace();
         //message=""+e;
         log.error("获取申请单状态失败"+e);
         throw  new VciBaseException(message);
         throw new VciBaseException(e.getMessage());
      }
      log.info("查询申请单状态接口end");
      return R.success(message);
@@ -524,10 +666,14 @@
    */
   @Override
   public R syncClassifyModel(String classifyId, String operationType) throws VciBaseException {
      if(!usedFlag){
         log.info("同步集团模型信息开关已关闭");
         return R.fail("同步集团模型信息开关已关闭");
      }
      VciBaseUtil.alertNotNull(operationType,"集成操作类型");
      try {
         if(operationType.equals("all")){
            return   queryMdmModel();
            return queryMdmModel();
         }else{
            VciBaseUtil.alertNotNull(classifyId,"集团分类主键");
            return queryClassModel(classifyId);
@@ -548,9 +694,9 @@
    */
   private boolean saveDatas(DockingQueryClassModelVO dockingQueryClassifyModelVO) throws Throwable {
      try {
         DockingClassifyMainVO mainData = dockingQueryClassifyModelVO.getMainData();
         List<DockingClassifyVO> classList = mainData.getClassList();
         Map<String,List<DockingClassifyViewVO>>classInfoMap = mainData.getClassInfos();
         DockingClassifyMainVO data = dockingQueryClassifyModelVO.getData();
         List<DockingClassifyVO> classList = data.getClassList();
         Map<String,List<DockingClassifyViewVO>>classInfoMap = data.getClassInfos();
         ////initVCIInvocationInfo("1");
         List<DockingPreClassify> dockingPreClassifyArrayList=new ArrayList<>();
         for (DockingClassifyVO jclassObject : classList) {
@@ -569,6 +715,7 @@
            log.info("classify:-------------->链接名称:"+nodeLinkName);
            if (dockingPreClassify == null || StringUtils.isBlank(dockingPreClassify.getOid())) {
               dockingPreClassify=new DockingPreClassify();
               DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreClassify,MdmBtmTypeConstant.DOCKING_PRE_JCLASSIFY);
            } else {
               DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreClassify);
@@ -609,14 +756,14 @@
         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));// 根据分类查询模型视图对象
         List<DockingPreViewModel> dockingPreViewModelList= dockingPreViewModelService.list(Wrappers.<DockingPreViewModel>query().lambda().eq(DockingPreViewModel::getSourceClassifyId,jclassId));// 根据分类查询模型视图对象
         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();
            String impactList = viewInfo.getImpactList() == null ? "" : viewInfo.getImpactList().get(0)==null||viewInfo.getImpactList().get(0).size()==0?"":viewInfo.getImpactList().get(0).get(0);
            log.info("VilewMode:-------------->视图名称:"+viewName);
            log.info("VilewMode:-------------->影响编码项:"+impactList);
            log.info("VilewMode:--------------> 集团分类主键:"+jclassId);
@@ -651,7 +798,6 @@
      }
   }
   /***
    * 获取模型视图属性
    * @throws Throwable
@@ -664,7 +810,7 @@
            .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));
            s -> com.alibaba.cloud.commons.lang.StringUtils.isNotBlank(s.getEnglishName())).collect(Collectors.toMap(s -> s.getEnglishName(), t -> t));
         for (DockingClassifyMetaAttrVO dockingClassifyMetaAttrVO : metaList) {
            String chineseName = com.alibaba.cloud.commons.lang.StringUtils.isBlank(dockingClassifyMetaAttrVO.getChineseName())?"":dockingClassifyMetaAttrVO.getChineseName();// 属性名称
@@ -709,6 +855,8 @@
               List<DockingClassifyMetaAttrVO> childMetaList = new ArrayList<>();
               childMetaList.add(compositeMeta);
               getMetaAttrObject(childMetaList, jclassId,jviewModelObject, pid,allDockingPreMetaAttrList);
            }else{
               allDockingPreMetaAttrList.add(dockingPreMetaAttr);
            }
         }
@@ -731,6 +879,7 @@
    */
   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 {
@@ -738,7 +887,9 @@
         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));
         log.info("获取属性美剧 属性id------->"+metaAttrOid);
         //rangeMap= jmetaattrList.stream().collect(Collectors.toMap(s ->StringUtils.isNotBlank(s.getNumText())?"":s.getNumText(), t -> t));
         rangeMap=jmetaattrList.stream().filter(data -> data != null && StringUtils.isNotBlank(data.getNumText())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getNumText(), t -> t));
         for (String rangeKey : range.keySet()) {
            DockingPreAttrRange rangeObject = new DockingPreAttrRange();
@@ -768,47 +919,55 @@
      }
   }
   /**
    * 组织数据
    * */
   private DockingGroupDataVO queryApplycodeDataObjects(int optationtype,List<BaseModel>  codeWupins,Map<String,DockingPreApplyForm>   addDockingPreApplyFormMap,Map<String,DockingPreApplyForm>  editDockingPreApplyFormMap,Map<String,BaseModel>  codeWupinMap) throws VciBaseException{
    * @param optationtype
    * @param codeWupins
    * @param addDockingPreApplyFormMap
    * @param editDockingPreApplyFormMap
    * @param codeWupinMap
    * @return
    * @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();
         // TODO:主数据推送过来的数据是拿不到可以申请集团码的用户信息的,并且这一块儿的逻辑也还没敲定,所以这儿采用配置的用户来申请集团码
         String curUserName = Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount();
         //申请的数据
         List<DockingMainData> mainDataList=new ArrayList<DockingMainData>();
         for (BaseModel dataBusinessObject : codeWupins) {
            String format = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
            String codeclsfid = dataBusinessObject.getData().getOrDefault("codeclsfid","");
            //String codeclsfid = dataBusinessObject.getData().getOrDefault("codeclsfid".toUpperCase(Locale.ROOT),"");
             Map<String,String> dataMap=new CaseInsensitiveMap<>(dataBusinessObject.getData());
            String codeclsfid=dataMap.getOrDefault("codeclsfid","");
            String btmName = dataBusinessObject.getBtmname();
            String oid = dataBusinessObject.getOid();
            DockingPreApplyForm dockingPreApplyForm = new DockingPreApplyForm();
            String dataOid = dataBusinessObject.getOid();
            Map<String, String> conditionsMap = new HashMap<String, String>();
            List<DockingPreApplyForm> applyFormObjects = dockingPreApplyFormService.list(Wrappers.<DockingPreApplyForm>query().lambda().eq(DockingPreApplyForm::getDataOid, dataOid).eq(DockingPreApplyForm::getOperationType, optationtype));
            String apllyCode = "";
            if (!CollectionUtils.isEmpty(applyFormObjects)) {
            // String dataOid = dataBusinessObject.getOid();
            // Map<String, String> conditionsMap = new HashMap<String, String>();
            // List<DockingPreApplyForm> applyFormObjects = dockingPreApplyFormService.list(Wrappers.<DockingPreApplyForm>query().lambda().eq(DockingPreApplyForm::getDataOid, dataOid).eq(DockingPreApplyForm::getOperationType, optationtype));
            // DockingPreApplyForm dockingPreApplyForm=new DockingPreApplyForm();
            String applyCode = "";
            /*if (!CollectionUtils.isEmpty(applyFormObjects)) {
               dockingPreApplyForm = applyFormObjects.get(0);
               apllyCode = dockingPreApplyForm.getId();
               editDockingPreApplyFormMap.put(apllyCode, dockingPreApplyForm);//申请单和申请单对象关系
            } else {
               apllyCode = dockingApplyUnitCode + "-" + format;
               dockingPreApplyForm.setId(apllyCode);
               applyCode = dockingPreApplyForm.getId();
               editDockingPreApplyFormMap.put(applyCode, dockingPreApplyForm);//申请单和申请单对象关系
            } else {*/
               applyCode = dockingApplyUnitCode + "-" + format;
               dockingPreApplyForm.setId(applyCode);
               dockingPreApplyForm.setName("");
               dockingPreApplyForm.setOperationType(optationtype+"");
               dockingPreApplyForm.setDescription(dataBusinessObject.getDescription());//获取数据描述信息
               dockingPreApplyForm.setDescription(dataBusinessObject.getId());//获取数据描述信息
               dockingPreApplyForm.setDataOid(oid);
               dockingPreApplyForm.setDataBtmName(btmName);
               addDockingPreApplyFormMap.put(apllyCode, dockingPreApplyForm);//申请单和申请单对象关系
            }
               addDockingPreApplyFormMap.put(applyCode, dockingPreApplyForm);//申请单和申请单对象关系
            //   }
            codeWupinMap.put(apllyCode, dataBusinessObject);//申请单和对应数据关系
            conditionsMap = new HashMap<String, String>();
            conditionsMap.put("jtargetclsfid", codeclsfid);//视图oid
            //申请单和对应数据关系
            codeWupinMap.put(applyCode, dataBusinessObject);
            // conditionsMap = new HashMap<String, String>();
            // conditionsMap.put("jtargetclsfid", codeclsfid);//视图oid
            List<DockingPreAttrMapping> dockingPreAttrMappingList = dockingPreAttrMappingMapper.selectList(Wrappers.<DockingPreAttrMapping>query().lambda().eq(DockingPreAttrMapping::getTargetClassifyId, codeclsfid));
            if (CollectionUtils.isEmpty(dockingPreAttrMappingList)) {
@@ -819,21 +978,29 @@
            DockingPreClassify dockingPreClassify = dockingPreClassifyService.getById(jsourceclsfid);
            DockingMainData mainData = new DockingMainData();
            mainData.setApplyEntId(dockingApplyUnitCode);//申请单位代码
            mainData.setApplyId(apllyCode);//申请单号
            mainData.setApplyId(applyCode);//申请单号
            mainData.setClassName(dockingPreClassify.getNodeLinkName());//分类名称
            mainData.setCreateBy(curUserName);//
            mainData.setSecretLevel("内部");//密级,默认为内部
            mainData.setViewInfos(getviewInfos(optationtype,dockingPreClassify, dataBusinessObject));//获取视图模型
            if(optationtype==2) {
               String groucode=dataBusinessObject.getData().getOrDefault("GROUPCODE","");
               dockingPreApplyForm.setGroupCode(groucode);
               mainData.setCustomCoding(groucode);
            }
            //密级,默认为内部
            mainData.setSecretLevel("内部");
            //获取视图模型
            mainData.setViewInfos(getviewInfos(optationtype,dockingPreClassify, dataBusinessObject));
            mainDataList.add(mainData);
         }
         //根据数据模型,组织所需要数据
         DockingGroupDataVO postParameters=new DockingGroupDataVO();
         postParameters.setSysName(dockingApplySysName);//系统标识
         DockingGroupDataVO postParameters = new DockingGroupDataVO();
         //系统标识
         postParameters.setSysName(dockingApplySysName);
         postParameters.setMainData(mainDataList);//
         return postParameters;
      } catch (Throwable e) {
         // TODO Auto-generated catch block
         throw new VciBaseException("查询数据出错"+e);
         throw new VciBaseException("查询数据出错,原因:"+e.getMessage());
      }
   }
@@ -876,7 +1043,7 @@
      //构造模型视图数据
      List<Map<String, Object>> viewValueList=new ArrayList<Map<String,Object>>();
      String oid = dockingPreViewModel.getOid();
      Map<String,String> dataValueMap=dataBusinessObject.getData();
      Map<String,String> dataValueMap=new CaseInsensitiveMap<>(dataBusinessObject.getData());
      String codeClassifyId=dataValueMap.get("codeclsfid");
      Map<String,String>conditionsMap=new HashMap<String, String>();
      List<DockingPreAttrMapping> dockingPreAttrMappingList = dockingPreAttrMappingMapper.selectList(Wrappers.<DockingPreAttrMapping>query().lambda()
@@ -898,19 +1065,29 @@
         String jenglishname=dockingPreMetaAttr.getEnglishName();////集团配置属性
         if(jintegmappconfigMap.containsKey(jenglishname)){
            DockingPreAttrMapping dockingPreAttrMapping=jintegmappconfigMap.get(jenglishname);
            String attrId = dockingPreAttrMapping.getTargetAttrId();//编码属性id
            // String attrId = dockingPreAttrMapping.getTargetAttrId();//编码属性id
            String jtargetattrkey = dockingPreAttrMapping.getTargetAttrKey();//编码属性id
            Object newVaue=null;
            if(StringUtils.isNotBlank(jtargetattrkey)){
               getAttrRange(dockingPreMetaAttr);//获取字段取值范围
               String value=dataValueMap.get(jtargetattrkey)==null?"":dataValueMap.getOrDefault(jtargetattrkey,"");
               String value="";
               if(jtargetattrkey.toLowerCase(Locale.ROOT).equals("name")){
                  value=dataBusinessObject.getName();
               }else if(jtargetattrkey.toLowerCase(Locale.ROOT).equals("id")){
                  value=dataBusinessObject.getId();
               }else if(jtargetattrkey.toLowerCase(Locale.ROOT).equals("description")){
                  value=dataBusinessObject.getDescription();
               }else{
                  value=dataValueMap.get(jtargetattrkey)==null?"":dataValueMap.getOrDefault(jtargetattrkey,"");
               }
               newVaue = getVaue(dockingPreMetaAttr, value);
            }else{
               newVaue = getVaue(dockingPreMetaAttr, "");
            }
            if(newVaue==null||"".equals(newVaue)){
            if(newVaue==null || "".equals(newVaue)){
               newVaue= dockingPreMetaAttr.getDefaultValue();
            }
            //newVaue= Func.isNotEmpty(newVaue)?newVaue:"";
            viewValueMap.put(jenglishname, newVaue);
         }
      }
@@ -923,23 +1100,26 @@
    * 获取属性枚举映射配置
    */
   Map<String,Map<String, DockingPreAttrRange>> attrRangeMap=new HashMap<String, Map<String,DockingPreAttrRange>>();
   private void getAttrRange(DockingPreMetaAttr jmetaatter) throws Throwable{
      String jmetalistoid = jmetaatter.getOid();
      if(attrRangeMap.containsKey(jmetalistoid)) {
         return;
      }
      Map<String,String>conditionsMap=new HashMap<String, String>();
      conditionsMap.put("jmetalistid", jmetalistoid);//视图oid
      // Map<String,String>conditionsMap=new HashMap<String, String>();
      // conditionsMap.put("jmetalistid", jmetalistoid);//视图oid
      List<DockingPreAttrRange> dockingPreAttrRangeList = dockingPreAttrRangeService.selectByWrapper(Wrappers.<DockingPreAttrRange>query().lambda().eq(DockingPreAttrRange::getMetaListId, jmetalistoid));
      if (CollectionUtils.isEmpty(dockingPreAttrRangeList)) {
         return;
      }
      Map<String, DockingPreAttrRange> rangeMap = new HashMap<String, DockingPreAttrRange>();
      rangeMap = dockingPreAttrRangeList.stream().collect(Collectors.toMap(s -> s.getNumTextValue(), t -> t, (o1, o2) -> o2));
      // TODO: 这儿存内部存储值,无法在后续进行转换
      rangeMap = dockingPreAttrRangeList.stream().collect(Collectors.toMap(s -> s.getTargetNumText(), t -> t, (o1, o2) -> o2));
      attrRangeMap.put(jmetalistoid, rangeMap);
   }
   /****
    * 值类型转换
    * @param jmetaatter
@@ -976,7 +1156,7 @@
            return null;
         }else {
            try {
               return simpleDateFormat.parse(value);
               return simpleDateFormat.format(simpleDateFormat.parse(value));
            } catch (ParseException e) {
               throw new VciBaseException("date", new String[]{"日期格式转换错误"});
            }
@@ -987,7 +1167,7 @@
            return null;
         }else{
            try {
               return simpleDateFormat.parse(value);
               return simpleDateFormat.format(simpleDateFormat.parse(value));
            } catch (ParseException e) {
               throw new VciBaseException("date", new String[]{"日期格式转换错误"});
            }
@@ -1025,4 +1205,5 @@
      }
      return msg;
   }
}