xiejun
2023-09-22 e2e76076861f0019d127c03273f111a2dcda5913
webservice标准接口增加
已修改8个文件
556 ■■■■■ 文件已修改
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/apply/ApplyDataVO.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ApplyBZDataVO.java 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ApplyBZVO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ClassfyBZVO.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/data.json 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/result/json/tt.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/SysIntegrationLogTypeEnum.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java 361 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/apply/ApplyDataVO.java
@@ -44,22 +44,7 @@
    @XStreamAsAttribute
    private  String editor;
    /***
     * 是否修订
     */
    private boolean amendmentFlag;
    /***
     *是否是系列标准
     */
    private boolean seriesStandardFlag;
    /**
     * 是否继续编号
     */
    private boolean continueNumberFlag;
    /***
     * 年代号
     */
    private String yearNumber;
    /***
     * 数据属性对象
     */
@@ -121,39 +106,6 @@
    public void setProp(List<ProppertyVO> prop) {
        this.prop = prop;
    }
    public boolean isAmendmentFlag() {
        return amendmentFlag;
    }
    public void setAmendmentFlag(boolean amendmentFlag) {
        this.amendmentFlag = amendmentFlag;
    }
    public boolean isSeriesStandardFlag() {
        return seriesStandardFlag;
    }
    public void setSeriesStandardFlag(boolean seriesStandardFlag) {
        this.seriesStandardFlag = seriesStandardFlag;
    }
    public boolean isContinueNumberFlag() {
        return continueNumberFlag;
    }
    public void setContinueNumberFlag(boolean continueNumberFlag) {
        this.continueNumberFlag = continueNumberFlag;
    }
    public String getYearNumber() {
        return yearNumber;
    }
    public void setYearNumber(String yearNumber) {
        this.yearNumber = yearNumber;
    }
    @Override
    public String toString() {
        return "ApplyDataVO{" +
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ApplyBZDataVO.java
@@ -40,4 +40,116 @@
     */
    @XStreamImplicit
    private List<ProppertyVO> prop;
    /***
     * 是否修订
     */
    private boolean amendmentFlag;
    /***
     *是否是系列标准
     */
    private boolean seriesStandardFlag;
    /**
     * 是否继续编号
     */
    private boolean continueNumberFlag;
    /***
     * 年代号
     */
    private String yearNumber;
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
    public String getCreator() {
        return creator;
    }
    public void setCreator(String creator) {
        this.creator = creator;
    }
    public String getEditor() {
        return editor;
    }
    public void setEditor(String editor) {
        this.editor = editor;
    }
    public List<ProppertyVO> getProp() {
        return prop;
    }
    public void setProp(List<ProppertyVO> prop) {
        this.prop = prop;
    }
    public boolean isAmendmentFlag() {
        return amendmentFlag;
    }
    public void setAmendmentFlag(boolean amendmentFlag) {
        this.amendmentFlag = amendmentFlag;
    }
    public boolean isSeriesStandardFlag() {
        return seriesStandardFlag;
    }
    public void setSeriesStandardFlag(boolean seriesStandardFlag) {
        this.seriesStandardFlag = seriesStandardFlag;
    }
    public boolean isContinueNumberFlag() {
        return continueNumberFlag;
    }
    public void setContinueNumberFlag(boolean continueNumberFlag) {
        this.continueNumberFlag = continueNumberFlag;
    }
    public String getYearNumber() {
        return yearNumber;
    }
    public void setYearNumber(String yearNumber) {
        this.yearNumber = yearNumber;
    }
    @Override
    public String toString() {
        return "ApplyBZDataVO{" +
            "id='" + id + '\'' +
            ", code='" + code + '\'' +
            ", status='" + status + '\'' +
            ", creator='" + creator + '\'' +
            ", editor='" + editor + '\'' +
            ", prop=" + prop +
            ", amendmentFlag=" + amendmentFlag +
            ", seriesStandardFlag=" + seriesStandardFlag +
            ", continueNumberFlag=" + continueNumberFlag +
            ", yearNumber='" + yearNumber + '\'' +
            '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ApplyBZVO.java
@@ -2,7 +2,9 @@
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import com.vci.ubcs.code.vo.webserviceModel.apply.ClassfyVO;
import com.vci.ubcs.code.vo.webserviceModel.apply.UserVO;
/**
 *数据信息
 */
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ClassfyBZVO.java
@@ -27,7 +27,7 @@
    /**
     * 数据集合
     */
    private ApplyDatasVO objects;
    private ApplyBZDatasVO objects;
    public String getClassCode() {
        return classCode;
@@ -53,11 +53,11 @@
        this.fullclsfNamePath = fullclsfNamePath;
    }
    public ApplyDatasVO getObjects() {
    public ApplyBZDatasVO getObjects() {
        return objects;
    }
    public void setObjects(ApplyDatasVO objects) {
    public void setObjects(ApplyBZDatasVO objects) {
        this.objects = objects;
    }
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/coderule/data.json
@@ -1,6 +1,6 @@
{
  "data":{
    "systemId": "MPM",
    "systemId": "PDM",
    "user": {
      "userName": "weidy",
      "trueName": "魏大勇",
@@ -9,8 +9,7 @@
    "library": {
      "id": "wupin",
      "classifyid":[
        "020201",
        "020202"
        "020201"
      ]
    }
  }
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/result/json/tt.json
@@ -1,7 +1,7 @@
{
  "data": {
    "classifys": {
      "classfy": [
      "classify": [
        {
          "fullclsfNamePath": "物品##VCI##标准件##VCI##螺栓",
          "classCode": "020101",
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/SysIntegrationLogTypeEnum.java
@@ -36,7 +36,23 @@
    /***
     * 数据查询
     */
    TYPE_ACCPET_QUERYDATA("queryData","数据查询");
    TYPE_ACCPET_QUERYDATA("queryData","数据查询"),
    /***
     * 标准申请
     */
    TYPE_ACCPET_APPLYCODEFORBZ("applyCodeForBZ","标准申请"),
    /***
     * 部门申请
     */
    TYPE_ACCPET_SYNCDATAFORORG("syncDataForOrg","部门申请"),
    /***
     * 人员申请
     */
    TYPE_ACCPET_SYNCDATAFORPERSON("syncDataForPerson","人员申请");
    /**
     * 枚举的值
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -17,8 +17,7 @@
import com.vci.ubcs.code.util.ClientBusinessObject;
import com.vci.ubcs.code.util.gennerAttrMapUtil;
import com.vci.ubcs.code.vo.pagemodel.*;
import com.vci.ubcs.code.vo.webserviceModel.applybz.ApplyBZParamVO;
import com.vci.ubcs.code.vo.webserviceModel.applybz.ApplyBZVO;
import com.vci.ubcs.code.vo.webserviceModel.applybz.*;
import com.vci.ubcs.code.vo.webserviceModel.person.*;
import com.vci.ubcs.code.vo.webserviceModel.apply.*;
import com.vci.ubcs.code.vo.webserviceModel.attrmap.*;
@@ -55,7 +54,6 @@
import com.vci.ubcs.system.vo.DeptVO;
import com.vci.ubcs.system.vo.RoleVO;
import lombok.extern.slf4j.Slf4j;
import org.apache.tools.ant.taskdefs.condition.Http;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
@@ -67,9 +65,7 @@
import javax.annotation.Resource;
import javax.jws.WebMethod;
import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.core.Context;
import javax.xml.ws.WebServiceContext;
import javax.xml.ws.handler.MessageContext;
import java.util.*;
@@ -1938,131 +1934,181 @@
        return resultStr;
    }
    /***
     * 标准化生成接口
     * @param data 数据信息
     * @param dataType 数据格式类型
     * @return
     */
    public String applyCodeForBZ(String data,String dataType){
        String resultStr = "";
//        log.info("方法->applyCodeForBZ start");
//
//        final String[] errorid = {"0"};
//        msg="成功";
//        objerrorCode="0";
//        objerrorMsg="成功";
//        log.info("申请编码的数据参数:->"+data);
//        log.info("申请编码的数据类型:->"+dataType);
//        String systemId="";
//        List<XMLResultClassfyVO> resultClassfyVOList = new ArrayList<>();
//        LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs = new LinkedList<>();
//        try{
//            try {
//                if(StringUtils.isBlank(data)) {
//                    errorid[0] ="101";
//                    throw new Throwable("接口参数:传递为空");
//                }
//                ApplyBZParamVO applyBZParamVO  =new ApplyBZParamVO();
//                //如果dataType是xml则,通过xml序列化成对象形式,如果是json则通过json转换成对象格式
//                try {
//                    if ("xml".equals(dataType)) {
//                        XStream xStream = new XStream(new DomDriver());
//                        xStream.processAnnotations(RootDataVO.class);
//                        xStream.autodetectAnnotations(true);
//                        ApplyBZVO rootDataVO = (ApplyBZVO) xStream.fromXML(data);
//                        applyBZParamVO.setData(rootDataVO);
//                    } else {
//                        applyBZParamVO = JSONObject.toJavaObject(JSONObject.parseObject(data), ApplyBZParamVO.class);
//                    }
//                }catch (Throwable e){
//                    errorid[0] ="101";
//                    throw new Throwable("接口参数:传入数据参数解析失败");
//                }
//                ClassfysVO classfysVO = interParameterVO.getData().getClassifys();
//                systemId = interParameterVO.getData().getSystemId();
//                UserVO userVo = interParameterVO.getData().getUser();
//                //免密登录申请token,request中添加用户信息
//                passwordFreeLoginService.passwordFreeLogin(userVo.getUserName(),this.getRequest());
//                AuthUtil.getUser();
//                List<ClassfyVO> classVOList = classfysVO.getClassify();
//                InterParameterVO finalInterParameterVO = interParameterVO;
//                //这是账号信息
//                SessionInfo sessionInfo = new SessionInfo();
//                sessionInfo.setUserId(userVo.getUserName());
//                sessionInfo.setUserName(userVo.getTrueName());
//                sessionInfo.setIp(userVo.getIp());
//                VciBaseUtil.setCurrentUserSessionInfo(sessionInfo);
////                List<XMLResultDataObjectDetailDO> allResultDataObjectDetailDOS=new ArrayList<>();
//                String finalSystemId = systemId;
//            } catch (Throwable e) {
//                List<ApplyDataVO> applyDataVOList= classVO.getObjects().getObject();
//                objerrorCode="1";
//                if(!CollectionUtils.isEmpty(applyDataVOList)) {
//                    applyDataVOList.stream().forEach(applyDataVO -> {
//                        XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO = new XMLResultDataObjectDetailDO();
//                        xmlResultDataObjectDetailDO.setCode("");
//                        xmlResultDataObjectDetailDO.setId(applyDataVO.getId());
//                        xmlResultDataObjectDetailDO.setErrorid(objerrorCode);
//                        xmlResultDataObjectDetailDO.setMsg("编码申请失败:" + e.getMessage());
//                        resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO);
//                    });
//                }else{
//                    XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO = new XMLResultDataObjectDetailDO();
//                    xmlResultDataObjectDetailDO.setCode("");
//                    xmlResultDataObjectDetailDO.setId("");
//                    xmlResultDataObjectDetailDO.setErrorid(objerrorCode);
//                    xmlResultDataObjectDetailDO.setMsg("编码申请失败:" + e.getMessage());
//                    resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO);
//                }
//                e.printStackTrace();
//            }finally {
//                XMLResultClassfyVO resultClassfyVO = new XMLResultClassfyVO();
//                resultClassfyVO.setClassCode(classVO.getClassCode());
//                resultClassfyVO.setLibrary(classVO.getLibrary());
//                resultClassfyVO.setFullclsfNamePath(classVO.getFullclsfNamePath());
//                resultClassfyVO.setObjects(resultDataObjectDetailDOs);
//                resultClassfyVOList.add(resultClassfyVO);
//            }
//            XMLResultSystemVO xmlResultSystemVO=new XMLResultSystemVO();
//            xmlResultSystemVO.setClassifys(resultClassfyVOList);
//            xmlResultSystemVO.setMsg(msg);
//            xmlResultSystemVO.setErrorid(errorid[0]);
//            resultStr= transferResultXMl(xmlResultSystemVO,dataType);
//        }catch (Throwable e){
//            e.printStackTrace();
//            msg="申请编码失败:"+e.getMessage();
//          /*  XMLResultSystemVO XMLResultSystemVO=new XMLResultSystemVO();
//            XMLResultSystemVO.setErrorid(errorid);
//            XMLResultSystemVO.setMsg("申请编码失败:->"+e.getMessage());
//            XMLResultSystemVO.setClassifys(resultClassfyVOList);
//            resultStr=transferResultXMl(XMLResultSystemVO,dataType);
//
//            log.error("申请编码失败:->"+e);
//            return resultStr;*/
//        }finally {
//            XMLResultSystemVO xmlResultSystemVO=new XMLResultSystemVO();
//            xmlResultSystemVO.setClassifys(resultClassfyVOList);
//            xmlResultSystemVO.setMsg(msg);
//            xmlResultSystemVO.setErrorid(errorid[0]);
//            resultStr= transferResultXMl(xmlResultSystemVO,dataType);
//            final boolean[] issucess = {true};
//            if(!errorid[0].equals("0")) {
//                issucess[0] = false;
//            }else {
//                if(!CollectionUtils.isEmpty(resultClassfyVOList)) {
//                    resultClassfyVOList.stream().forEach(xMLResultClassfyVO -> {
//                        xMLResultClassfyVO.getObjects().stream().forEach(objec -> {
//                            if (!(objec.getErrorid().equals("0") || objec.getErrorid().equals("204"))) {
//                                issucess[0] = false;
//                                msg=objec.getMsg();
//                            }
//                        });
//                    });
//                }
//            }
//            try {
//                //记录日志
//                this.saveLogs(systemId, systemId, data, resultStr, issucess[0], msg, "applyCodeForBZ");
//            }catch (Throwable e){
//                e.printStackTrace();
//            }
//        }
//        log.info("返回参数:"+resultStr);
        log.info("方法->applyCodeForBZ start");
        final String[] errorid = {"0"};
        msg="成功";
        objerrorCode="0";
        objerrorMsg="成功";
        log.info("申请编码的数据参数:->"+data);
        log.info("申请编码的数据类型:->"+dataType);
        String systemId="";
        List<XMLResultClassfyVO> resultClassfyVOList = new ArrayList<>();
        LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs = new LinkedList<>();
        try {
            ClassfyBZVO classfyBZVO = null;
            if (StringUtils.isBlank(data)) {
                errorid[0] = "101";
                throw new Throwable("接口参数:dataString 传递为空");
            }
            ApplyBZParamVO applyBZParamVO = new ApplyBZParamVO();
            //如果dataType是xml则,通过xml序列化成对象形式,如果是json则通过json转换成对象格式
            try {
                if ("xml".equals(dataType)) {
                    XStream xStream = new XStream(new DomDriver());
                    xStream.processAnnotations(RootDataVO.class);
                    xStream.autodetectAnnotations(true);
                    ApplyBZVO rootDataVO = (ApplyBZVO) xStream.fromXML(data);
                    applyBZParamVO.setData(rootDataVO);
                } else {
                    applyBZParamVO = JSONObject.toJavaObject(JSONObject.parseObject(data), ApplyBZParamVO.class);
                }
            } catch (Throwable e) {
                errorid[0] = "101";
                throw new Throwable("接口参数:传入数据参数解析失败");
            }
            classfyBZVO = applyBZParamVO.getData().getClassify();
            systemId = applyBZParamVO.getData().getSystemId();
            UserVO userVo = applyBZParamVO.getData().getUser();
            //免密登录申请token,request中添加用户信息
            passwordFreeLoginService.pwdFreeLoginByBoolean(userVo.getUserName(), this.getRequest());
            AuthUtil.getUser();
            //这是账号信息
            SessionInfo sessionInfo = new SessionInfo();
            sessionInfo.setUserId(userVo.getUserName());
            sessionInfo.setUserName(userVo.getTrueName());
            sessionInfo.setIp(userVo.getIp());
            VciBaseUtil.setCurrentUserSessionInfo(sessionInfo);
//            List<XMLResultDataObjectDetailDO> allResultDataObjectDetailDOS=new ArrayList<>();
            String finalSystemId = systemId;
            String libray="";
            boolean isCodeOrGroupCode=false;
            try {
                libray = classfyBZVO.getLibrary();
                CodeClassifyVO codeClassifyVO = getClassfy(classfyBZVO,libray);
                log.info("end:分类查询完毕");
                //获取分类模板信息
                if(codeClassifyVO==null || StringUtils.isBlank(codeClassifyVO.getOid())){
                    objerrorCode="100";
                    throw  new  Throwable ("根据传输的分类,未获取到分类信息");
                }
                String operation="";
                if(CODE_CHECKCONFIG) {
                    //校验是否配置
                    DockingSystemConfig dockingSystemConfig=null;
                    dockingSystemConfig=checkIspass(finalSystemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue(),codeClassifyVO.getOid());
                    if(dockingSystemConfig==null){
                        errorid[0] ="101";
                        throw new Throwable("系统标识为【"+ finalSystemId +"】,集成分类为【"+codeClassifyVO.getName()+"】以上分类,"+sysIntegrationPushTypeEnum.ACCPET_APPCODE.getText()+"接口配置已停用或者未配置,请联系编码管理员!");
                    }
                    isCodeOrGroupCode="true".equals(dockingSystemConfig.getIsGroupCodeFlag())?true:false;
                }
                CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyVO.getOid());
                if(templateVO==null||StringUtils.isBlank(templateVO.getOid())){
                    objerrorCode="1";
                    throw  new  Throwable ("根据传输的分类,未获取MDM系统中对应模板");
                }
                log.info("end:模板查询完毕");
                ApplyBZDatasVO applyDatasVO = classfyBZVO.getObjects();
                DataObjectVO dataObjectVO = new DataObjectVO();
                List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormDisplayFlag())
                ).collect(Collectors.toList());
                //this.getConfigDatas(finalSystemId, libray, applyDatasVO, attrVOS, dataObjectVO);
                log.info("end:数据组织完毕");
                //规则的主键需要去获取
                CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(codeClassifyVO.getOid());
                if(classifyFullInfo==null ||classifyFullInfo.getCurrentClassifyVO()==null || StringUtils.isBlank(classifyFullInfo.getCurrentClassifyVO().getOid())){
                    objerrorCode="1";
                    log.info("classifyFullInfo:"+"根据传输的分类,未获取分类相关信息");
                    throw  new  Throwable ("根据传输的分类,未获取分类相关信息");
                }
                CodeRuleVO ruleVO = engineService.getCodeRuleByClassifyFullInfo(classifyFullInfo);
                if(ruleVO==null||StringUtils.isBlank(ruleVO.getOid())){
                    objerrorCode="102";
                    throw  new  Throwable ("根据传输的分类,未获取MDM系统中对应规则");
                }
                log.info("end:规则获取完毕");
                //List<CodeOrderSecDTO> codeOrderSecDTOList = getRuleCodeOrderSecDTOs(ruleVO,classifyFullInfo);
                log.info("end:码段获取完毕");
                CodeOrderDTO orderDTO = new CodeOrderDTO();
                orderDTO.setCodeClassifyOid(codeClassifyVO.getOid());//分类主键
                //orderDTO.setSecDTOList(codeOrderSecDTOList);//分类码段
                mdmIOService.batchSyncApplyCode(orderDTO, dataObjectVO, resultDataObjectDetailDOs,isCodeOrGroupCode);
                //allResultDataObjectDetailDOS.add(resultDataObjectDetailDOs);
                log.info("end:申请获取完毕");
            } catch (Throwable e) {
                List<ApplyBZDataVO> applyDataVOList = classfyBZVO.getObjects().getObject();
                objerrorCode = "1";
                if (!CollectionUtils.isEmpty(applyDataVOList)) {
                    applyDataVOList.stream().forEach(applyDataVO -> {
                        XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO = new XMLResultDataObjectDetailDO();
                        xmlResultDataObjectDetailDO.setCode("");
                        xmlResultDataObjectDetailDO.setId(applyDataVO.getId());
                        xmlResultDataObjectDetailDO.setErrorid(objerrorCode);
                        xmlResultDataObjectDetailDO.setMsg("编码申请失败:" + e.getMessage());
                        resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO);
                    });
                } else {
                    XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO = new XMLResultDataObjectDetailDO();
                    xmlResultDataObjectDetailDO.setCode("");
                    xmlResultDataObjectDetailDO.setId("");
                    xmlResultDataObjectDetailDO.setErrorid(objerrorCode);
                    xmlResultDataObjectDetailDO.setMsg("编码申请失败:" + e.getMessage());
                    resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO);
                }
                e.printStackTrace();
            } finally {
                XMLResultClassfyVO resultClassfyVO = new XMLResultClassfyVO();
                resultClassfyVO.setClassCode(classfyBZVO.getClassCode());
                resultClassfyVO.setLibrary(classfyBZVO.getLibrary());
                resultClassfyVO.setFullclsfNamePath(classfyBZVO.getFullclsfNamePath());
                resultClassfyVO.setObjects(resultDataObjectDetailDOs);
                resultClassfyVOList.add(resultClassfyVO);
            }
            XMLResultSystemVO xmlResultSystemVO = new XMLResultSystemVO();
            xmlResultSystemVO.setClassifys(resultClassfyVOList);
            xmlResultSystemVO.setMsg(msg);
            xmlResultSystemVO.setErrorid(errorid[0]);
            resultStr = transferResultXMl(xmlResultSystemVO, dataType);
        }catch (Throwable e){
            e.printStackTrace();
            msg="申请编码失败:"+e.getMessage();
        }finally {
            XMLResultSystemVO xmlResultSystemVO=new XMLResultSystemVO();
            xmlResultSystemVO.setClassifys(resultClassfyVOList);
            xmlResultSystemVO.setMsg(msg);
            xmlResultSystemVO.setErrorid(errorid[0]);
            resultStr= transferResultXMl(xmlResultSystemVO,dataType);
            final boolean[] issucess = {true};
            if(!errorid[0].equals("0")) {
                issucess[0] = false;
            }else {
                if(!CollectionUtils.isEmpty(resultClassfyVOList)) {
                    resultClassfyVOList.stream().forEach(xMLResultClassfyVO -> {
                        xMLResultClassfyVO.getObjects().stream().forEach(objec -> {
                            if (!(objec.getErrorid().equals("0") || objec.getErrorid().equals("204"))) {
                                issucess[0] = false;
                                msg=objec.getMsg();
                            }
                        });
                    });
                }
            }
            try {
                //记录日志
                this.saveLogs(systemId, systemId, data, resultStr, issucess[0], msg, "applyCodeForBZ");
            }catch (Throwable e){
                e.printStackTrace();
            }
        }
        log.info("返回参数:"+resultStr);
        //调用集团申请接口申请集团码
        return resultStr;
    }
@@ -2071,6 +2117,48 @@
     * @param classfyVO
     */
    private  CodeClassifyVO getClassfy(ClassfyVO classfyVO,String libray) throws Throwable{
        CodeClassifyVO classifyVO = new CodeClassifyVO();
        try {
            String classCode = classfyVO.getClassCode();
            String className = classfyVO.getFullclsfNamePath();
            //根据分类代号查询分类信息
            if (StringUtils.isNotBlank(classfyVO.getClassCode())) {
                Map<String, String> conditionMap = new HashMap<>();
                List<CodeClassify> codeClassifyList = classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().eq(CodeClassify::getId, classCode));
                final CodeClassify[] newCodeClassify = {new CodeClassify()};
                if (!CollectionUtils.isEmpty(codeClassifyList)) {
                    codeClassifyList.stream().forEach(codeClassify -> {
                        CodeClassifyVO codeClassifyVO=  classifyService.getTopClassifyVO(codeClassify.getOid());
                        if(codeClassifyVO.getId().equals(libray)){
                            newCodeClassify[0] =codeClassify;
                        }
                    });
                    classifyVO = new CodeClassifyVO();
                    BeanUtilForVCI.copyPropertiesIgnoreCase(newCodeClassify[0], classifyVO);
                    //将DTO转换为DO
                    if(StringUtils.isBlank(classifyVO.getOid())){
                        throw new  Throwable("申请编码的分类:【"+classCode+"】不属于库节点【"+libray+"】,请检查参数分类节点/库节点信息是否匹配");
                    }
                }else{
                    throw new  Throwable("根据分类代号未查询到相应的分类信息");
                }
            } else {
                classifyVO = classifyService.getObjectByClsfNamePath(className.replace(separator, "/"));
                if(StringUtils.isBlank(classifyVO.getOid())){
                    throw new  Throwable("根据分类名称路径未查询到相应的分类信息");
                }
            }
        }catch (Throwable e){
            objerrorCode="100";
            throw     new  Throwable("获取分类信息失败:"+e.getMessage());
        }
        return classifyVO;
    }
    /***
     * 查询校验分类信息
     * @param classfyVO
     */
    private  CodeClassifyVO getClassfy(ClassfyBZVO classfyVO,String libray) throws Throwable{
        CodeClassifyVO classifyVO = new CodeClassifyVO();
        try {
            String classCode = classfyVO.getClassCode();
@@ -2122,6 +2210,21 @@
        });
        return clientBusinessObjectList;
    }
    private List<CodeOrderSecDTO> getRuleCodeOrderSecDTOsBZ(CodeRuleVO ruleVO,CodeClassifyFullInfoBO classifyFullInfo){
        List<CodeBasicSecVO>  codeBasicSecVOS= ruleVO.getSecVOList();
        List<CodeOrderSecDTO> codeOrderSecDTOList=new ArrayList<>();
        Map<String,String> errorMap=new HashMap<>();
        for(CodeBasicSecVO codeBasicSecVO: codeBasicSecVOS) {
            String sectype = codeBasicSecVO.getSecType();
            String classifySecOid= codeBasicSecVO.getOid();
            String message="";
        }
        return codeOrderSecDTOList;
    }
    /***
     * 根据穿入的参数信息校验码段规则
     */
@@ -2131,7 +2234,7 @@
        SectionVOList.stream().forEach(SectionVO->{
            sectionVOMap.put(SectionVO.getName(),SectionVO.getValue());
        });
        Map<String,CodeClassifyVO> codeClassifyVOMap= classifyFullInfo.getParentClassifyVOs().stream().collect(Collectors.toMap(s -> s.getId(), t -> t,(o1, o2)->o2));
        //Map<String,CodeClassifyVO> codeClassifyVOMap= classifyFullInfo.getParentClassifyVOs().stream().collect(Collectors.toMap(s -> s.getId(), t -> t,(o1, o2)->o2));
        List<CodeOrderSecDTO> codeOrderSecDTOList=new ArrayList<>();
        Map<String,String> errorMap=new HashMap<>();
        for(CodeBasicSecVO codeBasicSecVO: codeBasicSecVOS) {