ludc
2023-08-23 e608073f05f955bf168a5e42ecfb8200b57a77e3
Merge remote-tracking branch 'origin/master'
已修改16个文件
已删除1个文件
已添加2个文件
340 ■■■■■ 文件已修改
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyPanelFor410ActionListener.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feign/IMdmInterJtClient.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/com/vci/ubcs/code/applyjtcodeservice/vo/DockingApplyGroupCode.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/data/data.json 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingLogeDO.java 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemConfigDTO.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSystemConfigVO.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/result/xml/XMLResultDataObjectDetailDO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/Scheduling/DockingApplyGroupCodeSyncScheduling.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/controller/DockingPreApplyCodeController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feigh/MdmInterJtClient.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/Scheduling/DockingClassSyncScheduling.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/Scheduling/DockingDataSyncScheduling.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplySwingController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingSystemConfigMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyPanelFor410ActionListener.java
@@ -110,15 +110,28 @@
            codeOrderSecDTO.setSecValue(keyValue.getValue());
            secDTOList.add(codeOrderSecDTO);
        });
        codeOrderDTO.setLcStatus("Released");
        codeOrderDTO.setSecDTOList(secDTOList);
        codeOrderDTO.setData(dataMap);
        Object object = JSONObject.toJSON(codeOrderDTO);
        Map<String,String> headerMap=new HashMap<>();
        headerMap.put("content-type","application/json");
        headerMap.put("Blade-Auth",this.owner.getTokenUserObject().getAccess_token());
        R r= HttpUtil.sendPost(url+"/addSaveCode",object.toString(),headerMap);
        //R r= HttpUtil.sendPost(url+"/addSaveCode",object.toString(),headerMap);
        String code="";
        //校验关键属性存在的数据直接返回编码
        R checkKeyAttrOnOrderR= HttpUtil.sendPost(url+"/checkKeyAttrOnOrderFordatas",object.toString(),headerMap);
        if(checkKeyAttrOnOrderR.isSuccess()){
            List<Map> list=(List)checkKeyAttrOnOrderR.getData();
            if(!CollectionUtils.isEmpty(list)) {
                code=list.get(0).get("ID")!=null?list.get(0).get("ID").toString():"";
                this.owner.setApplyCode(code);
                this.owner.getApplyTxt().requestFocusInWindow();
                this.owner.getApplyTxt().selectAll();
                this.owner.setAttrNameAndValMap(attrNameAndValMap);
                return;
            }
        }
        R r= HttpUtil.sendPost(url+"/addSaveCode",object.toString(),headerMap);
        if(r.isSuccess()){
            code=r.getData().toString();
            this.owner.setApplyCode(code);
Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feign/IMdmInterJtClient.java
@@ -19,13 +19,30 @@
    value = "ubcs-code"
)
public interface IMdmInterJtClient {
    String API_PREFIX = "/mdmInterService";
    String APPLYGROUPCODE = API_PREFIX + "/applyGroupCode";
    String RETURNGROUPCODE = API_PREFIX + "/getApplyGroupCode";
    String PUBMDMMODEL = API_PREFIX + "/pubMdmModel";
    String RECEIVE_EDITAPPLY =API_PREFIX + "/receiveEditApply";
    /***
     * å°†é›†å›¢ç”³è¯·æˆåŠŸçš„ç¼–ç å­˜å…¥ç›¸å…³æ•°æ®ä¹‹ä¸­
     * @param oids
     * @param btmName
     * @return è¿”回存储是否成功信息
     */
    @GetMapping(APPLYGROUPCODE)
    public R applyGroupCode(String oids,String btmName);
    /***
     * é›†å›¢ç¼–码数据修改
     * @param oids
     * @param btmName
     * @return è¿”回存储是否成功信息
     */
    @PostMapping(RECEIVE_EDITAPPLY)
    public R receiveEditApply(String oids,String btmName);
    /***
     * å°†é›†å›¢ç”³è¯·æˆåŠŸçš„ç¼–ç å­˜å…¥ç›¸å…³æ•°æ®ä¹‹ä¸­
Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/com/vci/ubcs/code/applyjtcodeservice/vo/DockingApplyGroupCode.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
package com.vci.ubcs.code.applyjtcodeservice.vo;
public class DockingApplyGroupCode {
}
Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/data/data.json
@@ -1,10 +1,16 @@
{
  "parentOid":"XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B",
  "parentBtmName":"jclass",
  "valueField":"oid",
  "textField":"name",
  "parentFieldName":"id",
  "conditionMap":[{
    "codeclsfid": "XJ-FC9B6-FE27-241F-5FCA-ED4DC17CF95B"
  }]
  "data": {
    "systemId": "MPM",
    "user": {
      "userName": "weidy",
      "trueName": "魏大勇",
      "ip": "127.0.0.1"
    },
    "library": {
      "id": "wupin",
      "classifyid":[
        "020202"
      ]
    }
  }
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingLogeDO.java
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemConfigDTO.java
@@ -252,11 +252,14 @@
     * header信息对象
     */
    private List<DockingSysIntHeaderDTO> sysIntHeaderDTOS;
    /***
     * é›†å›¢ç æ˜¯å¦å‚与申请/更新/发送
     */
    private String isGroupCodeFlag;
    @Override
    public String toString() {
        return "SysIntInfoDTO{" +
        return "DockingSystemConfigDTO{" +
            "authorityOid='" + authorityOid + '\'' +
            ", authorityOidName='" + authorityOidName + '\'' +
            ", authorityType='" + authorityType + '\'' +
@@ -303,6 +306,7 @@
            ", classifyName='" + classifyName + '\'' +
            ", sysIntParamDTOS=" + sysIntParamDTOS +
            ", sysIntHeaderDTOS=" + sysIntHeaderDTOS +
            ", isGroupCodeFlag=" + isGroupCodeFlag +
            '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java
@@ -312,4 +312,63 @@
     */
    @ApiModelProperty(value = "分类名称")
    private String classifyName;
    /***
     * é›†å›¢ç æ˜¯å¦å‚与申请/更新/发送
     */
    /**
     * åˆ†ç±»åç§°
     */
    @ApiModelProperty(value = "集团码是否参与申请/更新/发送")
    private String isGroupCodeFlag;
    @Override
    public String toString() {
        return "DockingSystemConfig{" +
            "authorityOid='" + authorityOid + '\'' +
            ", authorityOidName='" + authorityOidName + '\'' +
            ", authorityType='" + authorityType + '\'' +
            ", authorityTypeText='" + authorityTypeText + '\'' +
            ", userAccount='" + userAccount + '\'' +
            ", userCode='" + userCode + '\'' +
            ", token='" + token + '\'' +
            ", interfaceFunction='" + interfaceFunction + '\'' +
            ", interfaceType='" + interfaceType + '\'' +
            ", interfaceTypeText='" + interfaceTypeText + '\'' +
            ", paramType='" + paramType + '\'' +
            ", paramTypeText='" + paramTypeText + '\'' +
            ", requestMethod='" + requestMethod + '\'' +
            ", requestMethodText='" + requestMethodText + '\'' +
            ", classifyOid='" + classifyOid + '\'' +
            ", usedFlag='" + usedFlag + '\'' +
            ", sysBaseOid='" + sysBaseOid + '\'' +
            ", sysBaseId='" + sysBaseId + '\'' +
            ", sysBaseName='" + sysBaseName + '\'' +
            ", requestUrl='" + requestUrl + '\'' +
            ", returnType='" + returnType + '\'' +
            ", returnTypeText='" + returnTypeText + '\'' +
            ", sourceSystemOid='" + sourceSystemOid + '\'' +
            ", sourceSysName='" + sourceSysName + '\'' +
            ", sourceSysId='" + sourceSysId + '\'' +
            ", sourceSystemOidName='" + sourceSystemOidName + '\'' +
            ", targetSystemOid='" + targetSystemOid + '\'' +
            ", targetSysName='" + targetSysName + '\'' +
            ", targetSysId='" + targetSysId + '\'' +
            ", targetSystemOidName='" + targetSystemOidName + '\'' +
            ", classPath='" + classPath + '\'' +
            ", dataFlowType='" + dataFlowType + '\'' +
            ", dataFlowTypeText='" + dataFlowTypeText + '\'' +
            ", btmTypeId='" + btmTypeId + '\'' +
            ", btmTypeName='" + btmTypeName + '\'' +
            ", namespace='" + namespace + '\'' +
            ", soapAction='" + soapAction + '\'' +
            ", cxfAxis='" + cxfAxis + '\'' +
            ", targetName='" + targetName + '\'' +
            ", pushType='" + pushType + '\'' +
            ", pushTypeText='" + pushTypeText + '\'' +
            ", classifyId='" + classifyId + '\'' +
            ", classifyName='" + classifyName + '\'' +
            ", isGroupCodeFlag=" + isGroupCodeFlag +
            '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSystemConfigVO.java
@@ -237,7 +237,10 @@
     * åˆ†ç±»åç§°
     */
    private String classifyName;
    /***
     * é›†å›¢ç æ˜¯å¦å‚与申请/更新/发送
     */
    private String isGroupCodeFlag;
    /***
     * å‚数信息对象
     */
@@ -618,9 +621,17 @@
        this.sysIntHeaderVOs = sysIntHeaderVOs;
    }
    public String getIsGroupCodeFlag() {
        return isGroupCodeFlag;
    }
    public void setIsGroupCodeFlag(String isGroupCodeFlag) {
        this.isGroupCodeFlag = isGroupCodeFlag;
    }
    @Override
    public String toString() {
        return "SysIntInfoVO{" +
        return "DockingSystemConfigVO{" +
            "authorityOid='" + authorityOid + '\'' +
            ", authorityOidName='" + authorityOidName + '\'' +
            ", authorityType='" + authorityType + '\'' +
@@ -665,6 +676,7 @@
            ", pushTypeText='" + pushTypeText + '\'' +
            ", classifyId='" + classifyId + '\'' +
            ", classifyName='" + classifyName + '\'' +
            ", isGroupCodeFlag=" + isGroupCodeFlag +
            ", sysIntParamVOs=" + sysIntParamVOs +
            ", sysIntHeaderVOs=" + sysIntHeaderVOs +
            '}';
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/result/xml/XMLResultDataObjectDetailDO.java
@@ -26,7 +26,7 @@
        this.id = id;
    }
    public String getErrorid() {
    public String getErrorid() {
        return errorid;
    }
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/Scheduling/DockingApplyGroupCodeSyncScheduling.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,55 @@
package com.vci.ubcs.code.applyjtcodeservice.Scheduling;
import com.vci.ubcs.starter.web.enumpck.BooleanEnum;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
 * é›†æˆä»»åŠ¡å®šæ—¶å™¨
 * æ’å…¥dockingtask中
 * ä»Ždockingtask中取出来数据,推送出去的操作
 */
@Component
@Slf4j
public class DockingApplyGroupCodeSyncScheduling {
    @Resource
    private IGroupCodeDuckingSyncService groupCodeDuckingSyncService;
    @Value("${apply.groupCode.isStart:false}")
    public boolean APPLY_GRUPCODE_SYNC_ISSTARE;
    /**
     * æ˜¯å¦åˆå§‹åŒ–完成了
     */
    public static volatile String FINISH_INIT = "false";
    /**
     * åœ¨åˆå§‹åŒ–完成后执行
     */
    @PostConstruct()
    public void onInit(){
        FINISH_INIT = "true";
    }
    //默认每分钟执行方法
    @Scheduled(cron = "${groupcode.cronTime:0 0/10 * * * ?}")
    public void scheduled() {
        log.info("执行调用集团编码申请接口申请集团编码 start:");
        if(APPLY_GRUPCODE_SYNC_ISSTARE && BooleanEnum.TRUE.getValue().equalsIgnoreCase(FINISH_INIT)) {
        //a    codeDuckingSyncServiceI.DockingClassSyncScheduing();
            SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.");
            String time = formatter.format(new Date());
            String outinfo = "============在 "+time+" æ‰§è¡Œäº†åˆ†ç±»é›†æˆæŽ¨é€";
            log.info(outinfo);
        }
        log.info("执行调用集团编码申请接口申请集团编码 end: "+ "开关是否开启:" +APPLY_GRUPCODE_SYNC_ISSTARE);
    }
}
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/controller/DockingPreApplyCodeController.java
@@ -3,9 +3,9 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.vci.ubcs.code.applyjtcodeservice.service.*;
import com.vci.ubcs.code.applyjtcodeservice.entity.DockingPreApplyForm;
import com.vci.ubcs.code.feign.ICodeClassifyClient;
import com.vci.ubcs.code.applyjtcodeservice.service.*;
import com.vci.ubcs.code.applyjtcodeservice.vo.*;
import com.vci.ubcs.code.applyjtcodeservice.vo.collection.DockingPreAttrMappingVOList;
import com.vci.ubcs.code.applyjtcodeservice.wrapper.DockingPreApplyFormWrapper;
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feigh/MdmInterJtClient.java
@@ -10,7 +10,6 @@
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.web.constant.MdmEnumIdConstant;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.tenant.annotation.NonDS;
@@ -48,16 +47,47 @@
    private final IDockingPreMetaAttrService dockingPreMetaAttrService;
    /**
     * é›†å›¢ç”³è¯·å•服务
     * é›†å›¢åˆ†ç±»ç”³è¯·å•服务
     */
    private final IDockingPreClassifyService dockingPreClassifyService;
    /**
     * é›†å›¢ç”³è¯·å•服务
     * é›†å›¢å–值范围申请单服务
     */
    private final IDockingPreAttrRangeService dockingPreAttrRangeService;
    /**
     * é›†å›¢å±žæ€§æ˜ å°„配置属性
     */
    private final IGroupMdmInterService groupMdmInterService;
    /***
     * ç”³è¯·é›†å›¢ç¼–码
     * @return
     */
    public R applyGroupCode(String oids,String btmName){
        try {
            return groupMdmInterService.applyGroupCode(oids,btmName);
        }catch (Throwable e){
            return R.fail("集团码申请失败:"+e.getMessage());
        }
    }
    /***
     * ç”³è¯·é›†å›¢ç¼–码数据维护
     * @return
     */
    @Override
    public R receiveEditApply(String oids, String btmName) {
        try {
            return groupMdmInterService.applyGroupCode(oids,btmName);
        }catch (Throwable e){
            return R.fail("集团码数据修改失败:"+e.getMessage());
        }
    }
    /*
     * ä¸»æ•°æ®ä¸šåŠ¡æœåŠ¡
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/Scheduling/DockingClassSyncScheduling.java
@@ -43,6 +43,7 @@
    //默认每分钟执行方法
    @Scheduled(cron = "${clsfSyncPush.cronTime:0 0/10 * * * ?}")
    public void scheduled() {
        log.info("执行分类集成推送 start:");
        if(CLSF_SYNC_PUSH_ISSTARE && BooleanEnum.TRUE.getValue().equalsIgnoreCase(FINISH_INIT)) {
            codeDuckingSyncServiceI.DockingClassSyncScheduing();
            SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.");
@@ -50,5 +51,6 @@
            String outinfo = "============在 "+time+" æ‰§è¡Œäº†åˆ†ç±»é›†æˆæŽ¨é€";
            log.info(outinfo);
        }
        log.info("执行分类集成推送 end: "+ "开关是否开启:" +CLSF_SYNC_PUSH_ISSTARE);
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/Scheduling/DockingDataSyncScheduling.java
@@ -2,6 +2,7 @@
import com.vci.ubcs.code.service.ICodeDuckingSyncService;
import com.vci.ubcs.starter.web.enumpck.BooleanEnum;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
@@ -19,9 +20,10 @@
 * ä»Ždockingtask中取出来数据,推送出去的操作
 */
@Component
@Slf4j
public class DockingDataSyncScheduling {
    private Logger logger = LoggerFactory.getLogger(getClass());
//    private Logger logger = LoggerFactory.getLogger(getClass());
    @Resource
    private ICodeDuckingSyncService codeDuckingSyncServiceI;
@@ -45,12 +47,14 @@
    //默认每分钟执行方法
    @Scheduled(cron = "${dataSyncPush.cronTime:0 0/10 * * * ?}")
    public void scheduled() {
        log.info("执行主数据集成数据推送 start:");
        if(DATA_SYNC_PUSH_ISSTARE && BooleanEnum.TRUE.getValue().equalsIgnoreCase(FINISH_INIT)) {
            codeDuckingSyncServiceI.DockingDataSyncScheduing();
            SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.");
            String time = formatter.format(new Date());
            String outinfo = "============在 "+time+" æ‰§è¡Œäº†ä¸»æ•°æ®é›†æˆæ•°æ®æŽ¨é€";
            logger.info(outinfo);
            String outinfo = "============ æ‰§è¡Œäº†ä¸»æ•°æ®é›†æˆæ•°æ®æŽ¨é€";
            log.info(outinfo);
        }
        log.info("执行主数据集成数据推送 end: "+ "开关是否开启:" +DATA_SYNC_PUSH_ISSTARE);
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplySwingController.java
@@ -226,5 +226,14 @@
    public R addSaveCode(@RequestBody CodeOrderDTO orderDTO) throws Exception {
        return R.data(mdmEngineService.addSaveCode(orderDTO));
    }
    /**
     * ç”³è¯·ç¼–码保存
     * @param orderDTO ç¼–码申请相关的信息,需要有属性和码段相关的信息
     * @return æ‰§è¡Œç»“æžœ
     */
    @PostMapping("/checkKeyAttrOnOrderFordatas")
    @VciBusinessLog(operateName = "申请单个编码")
    public R checkKeyAttrOnOrderFordatas(@RequestBody CodeOrderDTO orderDTO) throws Exception {
        return R.data(mdmEngineService.checkKeyAttrOnOrderFordatas(orderDTO));
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
@@ -446,4 +446,11 @@
     * @return
     */
    R processChangeStatus(FlowStatusDTO flowDTO);
}
    /**
     * æ ¡éªŒå…³é”®å±žæ€§
     * @param orderDTO         ç¼–码申请的相关的信息
     */
    public List<Map>  checkKeyAttrOnOrderFordatas(CodeOrderDTO orderDTO) ;
    }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java
@@ -110,5 +110,5 @@
     * @param resultDataObjectDetailDOs é”™è¯¯ä¿¡æ¯
     * @return æœ‰é”™è¯¯ä¿¡æ¯çš„excel
     */
    void batchSyncApplyCode(CodeOrderDTO orderDTO, DataObjectVO dataObjectVO, LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs);
    void batchSyncApplyCode(CodeOrderDTO orderDTO, DataObjectVO dataObjectVO, LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs,boolean isCodeOrGroupCode);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -683,6 +683,68 @@
        }
    }
    /**
     * æ ¡éªŒå…³é”®å±žæ€§
     *
     * @param classifyFullInfo åˆ†ç±»çš„全部信息
     * @param templateVO       æ¨¡æ¿çš„内容,必须包含模板属性
     * @param orderDTO         ç¼–码申请的相关的信息
     */
    public List<Map> checkKeyAttrOnOrderFordatas(CodeOrderDTO orderDTO) {
        List<Map>dataList=new ArrayList<>();
        CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(orderDTO.getCodeClassifyOid());
        CodeClassifyTemplateVO templateVO = templateService.getObjectHasAttrByOid(orderDTO.getTemplateOid());
        //先获取关键属性的规则,也利用继承的方式
        CodeKeyAttrRepeatVO keyRuleVO = keyRuleService.getRuleByClassifyFullInfo(classifyFullInfo);
        //注意的是keyRuleVO可能为空,表示不使用规则控制
        //获取所有的关键属性
        Map<String, CodeClassifyTemplateAttrVO> ketAttrMap = templateVO.getAttributes().stream().filter(s -> VciBaseUtil.getBoolean(s.getKeyAttrFlag())).collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t));
        Map<String, String> conditionMap = new HashMap<>();
        boolean trimAll = keyRuleVO == null ? false : VciBaseUtil.getBoolean(keyRuleVO.getIgnoreallspaceflag());
        //全部去空的优先级大于去空
        boolean trim = keyRuleVO == null ? false : VciBaseUtil.getBoolean(keyRuleVO.getIgnorespaceflag());
        boolean ignoreCase = keyRuleVO == null ? false : VciBaseUtil.getBoolean(keyRuleVO.getIgnorecaseflag());
        boolean ignoreWidth = keyRuleVO == null ? false : VciBaseUtil.getBoolean(keyRuleVO.getIgnorewidthflag());
        ketAttrMap.forEach((attrId, attrVO) -> {
            String value = getValueFromOrderDTO(orderDTO, attrId);
            if (value == null) {
                value = "";
            }
            wrapperKeyAttrConditionMap(value, keyRuleVO, attrId, trim, ignoreCase, ignoreWidth, trimAll, conditionMap);
        });
        //没有限制分类,但是一个模板只可能在一个业务类型里面,所以直接查询这个业务类型即可
        if (!CollectionUtils.isEmpty(conditionMap)) {
            conditionMap.put("CODETEMPLATEOID","'" + orderDTO.getTemplateOid() + "'");
//            final String[] sql = {"select count(*) from " + VciBaseUtil.getTableName(classifyFullInfo.getTopClassifyVO().getBtmtypeid()) + " t where 1 = 1 "};
            R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(classifyFullInfo.getTopClassifyVO().getBtmTypeId()));
//                String referTable = VciBaseUtil.getTableName(referVO.getReferType());
            if (!listR.isSuccess() || listR.getData().size() == 0) {
                throw new VciBaseException("传入业务类型未查询到相应表单,请检查!");
            }
            final String[] sql = {"select * from " + listR.getData().get(0).getTableName() + " t where 1 = 1 "};
            conditionMap.forEach((key, value) -> {
                sql[0] += " and " + key + " = " + value;
            });
            if (StringUtils.isNotBlank(orderDTO.getOid())) {
                //修改的时候,需要排除自己
                sql[0] += " and oid != '" + orderDTO.getOid() + "'";
            } else if (StringUtils.isNotBlank(orderDTO.getCopyFromVersion())) {
                sql[0] += " and oid != '" + orderDTO.getCopyFromVersion() + "'";
            }
            sql[0] += " and lastR = '1' and lastV = '1' ";
//            if (boService.queryCountBySql(sql[0], new HashMap<>()) > 0) {
            dataList=commonsMapper.selectBySql(sql[0]);
            if (!CollectionUtils.isEmpty(dataList)) {
//                String ruleInfoMsg = keyRuleVO == null ? "" : "查询规则:去除空格--{0},忽略大小写--{1},忽略全半角--{2},忽略全部空格--{3}";
//                String[] objs = new String[]{trim ? "是" : "否", ignoreCase ? "是" : "否", ignoreWidth ? "是" : "否", trimAll ? "是" : "否"};
//                throw new VciBaseException("根据您填写的关键属性的内容,结合关键属性查询规则,发现这个数据已经在系统中存在了。请修正!。" + ruleInfoMsg, objs);
                return dataList;
            }
        }
        return dataList;
    }
    /**
     * å°è£…关键属性的查询语句
     *
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingSystemConfigMapper.xml
@@ -58,6 +58,7 @@
        <result column="NAMESPACE" property="namespace"/>
        <result column="SOAPACTION" property="soapAction"/>
        <result column="CXFAXIS" property="cxfAxis"/>
        <result column="ISGROUPCODEFLAG" property="isGroupCodeFlag"/>
    </resultMap>