ludc
2023-09-15 d370c5b1f2c33f8599db7ece89b484613b594f60
Merge remote-tracking branch 'origin/master'
已修改22个文件
458 ■■■■■ 文件已修改
Source/UBCS-WEB/src/api/docking/loge.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/dockingSearch/VciDockingSearch.vue 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/refer/vciWebRefer.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/docking/data.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/docking/loge.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/docking/task.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue 147 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSCondition.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSSqlKeyword.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feigh/MdmInterJtClient.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplySwingController.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java 74 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDokingSysManaentService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DokingSysManaentServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/api/docking/loge.js
@@ -1,13 +1,13 @@
import request from '@/router/axios';
export const getList = (page, size, params) => {
export const getList = (page, limit, params) => {
  return request({
    url: '/api/ubcs-code/dockingManagement/gridLoge',
    method: 'get',
    params: {
      ...params,
      page,
      size
      limit
    }
  })
}
Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
@@ -221,7 +221,7 @@
          format: formItem.dateFormate,
          keyAttr: formItem.keyAttr,
          value: (formItem.dicData && formItem.dicData.length > 0 && formItem.secType == "codefixedsec" ? formItem.dicData[0].id : null) ||
            ( TreeValue&& formItem.secType == "codelevelsec" ? TreeValue : null),
            (formItem.secType == "codedatesec"?formItem.codeDateValue: null) || ( TreeValue&& formItem.secType == "codelevelsec" ? TreeValue : null),
          placeholder: formItem.inputTip,
          comboxKey: formItem.comboxKey,
          tip: formItem.tooltips,
Source/UBCS-WEB/src/components/dockingSearch/VciDockingSearch.vue
@@ -60,7 +60,7 @@
<!--      公用模块-->
<!--      输入内容-->
      <el-form-item size="small" v-if="shouldShowInput">
        <el-input v-model="formInline.text" placeholder="请输入内容" @keyup.enter.native="SaveHandler"></el-input>
        <el-input v-model="formInline.text" placeholder="按下回车键进行查询!" @keyup.enter.native="SaveHandler"></el-input>
      </el-form-item>
<!--      查询按钮-->
      <el-form-item size="small" v-if="shouldShowButton">
@@ -117,13 +117,50 @@
    },
    SaveHandler(){
      let name = this.SearchObject.searchData[this.formInline.type].prop;
      getList(this.page.currentPage, this.page.pageSize, { [`conditionMap['${name}_like']`]: this.formInline.text}).then(res => {
      getList(this.page.currentPage, this.page.pageSize, { [`conditionMap[${name}_like]`]: this.formInline.text}).then(res => {
        console.log(res);
      });
    },
    handleSearch(){
      let formattedDate = this.$moment(this.formInline.Date).format('YYYY-M-D');
      console.log('formattedDate',formattedDate);
    handleSearch() {
      const { type, typeFlag, stateFlag, stateTaskDataFlag, dateFlag, lastDateFlag ,sendTypeFlga} = this.status;
      const { currentPage, pageSize } = this.page;
      const { cut, state, stateTask, Date, lastDate, taskCut } = this.formInline;
      const requestParams = {};
      // 集成日志类型
      if (type === 'loge' && typeFlag) {
        requestParams['conditionMap[type_like]'] = cut;
      }
      // 集成日志是否成功
      if (type === 'loge' && stateFlag) {
        requestParams['conditionMap[interfaceStatus_like]'] = state;
      }
      // 集成任务 是否推送成功  集成数据  是否分解任务
      if ((type === 'task' || type === 'data') && stateTaskDataFlag) {
        requestParams['conditionMap[sendFlag_like]'] = stateTask;
      }
      // 集成任务 创建日期 和 集成日志 记录时间
      if ((type === 'loge' || type === 'task') && dateFlag) {
        const formattedDate = this.$moment(Date).format('YYYY-M-D');
        requestParams['conditionMap[createTime_like]'] = formattedDate;
      }
      // 集成任务 最后推送时间
      if (type === 'task' && lastDateFlag) {
        const formattedDate = this.$moment(lastDate).format('YYYY-M-D');
        requestParams['conditionMap[lastModifyTime_like]'] = formattedDate;
      }
      // 集成任务 集成数据 推送类型
      if ((type === 'task' || type === 'data') && sendTypeFlga) {
        requestParams['conditionMap[sendType_like]'] = taskCut;
      }
      // 请求
      getList(currentPage, pageSize, requestParams).then(res => {
        if(!res.data.data.records){
          this.$message.error('暂未查到数据!')
        }else {
          let Data=res.data.data.records;
          this.$emit('getList',Data)
        }
      });
    }
  }
}
Source/UBCS-WEB/src/components/refer/vciWebRefer.vue
@@ -17,6 +17,7 @@
  components: {vciWebReferTree, vciWebReferTable, vciWebReferDefalut},
  data() {
    return {
      reterTypeLeavl:'213',
      refertype: this.referConfig.options.type,
      emitData:{},
      title:'',
Source/UBCS-WEB/src/views/docking/data.vue
@@ -16,7 +16,7 @@
               @refresh-change="refreshChange"
               @on-load="onLoad">
      <template slot-scope="scope" slot="menuLeft">
        <vci-docking-search :SearchObject="SearchObject" :page="page" :formInline="formInline" :status="status"></vci-docking-search>
        <vci-docking-search :SearchObject="SearchObject" :page="page" :formInline="formInline" :status="status" @getList="dockingGetList"></vci-docking-search>
      </template>
    </avue-crud>
  </basic-container>
@@ -189,6 +189,9 @@
    }
  },
  methods: {
    dockingGetList(val){
      this.data=val;
    },
    async cellDbClick(row, column, cell, event) {
      for (const key in row) {
        if (key === column.property) {
Source/UBCS-WEB/src/views/docking/loge.vue
@@ -3,7 +3,7 @@
  <basic-container>
    <avue-crud :option="option"
               :table-loading="loading"
               :data="data"
               :data="data || getList"
               :page.sync="page"
               :permission="permissionList"
               ref="crud"
@@ -16,7 +16,7 @@
               @refresh-change="refreshChange"
               @on-load="onLoad">
      <template slot-scope="scope" slot="menuLeft">
        <vci-docking-search :SearchObject="SearchObject" :page="page" :formInline="formInline" :status="status"></vci-docking-search>
        <vci-docking-search :SearchObject="SearchObject" :page="page" :formInline="formInline" :status="status" @getList="dockingGetList"></vci-docking-search>
      </template>
    </avue-crud>
  </basic-container>
@@ -218,6 +218,10 @@
    }
  },
  methods: {
    dockingGetList(val){
      console.log(val,'val')
      this.data=val;
    },
    async cellDbClick(row, column, cell, event) {
      for (const key in row) {
        if (key === column.property) {
Source/UBCS-WEB/src/views/docking/task.vue
@@ -23,7 +23,7 @@
                     @click="handleSend">手动推送
          </el-button>
        <div style="float: right;margin-left: 10px">
          <vci-docking-search :formInline="formInline" :SearchObject="SearchObject" :page="page" :status="status"></vci-docking-search>
          <vci-docking-search :formInline="formInline" :SearchObject="SearchObject" :page="page" :status="status" @getList="dockingGetList"></vci-docking-search>
        </div>
      </template>
    </avue-crud>
@@ -242,6 +242,9 @@
    }
  },
  methods: {
    dockingGetList(val){
      this.data=val;
    },
    async cellDbClick(row, column, cell, event) {
      for (const key in row) {
        if (key === column.property) {
Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue
@@ -312,12 +312,6 @@
      checkboxedit:"",
      // 用于判断是否是编辑
      editFlag:false
    //  至于为什么没在用户选择必填种类大于组合方式的时候,给下拉菜单选中的数据清空了,这样比给予弹窗提醒更合理
    //  原因是找了好久没找到avue框架这个选中的属性显示在页面怎么修改,直接修改下拉菜单数据的value没效果,找不到是什么控制这页面显示的选中数据
    //  我尝试在dicdata外面定义value修改下拉菜单显示的默认值也不行,然后再尝试调用avue的close清除方法,但是也是只能实现在下拉菜单后面显示一个X号
    //  当用户手动点击清除,才可以把数据清除,总而言之找了好久,没找到这个清除方法,avue的说明文档也没明确标明这个功能的内置操作方法
    //  我想到的应该可以的方法是,舍弃option里面的组合方式,自己手动在页面添加插槽定义组合方式,至于是使用avue还是element-ui来写,还要看具体的步骤
    //  因为一改动,我现在写的逻辑比如下拉菜单禁用和策略验证等等要重新梳理,我这边急着赶对象建模的进度,所以先用这种方式来处理,如果我回头有时间我再来继续改,就没有这条注释了。
    }
  },
@@ -336,125 +330,36 @@
      //   console.log("大于")
      // }
    },
    handleCheckboxChange(val){
      const arr=this.option.column[5];
      this.checkboxlength=val.value;
      //添加的时候checkboxlength是一个数组,到了编辑他就是一个字符串,如果我我直接转换为数组,因为本来就是数组所以点击添加的时候会报错
      //如果我变成字符串后再转数组,添加不会报错了,但是编辑的时候就又会报错了,本来就是字符串又走了一遍tostring
      this.checkboxedit=this.checkboxlength.toString().split(",")
      if(val.value != undefined && val.value != null){
        if(this.checkboxlist == val.value){
        //  判断相等则不操作,不等则重新执行。加这层判断是因为change事件触发两次,会出现两个消息提示框
        //  定义checkboxlist变量,存储的改变的值,如果值改变和变量相等则不需要任何操作
        }else {
          this.checkboxlist=val.value
          if( this.selectlength.value >= val.value.length && val.value.length > 0 ){
            this.$message({
              message: '必填种类不能大于组合方法,请重新选择!',
              type: 'warning',
              showClose: true,
            });
          }else if(this.selectlength.value >= this.checkboxedit.length  && this.checkboxedit.length > 0 ){
            this.$message({
              message: '必填种类不能大于组合方法,请重新选择!',
              type: 'warning',
              showClose: true,
            });
    handleCheckboxChange(val) {
      const arr = this.option.column[5];
      this.checkboxlength = val.value;
      this.checkboxedit = this.checkboxlength.toString().split(",");
      if (val.value != undefined && val.value != null) {
        if (this.checkboxlist == val.value) {
        } else {
          this.checkboxlist = val.value;
          if (
            this.selectlength.value >= val.value.length &&
            val.value.length > 0
          ) {
            this.showMessage("必填种类不能大于组合方法,请重新选择!");
          } else if (
            this.selectlength.value >= this.checkboxedit.length &&
            this.checkboxedit.length > 0
          ) {
            this.showMessage("必填种类不能大于组合方法,请重新选择!");
          }
        }
          // if(this.checkboxeditlist == val.value){
          // //  tong
          // }else {
          //   this.checkboxeditlist=val.value
          //   if(this.selectlength.value >= this.checkboxedit.length  && this.checkboxedit.length > 0){
          //     this.$message({
          //       message: '必填种类不能大于组合方法,请重新选择!',
          //       type: 'warning',
          //       showClose: true,
          //     });
          //   }
          // }
        //  if(this.selectlength.value >= this.checkboxedit.length  && this.checkboxedit.length > 0){
        //   this.$message({
        //     message: '必填种类不能大于组合方法,请重新选择!',
        //     type: 'warning',
        //     showClose: true,
        //   });
        // }
      }
      // 这里一直报length的错误
      // arr.forEach((item,index)=>{
      //   console.log(item,index)
      //   if(val.value != undefined && val.value != null && val.value.length==0){
      //     item.disabled=false
      //   }
      //   if(val.value != undefined && val.value != null && val.value.length>=1){
      //
      //    }
      // })
      // if(val.value != undefined && val.value != null && val.value.length >= 0){
      //   arr.dicData[val.value.length-1].disabled=true
      // }
      // }else if(val.value != undefined && val.value != null && val.value.length ==0){
      //   arr.dicData.disabled=false
      // }
      if(val.value != undefined && val.value != null && val.value.length == 1){
        arr.dicData[0].disabled=false
        arr.dicData[1].disabled=true
        arr.dicData[2].disabled=true
        arr.dicData[3].disabled=true
      }else if(val.value != undefined && val.value != null && val.value.length ==2){
        arr.dicData[0].disabled=false
        arr.dicData[1].disabled=false
        arr.dicData[2].disabled=true
        arr.dicData[3].disabled=true
      }else if(val.value != undefined && val.value != null && val.value.length ==3){
        arr.dicData[0].disabled=false
        arr.dicData[1].disabled=false
        arr.dicData[2].disabled=false
        arr.dicData[3].disabled=true
      }else if(val.value != undefined && val.value != null && val.value.length==4){
        arr.dicData[0].disabled=false
        arr.dicData[1].disabled=false
        arr.dicData[2].disabled=false
        arr.dicData[3].disabled=false
      }else if(val.value != undefined && val.value != null && val.value.length==0  ){
         arr.dicData[0].disabled=true
         arr.dicData[1].disabled=true
         arr.dicData[2].disabled=true
         arr.dicData[3].disabled=true
      }else if(this.checkboxNumber.length!=0){
        arr.dicData[0].disabled=false
        arr.dicData[1].disabled=false
        arr.dicData[2].disabled=false
        arr.dicData[3].disabled=false
      const disabledCount = Math.min(this.checkboxedit.length, 4);
      for (let i = 0; i < arr.dicData.length; i++) {
        arr.dicData[i].disabled = i >= disabledCount;
      }
      if(this.editFlag == true){
        if(this.checkboxedit.length == 1){
          arr.dicData[0].disabled=false
          arr.dicData[1].disabled=true
          arr.dicData[2].disabled=true
          arr.dicData[3].disabled=true
        }else if(this.checkboxedit.length == 2){
          arr.dicData[0].disabled=false
          arr.dicData[1].disabled=false
          arr.dicData[2].disabled=true
          arr.dicData[3].disabled=true
        }else if(this.checkboxedit.length ==3){
          arr.dicData[0].disabled=false
          arr.dicData[1].disabled=false
          arr.dicData[2].disabled=false
          arr.dicData[3].disabled=true
        }else if(this.checkboxedit ==4){
          arr.dicData[0].disabled=false
          arr.dicData[1].disabled=false
          arr.dicData[2].disabled=false
          arr.dicData[3].disabled=false
        }else if(this.checkboxedit.length ==0){
          arr.dicData[0].disabled=true
          arr.dicData[1].disabled=true
          arr.dicData[2].disabled=true
          arr.dicData[3].disabled=true
      if (this.editFlag == true) {
        const disabledCount = Math.min(this.checkboxedit.length, 4);
        for (let i = 0; i < arr.dicData.length; i++) {
          arr.dicData[i].disabled = i >= disabledCount;
        }
      }
    },
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSCondition.java
@@ -1,16 +1,19 @@
package com.vci.ubcs.starter.util;
import com.alibaba.cloud.commons.lang.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.support.Kv;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil;
import java.util.HashMap;
import java.util.Map;
/**
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSSqlKeyword.java
@@ -248,8 +248,52 @@
            });
        }
    }
    public static  MPJLambdaWrapper buildConditionByMapString(Map<String, String> query) {
        MPJLambdaWrapper<?>qw=new MPJLambdaWrapper<>();
        if (!Func.isEmpty(query)) {
            query.forEach((k, v) -> {
                if (!Func.hasEmpty(new Object[]{k, v}) && !k.endsWith("_ignore")) {
                    if (k.endsWith("_like")) {
                        qw.like(getColumn(k, "_like"), v);
                    } else if (k.endsWith("_notequal")) {
                        qw.ne(getColumn(k, "_notequal"), v);
                    } else if (k.endsWith("_likeleft")) {
                        qw.likeLeft(getColumn(k, "_likeleft"), v);
                    } else if (k.endsWith("_likeright")) {
                        qw.likeRight(getColumn(k, "_likeright"), v);
                    } else if (k.endsWith("_notlike")) {
                        qw.notLike(getColumn(k, "_notlike"), v);
                    } else if (k.endsWith("_ge")) {
                        qw.ge(getColumn(k, "_ge"), v);
                    } else if (k.endsWith("_le")) {
                        qw.le(getColumn(k, "_le"), v);
                    } else if (k.endsWith("_gt")) {
                        qw.gt(getColumn(k, "_gt"), v);
                    } else if (k.endsWith("_lt")) {
                        qw.lt(getColumn(k, "_lt"), v);
                    } else if (k.endsWith("_datege")) {
                        qw.ge(getColumn(k, "_datege"), DateUtil.parse(String.valueOf(v), "yyyy-MM-dd HH:mm:ss"));
                    } else if (k.endsWith("_dategt")) {
                        qw.gt(getColumn(k, "_dategt"), DateUtil.parse(String.valueOf(v), "yyyy-MM-dd HH:mm:ss"));
                    } else if (k.endsWith("_dateequal")) {
                        qw.eq(getColumn(k, "_dateequal"), DateUtil.parse(String.valueOf(v), "yyyy-MM-dd HH:mm:ss"));
                    } else if (k.endsWith("_datele")) {
                        qw.le(getColumn(k, "_datele"), DateUtil.parse(String.valueOf(v), "yyyy-MM-dd HH:mm:ss"));
                    } else if (k.endsWith("_datelt")) {
                        qw.lt(getColumn(k, "_datelt"), DateUtil.parse(String.valueOf(v), "yyyy-MM-dd HH:mm:ss"));
                    } else if (k.endsWith("_null")) {
                        qw.isNull(getColumn(k, "_null"));
                    } else if (k.endsWith("_notnull")) {
                        qw.isNotNull(getColumn(k, "_notnull"));
                    } else {
                        qw.eq(getColumn(k, "_equal"), v);
                    }
                }
            });
        };
        return qw;
    }
    public static void buildConditionByMapString(Map<String, String> query, MPJLambdaWrapper<?> qw) {
        if (!Func.isEmpty(query)) {
            query.forEach((k, v) -> {
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feigh/MdmInterJtClient.java
@@ -7,6 +7,7 @@
import com.vci.ubcs.code.applyjtcodeservice.feign.IMdmInterJtClient;
import com.vci.ubcs.code.applyjtcodeservice.service.*;
import com.vci.ubcs.code.applyjtcodeservice.vo.*;
import com.vci.ubcs.code.feign.IMdmEngineClient;
import com.vci.ubcs.starter.revision.model.BaseModel;
import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
@@ -14,6 +15,7 @@
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.RestController;
@@ -62,7 +64,8 @@
     */
    private final IGroupMdmInterService groupMdmInterService;
    @Autowired(required = false)
    private IMdmEngineClient mdmEngineClient;
    /***
     * 申请集团编码
     * @return
@@ -81,7 +84,7 @@
    @Override
    public R receiveEditApply(String oids, String btmName) {
        try {
            return groupMdmInterService.applyGroupCode(oids,btmName);
            return groupMdmInterService.receiveEditApply(oids,btmName);
        }catch (Throwable e){
            return R.fail("集团码数据修改失败:"+e.getMessage());
        }
@@ -159,18 +162,23 @@
                //返回结果信息
                dockingPreApplyForm.setContent(jcontent.toJSONString());
                dockingPreApplyFormList.add(dockingPreApplyForm);
                String jdataid = dockingPreApplyForm.getDataOid();
                String jdatabtmname = dockingPreApplyForm.getDataBtmName();
                if (res) {
                    String jdataid = dockingPreApplyForm.getDataOid();
                    String jdatabtmname = dockingPreApplyForm.getDataBtmName();
                    //此处需要查询业务数据,去更改
                    BaseModel baseModel = new BaseModel();
                    baseModel.setId(customCoding);
                    log.info("申请单:"+applyId+",集团码:"+customCoding+"编码:"+baseModel.getId());
                    editObjectList.add(baseModel);
                }
                List<String> dataOidList=new ArrayList<>();
                dataOidList.add(jdataid);
                //调用主数据服务批量保存接口
                mdmEngineClient.updateBatchByType(jdatabtmname,editObjectList);
            }
            dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList);
            //调用主数据服务批量保存接口
        }catch (Throwable e){
            e.printStackTrace();
            return R.fail("集团码集成赋值失败"+e);
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplySwingController.java
@@ -25,6 +25,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -240,12 +241,16 @@
    /**
     * 集团/企业码段判断
     * @param parameter 传入数据 ,classifyGroupCode:配置的中的分类顶节点,oid:选择节点的oid--,nowApplyCode:当前申请编码的分类
     * @param classifyGroupCode 传入数据 ,classifyGroupCode:配置的中的分类顶节点
     * @param oid 传入数据 ,选择节点的oid--,nowApplyCode:当前申请编码的分类
     * @return 执行结果
     */
    @GetMapping("/checkGroupCode")
    @VciBusinessLog(operateName = "集团/企业码段判断")
    public R checkGroupCode(Map<String,String> parameter) throws Exception {
        return R.data(mdmEngineService.checkGroupCode(parameter));
    public R checkGroupCode(String oid,String  classifyGroupCode) throws Exception {
        Map<String,String> codtionMap=new HashMap<>();
        codtionMap.put("oid",oid);
        codtionMap.put("classifyGroupCode",classifyGroupCode);
        return mdmEngineService.checkGroupCode(codtionMap);
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java
@@ -1,7 +1,9 @@
package com.vci.ubcs.code.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.vci.ubcs.code.dto.DockingSystemConfigDTO;
import com.vci.ubcs.code.dto.DockingSystemDTO;
import com.vci.ubcs.code.dto.DockingTaskDTO;
@@ -11,6 +13,7 @@
import com.vci.ubcs.code.vo.pagemodel.*;
import com.vci.ubcs.code.wrapper.*;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.util.UBCSSqlKeyword;
import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -18,8 +21,10 @@
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.Map;
/**
@@ -53,14 +58,21 @@
    private final     ICodeDuckingSyncService codeDuckingSyncService;
    /**系统集成的系统信息列表
     * @param dockingSystem 基础查询对象,包含查询条件,分页,排序等
     * @param queryObject 基础查询对象,包含查询条件,分页,排序等
     *@return 系统集成的系统信息显示对象列表
     */
    @GetMapping("/gridDockingSystem")
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "分页", notes = "dockingSystem")
    public R<IPage<DockingSystemVO>> page(DockingSystem dockingSystem, Query query) {
        IPage<DockingSystem> pages = dockingSystemService.page(Condition.getPage(query), Condition.getQueryWrapper(dockingSystem));
    @ApiOperation(value = "分页", notes = "condtionMap")
    public R<IPage<DockingSystemVO>> page(BaseQueryObject queryObject) {
        Map<String,String> condtionMap=queryObject.getConditionMap();
        Query query=new Query();
        if(CollectionUtils.isEmpty(condtionMap)){
            condtionMap=new HashMap<>();
        }
        query.setCurrent(queryObject.getPage());
        query.setSize(queryObject.getLimit());
        IPage<DockingSystem> pages = dockingSystemService.page(Condition.getPage(query),UBCSSqlKeyword.buildConditionByMapString(condtionMap));
        return R.data(DockingSystemWrapper.build().pageVO(pages));
    }
@@ -104,14 +116,21 @@
    }
    /**
     * 系统集成基础信息列表
     * @param dockingSystemConfig 基础查询对象,包含查询条件,分页,排序等
     * @param queryObject 基础查询对象,包含查询条件,分页,排序等
     * @return 系统集成基础信息显示对象列表
     */
    @GetMapping("/gridSystemConfig")
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "分页", notes = "dockingSystemConfig")
    public R<IPage<DockingSystemConfigVO>> gridSystemConfig(DockingSystemConfig dockingSystemConfig, Query query){
        IPage<DockingSystemConfigVO>  pages=dockingSystemConfigService.page(dockingSystemConfig,query);
    public R<IPage<DockingSystemConfigVO>> gridSystemConfig(BaseQueryObject queryObject){
        Map<String,String> condtionMap=queryObject.getConditionMap();
        Query query=new Query();
        if(CollectionUtils.isEmpty(condtionMap)){
            condtionMap=new HashMap<>();
        }
        query.setCurrent(queryObject.getPage());
        query.setSize(queryObject.getLimit());
        IPage<DockingSystemConfigVO>  pages=dockingSystemConfigService.page(condtionMap,query);
        return R.data(pages);
    }
@@ -180,41 +199,62 @@
    /**
     * 待集成数据
     * @param dockingData 基础查询对象,包含查询条件,分页,排序等
     * @param queryObject 基础查询对象,包含查询条件,分页,排序等
     * @return 系统集成基础信息显示对象列表
     */
    @GetMapping("/gridDockingData")
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "分页", notes = "DockingDataVO")
    public R<IPage<DockingDataVO>> gridDockingData(DockingData dockingData, Query query){
        IPage<DockingDataVO> pages = dokingSysManaentService.gridDockingData(dockingData,query);
    public R<IPage<DockingDataVO>> gridDockingData(BaseQueryObject queryObject){
        Map<String,String> condtionMap=queryObject.getConditionMap();
        Query query=new Query();
        if(CollectionUtils.isEmpty(condtionMap)){
            condtionMap=new HashMap<>();
        }
        query.setCurrent(queryObject.getPage());
        query.setSize(queryObject.getLimit());
        IPage<DockingDataVO> pages = dokingSysManaentService.gridDockingData(condtionMap,query);
        return R.data(pages);
    }
    /**
     * data列表
     * @param dockingTask 基础查询对象,包含查询条件,分页,排序等
     * @param queryObject 基础查询对象,包含查询条件,分页,排序等
     * @return 系统集成的系统信息显示对象列表
     */
    @GetMapping("/gridDockingTask")
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "分页", notes = "DockingTaskVO")
    public R<IPage<DockingTaskVO>> gridDockingTask(DockingTask dockingTask, Query query){
        IPage<DockingTaskVO> pages = dokingSysManaentService.gridDockingTask(dockingTask,query);
    @ApiOperation(value = "分页", notes = "condtionMap")
    public R<IPage<DockingTaskVO>> gridDockingTask(BaseQueryObject queryObject){
        Map<String,String> condtionMap=queryObject.getConditionMap();
        Query query=new Query();
        if(CollectionUtils.isEmpty(condtionMap)){
            condtionMap=new HashMap<>();
        }
        query.setCurrent(queryObject.getPage());
        query.setSize(queryObject.getLimit());
        IPage<DockingTaskVO> pages = dokingSysManaentService.gridDockingTask(condtionMap,query);
        return R.data(pages);
    }
    /**
     * 推送数据集成日志列表
     * @param dockingLog 基础查询对象,包含查询条件,分页,排序等
     * @param queryObject 基础查询对象,包含查询条件,分页,排序等
     * @return 集成日志显示对象列表
     */
    @GetMapping("/gridLoge")
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "分页", notes = "DockingLogeVO")
    public R<IPage<DockingLogeVO>> gridLoge(DockingLog dockingLog, Query query){
        IPage<DockingLogeVO> pages = dokingSysManaentService.gridLoge(dockingLog,query);
    public R<IPage<DockingLogeVO>> gridLoge(BaseQueryObject queryObject){
        Map<String,String> condtionMap=queryObject.getConditionMap();
        Query query=new Query();
        if(CollectionUtils.isEmpty(condtionMap)){
            condtionMap=new HashMap<>();
        }
        query.setCurrent(queryObject.getPage());
        query.setSize(queryObject.getLimit());
        IPage<DockingLogeVO> pages = dokingSysManaentService.gridLoge(condtionMap,query);
        return R.data(pages);
    }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java
@@ -11,6 +11,8 @@
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import java.util.Map;
/***
 * 系统接口管理-接口配置服务
 * @author xiejun
@@ -21,10 +23,10 @@
    /**
     * 系统集成基础信息列表
     * @param dockingSystemConfig 基础查询对象,包含查询条件,分页,排序等
     * @param condtionMap 基础查询对象,包含查询条件,分页,排序等
     * @return 系统集成基础信息显示对象列表
     */
    IPage<DockingSystemConfigVO> page(DockingSystemConfig dockingSystemConfig, Query query);
    IPage<DockingSystemConfigVO> page(Map<String,String> condtionMap, Query query);
    /**
     * 增加 系统集成的接口管理信息
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDokingSysManaentService.java
@@ -5,31 +5,33 @@
import com.vci.ubcs.code.vo.pagemodel.*;
import org.springblade.core.mp.support.Query;
import java.util.Map;
/***
 * 系統管理相关服务
 */
public interface IDokingSysManaentService {
    /**
     * data列表
     * @param dockingTask 基础查询对象,包含查询条件,分页,排序等
     * @param condtionMap 基础查询对象,包含查询条件,分页,排序等
     * @return 系统集成的系统信息显示对象列表
     */
    IPage<DockingTaskVO>gridDockingTask(DockingTask dockingTask, Query query);
    IPage<DockingTaskVO>gridDockingTask(Map<String,String> condtionMap, Query query);
    /**
     * 待集成数据
     * @param dockingData 基础查询对象,包含查询条件,分页,排序等
     * @param condtionMap 基础查询对象,包含查询条件,分页,排序等
     * @return 系统集成基础信息显示对象列表
     */
    IPage<DockingDataVO>gridDockingData(DockingData dockingData, Query query);
    IPage<DockingDataVO>gridDockingData(Map<String,String> condtionMap, Query query);
    /**
     * 推送数据集成日志列表
     * @param dockingLog 基础查询对象,包含查询条件,分页,排序等
     * @param condtionMap 基础查询对象,包含查询条件,分页,排序等
     * @return 集成日志显示对象列表
     */
    IPage<DockingLogeVO>gridLoge(DockingLog dockingLog, Query query);
    IPage<DockingLogeVO>gridLoge(Map<String,String> condtionMap, Query query);
    /**
     * 接口param列表
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java
@@ -156,7 +156,6 @@
     */
    private void initPushDataTaks(int type){
        initSysadmin();
        List<DockingSystemConfig> dockingSystemConfigList = dockingSystemConfigService.list(
            Wrappers.<DockingSystemConfig>query().lambda().eq(DockingSystemConfig::getUsedFlag,"true")
                .eq(DockingSystemConfig::getPushType,type==2?"2":"1").eq(DockingSystemConfig::getDataFlowType, SysIntegrationDataFlowTypeEnum.PUSH.getValue()));//2是代表分类推送,1是代表数据推送
@@ -322,7 +321,6 @@
     * 发送编码主数据
     */
    private void sendpushDataForService (List<DockingTask> dockingTaskS){
        //每个task依次执行推送
        for (DockingTask dockingTask:dockingTaskS){
            //每个task一个事务,开启
@@ -369,6 +367,13 @@
                }
                if(isGroupCodeFlage){
                    code=data.getOrDefault("groupcode","");
                    if(StringUtils.isBlank(code)) {//如果是集团码,没有领取到集团码则任务不结束等待集团码申请后再通过定时器调用集团码段
                        dockingTask.setDescription("等待集团申请集团码");
                        dockingTask.setSendFlag(MdmDuckingConstant.SEND_FLAG_FALSE);
                        dockingTask.setLastModifyTime(new Date());
                        dockingTaskService.updateById(dockingTask);
                        continue;
                    }
                }
                String[] classCodeLeves = dockingTask.getClassifyId().split(",");
                NodeJosnDTO nodeJosnDTO = new NodeJosnDTO();
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java
@@ -35,6 +35,7 @@
import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
import com.vci.ubcs.starter.util.UBCSSqlKeyword;
import com.vci.ubcs.starter.web.constant.QueryOptionConstant;
import com.vci.ubcs.starter.web.pagemodel.PageHelper;
import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
@@ -135,9 +136,9 @@
    private IDockingLogeService dockingLogeService;
    @Override
    public IPage<DockingSystemConfigVO> page(DockingSystemConfig DockingSystemConfig, Query query) {
    public IPage<DockingSystemConfigVO> page(Map<String,String>codtionMap, Query query) {
        IPage<DockingSystemConfig> pages = page(Condition.getPage(query), Condition.getQueryWrapper(DockingSystemConfig));
        IPage<DockingSystemConfig> pages = page(Condition.getPage(query), UBCSSqlKeyword.buildConditionByMapString(codtionMap));
        List<DockingSystemConfig>  dockingSystemConfigList= pages.getRecords();
        dockingSystemConfigList.stream().forEach(dockingSystemConfig -> {
            dockingSystemConfig.setDataFlowTypeText(SysIntegrationDataFlowTypeEnum.getTextByValue(dockingSystemConfig.getDataFlowType()));
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DokingSysManaentServiceImpl.java
@@ -7,12 +7,15 @@
import com.vci.ubcs.code.service.*;
import com.vci.ubcs.code.vo.pagemodel.*;
import com.vci.ubcs.code.wrapper.*;
import com.vci.ubcs.starter.util.UBCSCondition;
import com.vci.ubcs.starter.util.UBCSSqlKeyword;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Map;
@Service
public class DokingSysManaentServiceImpl extends ServiceImpl<DockingSystemConfigMapper, DockingSystemConfig> implements IDokingSysManaentService {
@@ -55,29 +58,30 @@
    private  IDockingDataService dockingDataService;
    /**
     * data列表
     * @param dockingTask 基础查询对象,包含查询条件,分页,排序等
     * @param condtionMap 基础查询对象,包含查询条件,分页,排序等
     * @return 系统集成的系统信息显示对象列表
     */
    @Override
    public IPage<DockingTaskVO> gridDockingTask(DockingTask dockingTask, Query query) {
        IPage<DockingTask> pages=dockingTaskService.page(Condition.getPage(query), Condition.getQueryWrapper(dockingTask));
    public IPage<DockingTaskVO> gridDockingTask(Map<String,String> condtionMap, Query query) {
        IPage<DockingTask> pages=dockingTaskService.page(Condition.getPage(query),UBCSSqlKeyword.buildConditionByMapString(condtionMap));
        return DockingTaskWrapper.build().pageVO(pages);
    }
    @Override
    public IPage<DockingDataVO> gridDockingData(DockingData dockingData, Query query) {
        IPage<DockingData> pages=dockingDataService.page(Condition.getPage(query), Condition.getQueryWrapper(dockingData));
    public IPage<DockingDataVO> gridDockingData(Map<String,String> condtionMap, Query query) {
        IPage<DockingData> pages=dockingDataService.page(Condition.getPage(query), UBCSSqlKeyword.buildConditionByMapString(condtionMap));
        return DockingDataWrapper.build().pageVO(pages);
    }
    /**
     * 推送数据集成日志列表
     * @param dockingLog 基础查询对象,包含查询条件,分页,排序等
     * @param condtionMap 基础查询对象,包含查询条件,分页,排序等
     * @return 集成日志显示对象列表
     */
    @Override
    public IPage<DockingLogeVO> gridLoge(DockingLog dockingLog, Query query) {
        IPage<DockingLog> pages=dockingLogeService.page(Condition.getPage(query), Condition.getQueryWrapper(dockingLog));
    public IPage<DockingLogeVO> gridLoge(Map<String,String> condtionMap, Query query) {
        //IPage<DockingLog> pages=dockingLogeService.page(Condition.getPage(query), Condition.getQueryWrapper(dockingLog));
        IPage<DockingLog> pages=dockingLogeService.page(Condition.getPage(query), UBCSSqlKeyword.buildConditionByMapString(condtionMap));
        return DockingLogeWrapper.build().pageVO(pages);
    }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -466,7 +466,7 @@
                if (!CodeLevelTypeEnum.MIN.getValue().equalsIgnoreCase(attrVO.getClassifyInvokeLevel()) && !"min".equalsIgnoreCase(attrVO.getClassifyInvokeLevel())) {
                    //指定了层级的
                    //注意,因为查询上级分类出来的层级是倒序的,即顶层节点是最大的值
                    List<CodeClassifyVO> classifyVOS = classifyFullInfoBO.getParentClassifyVOs().stream().sorted(((o1, o2) -> o2.getDataLevel().compareTo(o1.getDataLevel()))).collect(Collectors.toList());
                    List<CodeClassifyVO> classifyVOS = classifyFullInfoBO.getParentClassifyVOs().stream().sorted(((o1, o2) -> -o2.getDataLevel().compareTo(o1.getDataLevel()))).collect(Collectors.toList());
                    int level = VciBaseUtil.getInt(attrVO.getClassifyInvokeLevel());
                    if (classifyVOS.size() >= level && level > 0) {
                        classifyVO = classifyVOS.get(level - 1);
@@ -753,7 +753,7 @@
     */
    @Override
    public R checkGroupCode(Map<String, String> parameter) {
        List<CodeClassify> codeClassifyList = classifyService.selectAllLevelParents(parameter.get("oid"));
        List<CodeClassify> codeClassifyList = classifyService.selectAllLevelParentByOid(parameter.get("oid"));
        Set<String> configGroupCode = Arrays.stream(parameter.get("classifyGroupCode").split("#")).collect(Collectors.toSet());
//        Boolean checkGroupFlag = false;//是否查询到配置的顶层分类中
        for (int i = codeClassifyList.size()-1; i >= 0; i--) {
@@ -3697,7 +3697,7 @@
        //使用业务类型查询
        R<BtmTypeVO> allAttributeByBtmId = btmTypeClient.getAllAttributeByBtmId(referConfigVO.getReferType());
        if (!allAttributeByBtmId.isSuccess()) {
            throw new ServiceException("业务类型feign接口调用错误!");
            throw new ServiceException("业务类型feign接口调用错误;"+allAttributeByBtmId.getMsg());
        }
        if (Func.isEmpty(allAttributeByBtmId.getData())) {
            throw new VciBaseException("传入业务类型未查询到相应表单,请检查!");
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
@@ -518,7 +518,7 @@
                        secValue = classifyFullInfoBO.getCurrentClassifyVO().getId();
                    } else {
                        //我们需要从顶层开始找到当前分类为止
                        secValue = classifyFullInfoBO.getParentClassifyVOs().stream().sorted(((o1, o2) -> o1.getDataLevel().compareTo(o2.getDataLevel()))).map(CodeClassifyVO::getId).collect(Collectors.joining()) + classifyFullInfoBO.getCurrentClassifyVO().getId();
                        secValue = classifyFullInfoBO.getParentClassifyVOs().stream().sorted(((o1, o2) -> -o1.getDataLevel().compareTo(o2.getDataLevel()))).map(CodeClassifyVO::getId).collect(Collectors.joining()) + classifyFullInfoBO.getCurrentClassifyVO().getId();
                    }
                } else {
                    //指定层,我们需要通过上级的来获取
@@ -527,7 +527,7 @@
                        secValue = classifyFullInfoBO.getCurrentClassifyVO().getId();
                    } else {
                        //这个我们需要看看,层级是不是大于了最大层级的数
                        List<CodeClassifyVO> parentClassifyVOList = classifyFullInfoBO.getParentClassifyVOs().stream().sorted(((o1, o2) -> o1.getDataLevel().compareTo(o2.getDataLevel()))).collect(Collectors.toList());
                        List<CodeClassifyVO> parentClassifyVOList = classifyFullInfoBO.getParentClassifyVOs().stream().sorted(((o1, o2) -> -o1.getDataLevel().compareTo(o2.getDataLevel()))).collect(Collectors.toList());
                        if (secVO.getCodeLevelValue() > (parentClassifyVOList.size() + 1)) {
                            //指定的层级比当前的层级还大了,所以只能获取当前层级了
                            if (CodeGetValueTypeEnum.CURRENT.getValue().equalsIgnoreCase(secVO.getCodeGetValueType())) {
@@ -544,7 +544,7 @@
                                }
                            } else {
                                //小于等于的全部拿出来
                                secValue = parentClassifyVOList.stream().filter(s -> s.getDataLevel().intValue() <= secVO.getCodeLevelValue().intValue()).sorted(((o1, o2) -> o1.getDataLevel().compareTo(o2.getDataLevel()))).map(CodeClassifyVO::getId).collect(Collectors.joining());
                                secValue = parentClassifyVOList.stream().filter(s -> s.getDataLevel().intValue() <= secVO.getCodeLevelValue().intValue()).sorted(((o1, o2) -> -o1.getDataLevel().compareTo(o2.getDataLevel()))).map(CodeClassifyVO::getId).collect(Collectors.joining());
                            }
                        }
                    }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -1782,10 +1782,10 @@
                                    }
                                    log.info(libId);
                                }else if(secType.equals("codelevelsec")) {//层级码段
                                    int level = codeBasicSecVO.getCodeLevelValue();
                                    CodeClassifyVO levelCodeClassifyVO = new CodeClassifyVO();
                                    CodeClassifyFullInfoBO classifyFullInfoBO = this.classifyService.getClassifyFullInfo(codeClassifyDO.getOid());
                                    if(codeBasicSecVO.getCodeLevelType().equals("code_level_special")){//指定层级
                                        int level = codeBasicSecVO.getCodeLevelValue();
                                        List<CodeClassifyVO> classifyVOS = classifyFullInfoBO.getParentClassifyVOs().stream().sorted(((o1, o2) -> o2.getDataLevel().compareTo(o1.getDataLevel()))).collect(Collectors.toList());
                                        if (classifyVOS.size() >= level && level > 0) {
                                            levelCodeClassifyVO = classifyVOS.get(level - 1);
@@ -2235,7 +2235,8 @@
        if(StringUtils.isNotBlank(classOid)){
            queryWrapper.in(DockingSystemConfig::getClassifyOid,classOid);
        }
        List<DockingSystemConfig> dockingSystemConfigList=    dockingSystemConfigList=dockingSystemConfigService.list(queryWrapper);
        List<DockingSystemConfig> dockingSystemConfigList=new ArrayList<>();
        dockingSystemConfigList=    dockingSystemConfigList=dockingSystemConfigService.list(queryWrapper);
        if(!CollectionUtils.isEmpty(dockingSystemConfigList)){
         return    dockingSystemConfigList.get(0);
        }else{
@@ -2243,6 +2244,10 @@
                return checkIspass(systemId, type, operationType, codeClassifyVO.getParentCodeClassifyOid());
            }
        }
        return dockingSystemConfigList.get(0);
        if(dockingSystemConfigList.size()>0){
            return dockingSystemConfigList.get(0);
        }else{
            return    new DockingSystemConfig();
        }
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
@@ -177,8 +177,14 @@
    </select>
    <select id="selectAllLevelParentByOid" resultType="java.util.HashMap">
        select oid,
               level from pl_code_classify start with oid= #{oid} connect by prior PARENTCODECLASSIFYOID = oid
            select b.oid as oid,level from
                pl_code_classify  b
                    join (select oid
                          from  pl_code_classify
                                    start with oid = #{oid}
                          connect by oid = prior PARENTCODECLASSIFYOID) a on b.oid = a.OID
                start with b.PARENTCODECLASSIFYOID is null
            connect by prior b.oid = b.PARENTCODECLASSIFYOID
    </select>
    <select id="getIdPathToNamePathByParentId"  resultMap="plCodeClassifyResultMap">