接口管理相关功能开发完善,已经统一接口和定时推送接口加上接口管理配置控制
已修改9个文件
已添加6个文件
929 ■■■■■ 文件已修改
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeClassifyDTO.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeDataDTO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeLibraryDTO.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeJosnDTO.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeObjectDTO.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeProDTO.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodedataDTO.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/data.json 137 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/result.json 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/result/ResultNodeDataDTO.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/result/ResultNodeObjectDTO.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/sysIntegrationPushTypeEnum.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java 435 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeClassifyDTO.java
@@ -1,44 +1,44 @@
package com.vci.ubcs.code.dto.datapush.classify;
//import com.thoughtworks.xstream.annotations.XStreamAlias;
//import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
//@XStreamAlias("classify")
@XStreamAlias("classify")
public class NodeClassifyDTO {
        /**
         * åˆ†ç±»id
         */
        //@XStreamAsAttribute
        @XStreamAsAttribute
        private String id;
        /***
         * åˆ†ç±»åç§°
         */
        //@XStreamAsAttribute
        @XStreamAsAttribute
        private String name;
        /***
         * çˆ¶èŠ‚ç‚¹id
         */
       // @XStreamAsAttribute
        @XStreamAsAttribute
        private String pid;
        /***
         * åˆ†ç±»ä»£å·
         */
        //@XStreamAsAttribute
       @XStreamAsAttribute
        private String classCode;
        /***
         * æè¿°
         */
        //@XStreamAsAttribute
        @XStreamAsAttribute
        private  String description;
        /***
         * åˆ†ç±»é“¾æŽ¥è·¯å¾„
         */
        //@XStreamAsAttribute
        @XStreamAsAttribute
        private  String fullPathName;
        /***
         * åˆ†ç±»çŠ¶æ€
         */
        //@XStreamAsAttribute
        @XStreamAsAttribute
        private String lcStatus;
        public String getId() {
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeDataDTO.java
@@ -1,8 +1,8 @@
package com.vci.ubcs.code.dto.datapush.classify;
//import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAlias;
//@XStreamAlias("data")
@XStreamAlias("data")
public class NodeDataDTO {
    private NodeLibraryDTO library;
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/classify/NodeLibraryDTO.java
@@ -1,14 +1,20 @@
package com.vci.ubcs.code.dto.datapush.classify;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import com.thoughtworks.xstream.annotations.XStreamImplicit;
import java.util.List;
//@XStreamAlias("library")
@XStreamAlias("library")
public class NodeLibraryDTO {
    //@XStreamAsAttribute
    @XStreamAsAttribute
    private String id;
    //@XStreamAsAttribute
    @XStreamAsAttribute
    private String name;
    //@XStreamImplicit
    @XStreamAsAttribute
    private String classCode;
   @XStreamImplicit
    private List<NodeClassifyDTO> classify;
    public String getId() {
@@ -35,12 +41,21 @@
        this.classify = classify;
    }
    @Override
    public String toString() {
        return "NodeLibraryDTO{" +
                "id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", classify=" + classify +
                '}';
    }
    public String getClassCode() {
        return classCode;
    }
    public void setClassCode(String classCode) {
        this.classCode = classCode;
    }
    @Override
    public String toString() {
        return "NodeLibraryDTO{" +
            "id='" + id + '\'' +
            ", name='" + name + '\'' +
            ", classCode='" + classCode + '\'' +
            ", classify=" + classify +
            '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeJosnDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
package com.vci.ubcs.code.dto.datapush.data;
public class NodeJosnDTO {
    private NodedataDTO data;
    public NodedataDTO getData() {
        return data;
    }
    public void setData(NodedataDTO data) {
        this.data = data;
    }
    @Override
    public String toString() {
        return "NodeJosnDTO{" +
                "data=" + data +
                '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeObjectDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,71 @@
package com.vci.ubcs.code.dto.datapush.data;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import com.thoughtworks.xstream.annotations.XStreamImplicit;
import java.util.List;
@XStreamAlias("object")
public class NodeObjectDTO {
    @XStreamAsAttribute
   private String  code="" ;
    @XStreamAsAttribute
    private String status="" ;
    @XStreamAsAttribute
    private String library="";
    @XStreamAsAttribute
    private String classCode="";
    @XStreamImplicit
    private List<NodeProDTO> pro;
    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 getLibrary() {
        return library;
    }
    public void setLibrary(String library) {
        this.library = library;
    }
    public String getClassCode() {
        return classCode;
    }
    public void setClassCode(String classCode) {
        this.classCode = classCode;
    }
    public List<NodeProDTO> getPro() {
        return pro;
    }
    public void setPro(List<NodeProDTO> pro) {
        this.pro = pro;
    }
    @Override
    public String toString() {
        return "NodeObjectDTO{" +
                "code='" + code + '\'' +
                ", status='" + status + '\'' +
                ", library='" + library + '\'' +
                ", classCode='" + classCode + '\'' +
                ", pro=" + pro +
                '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodeProDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,47 @@
package com.vci.ubcs.code.dto.datapush.data;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
@XStreamAlias("pro")
public class NodeProDTO {
    @XStreamAsAttribute
    private String filedName;
    @XStreamAsAttribute
    private String outname;
    @XStreamAsAttribute
    private String filedValue;
    public String getFiledName() {
        return filedName;
    }
    public void setFiledName(String filedName) {
        this.filedName = filedName;
    }
    public String getOutname() {
        return outname;
    }
    public void setOutname(String outname) {
        this.outname = outname;
    }
    public String getFiledValue() {
        return filedValue;
    }
    public void setFiledValue(String filedValue) {
        this.filedValue = filedValue;
    }
    @Override
    public String toString() {
        return "NodeProDTO{" +
                "filedName='" + filedName + '\'' +
                ", outname='" + outname + '\'' +
                ", filedValue='" + filedValue + '\'' +
                '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/NodedataDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
package com.vci.ubcs.code.dto.datapush.data;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamImplicit;
import java.util.List;
@XStreamAlias("data")
public class NodedataDTO {
    @XStreamImplicit
    private List<NodeObjectDTO> object;
    public List<NodeObjectDTO> getObject() {
        return object;
    }
    public void setObject(List<NodeObjectDTO> object) {
        this.object = object;
    }
    @Override
    public String toString() {
        return "NodedataDTO{" +
                "object=" + object +
                '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/data.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,137 @@
{
  "data": {
    "object": {
      "code": "0201040133",
      "status": "Released",
      "library": "wupin",
      "classCode": "020104",
      "pro": [
        {
          "filedName": "xbj",
          "outname": "标记"
        },
        {
          "filedName": "xinghaoguige",
          "outname": "规格",
          "filedValue": "M4"
        },
        {
          "filedName": "lastmodifier",
          "outname": "最后修改人",
          "filedValue": "weidy(魏大勇)"
        },
        {
          "filedName": "cpxs",
          "outname": "产品型式"
        },
        {
          "filedName": "secondfl",
          "outname": "二级管理分类",
          "filedValue": "紧固件"
        },
        {
          "filedName": "clph",
          "outname": "材料牌号",
          "filedValue": "HB1-24321"
        },
        {
          "filedName": "thrifl",
          "outname": "三级管理分类",
          "filedValue": "螺钉"
        },
        {
          "filedName": "xbzjbmc",
          "outname": "标准级别名称"
        },
        {
          "filedName": "firstfl",
          "outname": "一级管理分类",
          "filedValue": "标准件"
        },
        {
          "filedName": "xgzccdgcd",
          "outname": "关注尺寸的公差带"
        },
        {
          "filedName": "zjxh",
          "outname": "子件序号"
        },
        {
          "filedName": "bmcl",
          "outname": "表面处理",
          "filedValue": "电镀"
        },
        {
          "filedName": "id",
          "outname": "物料编码",
          "filedValue": "0201040133"
        },
        {
          "filedName": "createtime",
          "outname": "创建时间",
          "filedValue": "2022-12-23 17:12:50.635"
        },
        {
          "filedName": "creator",
          "outname": "创建人",
          "filedValue": "weidy(魏大勇)"
        },
        {
          "filedName": "xwlwwmc",
          "outname": "物品外文名称"
        },
        {
          "filedName": "xxndj",
          "outname": "性能等级"
        },
        {
          "filedName": "xzjmc",
          "outname": "子件名称"
        },
        {
          "filedName": "beizhushuoming",
          "outname": "备注说明"
        },
        {
          "filedName": "revisionvalue",
          "outname": "版本",
          "filedValue": "1"
        },
        {
          "filedName": "name",
          "outname": "物品中文名称",
          "filedValue": "半圆头螺钉1"
        },
        {
          "filedName": "xfjjstj",
          "outname": "附加技术条件"
        },
        {
          "filedName": "xbxkxs",
          "outname": "保险孔型式",
          "filedValue": "无"
        },
        {
          "filedName": "lastmodifytime",
          "outname": "最后修改时间",
          "filedValue": "2022-12-23 17:12:50.635"
        },
        {
          "filedName": "zhiliangbz",
          "outname": "标准号",
          "filedValue": "HB1-2431-M4*512"
        },
        {
          "filedName": "materialclassify",
          "outname": "所属分类代号",
          "filedValue": "020104"
        },
        {
          "filedName": "lcstatus",
          "outname": "状态",
          "filedValue": "Released"
        }
      ]
    }
  }
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/result.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
{
  "data": {
    "object": {
      "code": "0201040133",
      "oid": "0000001",
      "erroid": "0",
      "msg": "测试成功"
    }
  }
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/result/ResultNodeDataDTO.java
@@ -1,14 +1,14 @@
package com.vci.ubcs.code.dto.datapush.result;
//import com.thoughtworks.xstream.annotations.XStreamAlias;
//import com.thoughtworks.xstream.annotations.XStreamImplicit;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamImplicit;
import java.util.List;
//@XStreamAlias("data")
@XStreamAlias("data")
public class ResultNodeDataDTO {
    //@XStreamImplicit
    @XStreamImplicit
    private List<ResultNodeObjectDTO> object;
    public List<ResultNodeObjectDTO> getObject() {
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/result/ResultNodeObjectDTO.java
@@ -1,29 +1,29 @@
package com.vci.ubcs.code.dto.datapush.result;
//import com.thoughtworks.xstream.annotations.XStreamAlias;
//import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
//@XStreamAlias("object")
@XStreamAlias("object")
public class ResultNodeObjectDTO {
    /***
     * æ•°æ®ç¼–码
     */
    //@XStreamAsAttribute
    @XStreamAsAttribute
    private  String code;
    /***
     * æ•°æ®oid
     */
    //@XStreamAsAttribute
    @XStreamAsAttribute
    private  String oid;
    /***
     * é”™è¯¯æ ‡è¯†
     */
    //@XStreamAsAttribute
   @XStreamAsAttribute
    private String erroid;
    /***
     * é”™è¯¯ä¿¡æ¯
     */
    //@XStreamAsAttribute
    @XStreamAsAttribute
    private String msg;
    public String getCode() {
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java
@@ -286,7 +286,7 @@
    /***
     *  æŽ¨é€ç±»åž‹ 1:数据推送,2分类推送,默认数据推送,3:编码申请,4:编码更改(更改、状态,回收),5:分类查询,6:含规则信息的分类查询,7:数据查询
     */
    @ApiModelProperty(value = "推送类型 1:数据推送,2分类推送,默认数据推送,3:编码申请,4:编码更改(更改、状态,回收),5:分类查询,6:含规则信息的分类查询,7:数据查询")
    @ApiModelProperty(value = "推送类型 1:数据推送,2分类推送,3:编码申请,4:编码更改(状态,回收),5:分类查询,6:含规则信息的分类查询,7:数据查询")
    private String pushType;
    /***
     * æŽ¨é€ç±»åž‹æ˜¾ç¤ºå€¼
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/sysIntegrationPushTypeEnum.java
@@ -8,13 +8,37 @@
@VciEnum(name = MdmEnumIdConstant.SYS_INTEGRATION_PUSH_TYPE,text = "系统接口推送方式",description = "")
public enum sysIntegrationPushTypeEnum implements BaseEnum {
    /**
     * åˆ†ç±»æŽ¨é€æ–¹å¼
     * æ•°æ®æŽ¨é€
     */
    JSON("1","数据推送"),
    PUSHTYPE_DATA("1","数据推送"),
    /**
     * Xml格式
     * åˆ†ç±»æŽ¨é€
     */
    XML("2","分类推送");
    PUSHTYPE_CLASSIFY("2","分类推送"),
    /***
     * ç¼–码申请
     */
    ACCPET_APPCODE("3","编码申请"),
    /***
     * ç¼–码维护
     */
    ACCPET_EDITCODE("4","编码维护"),
    /***
     * åˆ†ç±»æŸ¥è¯¢
     */
    ACCPET_QUERYCLAFILY("5","分类查询"),
    /***
     * å«ç¼–码规则的分类查询
     */
    ACCPET_QUERYCLAFILYRULE("6","含编码规则的分类查询"),
    /***
     * æ•°æ®æŸ¥è¯¢
     */
    ACCPET_QUERYDATA("7","数据查询");
    /**
     * æžšä¸¾çš„值
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java
@@ -2,19 +2,44 @@
import com.alibaba.cloud.commons.lang.StringUtils;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
import com.vci.ubcs.code.constant.MdmDuckingConstant;
import com.vci.ubcs.code.dto.datapush.classify.JsonRootDataDTO;
import com.vci.ubcs.code.dto.datapush.classify.NodeClassifyDTO;
import com.vci.ubcs.code.dto.datapush.classify.NodeDataDTO;
import com.vci.ubcs.code.dto.datapush.classify.NodeLibraryDTO;
import com.vci.ubcs.code.dto.datapush.data.NodeJosnDTO;
import com.vci.ubcs.code.dto.datapush.data.NodeObjectDTO;
import com.vci.ubcs.code.dto.datapush.data.NodeProDTO;
import com.vci.ubcs.code.dto.datapush.data.NodedataDTO;
import com.vci.ubcs.code.dto.datapush.result.ResultJsonDTO;
import com.vci.ubcs.code.dto.datapush.result.ResultNodeDataDTO;
import com.vci.ubcs.code.dto.datapush.result.ResultNodeObjectDTO;
import com.vci.ubcs.code.entity.*;
import com.vci.ubcs.code.service.*;
import com.vci.ubcs.starter.web.constant.QueryOptionConstant;
import com.vci.ubcs.code.util.HttpUtils;
import com.vci.ubcs.code.util.WsErpClientUtil;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO;
import com.vci.ubcs.starter.web.enumpck.UserSecretEnum;
import com.vci.ubcs.starter.web.pagemodel.SessionInfo;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import com.vci.ubcs.starter.web.util.VciQueryWrapperForDO;
import com.vci.ubcs.starter.web.util.WebUtil;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.tool.api.R;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import javax.annotation.Resource;
import java.util.*;
@@ -32,10 +57,15 @@
@Service
@Slf4j
public class CodeDuckingSyncServiceImpl implements ICodeDuckingSyncService {
    @Value("${dataSyncPush.dataParamName:xmlData}")
    public String DATA_PARAM_NAME;
    @Resource
    private  IDockingSystemService dockingSystemService;
    private  MdmEngineService  mdmEngineServiceI;
    @Resource
    private IDockingLogeService dockingLogeService;
    @Resource
    private IDockingDataService dockingDataService;
    @Resource
@@ -44,26 +74,78 @@
    private IDockingSystemConfigService dockingSystemConfigService;
    @Resource
    private ICodeClassifyService codeClassifyService;
    /***
     * resdis缓存服务
     */
    @Resource
    private BladeRedis bladeRedis;
    @Resource
    private IDockingSysIntParamService dockingSysIntParamService;
    @Resource
    private IDockingSysIntHeaderService dockingSysIntHeaderService;
    @Override
    public void DockingDataSyncScheduing() {
// insertCache2();
        // insertCache2();
        initPushDataTaks(1);
        //sendpushDataForService();
        sendpushDataForService();
    }
    /***
     *
     */
    @Override
    public void DockingClassSyncScheduing() {
        initPushDataTaks(2);//分类推送
        sendpushClsfForService();
    }
    /***
     * æ‰‹åŠ¨åŒæ­¥
     * @param oids
     * @return
     */
    @Transactional(rollbackFor = Throwable.class)
    @Override
    public R sendData(String oids) {
        return null;
        VciBaseUtil.alertNotNull(oids,"系统集成基础信息数据对象",oids,"系统集成基础信息的主键");
        List<String> dockingTaskOidList=new ArrayList<>();
        dockingTaskOidList= VciBaseUtil.str2List(oids);
        List<DockingTask> newDockingTasks= this.dockingTaskService.listByIds(dockingTaskOidList);
        Map<String,List<DockingTask>> typeDockingTaskMap=new HashMap<>();
        newDockingTasks.stream().forEach(newDockingTaskDO->{
            String btmId=newDockingTaskDO.getBtmId();
            if(btmId.equalsIgnoreCase(DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT))){
                List<DockingTask> dockingTaskList= typeDockingTaskMap.get(DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT));
                if(CollectionUtils.isEmpty(dockingTaskList)){
                    dockingTaskList=new ArrayList<>();
                }
                dockingTaskList.add(newDockingTaskDO);
                typeDockingTaskMap.put(DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT),dockingTaskList);
            }else{
                List<DockingTask> dockingTaskDOList= typeDockingTaskMap.get("data");
                if(CollectionUtils.isEmpty(dockingTaskDOList)){
                    dockingTaskDOList=new ArrayList<>();
                }
                dockingTaskDOList.add(newDockingTaskDO);
                typeDockingTaskMap.put("data",dockingTaskDOList);
            }
        });
        typeDockingTaskMap.keySet().forEach(type->{
            List<DockingTask> DockingTaskList=typeDockingTaskMap.get(type);
            if(!CollectionUtils.isEmpty(DockingTaskList)){
                if(type.equalsIgnoreCase(DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT))){
                    this.sendpushClsfForService(DockingTaskList);
                }else{
                    this.sendpushDataForService(DockingTaskList);
                }
            }
        });
        return  R.success("手动推送完成,请核对是否推送成功");
    }
@@ -72,7 +154,7 @@
     * @param type
     */
    private void initPushDataTaks(int type){
        //initSysadmin();
        initSysadmin();
        List<DockingSystemConfig> dockingSystemConfigList = dockingSystemConfigService.list(
            Wrappers.<DockingSystemConfig>query().lambda().eq(DockingSystemConfig::getUsedFlag,"true")
@@ -172,6 +254,337 @@
        }
    }
    /***
     * å‘送分类数据
     */
    private void sendpushClsfForService(List<DockingTask> dockingTaskList){
        //每个task依次执行推送
        for (DockingTask dockingTask:dockingTaskList){
            //每个task一个事务,开启
            String paramString="";
            String sendString="";
            String backString="";
            //查询系统接口信息,ip method,dataType
            String systeminfooid = dockingTask.getSysInfoOid();//sysininfo çš„oid
            try {
                //查询要推送的数据
                String btmoid = dockingTask.getBtmOid();//数据btmid
                JsonRootDataDTO jsonRootDataDTO=new JsonRootDataDTO();
                CodeClassify codeClassify=codeClassifyService.getById(btmoid);
                List<NodeClassifyDTO>nodeClassifyDTOList=new ArrayList<>();
                NodeClassifyDTO nodeClassifyDTO=new NodeClassifyDTO();
                nodeClassifyDTO.setClassCode(codeClassify.getId());//分类代号
                nodeClassifyDTO.setDescription(codeClassify.getDescription());//分类描述
                nodeClassifyDTO.setFullPathName(codeClassify.getPath());//全路径
                nodeClassifyDTO.setLcStatus(codeClassify.getLcStatus());//状态
                //  CodeClassifyDO parentClassDo=codeClassifyDaoI.selectByPrimaryKey(codeClassifyDO.getParentCodeClassifyOid());
                nodeClassifyDTO.setPid(codeClassify.getParentCodeClassifyOid());//父id节点
                nodeClassifyDTO.setId(codeClassify.getOid());//分类oid
                nodeClassifyDTO.setName(codeClassify.getName());//分类名称
                nodeClassifyDTOList.add(nodeClassifyDTO);
                NodeLibraryDTO nodeLibraryDTO=new NodeLibraryDTO();
                CodeClassifyVO rootClassify=codeClassifyService.getTopClassifyVO(btmoid);
                nodeLibraryDTO.setClassify(nodeClassifyDTOList);
                nodeLibraryDTO.setId(rootClassify.getOid());
                nodeLibraryDTO.setName(rootClassify.getName());
                nodeLibraryDTO.setClassCode(rootClassify.getId());
                NodeDataDTO nodeDataDTO=new NodeDataDTO();
                nodeDataDTO.setLibrary(nodeLibraryDTO);
                jsonRootDataDTO.setData(nodeDataDTO);
                //查询推送接口参数
                DockingSystemConfig dockingSystemConfig = dockingSystemConfigService.getById(systeminfooid);
                String paramType = dockingSystemConfig.getParamType();//xml/json
                if(paramType.equals(DATATYPE_JSON)){
                    Object object = JSONObject.toJSON(jsonRootDataDTO);
                    sendString = object.toString();
                }else{
                    //组织返回接口信息
                    XStream xStream = new XStream(new DomDriver());
                    xStream.processAnnotations(NodeDataDTO.class);
                    xStream.autodetectAnnotations(true);
                    sendString = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" + xStream.toXML(nodeDataDTO);
                }
                //调用接口
                callInterface(sendString,dockingSystemConfig,dockingTask);
            }catch (Throwable e){
                e.printStackTrace();
            }finally {
                //每一个task一个事物
            }
        }
    }
    /***
     * å‘送编码主数据
     */
    private void sendpushDataForService (List<DockingTask> dockingTaskS){
        //每个task依次执行推送
        for (DockingTask dockingTask:dockingTaskS){
            //每个task一个事务,开启
            String paramString="";
            String sendString="";
            String backString="";
            try {
                //查询系统接口信息,ip method,dataType
                String systeminfooid = dockingTask.getSysInfoOid();//sysininfo çš„oid
                String classifyoid = dockingTask.getClassifyOid();
                //查询要推送的数据
                String btmoid = dockingTask.getBtmOid();//数据btmid
                //表示是主数据
                CodeClassifyTemplateVO codeClassifyTemplateVO = mdmEngineServiceI.getUsedTemplateByClassifyOid(classifyoid);
                R<List<Map<String, String>>> r = mdmEngineServiceI.getDataByOid(btmoid, codeClassifyTemplateVO.getOid());
                List<CodeClassifyTemplateAttrVO> attrVOS = codeClassifyTemplateVO.getAttributes();
                Map<String/**英文名称**/, String/**中文名称**/> attrIdNameMap = attrVOS.stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t.getName(), (o1, o2) -> o2));
                Map<String, String> data = new HashMap<>();
                if (r == null) {
                    JSONObject josni = bladeRedis.get(DOCKING_CACHE2_DELETE + btmoid);
                    data = (Map) josni;
                } else {
                    data = r.getData().get(0);
                }
                List<NodeProDTO> nodeProDTOS = new ArrayList<>();
                Map<String, String> finalData = data;
                attrIdNameMap.keySet().forEach(field -> {
                    String outName = attrIdNameMap.get(field);
                    if (finalData.containsKey(field)) {
                        String Value = finalData.get(field);
                        NodeProDTO nodeProDTO = new NodeProDTO();
                        nodeProDTO.setFiledName(field);
                        nodeProDTO.setOutname(outName);
                        nodeProDTO.setFiledValue(Value);
                        nodeProDTOS.add(nodeProDTO);
                    }
                });
                String[] classCodeLeves = dockingTask.getClassifyId().split(",");
                NodeJosnDTO nodeJosnDTO = new NodeJosnDTO();
                NodedataDTO nodeDataDTO = new NodedataDTO();
                NodeObjectDTO nodeObjectDTO = new NodeObjectDTO();
                nodeObjectDTO.setCode(dockingTask.getId());//设置编码
                nodeObjectDTO.setClassCode(classCodeLeves[0]);
                nodeObjectDTO.setStatus(data.get("lcstatus"));
                nodeObjectDTO.setLibrary(classCodeLeves[classCodeLeves.length - 1]);
                nodeObjectDTO.setPro(nodeProDTOS);
                List<NodeObjectDTO> nodeObjectDTOS = new ArrayList<>();
                nodeObjectDTOS.add(nodeObjectDTO);
                nodeDataDTO.setObject(nodeObjectDTOS);
                nodeJosnDTO.setData(nodeDataDTO);
                //查询推送接口参数
                DockingSystemConfig dockingSystemConfig = dockingSystemConfigService.getById(systeminfooid);
                String paramType = dockingSystemConfig.getParamType();//xml/json
                if (paramType.equals(DATATYPE_JSON)) {
                    Object object = JSONObject.toJSON(nodeJosnDTO);
                    sendString = object.toString();
                } else {
                    //组织返回接口信息
                    XStream xStream = new XStream(new DomDriver());
                    xStream.processAnnotations(NodedataDTO.class);
                    xStream.autodetectAnnotations(true);
                    sendString = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" + xStream.toXML(nodeDataDTO);
                }
                //调用接口
                callInterface(sendString,dockingSystemConfig, dockingTask);
            }catch (Throwable e){
                e.printStackTrace();
            }finally {
            }
        }
    }
    /***
     * è°ƒç”¨æŽ¥å£
     * @param sendString
     * @param dockingSystemConfig
     * @param dockingTask
     * @throws Throwable
     */
    private void callInterface(String  sendString , DockingSystemConfig dockingSystemConfig,DockingTask dockingTask) throws  Throwable{
        String paramString = "";
        String backString = "";
        String msg="";
        String url = dockingSystemConfig.getRequestUrl();//url
        List<ResultNodeObjectDTO> resultNodeObjectDTOS =new ArrayList<>();
        try {
            boolean usedFlag= dockingSystemConfig.getUsedFlag().equals("true")?true:false;
            if(!usedFlag){
                throw  new Throwable("接口已经停用!");
            }
            String type = dockingSystemConfig.getInterfaceType().toLowerCase(Locale.ROOT);//get/post/webserver/corba
            String paramType = dockingSystemConfig.getParamType();//xml/json
            String returnType = dockingSystemConfig.getReturnType();//xml/json
            String requestmethod= dockingSystemConfig.getRequestMethod();
            String interfaceFunction = dockingSystemConfig.getInterfaceFunction();//主要是webservice的方法名
            String namespace = dockingSystemConfig.getNamespace();//namespace
            String soapaction = dockingSystemConfig.getSoapAction();//soapaction
            String targName = dockingSystemConfig.getTargetName();//targName
            String cxfaxis = dockingSystemConfig.getCxfAxis();//webservice是cxf/axis
            //查询param
            List<DockingSysIntParam> dockingSysIntParamList = dockingSysIntParamService.list(Wrappers.<DockingSysIntParam>query().lambda().eq(DockingSysIntParam::getInfoOid,dockingSystemConfig.getOid()));
            //查询header
            List<DockingSysIntHeader> dockingSysIntHeaderList = dockingSysIntHeaderService.list(Wrappers.<DockingSysIntHeader>query().lambda().eq(DockingSysIntHeader::getInfoOid,dockingSystemConfig.getOid()));
            if(type.equals(URLTYPE_HTTP)) {
                if (requestmethod.equals(URLTYPE_GET)) {//GET请求
                    String sendurl = url + "?" + DATA_PARAM_NAME + "=" + sendString;
                    //拼接param
                    for (DockingSysIntParam dockingSysIntParam : dockingSysIntParamList) {
                        sendurl = sendurl + "&" + dockingSysIntParam.getParamKey() + "=" + dockingSysIntParam.getParamValue();
                    }
                    paramString = sendurl;
                    backString = HttpUtils.get(sendurl);
                } else if (requestmethod.equals(URLTYPE_POST)) {//POST请求
                    MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
                    for (DockingSysIntParam dockingSysIntParam : dockingSysIntParamList) {
                        params.add(dockingSysIntParam.getParamKey(), dockingSysIntParam.getParamValue());
                    }
                    params.add(DATA_PARAM_NAME,sendString);
                    paramString = params.toString();
                    MultiValueMap<String, String> headers = new LinkedMultiValueMap<>();
                    for (DockingSysIntHeader dockingSysIntHeader : dockingSysIntHeaderList) {
                        headers.add(dockingSysIntHeader.getHeaderKey(), dockingSysIntHeader.getHeaderValue());
                    }
                    backString = HttpUtils.post(url, params, headers);
                }
                if(backString.startsWith("\"")){
                    backString=backString.substring(backString.indexOf("\"")+1);
                }
                if(backString.endsWith("\"")){
                    backString=backString.substring(0,backString.lastIndexOf("\""));
                }
                if(backString.contains("\n")){
                    String res="\n";
                    backString=  backString.replaceAll(res,"");
                }
                if(backString.contains("\\")){
                    String res="\\\\\"";
                    backString=  backString.replaceAll(res,"\"").trim();
                }
            }else if (type.equals(URLTYPE_WEBSERVICE)) {//webserver请求
                MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
                for (DockingSysIntParam dockingSysIntParam : dockingSysIntParamList) {
                    params.add(dockingSysIntParam.getParamKey(), dockingSysIntParam.getParamValue());
                }
                paramString = sendString;
                MultiValueMap<String, String> headers = new LinkedMultiValueMap<>();
                for (DockingSysIntHeader dockingSysIntHeader : dockingSysIntHeaderList) {
                    headers.add(dockingSysIntHeader.getHeaderKey(), dockingSysIntHeader.getHeaderValue());
                }
                backString = WsErpClientUtil.sendMsg(url, namespace, soapaction, interfaceFunction, targName, sendString, 10000);
            } else {//corba接口
                //paramString=sendString;
                //  backString = jacorbClient.getBOFactoryService().sendCode(sendString);
            }
            ResultJsonDTO resultJsonDTO = new ResultJsonDTO();
            if(returnType.equals(DATATYPE_JSON)){
                resultJsonDTO =JSONObject.toJavaObject(JSONObject.parseObject(backString), ResultJsonDTO.class);
            }else {
                //组织返回接口信息
                XStream xStream = new XStream(new DomDriver());
                xStream.processAnnotations(ResultNodeDataDTO.class);
                xStream.autodetectAnnotations(true);
                ResultNodeDataDTO resultNodeDataDTO = (ResultNodeDataDTO) xStream.fromXML(backString);
                resultJsonDTO.setData(resultNodeDataDTO);
            }
            ResultNodeDataDTO resultNodeDataDTO=resultJsonDTO.getData();
            resultNodeObjectDTOS=resultNodeDataDTO.getObject();
        }catch (Throwable e){
            msg="调用接口失败:"+e.getMessage();
            e.printStackTrace();
            log.error("调用接口失败:"+e);
            //   throw  new Throwable("调用接口失败:"+e);
            ResultNodeObjectDTO   resultNodeObjectDTO=new ResultNodeObjectDTO();
            resultNodeObjectDTO.setErroid("1");
            resultNodeObjectDTO.setMsg(msg);
            resultNodeObjectDTO.setCode(dockingSystemConfig.getPushType().equalsIgnoreCase("2")?dockingTask.getClassifyId():dockingTask.getId());
            resultNodeObjectDTO.setOid(dockingTask.getBtmOid());
            resultNodeObjectDTOS.add(resultNodeObjectDTO);
        }finally {
            boolean isSend = false;
            for (ResultNodeObjectDTO resultNodeObjectDTO:resultNodeObjectDTOS){
                String erroid = resultNodeObjectDTO.getErroid();
                msg = resultNodeObjectDTO.getMsg();
                if("0".equals(erroid)){
                    isSend = true;
                }else if("1".equals(erroid)){
                    isSend=false;
                }else{
                    isSend=false;
                }
                DockingLog dockingLogeDO = new DockingLog();
                String oid=VciBaseUtil.getPk();
                dockingLogeDO.setOid(oid);
                dockingLogeDO.setSystemCode(dockingTask.getSystemCode());
                dockingLogeDO.setSystemName(dockingTask.getSystemName());
                dockingLogeDO.setSystemOid(dockingTask.getSystemOid());
                dockingLogeDO.setClassifyOid(dockingTask.getClassifyOid());
                dockingLogeDO.setClassifyId(dockingTask.getClassifyId());
                dockingLogeDO.setClassifyName(dockingTask.getClassifyName());
                dockingLogeDO.setId(dockingTask.getId());
                dockingLogeDO.setUniqueCode(dockingTask.getUniqueCode());
                dockingLogeDO.setParamString(paramString);
                dockingLogeDO.setReturnString(backString);
                dockingLogeDO.setInterfaceStatus(isSend?"true":"false");
                dockingLogeDO.setType(DATA_LOGE_OUT);
                dockingLogeDO.setMsg(msg);
                log.error("集成推送数据,systemcode:"+dockingTask.getSystemCode()+",systemname:"+dockingTask.getSystemName()+",url:"+url+",param:"+paramString+",e:"+msg);
                dockingLogeService.save(dockingLogeDO);
            }
            //全都接收成功的情况下,修改dockingtask sendflag为已发送
            if(isSend) {
                dockingTask.setSendFlag(MdmDuckingConstant.SEND_FLAG_TRUE);
                dockingTaskService.updateById(dockingTask);
            }
        }
    }
    /***
     * æŸ¥è¯¢éœ€è¦é›†æˆçš„业务数据任务
     */
    private void sendpushDataForService (){
        initSysadmin();
        //查询哪些任务还没有执行完成
        //VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(DockingTaskDO.class);
        //queryWrapper.addQueryMap("sendFlag",MdmDuckingConstant.SEND_FLAG_FALSE);
    //    queryWrapper.addQueryMap("btmId", QueryOptionConstant.NOTIN + "(" + VciBaseUtil.toInSql(DOCKING_DEFAULT_CLASSIFY.toUpperCase(Locale.ROOT)) + ")");
        //根据类型去查询需要集成的分类或者数据
        LambdaQueryWrapper<DockingTask> queryWrapper = Wrappers.<DockingTask>lambdaQuery();
        queryWrapper.eq(DockingTask::getSendFlag,MdmDuckingConstant.SEND_FLAG_FALSE);
        queryWrapper.notIn(DockingTask::getBtmId,DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT));
        List<DockingTask> dockingTaskDOS = dockingTaskService.list(queryWrapper);
        sendpushDataForService(dockingTaskDOS);
    }
    /***
     * æŸ¥è¯¢éœ€è¦é›†æˆçš„父分类任务
     */
    private void sendpushClsfForService(){
        initSysadmin();
    /*    //查询哪些任务还没有执行完成
        VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(DockingTaskDO.class);
        queryWrapper.addQueryMap("sendFlag",MdmDuckingConstant.SEND_FLAG_FALSE);
        queryWrapper.addQueryMap("btmId",DOCKING_DEFAULT_CLASSIFY.toUpperCase(Locale.ROOT));
        List<DockingTaskDO> dockingTaskDOS = dockingTaskDaoI.selectByWrapper(queryWrapper);*/
        //根据类型去查询需要集成的分类或者数据
        LambdaQueryWrapper<DockingTask> queryWrapper = Wrappers.<DockingTask>lambdaQuery();
        queryWrapper.eq(DockingTask::getSendFlag,MdmDuckingConstant.SEND_FLAG_FALSE);
        queryWrapper.eq(DockingTask::getBtmId,DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT));
        List<DockingTask> dockingTaskDOS = dockingTaskService.list(queryWrapper);
        sendpushClsfForService(dockingTaskDOS);
    }
    public void initSysadmin(){
        SessionInfo sessionInfo = new SessionInfo();
        sessionInfo.setUserId("sysAdmin");
        sessionInfo.setUserName("系统管理员");
        sessionInfo.setIp(WebUtil.getLocalIp());
        sessionInfo.setUserOid("193C026F-7DB8-27B4-F383-4E8BE083FB07");
        sessionInfo.setUserSecret(UserSecretEnum.PRIVACY.getValue()+"");
        WebUtil.setSessionInfo(sessionInfo);
    }
    /**
     * dockingdata根据oid修改sendflag
     * @param oid
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -2,15 +2,19 @@
import com.alibaba.cloud.commons.lang.StringUtils;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO;
import com.vci.ubcs.code.constant.MdmDuckingConstant;
import com.vci.ubcs.code.dto.CodeOrderDTO;
import com.vci.ubcs.code.dto.CodeOrderSecDTO;
import com.vci.ubcs.code.entity.*;
import com.vci.ubcs.code.enumpack.CodeDefaultLC;
import com.vci.ubcs.code.enumpack.CodeSecTypeEnum;
import com.vci.ubcs.code.enumpack.SysIntegrationDataFlowTypeEnum;
import com.vci.ubcs.code.enumpack.sysIntegrationPushTypeEnum;
import com.vci.ubcs.code.mapper.CommonsMapper;
import com.vci.ubcs.code.service.*;
import com.vci.ubcs.code.util.ClientBusinessObject;
@@ -52,6 +56,7 @@
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.stream.Collectors;
import static com.vci.ubcs.code.constant.MdmDuckingConstant.DOCKING_DEFAULT_CLASSIFY;
import static com.vci.ubcs.code.constant.MdmEngineConstant.DEFAULT_SYNC_ATTR_LIST;
import static com.vci.ubcs.code.constant.MdmEngineConstant.IMPORT_ROW_INDEX;
import static com.vci.ubcs.code.enumpack.CodeSecTypeEnum.CODE_CLASSIFY_SEC;
@@ -101,6 +106,9 @@
    @Resource
    private MdmIOService mdmIOService;
    @Resource
    private IDockingSystemConfigService dockingSystemConfigService;
    @Autowired
    private ICodeClassifyValueService codeClassifyValueService;
@@ -156,6 +164,12 @@
            }
            ClassfysVO classfysVO = interParameterVO.getData().getClassifys();
            systemId = interParameterVO.getData().getSystemId();
            //校验是否配置
            boolean checkPass= checkIspass(systemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue());
            if(!checkPass){
                errorid="101";
                throw new Throwable("系统标识为【"+systemId+"】,的"+sysIntegrationPushTypeEnum.ACCPET_APPCODE.getText()+"接口配置已停用或者未配置,请联系编码管理员!");
            }
            UserVO userVo = interParameterVO.getData().getUser();
            List<ClassfyVO> classVOList = classfysVO.getClassify();
            InterParameterVO finalInterParameterVO = interParameterVO;
@@ -323,6 +337,15 @@
            }
            ClassfysVO classfysVO = interParameterVO.getData().getClassifys();
            systemId = interParameterVO.getData().getSystemId();
            //校验是否配置
            boolean checkPass= checkIspass(systemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_EDITCODE.getValue());
            if(!checkPass){
                errorid="101";
                throw new Throwable("系统标识为【"+systemId+"】,的"+sysIntegrationPushTypeEnum.ACCPET_EDITCODE.getText()+"接口配置已停用或者未配置,请联系编码管理员!");
            }
            UserVO userVo = interParameterVO.getData().getUser();
            List<ClassfyVO> classVOList = classfysVO.getClassify();
            InterParameterVO finalInterParameterVO = interParameterVO;
@@ -474,6 +497,14 @@
            String libId= libraryVO.getId();
            List<String> classifyIdList=  libraryVO.getClassifyid();
            List<CodeClassifyVO> codeClassifyVOS =new ArrayList<>();
            //校验是否配置
            boolean checkPass= checkIspass(systemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_QUERYCLAFILY.getValue());
            if(!checkPass){
                errorid="101";
                throw new Throwable("系统标识为【"+systemId+"】,的"+sysIntegrationPushTypeEnum.ACCPET_QUERYCLAFILY.getText()+"接口配置已停用或者未配置,请联系编码管理员!");
            }
            //这是账号信息
            //这是账号信息
            if(userVo!=null) {
@@ -635,7 +666,12 @@
                msg = "接口参数:library ä¸ºnull";
                throw new Throwable(msg);
            }
            //校验是否配置
            boolean checkPass= checkIspass(systemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_QUERYDATA.getValue());
            if(!checkPass){
                errorid="101";
                throw new Throwable("系统标识为【"+systemId+"】,的"+sysIntegrationPushTypeEnum.ACCPET_QUERYDATA.getText()+"接口配置已停用或者未配置,请联系编码管理员!");
            }
            //先简称是否有关联模板,有模板要先删除
            List<CodeClassify> libIdDos =classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().eq(CodeClassify::getId,library));
@@ -820,6 +856,13 @@
            String libId= libraryVO.getId();
            List<String> classifyIdList=  libraryVO.getClassifyid();
            List<CodeClassifyVO> codeClassifyVOS =new ArrayList<>();
            //校验是否配置
            boolean checkPass= checkIspass(systemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_QUERYCLAFILYRULE.getValue());
            if(!checkPass){
                errorid="101";
                throw new Throwable("系统标识为【"+systemId+"】,的"+sysIntegrationPushTypeEnum.ACCPET_QUERYCLAFILYRULE.getText()+"接口配置已停用或者未配置,请联系编码管理员!");
            }
            //这是账号信息
            //这是账号信息
            if(userVo!=null) {
@@ -1303,5 +1346,20 @@
        return resultStr;
    }
    /***
     * æ ¡éªŒæ˜¯å¦åšäº†é…ç½®
     * @param systemId,系统标识
     * @param type:接口类型
     * @param operationType:接口操作类型
     * @return
     */
    private boolean checkIspass(String systemId,String type,String operationType){
        //根据类型去查询需要集成的分类或者数据
        LambdaQueryWrapper<DockingSystemConfig> queryWrapper = Wrappers.<DockingSystemConfig>lambdaQuery();
        queryWrapper.eq(DockingSystemConfig::getUsedFlag, MdmDuckingConstant.SEND_FLAG_TRUE);
        queryWrapper.eq(DockingSystemConfig::getSysBaseId,systemId);
        queryWrapper.eq(DockingSystemConfig::getDataFlowType,type);
        queryWrapper.eq(DockingSystemConfig::getPushType,operationType);
        return dockingSystemConfigService.count(queryWrapper)>0?true:false;
    }
}