xiejun
2023-06-19 377ef81de03a4a80d00f3cf1e0d1e2ff85ab7688
接口定时分发其他系统功能开发
已修改2个文件
已添加10个文件
1283 ■■■■ 文件已修改
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingTask.java 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingTaskVO.java 184 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/Scheduling/DockingClassSyncScheduling.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/Scheduling/DockingDataSyncScheduling.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingTaskMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeDuckingSyncService.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingTaskService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java 673 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingTaskServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingTaskWrapper.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingTaskMapper.xml 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingTask.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,118 @@
package com.vci.ubcs.code.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.vci.ubcs.starter.revision.model.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/***
 * å®šæ—¶åˆ†å‘任务对象
 */
@Data
@TableName("PL_CODE_DOCKINGTASK")
@ApiModel(value = "DockingTask", description = "定时分发任务对象")
@EqualsAndHashCode
public class DockingTask extends BaseModel {
    /**
     * åºåˆ—化
     */
    private static final long serialVersionUID = 5020487634341415429L;
    /**
     * ç³»ç»ŸæŽ¥å£oid
     */
    @ApiModelProperty(value = "系统接口oid")
    private String sysInfoOid;
    /**
     * ç³»ç»Ÿid
     */
    @ApiModelProperty(value = "系统id")
    private String systemOid;
    /**
     * ç³»ç»Ÿç¼–号
     */
    @ApiModelProperty(value = "系统编号")
    private String systemCode;
    /**
     * ç³»ç»Ÿåç§°
     */
    @ApiModelProperty(value = "系统名称")
    private String systemName;
    /**
     * åˆ†ç±»oid
     */
    @ApiModelProperty(value = "分类oid")
    private String classifyOid;
    /**
     * åˆ†ç±»id
     */
    @ApiModelProperty(value = "分类id")
    private String classifyId;
    /**
     * åˆ†ç±»åç§°
     */
    @ApiModelProperty(value = "分类名称")
    private String classifyName;
    /**
     * ä¸šåŠ¡ç±»åž‹æ•°æ®oid
     */
    @ApiModelProperty(value = "业务类型数据oid")
    private String btmOid;
    /**
     * ä¸šåŠ¡ç±»åž‹æ•°æ®id
     */
    @ApiModelProperty(value = "业务类型数据id")
    private String btmId;
    /**
     * å”¯ä¸€æ ‡è¯†
     */
    @ApiModelProperty(value = "唯一标识")
    private String uniqueCode;
    /**
     * å‘送类型
     */
    @ApiModelProperty(value = "发送类型")
    private String sendType;
    /**
     * å‘送类型显示文本
     */
    @ApiModelProperty(value = "发送类型显示文本")
    @TableField(exist = true)
    private String sendTypeText;
    /**
     * æ˜¯å¦å‘送成功
     */
    @ApiModelProperty(value = "是否发送成功")
    private String sendFlag;
    /**
     * æ˜¯å¦å‘送成功显示文本
     */
    @ApiModelProperty(value = "是否发送成功显示文本")
    @TableField(exist = true)
    private String sendFlagText;
    /**
     * dockingdata的oid
     */
    @ApiModelProperty(value = "业务数据主键")
    private String dataOid;
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingTaskVO.java
@@ -10,191 +10,107 @@
 */
public class DockingTaskVO extends BaseModel {
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     * åºåˆ—化
     */
    private static final long serialVersionUID = 4615707119707777641L;
    private static final long serialVersionUID = 5020487634341415429L;
    /**
     * ç³»ç»ŸæŽ¥å£oid
     */
    private String sysinfooid;
    private String sysInfoOid;
    /**
     * ç³»ç»Ÿid
     */
    private String systemoid;
    private String systemOid;
    /**
     * ç³»ç»Ÿç¼–号
     */
    private String systemcode;
    private String systemCode;
    /**
     * ç³»ç»Ÿåç§°
     */
    private String systemname;
    private String systemName;
    /**
     * åˆ†ç±»oid
     */
    private String classifyoid;
    private String classifyOid;
    /**
     * åˆ†ç±»id
     */
    private String classifyid;
    private String classifyId;
    /**
     * åˆ†ç±»åç§°
     */
    private String classifyname;
    private String classifyName;
    /**
     * ä¸šåŠ¡ç±»åž‹æ•°æ®oid
     */
    private String btmoid;
    private String btmOid;
    /**
     * ä¸šåŠ¡ç±»åž‹æ•°æ®id
     */
    private String btmid;
    private String btmId;
    /**
     * uniquecode
     * å”¯ä¸€æ ‡è¯†
     */
    private String uniquecode;
    private String uniqueCode;
    /**
     * å‘送类型
     */
    private String sendType;
    /**
     * å‘送类型显示文本
     */
    private String sendTypeText;
    /**
     * æ˜¯å¦å‘送成功
     */
    private String sendFlag;
    /**
     * æ˜¯å¦å‘送成功
     */
    private String sendflag;
    private String sendFlagText;
    /**
     * å‘送类型,lcstatus
     * dockingdata的oid
     */
    private String sendtype;
    /**
     * æ˜¯å¦å‘送成功
     */
    private String dataoid;
    public String getDataoid() {
        return dataoid;
    }
    public void setDataoid(String dataoid) {
        this.dataoid = dataoid;
    }
    public String getSendtype() {
        return sendtype;
    }
    public void setSendtype(String sendtype) {
        this.sendtype = sendtype;
    }
    public String getSysinfooid() {
        return sysinfooid;
    }
    public void setSysinfooid(String sysinfooid) {
        this.sysinfooid = sysinfooid;
    }
    public String getSystemoid() {
        return systemoid;
    }
    public void setSystemoid(String systemoid) {
        this.systemoid = systemoid;
    }
    public String getSystemcode() {
        return systemcode;
    }
    public void setSystemcode(String systemcode) {
        this.systemcode = systemcode;
    }
    public String getSystemname() {
        return systemname;
    }
    public void setSystemname(String systemname) {
        this.systemname = systemname;
    }
    public String getClassifyoid() {
        return classifyoid;
    }
    public void setClassifyoid(String classifyoid) {
        this.classifyoid = classifyoid;
    }
    public String getClassifyid() {
        return classifyid;
    }
    public void setClassifyid(String classifyid) {
        this.classifyid = classifyid;
    }
    public String getClassifyname() {
        return classifyname;
    }
    public void setClassifyname(String classifyname) {
        this.classifyname = classifyname;
    }
    public String getBtmoid() {
        return btmoid;
    }
    public void setBtmoid(String btmoid) {
        this.btmoid = btmoid;
    }
    public String getBtmid() {
        return btmid;
    }
    public void setBtmid(String btmid) {
        this.btmoid = btmid;
    }
    public String getSendflag() {
        return sendflag;
    }
    public void setSendflag(String sendflag) {
        this.sendflag = sendflag;
    }
    public String getUniquecode() {
        return uniquecode;
    }
    public void setUniquecode(String uniquecode) {
        this.uniquecode = uniquecode;
    }
    private String dataOid;
    @Override
    public String toString() {
        return "DockingTaskVO{" +
                "sysinfooid='" + sysinfooid + '\'' +
                ", systemoid='" + systemoid + '\'' +
                ", systemcode='" + systemcode + '\'' +
                ", systemname='" + systemname + '\'' +
                ", classifyoid='" + classifyoid + '\'' +
                ", classifyid='" + classifyid + '\'' +
                ", classifyname='" + classifyname + '\'' +
                ", btmoid='" + btmoid + '\'' +
                ", btmid='" + btmid + '\'' +
                ", uniquecode='" + uniquecode + '\'' +
                ", sendflag='" + sendflag + '\'' +
                ", sendtype='" + sendtype + '\'' +
                ", dataoid='" + dataoid + '\'' +
                '}';
            "sysInfoOid='" + sysInfoOid + '\'' +
            ", systemOid='" + systemOid + '\'' +
            ", systemCode='" + systemCode + '\'' +
            ", systemName='" + systemName + '\'' +
            ", classifyOid='" + classifyOid + '\'' +
            ", classifyId='" + classifyId + '\'' +
            ", classifyName='" + classifyName + '\'' +
            ", btmOid='" + btmOid + '\'' +
            ", btmId='" + btmId + '\'' +
            ", uniqueCode='" + uniqueCode + '\'' +
            ", sendType='" + sendType + '\'' +
            ", sendTypeText='" + sendTypeText + '\'' +
            ", sendFlag='" + sendFlag + '\'' +
            ", sendFlagText='" + sendFlagText + '\'' +
            ", dataOid='" + dataOid + '\'' +
            '}';
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/Scheduling/DockingClassSyncScheduling.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,54 @@
package com.vci.ubcs.code.Scheduling;
import com.vci.ubcs.code.service.ICodeDuckingSyncService;
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 DockingClassSyncScheduling {
    @Resource
    private ICodeDuckingSyncService codeDuckingSyncServiceI;
    @Value("${clsfSyncPush.isStart:false}")
    public boolean CLSF_SYNC_PUSH_ISSTARE;
    /**
     * æ˜¯å¦åˆå§‹åŒ–完成了
     */
    public static volatile String FINISH_INIT = "false";
    /**
     * åœ¨åˆå§‹åŒ–完成后执行
     */
    @PostConstruct()
    public void onInit(){
        FINISH_INIT = "true";
    }
    //默认每分钟执行方法
    @Scheduled(cron = "${clsfSyncPush.cronTime:0 0/10 * * * ?}")
    public void scheduled() {
        if(CLSF_SYNC_PUSH_ISSTARE && BooleanEnum.TRUE.getValue().equalsIgnoreCase(FINISH_INIT)) {
            codeDuckingSyncServiceI.DockingClassSyncScheduing();
            SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.");
            String time = formatter.format(new Date());
            String outinfo = "============在 "+time+" æ‰§è¡Œäº†åˆ†ç±»é›†æˆæŽ¨é€";
            log.info(outinfo);
        }
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/Scheduling/DockingDataSyncScheduling.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,56 @@
package  com.vci.ubcs.code.Scheduling;
import com.vci.ubcs.code.service.ICodeDuckingSyncService;
import com.vci.ubcs.starter.web.enumpck.BooleanEnum;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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
public class DockingDataSyncScheduling {
    private Logger logger = LoggerFactory.getLogger(getClass());
    @Resource
    private ICodeDuckingSyncService codeDuckingSyncServiceI;
    @Value("${dataSyncPush.isStart:false}")
    public boolean DATA_SYNC_PUSH_ISSTARE;
    /**
     * æ˜¯å¦åˆå§‹åŒ–完成了
     */
    public static volatile String FINISH_INIT = "false";
    /**
     * åœ¨åˆå§‹åŒ–完成后执行
     */
    @PostConstruct()
    public void onInit(){
        FINISH_INIT = "true";
    }
    //默认每分钟执行方法
    @Scheduled(cron = "${dataSyncPush.cronTime:0 0/10 * * * ?}")
    public void scheduled() {
        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);
        }
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingTaskMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
package com.vci.ubcs.code.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.vci.ubcs.code.entity.DockingTask;
public interface DockingTaskMapper extends BaseMapper<DockingTask> {
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeDuckingSyncService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,51 @@
package com.vci.ubcs.code.service;
import org.springblade.core.tool.api.R;
import java.util.List;
import java.util.Map;
/**
 * ä¸€ã€é…ç½®åˆ†ç±»ã€ç³»ç»Ÿã€æŽ¥å£æ•°æ®
 * 1、配置系统SysIntBaseDO
 * 2、配置系统、接口、分类SysIntInfoDO
 *
 * äºŒã€å¤„理预申请数据
 * 1、接收xmlData
 * 2、工艺系统特殊处理,根据unique查询编码,有已经发布的数据,直接返回编码。没有查询到已经发布的编码(编辑中、提交中、审核中、停用等)和一般系统一样按照第3步处理
 * 3、解析xmlData里每一个data节点,存储入DockingPreApplyDataDO,data节点下pros节点存储入DockingPreApplyDataInfoDO
 * 4、返回xmlData,里边标识了每一个data的处理结果
 *
 * ä¸‰ã€æ ¹æ®é¢„申请数据,插入主数据
 * 1、关联分类
 * 2、查询出DockingPreApplyDataInfoDO存储的数据,按照数据映射xml,转换为我们的key,返给前端自动填充到新增数据的页面
 * 3、调用通用的数据新增接口保存数据,这一步和主数据管理模块功能一样
 *
 * å››ã€æŽ¨é€æ•°æ®
 * 1、分类数据和主数据有变化的时候,数据库触发器(TIG_CODEALLCODE_FORDOCKINGDATA,TIG_codeclsify_FORDOCKINGDATA)自动插入dockingdata
 * 2、DockingScheduling执行时,查询dockingdatasendflag=false的数据,结合查询sysintinfo数据,查询dockingtask
 * 3、dockingtask中取出来数据,根据btmname和数据oid查询出来要推送的数据,查询SysIntInfoDO,根据一、2、中配置的信息,执行推送
 *
 * @author xieun
 * @date 2022-06-19
 */
public interface ICodeDuckingSyncService {
    /**
     * æ•°æ®å®šæ—¶ä»»åŠ¡è°ƒç”¨
     */
    void DockingDataSyncScheduing();
    /**
     * æ•°æ®å®šæ—¶ä»»åŠ¡è°ƒç”¨
     */
    void DockingClassSyncScheduing();
    /**
     * æŽ¨é€æœªå®Œæˆçš„集成数据
     * @return
     */
    R sendData(String oids);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingTaskService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
package com.vci.ubcs.code.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.code.entity.DockingTask;
public interface IDockingTaskService extends IService<DockingTask> {
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,673 @@
/*
package com.vci.ubcs.code.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
import com.vci.mdm.constant.MdmDuckingConstant;
import com.vci.mdm.dao.*;
import com.vci.mdm.dto.datapush.classify.JsonRootDataDTO;
import com.vci.mdm.dto.datapush.classify.NodeClassifyDTO;
import com.vci.mdm.dto.datapush.classify.NodeDataDTO;
import com.vci.mdm.dto.datapush.classify.NodeLibraryDTO;
import com.vci.mdm.dto.datapush.data.NodeJosnDTO;
import com.vci.mdm.dto.datapush.data.NodeObjectDTO;
import com.vci.mdm.dto.datapush.data.NodeProDTO;
import com.vci.mdm.dto.datapush.data.NodedataDTO;
import com.vci.mdm.dto.datapush.result.ResultJsonDTO;
import com.vci.mdm.dto.datapush.result.ResultNodeDataDTO;
import com.vci.mdm.dto.datapush.result.ResultNodeObjectDTO;
import com.vci.mdm.model.*;
import com.vci.mdm.pagemodel.CodeClassifyTemplateAttrVO;
import com.vci.mdm.pagemodel.CodeClassifyTemplateVO;
import com.vci.mdm.pagemodel.SysIntInfoVO;
import com.vci.mdm.service.*;
import com.vci.mdm.utils.*;
import com.vci.starter.web.constant.QueryOptionConstant;
import com.vci.starter.web.enumpck.UserSecretEnum;
import com.vci.starter.web.pagemodel.BaseResult;
import com.vci.starter.web.pagemodel.SessionInfo;
import com.vci.starter.web.util.VciBaseUtil;
import com.vci.starter.web.wrapper.VciQueryWrapperForDO;
import com.vci.web.pageModel.BatchCBO;
import com.vci.web.redis.RedisService;
import com.vci.web.service.WebBoServiceI;
import com.vci.web.util.PlatformClientUtil;
import com.vci.web.util.WebUtil;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
import static com.vci.mdm.constant.MdmDuckingConstant.*;
*/
/**
 * ä¸»é¢˜åº“集成服务
 * @author wangyi
 * @date 2022-03-20
 *//*
@Service
public class CodeDuckingSyncServiceImpl implements CodeDuckingSyncServiceI {
    */
/**
     * æ—¥å¿—
     *//*
    private Logger logger = LoggerFactory.getLogger(getClass());
    */
/**
     * é›†æˆæŽ¨é€ä»»åŠ¡æ•°æ®æ“ä½œå±‚
     *//*
    @Resource
    private DockingTaskDaoI dockingTaskDaoI;
    */
/**
     * é›†æˆæŽ¨é€ä»»åŠ¡æ•°æ®æ“ä½œå±‚
     *//*
    @Resource
    private DockingDataDaoI dockingDataDaoI;
    */
/**
     * é›†æˆæ—¥å¿—数据操作层
     *//*
    @Resource
    private DockingLogeDaoI dockingLogeDaoI;
    */
/**
     * æ¨¡æ¿å±žæ€§æ•°æ®æ“ä½œå±‚
     *//*
    @Resource
    private CodeClassifyDaoI codeClassifyDaoI;
    */
/**
     * ä¸šåŠ¡ç±»åž‹æ“ä½œçš„æœåŠ¡
     *//*
    @Autowired
    private WebBoServiceI boService;
    */
/**
     * ç¼“存服务
     *//*
    @Autowired
    private RedisService redisService;
    */
/**
     * æ•°æ®æœåŠ¡
     *//*
    @Autowired(required = false)
    @Lazy
    private MdmEngineServiceI mdmEngineServiceI;
    */
/**
     * è¦æŽ¨é€ç³»ç»Ÿçš„æœåŠ¡
     *//*
    @Autowired
    private SysIntInfoServiceI sysIntInfoServiceI;
    @Value("${dataSyncPush.dataParamName:xmlData}")
    public String DATA_PARAM_NAME;
    */
/**
     * å®šæ—¶ä»»åŠ¡æŽ¨é€
     *//*
    @Override
    public void DockingDataSyncScheduing(){
       // insertCache2();
        initPushDataTaks(1);
        sendpushDataForService();
    }
    */
/**
     * åˆ†ç±»å®šæ—¶ä»»åŠ¡æŽ¨é€
     *//*
    @Override
    public void DockingClassSyncScheduing(){
        initPushDataTaks(2);//分类推送
        sendpushClsfForService();
    }
    */
/**
     * æ‰‹åŠ¨æŽ¨é€ä¸ºå®Œæˆçš„æ•°æ®
     * @param oids
     * @return
     *//*
    @Override
    public BaseResult sendData(String oids) {
        VciBaseUtil.alertNotNull(oids,"系统集成基础信息数据对象",oids,"系统集成基础信息的主键");
        List<String> dockingTaskOidList=new ArrayList<>();
        dockingTaskOidList= VciBaseUtil.str2List(oids);
        List<DockingTaskDO> newDockingTaskDOs= this.dockingTaskDaoI.selectByPrimaryKeyCollection(dockingTaskOidList);
        Map<String,List<DockingTaskDO>> typeDockingTaskDOMap=new HashMap<>();
        newDockingTaskDOs.stream().forEach(newDockingTaskDO->{
           String btmId=newDockingTaskDO.getBtmid();
           if(btmId.equalsIgnoreCase(DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT))){
               List<DockingTaskDO> dockingTaskDOList= typeDockingTaskDOMap.get(DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT));
               if(CollectionUtils.isEmpty(dockingTaskDOList)){
                   dockingTaskDOList=new ArrayList<>();
               }
               dockingTaskDOList.add(newDockingTaskDO);
               typeDockingTaskDOMap.put(DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT),dockingTaskDOList);
           }else{
               List<DockingTaskDO> dockingTaskDOList= typeDockingTaskDOMap.get("data");
               if(CollectionUtils.isEmpty(dockingTaskDOList)){
                   dockingTaskDOList=new ArrayList<>();
               }
               dockingTaskDOList.add(newDockingTaskDO);
               typeDockingTaskDOMap.put("data",dockingTaskDOList);
           }
        });
        typeDockingTaskDOMap.keySet().forEach(type->{
           List<DockingTaskDO> DockingTaskDO=typeDockingTaskDOMap.get(type);
           if(!CollectionUtils.isEmpty(DockingTaskDO)){
               if(type.equalsIgnoreCase(DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT))){
                   this.sendpushClsfForService(DockingTaskDO);
               }else{
                   this.sendpushDataForService(DockingTaskDO);
               }
           }
        });
       return  BaseResult.successMsg("手动推送完成,请核对是否推送成功");
    }
    */
/***
     * æŸ¥è¯¢redis中数据,对比后插入dockingtask
     * @param type
     *//*
    private void initPushDataTaks(int type){
        initSysadmin();
        //sysintinfo查询要推送的主题库和相关系统信息
        Map<String, String> conditionMap = new HashMap<>();
        conditionMap.put("usedflag","true");
        conditionMap.put("pushType",type==2?"2":"1") ;//2是代表分类推送,1是代表数据推送
        List<SysIntInfoDO> sysIntInfoVOList = sysIntInfoServiceI.selectAll(conditionMap);
        if(CollectionUtils.isEmpty(sysIntInfoVOList)){
            String title=type==2?"分类推送":"数据推送";
            logger.info("info->所有集成系统,未查询到相关的【"+title+"】的接口配置信息,配置");
            return;
        }
        Map<String ,List<SysIntInfoDO>> sysIntInfoDOMap = new HashMap<String ,List<SysIntInfoDO>>();//key=classifyoid,value=list<map>
        for (SysIntInfoDO sysIntInfoVOi:sysIntInfoVOList){
            List<SysIntInfoDO> SysIntInfoVOListi = sysIntInfoDOMap.get(sysIntInfoVOi.getClassifyoid());
            if(SysIntInfoVOListi==null){
                SysIntInfoVOListi = new ArrayList<SysIntInfoDO>();
            }
            SysIntInfoVOListi.add(sysIntInfoVOi);
            sysIntInfoDOMap.put(sysIntInfoVOi.getClassifyoid(),SysIntInfoVOListi);
        }
        //根据类型去查询需要集成的分类或者数据
        VciQueryWrapperForDO queryWrapperForDO = new VciQueryWrapperForDO(DockingDataDO.class);
        queryWrapperForDO.addQueryMap("sendflag","false");
        if(type==2){
            queryWrapperForDO.addQueryMap("btmTypeId",DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT));
        }else {
            queryWrapperForDO.addQueryMap("btmTypeId", QueryOptionConstant.NOTIN + "(" + VciBaseUtil.toInSql(DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT)) + ")");
        }
        List<DockingDataDO> dataList = dockingDataDaoI.selectByWrapper(queryWrapperForDO);
        for (DockingDataDO mapi:dataList){
            WebUtil.setPersistence(false);
            BatchCBO batchCBO = new BatchCBO();
            String dataoid = mapi.getOid();//data对象的oid
            String classifyoid = mapi.getClassifyoid();
            String id = mapi.getId();
            String uniquecode = mapi.getUniquecode();
            String btmid = mapi.getBtmid();
            String btmoid = mapi.getBtmoid();
            String sendtype = mapi.getSendtype();
            String classifyid = mapi.getClassifyid();
            String classifyname = mapi.getClassifyname();
            String curentClassOid=null;
            if(type==2){
                curentClassOid=btmoid;
            }else{
                curentClassOid=classifyoid;
            }
            List<SysIntInfoDO> effectiveSysIntInfoVOs=new ArrayList<>();
           //根据当前数据的id,查询获取哪些系统需要做集成
            List<CodeClassifyDO> parentLeveDO= codeClassifyDaoI.selectAllLevelParentByOid(curentClassOid);
            if(CollectionUtils.isEmpty(parentLeveDO)){
                continue;//说明这个分类被删掉了,不做处理
            }
            Map<String, CodeClassifyDO> oidCodeclassifyDOMap = parentLeveDO.stream().filter(codeClassifyDO -> codeClassifyDO != null && StringUtils.isNotBlank(codeClassifyDO.getOid())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getOid(), t -> t));
            oidCodeclassifyDOMap.keySet().forEach(oid->{
                if(sysIntInfoDOMap.containsKey(oid)){
                    List<SysIntInfoDO> sysIntInfoDOS= sysIntInfoDOMap.get(oid);
                    effectiveSysIntInfoVOs.addAll(sysIntInfoDOS);
                }
            });
            //如果校验的系统接口信息不存在,则数据不不往信息里推送
            if(CollectionUtils.isEmpty(effectiveSysIntInfoVOs)){
                continue;
            }
            List<DockingTaskDO> dockingTaskDO_insert = new ArrayList<DockingTaskDO>();
            for (SysIntInfoDO sysIntInfoVOi:effectiveSysIntInfoVOs){
                DockingTaskDO dockingTaskDO = new DockingTaskDO();
                dockingTaskDO.setOid(redisService.getUUIDEveryDay());
                dockingTaskDO.setSendflag(SEND_FLAG_FALSE);
                dockingTaskDO.setId(id);//编码
                dockingTaskDO.setUniquecode(uniquecode);
                dockingTaskDO.setBtmoid(btmoid);//数据oid
                dockingTaskDO.setBtmid(btmid);//数据业务类型id
                dockingTaskDO.setClassifyid(classifyid);//数据在分类id
                dockingTaskDO.setClassifyoid(classifyoid);//数据所在分类oid
                dockingTaskDO.setClassifyname(classifyname);//数据所在分类名称
                dockingTaskDO.setSendtype(sendtype);//数据推送类型
                dockingTaskDO.setDataoid(dataoid);
                //intinfo
                dockingTaskDO.setSysinfooid(sysIntInfoVOi.getOid());//intinfo的oid
                dockingTaskDO.setSystemoid(sysIntInfoVOi.getSysbaseoid());//系统oid
                dockingTaskDO.setSystemcode(sysIntInfoVOi.getSysbaseid());//系统编码
                dockingTaskDO.setSystemname(sysIntInfoVOi.getSysbasename());//系统name
                dockingTaskDO_insert.add(dockingTaskDO);
            }
            BatchCBO bi = null;
            if(dockingTaskDO_insert.size()!=0) {
                bi = dockingTaskDaoI.batchInsert(dockingTaskDO_insert);
                batchCBO.copyFromOther(bi);
            }
            WebUtil.setPersistence(true);
            boService.persistenceBatch(batchCBO);
            //dockingTaskDaoI.updateByPrimaryKey方法报错了,所以手写了这个
            boolean u = updateDockingDatasSendFlag(dataoid,SEND_FLAG_TRUE);
            if(!u){
                logger.error("集成data分解任务失败!dataoid:"+dataoid);
                continue;
            }
        }
    }
    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)) + ")");
        List<DockingTaskDO> dockingTaskDOS = dockingTaskDaoI.selectByWrapper(queryWrapper);
        sendpushDataForService(dockingTaskDOS);
    }
    */
/***
     * å‘送编码主数据
     *//*
    private void sendpushDataForService (List<DockingTaskDO> dockingTaskDOS){
        //每个task依次执行推送
        for (DockingTaskDO dockingTaskDO:dockingTaskDOS){
            //每个task一个事务,开启
            WebUtil.setPersistence(false);
            BatchCBO batchCBO = new BatchCBO();
            String paramString="";
            String sendString="";
            String backString="";
            try {
                //查询系统接口信息,ip method,dataType
                String systeminfooid = dockingTaskDO.getSysinfooid();//sysininfo çš„oid
                String classifyoid = dockingTaskDO.getClassifyoid();
                //查询要推送的数据
                String btmoid = dockingTaskDO.getBtmoid();//数据btmid
                //表示是主数据
                CodeClassifyTemplateVO codeClassifyTemplateVO = mdmEngineServiceI.getUsedTemplateByClassifyOid(classifyoid);
                BaseResult<Map<String, String>> baseResult = 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 (baseResult == null) {
                    JSONObject josni = redisService.getCacheObject(DOCKING_CACHE2_DELETE + btmoid);
                    data = (Map) josni;
                } else {
                    data = baseResult.getObj();
                }
                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 = dockingTaskDO.getClassifyid().split(",");
                NodeJosnDTO nodeJosnDTO = new NodeJosnDTO();
                NodedataDTO nodeDataDTO = new NodedataDTO();
                NodeObjectDTO nodeObjectDTO = new NodeObjectDTO();
                nodeObjectDTO.setCode(dockingTaskDO.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);
                //查询推送接口参数
                SysIntInfoVO sysIntInfoVO = sysIntInfoServiceI.getObjectByOid(systeminfooid);
                String paramType = sysIntInfoVO.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,sysIntInfoVO, dockingTaskDO, batchCBO);
            }catch (Throwable e){
                e.printStackTrace();
            }finally {
                //每一个task一个事物
                WebUtil.setPersistence(true);
                boService.persistenceBatch(batchCBO);
            }
        }
    }
    public 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);
        sendpushClsfForService(dockingTaskDOS);
    }
    */
/***
     * å‘送分类数据
     *//*
    private void sendpushClsfForService(List<DockingTaskDO> dockingTaskDOS){
        //每个task依次执行推送
        for (DockingTaskDO dockingTaskDO:dockingTaskDOS){
            //每个task一个事务,开启
            WebUtil.setPersistence(false);
            BatchCBO batchCBO = new BatchCBO();
            String paramString="";
            String sendString="";
            String backString="";
            //查询系统接口信息,ip method,dataType
            String systeminfooid = dockingTaskDO.getSysinfooid();//sysininfo çš„oid
            try {
                //查询要推送的数据
                String btmoid = dockingTaskDO.getBtmoid();//数据btmid
                JsonRootDataDTO jsonRootDataDTO=new JsonRootDataDTO();
                CodeClassifyDO codeClassifyDO=codeClassifyDaoI.selectByPrimaryKey(btmoid);
                List<NodeClassifyDTO>nodeClassifyDTOList=new ArrayList<>();
                NodeClassifyDTO nodeClassifyDTO=new NodeClassifyDTO();
                nodeClassifyDTO.setClassCode(codeClassifyDO.getId());//分类代号
                nodeClassifyDTO.setDescription(codeClassifyDO.getDescription());//分类描述
                nodeClassifyDTO.setFullPathName(codeClassifyDO.getPath());//全路径
                nodeClassifyDTO.setLcStatus(codeClassifyDO.getLcStatus());//状态
              //  CodeClassifyDO parentClassDo=codeClassifyDaoI.selectByPrimaryKey(codeClassifyDO.getParentCodeClassifyOid());
                nodeClassifyDTO.setPid(codeClassifyDO.getParentCodeClassifyOid());//父id节点
                nodeClassifyDTO.setId(codeClassifyDO.getOid());//分类oid
                nodeClassifyDTO.setName(codeClassifyDO.getName());//分类名称
                nodeClassifyDTOList.add(nodeClassifyDTO);
                NodeLibraryDTO nodeLibraryDTO=new NodeLibraryDTO();
                CodeClassifyDO rootClassify=codeClassifyDaoI.getRootClassify(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);
                //查询推送接口参数
                SysIntInfoVO sysIntInfoVO = sysIntInfoServiceI.getObjectByOid(systeminfooid);
                String paramType = sysIntInfoVO.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,sysIntInfoVO,dockingTaskDO,batchCBO);
            }catch (Throwable e){
                e.printStackTrace();
            }finally {
                //每一个task一个事物
                WebUtil.setPersistence(true);
                boService.persistenceBatch(batchCBO);
            }
        }
    }
    */
/***
     * è°ƒç”¨æŽ¥å£
     * @param sysIntInfoVO
     * @throws Throwable
     *//*
    private void callInterface(String  sendString , SysIntInfoVO sysIntInfoVO,DockingTaskDO dockingTaskDO,BatchCBO batchCBO) throws  Throwable{
        String paramString = "";
        String backString = "";
        String msg="";
        String url = sysIntInfoVO.getRequesturl();//url
        List<ResultNodeObjectDTO> resultNodeObjectDTOS =new ArrayList<>();
        try {
            String type = sysIntInfoVO.getInterfacetype().toLowerCase(Locale.ROOT);//get/post/webserver/corba
            String paramType = sysIntInfoVO.getParamtype();//xml/json
            String returnType = sysIntInfoVO.getReturntype();//xml/json
            String requestmethod= sysIntInfoVO.getRequestmethod();
            String interfaceFunction = sysIntInfoVO.getInterfaceFunction();//主要是webservice的方法名
            String namespace = sysIntInfoVO.getNamespace();//namespace
            String soapaction = sysIntInfoVO.getSoapaction();//soapaction
            String targName = sysIntInfoVO.getTargName();//targName
            String cxfaxis = sysIntInfoVO.getCxfaxis();//webservice是cxf/axis
            //查询param
            List<SysIntParamDO> sysIntParamDOList = sysIntInfoServiceI.getParamsBySystemInfoOid(sysIntInfoVO.getOid());
            //查询header
            List<SysIntHeaderDO> sysIntHeaderDOList = sysIntInfoServiceI.getHeadersBySystemInfoOid(sysIntInfoVO.getOid());
            if(type.equals(URLTYPE_HTTP)) {
                if (requestmethod.equals(URLTYPE_GET)) {//GET请求
                    String sendurl = url + "?" + DATA_PARAM_NAME + "=" + sendString;
                    //拼接param
                    for (SysIntParamDO sysIntParamDO : sysIntParamDOList) {
                        sendurl = sendurl + "&" + sysIntParamDO.getParamkey() + "=" + sysIntParamDO.getParamvalue();
                    }
                    paramString = sendurl;
                    backString = HttpUtils.get(sendurl);
                } else if (requestmethod.equals(URLTYPE_POST)) {//POST请求
                    MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
                    for (SysIntParamDO sysIntParamDO : sysIntParamDOList) {
                        params.add(sysIntParamDO.getParamkey(), sysIntParamDO.getParamvalue());
                    }
                    params.add(DATA_PARAM_NAME,sendString);
                    paramString = params.toString();
                    MultiValueMap<String, String> headers = new LinkedMultiValueMap<>();
                    for (SysIntHeaderDO sysIntHeaderDO : sysIntHeaderDOList) {
                        headers.add(sysIntHeaderDO.getHeaderkey(), sysIntHeaderDO.getHeaderalue());
                    }
                    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 (SysIntParamDO sysIntParamDO : sysIntParamDOList) {
                    params.add(sysIntParamDO.getParamkey(), sysIntParamDO.getParamvalue());
                }
                paramString = sendString;
                MultiValueMap<String, String> headers = new LinkedMultiValueMap<>();
                for (SysIntHeaderDO sysIntHeaderDO : sysIntHeaderDOList) {
                    headers.add(sysIntHeaderDO.getHeaderkey(), sysIntHeaderDO.getHeaderalue());
                }
                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;
            e.printStackTrace();
         //   throw  new Throwable("调用接口失败:"+e);
            ResultNodeObjectDTO   resultNodeObjectDTO=new ResultNodeObjectDTO();
            resultNodeObjectDTO.setErroid("1");
            resultNodeObjectDTO.setMsg(msg);
            resultNodeObjectDTO.setCode(sysIntInfoVO.getPushType().equalsIgnoreCase("2")?dockingTaskDO.getClassifyid():dockingTaskDO.getId());
            resultNodeObjectDTO.setOid(dockingTaskDO.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;
                }
                DockingLogeDO dockingLogeDO = new DockingLogeDO();
                String oid=redisService.getUUIDEveryDay();
                dockingLogeDO.setOid(oid);
                dockingLogeDO.setSystemcode(dockingTaskDO.getSystemcode());
                dockingLogeDO.setSystemname(dockingTaskDO.getSystemname());
                dockingLogeDO.setSystemoid(dockingTaskDO.getSystemoid());
                dockingLogeDO.setClassifyoid(dockingTaskDO.getClassifyoid());
                dockingLogeDO.setClassifyid(dockingTaskDO.getClassifyid());
                dockingLogeDO.setClassifyname(dockingTaskDO.getClassifyname());
                dockingLogeDO.setId(dockingTaskDO.getId());
                dockingLogeDO.setUniquecode(dockingTaskDO.getUniquecode());
                dockingLogeDO.setParamstring(paramString);
                dockingLogeDO.setReturnstring(backString);
                dockingLogeDO.setInterfacestatus(isSend?"true":"false");
                dockingLogeDO.setType(DATA_LOGE_OUT);
                dockingLogeDO.setMsg(msg);
                logger.error("集成推送数据,systemcode:"+dockingTaskDO.getSystemcode()+",systemname:"+dockingTaskDO.getSystemname()+",url:"+url+",param:"+paramString+",e:"+msg);
                BatchCBO dockingLogeDOBo = dockingLogeDaoI.insert(dockingLogeDO);
                batchCBO.copyFromOther(dockingLogeDOBo);
            }
            //全都接收成功的情况下,修改dockingtask sendflag为已发送
            if(isSend) {
                dockingTaskDO.setSendflag(MdmDuckingConstant.SEND_FLAG_TRUE);
                BatchCBO updateTask = dockingTaskDaoI.updateByPrimaryKey(dockingTaskDO);
                batchCBO.copyFromOther(updateTask);
            }
        }
    }
    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);
    }
    @Autowired
    private PlatformClientUtil platformClientUtil;
    */
/**
     * dockingdata根据oid修改sendflag
     * @param oid
     * @param sendflag
     * @return
     *//*
    public boolean updateDockingDatasSendFlag(String oid,String sendflag){
        boolean u=false;
        String sql = "update PLATFORMBTM_codedockingdata set sendFlag = '"+sendflag+"' where oid='"+oid+"'";
        try {
            u=platformClientUtil.getBOFactoryService().executeUpdateSql(sql);
        }catch (Exception e){
        }
        return u;
    }
}
*/
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingTaskServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,11 @@
package com.vci.ubcs.code.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.code.entity.CodeClassifyValue;
import com.vci.ubcs.code.entity.DockingTask;
import com.vci.ubcs.code.mapper.CodeClassifyValueMapper;
import com.vci.ubcs.code.mapper.DockingTaskMapper;
import com.vci.ubcs.code.service.IDockingTaskService;
public class DockingTaskServiceImpl  extends ServiceImpl<DockingTaskMapper, DockingTask>  implements IDockingTaskService {
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -699,7 +699,14 @@
                        });
                        resultDataVO.setObject(dataObjectVOS);
                    }
                }else{
                    errorid = "101";
                    msg = "接口参数:classCode æœªæŸ¥è¯¢åˆ°å¯¹åº”的分类信息";
                    throw new Throwable(msg);
                }
            }else{
                errorid = "101";
                msg = "接口参数:library æœªæŸ¥è¯¢åˆ°å¯¹åº”的库节点信息";
            }
            errorid = "0";
            msg = "数据查询成功";
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingTaskWrapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,67 @@
package com.vci.ubcs.code.wrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.vci.ubcs.code.entity.DockingTask;
import com.vci.ubcs.code.vo.DockingTaskVO;
import com.vci.ubcs.code.vo.pagemodel.DockingTaskVO;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Objects;
public class DockingTaskWrapper extends BaseEntityWrapper<DockingTask, DockingTaskVO> {
    public static DockingSystemWrapper build() {
        return new DockingSystemWrapper();
    }
    @Override
    public DockingTaskVO entityVO(DockingTask entity) {
        DockingTaskVO vo = Objects.requireNonNull(BeanUtil.copy(entity, DockingTaskVO.class));
        return vo;
    }
    /***
     * æ•°ç»„对象转换
     * @param entitys
     * @return
     */
    public List<DockingTaskVO> entityVOs(Collection<DockingTask> entitys) {
        if(CollectionUtils.isEmpty(entitys)) {return new ArrayList<>();}
        List<DockingTaskVO> vos=new ArrayList<>();
        if(!CollectionUtils.isEmpty(entitys)) {
            entitys.stream().forEach(vo -> {
                vos.add(entityVO(vo));
            });
        }
        return vos;
    }
    /***
     * æ•°ç»„对象转换
     * @param vos
     * @return
     */
    public List<DockingTask> voentitys(Collection<DockingTaskVO> vos) {
        if(CollectionUtils.isEmpty(vos)) {return new ArrayList<>();}
        List<DockingTask>entitys =new ArrayList<>();
        if(!CollectionUtils.isEmpty(vos)) {
            vos.stream().forEach(entity -> {
                entitys.add(voentity(entity));
            });
        }
        return entitys;
    }
    /***
     * æ•°ç»„对象转换
     * @param vo
     * @return
     */
    public DockingTask voentity( DockingTaskVO vo) {
        DockingTask entity = Objects.requireNonNull(BeanUtil.copy(vo, DockingTask.class));
        return entity;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingTaskMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.vci.ubcs.code.mapper.DockingTaskMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="plDockingLogResultMap" type="com.vci.ubcs.code.entity.DockingTask">
        <result column="OID" property="oid"/>
        <result column="REVISIONOID" property="revisionOid"/>
        <result column="NAMEOID" property="nameOid"/>
        <result column="BTMNAME" property="btmname"/>
        <result column="LASTR" property="lastR"/>
        <result column="FIRSTR" property="firstR"/>
        <result column="LASTV" property="lastV"/>
        <result column="FIRSTV" property="firstV"/>
        <result column="CREATOR" property="creator"/>
        <result column="CREATETIME" property="createTime"/>
        <result column="LASTMODIFIER" property="lastModifier"/>
        <result column="LASTMODIFYTIME" property="lastModifyTime"/>
        <result column="REVISIONRULE" property="revisionRule"/>
        <result column="VERSIONRULE" property="versionRule"/>
        <result column="REVISIONSEQ" property="revisionSeq"/>
        <result column="REVISIONVALUE" property="revisionValue"/>
        <result column="VERSIONSEQ" property="versionSeq"/>
        <result column="VERSIONVALUE" property="versionValue"/>
        <result column="LCTID" property="lctid"/>
        <result column="LCSTATUS" property="lcStatus"/>
        <result column="TS" property="ts"/>
        <result column="ID" property="id"/>
        <result column="NAME" property="name"/>
        <result column="DESCRIPTION" property="description"/>
        <result column="OWNER" property="owner"/>
        <result column="COPYFROMVERSION" property="copyFromVersion"/>
        <result column="SYSINFOOID" property="sysInfoOid"/>
        <result column="SYSTEMOID" property="systemOid"/>
        <result column="SYSINFOOID" property="sysInfoOid"/>
        <result column="SYSTEMCODE" property="systemCode"/>
        <result column="SYSTEMNAME" property="systemName"/>
        <result column="CLASSIFYOID" property="classifyOid"/>
        <result column="CLASSIFYID" property="classifyId"/>
        <result column="CLASSIFYNAME" property="classifyName"/>
        <result column="BTMOID" property="btmOid"/>
        <result column="BTMID" property="btmId"/>
        <result column="UNIQUECODE" property="uniqueCode"/>
        <result column="SENDTYPE" property="sendType"/>
        <result column="SENDFLAG" property="sendFlag"/>
        <result column="DATAOID" property="dataOid"/>
    </resultMap>
</mapper>