lihang
2023-06-02 d4c06254a33d257cd608348d98db901dbda98b58
Merge branch 'master' of http://dev.vci-tech.com:1065/r/ubcs
已修改20个文件
已删除3个文件
已重命名2个文件
已添加22个文件
6666 ■■■■■ 文件已修改
Source/UBCS-WEB/src/api/formTemplate.js 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/api/integration/integration.js 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/FormTemplate/CodeApply.vue 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/FormTemplate/FindLike.vue 636 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/FormTemplate/FormTempalte.vue 762 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/FormTemplate/ResembleQuery.vue 184 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/FormTemplate/index.vue 783 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/main.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/router/axios.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/MasterData/FormTempalteTest.vue 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/integration/integrationIndex.vue 333 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/vue.config.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemConfigDTO.java 675 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemDTO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntInfoBseDTO.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntInfoDTO.java 664 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystem.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java 312 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeClassifyClient.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSystemConfigVO.java 672 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSystemVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SysIntInfoVO.java 746 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/dto/DockingPreClassifyDTO.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreClassify.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingPreClassifyVO.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/collection/DockingPreAttrMappingVOList.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeClassifyClient.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingSystemConfigMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingSystemMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingManagement.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemService.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDokingSysManaentService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingLogeServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemServiceImpl.java 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingSystemConfigWrapper.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingSystemWrapper.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingSystemConfigMapper.xml 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingSystemMapper.xml 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/controller/DockingPreApplyCodeController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/feigh/MdmInterJtClient.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreAttrMappingServiceImpl.java 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreClassifyMapper.xml 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/api/formTemplate.js
@@ -20,8 +20,17 @@
// ç›¸ä¼¼é¡¹æŸ¥è¯¢
export const findLike = (data) => {
  return request({
    url: 'api/mdmEngineController/resembleQuery',
    url: 'api/ubcs-code/ubcs-code/mdmEngineController/resembleQuery',
    method: 'post',
    data
  })
}
// èŽ·å–æ•°æ®
export const getCodeRule = (params) => {
  return request({
    url: 'api/ubcs-code/ubcs-code/mdmEngineController/getCodeRuleByClassifyOid',
    method: 'get',
    params
  })
}
Source/UBCS-WEB/src/api/integration/integration.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,58 @@
import request from '@/router/axios';
// ä¸»æ•°æ®åˆ†ç±»æ ‘
export const referCodeClassifyTree = (params) => {
    return request({
      url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/referCodeClassifyTree',
      method: 'get',
      params: params
    })
  }
  // ä¸»æ•°æ®åˆ†ç±»å±žæ€§ä¿¡æ¯
export const listCodeAttributeByClassId = (params) => {
  return request({
    url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/listCodeAttributeByClassId',
    method: 'get',
    params: params
  })
}
// é›†å›¢åˆ†ç±»æ ‘
export const referTree = (params) => {
  return request({
    url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/referTree',
    method: 'get',
    params: params
  })
}
// é›†å›¢åˆ†ç±»æ ‘(查询集团分类属性接口)
export const referTreeByClassId = (params) => {
  return request({
    url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/listViewModelAttributeByClassId',
    method: 'get',
    params: params
  })
}
// å±žæ€§æ˜ å°„
export const gridAttrMapping = (params) => {
  return request({
    url: '/api//ubcs-applyjtcodeservice/DockingPreApplyCode/gridAttrMapping',
    method: 'get',
    params: params
  })
}
// å±žæ€§å–值范围映射
export const gridAttrRanges = (params) => {
  return request({
    url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/gridAttrRanges',
    method: 'get',
    params: params
  })
}
// å±žæ€§æ˜ å°„保存方法
export const batchAddSave = (params) => {
  return request({
    url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/batchAddSave',
    method: 'get',
    params: params
  })
}
Source/UBCS-WEB/src/components/FormTemplate/CodeApply.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,85 @@
<template>
  <div></div>
</template>
<script>
import { getCodeRule } from "@/api/formTemplate.js";
export default {
  name: "CodeApply",
  props: {
    codeClassifyOid: {
      type: String,
      default: ''
    }
  },
  data() {
    return {
      secVOList: [],
      formItems: [],
      trendsSpan: 8
    };
  },
  created() {
    this.handleResize();
    this.getCodeRule();
  },
  mounted() {
  },
  methods: {
    getCodeRule() {
      getCodeRule({ codeClassifyOid: this.codeClassifyOid }).then((res) => {
        if (res.data && res.data.code === 200) {
          this.defaultValue = res.data.data;
          this.secVOList = res.data.data.secVOList || [];
          this.codeRuleOid = res.data.data.oid;
        }
      });
    },
    handleResize() {
      let windowWidth = document.body.clientWidth;
      this.trendsSpan = 24 / Math.floor(windowWidth / 500);
    },
  },
  watch: {
    secVOList: {
      deep: true,
      handler(newV) {
        this.formItems = [];
        newV.forEach((item) => {
          let itemObj = {};
          let options = [];
          //固定码段
          if (item.sectype == "codefixedsec") {
            options = item.fixedValueVOList.map((item) => {
              item.key = item.id;
              item.value = item.id;
            });
            itemObj = {
              field: item.oid,
              title: item.name,
              required: item.nullableFlag != "true",
              type: "combox",
              data: options,
              search: true,
            };
            //可变码段
          } else if (item.sectype == "codevariablesec") {
            itemObj = {
              field: item.oid,
              title: item.name,
              required: item.nullableFlag != "true",
              type: "text",
            };
          }
          itemObj.span = item.type === "textarea" ? 24 : this.trendsSpan,
          this.formItems.push(itemObj);
        });
      },
    },
  },
};
</script>
<style lang="less" scoped></style>
Source/UBCS-WEB/src/components/FormTemplate/FindLike.vue
ÎļþÒÑɾ³ý
Source/UBCS-WEB/src/components/FormTemplate/FormTempalte.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,762 @@
<template>
  <avue-form v-model="form" :option="option" v-loading="loading" ref="form">
    <template :slot="item.prop + 'Label'" v-for="item in option.column">
      <span>
        <span>{{ item.label }} </span>
        <el-tooltip
          v-if="item.keyAttr"
          class="item"
          effect="dark"
          content="该属性为关键属性"
          placement="top-start"
        >
          <i class="el-icon-star-on key_attr_icon"></i>
        </el-tooltip>
      </span>
    </template>
  </avue-form>
</template>
<script>
import { getFormTemplate } from "@/api/formTemplate";
import { getDictionary } from "../../api/system/dict";
export default {
  name: "FormTemplate",
  props: {
    disabledProp: {
      type: Array,
      default: () => ["id"],
    },
    templateOid: {
      type: String,
      default: "",
    },
    codeClassifyOid: {
      type: String,
      default: "",
    },
    editForm: {
      type: Object,
      default: () => ({}),
    },
    type: {
      type: String,
      default: "add",
    },
    dialogOpen: {
      type: Boolean,
      default: false,
    },
    selfColumnType: {
      type: Object,
      default: () => ({}),
    },
    selfColumnConfig: {
      type: Object,
      default: () => ({}),
    },
  },
  data() {
    return {
      formIndex: 0,
      form: {},
      option: {
        emptyBtn: false,
        submitBtn: false,
        labelWidth: "130",
        column: [],
        group: [],
      },
      loading: false,
      templateData: {},
      columnType: {
        text: "input",
        combox: "select",
        truefalse: "switch",
        number: "number",
        textarea: "textarea",
        datetime: "datetime",
        date: "date",
      },
      // å‡æ•°æ®
      testItems: [
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "id",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "传值禁用功能",
          tooltips: "",
          type: "combox",
          unique: false,
          verify: "",
        },
        {
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "state",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: true,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "接口禁用功能",
          tooltips: "",
          type: "combox",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "oldcode",
          hidden: false,
          keyAttr: false,
          prefix: "el-icon-search",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "文本后缀测试",
          text: "前后缀功能",
          tooltips: "",
          type: "text",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "materialname",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: true,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "正则校验功能",
          tooltips: "请输入数字",
          type: "text",
          unique: false,
          verify: "/[0-9]/",
        },
        {
          comboxKey: null,
          customClass: null,
          data: [
            {
              attributes: {},
              key: "model_type",
              value: "模型",
            },
            {
              attributes: {},
              key: "part_type",
              value: "零件",
            },
          ],
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "dataSelect",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "直接返回下拉",
          tooltips: "",
          type: "combox",
          unique: false,
          verify: "",
        },
        {
          comboxKey: "formTemplateTest",
          customClass: null,
          data: [],
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "dictSelect",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "字典返回下拉",
          tooltips: "",
          type: "combox",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "firstfl",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "数字输入框",
          tooltips: "",
          type: "number",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "yyyy-MM-dd HH:mm:ss",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "datetime",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "日期时间选择器",
          tooltips: "",
          type: "datetime",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "time",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "时间选择器",
          tooltips: "",
          type: "date",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "false",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "xiaoshouwl",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "开关",
          tooltips: "",
          type: "truefalse",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "我是默认值",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "tuhao",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "默认值功能",
          tooltips: "提示",
          type: "text",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "xinghaoguige",
          hidden: false,
          keyAttr: true,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "属性关键值",
          tooltips: "",
          type: "text",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "jiliangdw",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          tip: "我是提示功能",
          required: false,
          selectLibFlag: "",
          showField: "jiliangdwname",
          suffix: "",
          text: "提示功能",
          tooltips: "",
          type: "text",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: "this.form.sum = this.form.fun1 + this.form.fun2",
          extendAttrMap: null,
          extendAttrString: null,
          field: "fun1",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "参数1测试js",
          tooltips: "",
          type: "text",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: "this.form.sum = this.form.fun1 + this.form.fun2",
          extendAttrMap: null,
          extendAttrString: null,
          field: "fun2",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          required: false,
          selectLibFlag: "",
          showField: "hesuanfenleiname",
          suffix: "",
          text: "参数2测试js",
          tooltips: "",
          type: "text",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: "",
          extendAttrMap: null,
          extendAttrString: null,
          field: "sum",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: true,
          required: false,
          selectLibFlag: "",
          showField: "",
          suffix: "",
          text: "参数1参数2求和",
          tooltips: "",
          type: "text",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "textarea",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "文本域",
          tooltips: "",
          type: "textarea",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "cz",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: true,
          referConfig: true,
          required: false,
          selectLibFlag: "",
          showField: "depId",
          suffix: "",
          text: "参照",
          tooltips: "",
          type: "text",
          unique: false,
          verify: "",
        },
      ],
      trendsSpan: 8,
      defaultValue: {},
      // è¡¨å•属性
      attributes: [],
      // è¡¨å•元素
      items: [],
    };
  },
  mounted() {
    this.handleResize();
  },
  methods: {
    getFormTemplate() {
      this.loading = true;
      getFormTemplate({
        templateOid: this.templateOid,
        codeClassifyOid: this.codeClassifyOid,
      })
        .then((res) => {
          if (res.status === 200) {
            this.templateData = res.data;
            // è¡¨å•元素(过滤需要隐藏的属性)
            this.items = res.data.formDefineVO.items;
            this.templateRender();
            this.$emit("getFormTemplateEnd", res.data);
          }
          this.loading = false;
        })
        .catch((err) => {
          this.loading = false;
          console.log(err);
        });
    },
    templateRender() {
      // æ— éœ€åˆ†ç»„数据
      let column = [];
      let group = [];
      let dictKeys = [];
      this.items.forEach((formItem) => {
        if (formItem.type === "line") {
          group.push({
            label: formItem.text,
            prop: formItem.text,
            collapse: true,
            column: [],
          });
        }
        if (
          formItem.type === "combox" &&
          formItem.comboxKey &&
          (!Array.isArray(formItem.dicData) || formItem.dicData.length === 0)
        ) {
          dictKeys.push({ dictKey: formItem.comboxKey, field: formItem.field });
        }
        // ç¦ç”¨éƒ¨åˆ†å±žæ€§ï¼ˆå¤–部传值禁用和参照禁用)
        if (
          this.disabledProp.includes(formItem.field) ||
          this.$utilFunc.isValuableObj(formItem.referConfig)
        ) {
          formItem.readOnly = true;
        }
        // è®¾ç½®è¡¨å•校验的规则,文本
        let message = "请选择";
        let trigger = "change";
        if (formItem.type === "text") {
          message = "请输入";
          trigger = "blur";
        } else if (formItem.type === "file") {
          message = "请上传";
        }
        let columnItem = {
          label: formItem.text,
          labelslot: true,
          prop: this.$utilFunc.isValuableObj(formItem.referConfig)
            ? formItem.showField || formItem.field
            : formItem.field,
          field: formItem.field,
          type: this.columnType[formItem.type],
          dicData: this.getDataList(formItem.type, formItem.data),
          disabled: this.type === "detail" ? true : formItem.readOnly,
          prepend: this.preOrSufFixShow("text", formItem.prefix),
          append: this.preOrSufFixShow("text", formItem.suffix),
          prefixIcon: this.preOrSufFixShow("icon", formItem.prefix),
          suffixIcon: this.preOrSufFixShow("icon", formItem.suffix),
          valueFormat: formItem.dateFormate,
          format: formItem.dateFormate,
          keyAttr: formItem.keyAttr,
          value: formItem.defaultValue,
          tip: formItem.tooltips,
          tipPlacement: "right",
          comboxKey: formItem.comboxKey,
          display: !formItem.hidden,
          filterable: true,
          change: () => {
            this.changeFun(formItem.displayExtension, formItem.prop);
          },
          span: formItem.type === "textarea" ? 24 : this.trendsSpan,
          click: this.clickFun(formItem.referConfig),
          rules: [
            {
              required: formItem.required,
              message: `请${message}${formItem.text}`,
              trigger,
            },
            {
              // å¦‚果没有正则则匹配任何字符
              pattern: formItem.verify ? formItem.verify : /[\s\S.]*/g,
              message: formItem.tooltips,
              trigger,
            },
          ],
          props: {
            label: "value",
            value: "key",
          },
        };
        columnItem = this.resetFormConfig(columnItem);
        if (group.length === 0) {
          column.push(columnItem);
        } else {
          group[group.length - 1]["column"].push(columnItem);
        }
      });
      this.$set(this.option, "column", column);
      this.$set(this.option, "group", group);
      this.formIndex++;
      this.geDictData(dictKeys);
    },
    // ä½¿ç”¨ä¼ å…¥çš„表单数据配置
    resetFormConfig(formItem) {
      for (const key in this.selfColumnConfig) {
        if (Object.hasOwnProperty.call(this.selfColumnConfig, key)) {
          const element = this.selfColumnConfig[key];
          formItem[key] = element;
        }
      }
      return formItem;
    },
    handleResize() {
      let windowWidth = document.body.clientWidth;
      this.trendsSpan = 24 / Math.floor(windowWidth / 500);
      this.formIndex++;
    },
    // å‰åŽç¼€
    preOrSufFixShow(type, val) {
      if (this.$utilFunc.isEmpty(val) && typeof val !== "string") return;
      const isIcon = val.slice(0, 8) === "el-icon-";
      if ((type === "text" && !isIcon) || (type === "icon" && isIcon)) {
        return val;
      }
    },
    changeFun(displayExtension, prop) {
      // executeCode({displayExtension, data: this.form}).then(res => {
      //   this.form[prop] = res.data.data
      // })
    },
    clickFun(referConfig) {
      if (this.type === "detail") {
        return;
      }
    },
    // èŽ·å–swich和已拿到的下拉数据
    getDataList(type, dicData) {
      if (type === "truefalse") {
        return [
          {
            key: false,
            value: "否",
          },
          {
            key: true,
            value: "是",
          },
        ];
      } else if (type === "combox") {
        return dicData;
      }
      return [];
    },
    // èŽ·å–å­—å…¸æ•°æ®
    geDictData(dictKeys) {
      dictKeys.forEach((dictObj) => {
        getDictionary({ code: dictObj.dictKey }).then((res) => {
          if (res.data && res.data.code === 200) {
            this.option.column = this.option.column.map((item) => {
              if (item.field === dictObj.field) {
                let dictData = (res.data.data || []).map((itm) => {
                  itm.value = itm.dictValue;
                  itm.key = itm.dictKey;
                  return itm;
                });
                item.dicData = dictData;
              }
              return item;
            });
          }
        });
      });
    },
  },
  watch: {
    dialogOpen: {
      immediate: true,
      handler(newV) {
        if (newV) {
          this.getFormTemplate();
        }
      },
    },
    form: {
      deep: true,
      immediate: true,
      handler(newV) {
        this.$emit("getFormData", newV);
      },
    },
  },
};
</script>
<style lang="less" scoped></style>
Source/UBCS-WEB/src/components/FormTemplate/ResembleQuery.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,184 @@
<template>
  <div>
    <el-table :data="tableData" v-loading="loading" height="250" :border="true">
      <el-table-column
        type="index"
        width="60"
        label="序号"
        align="center"
      ></el-table-column>
      <el-table-column
        v-for="item in column[0]"
        :key="item.field"
        :prop="item.field"
        :label="item.title"
        :min-width="item.width"
        align="center"
      >
        <template #default="{ row }" v-if="item.field === 'id'">
          <el-button type="text" @click="openFormTemlpate(row)">{{
            row.id
          }}</el-button>
        </template>
        <template #default="{ row }" v-else>
          <span>{{ row[item.field] }}</span>
        </template>
      </el-table-column>
    </el-table>
    <FormTemplate
      ref="FormTemplate"
      type="detail"
      :visible.sync="formTemplateVisible"
      :templateOid="this.resembleTemplateOid"
      :codeClassifyOid="this.resembleCodeClassifyOid"
    ></FormTemplate>
  </div>
</template>
<script>
import { findLike } from "@/api/formTemplate.js";
export default {
  name: "ResembleQuery",
  props: {
    column: {
      type: Array,
      default: () => [],
    },
    codeClassifyOid: {
      type: String,
      default: "",
    },
    templateOid: {
      type: String,
      default: "",
    },
    hasResemble: {
      type: Boolean,
      default: false,
    },
    type: {
      type: String,
      default: "add",
    },
    form: {
      type: Object,
      default: () => ({}),
    },
    codeRuleOid: {
      type: String,
      default: ''
    }
  },
  data() {
    return {
      tableVisible: true,
      formTemplateVisible: false,
      activeName: "findlike",
      tableData: [],
      loading: false,
      resembleTemplateOid: "78B8C7C5-A042-0B96-FE6D-65421451782A",
      resembleCodeClassifyOid: "4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
      defaultValue: {},
      secVOList: [],
      defaultKeys: [
        "oid",
        "id",
        "name",
        "description",
        "revisionoid",
        "nameoid",
        "btmname",
        "lastr",
        "firstr",
        "lastv",
        "firstv",
        "creator",
        "createtime",
        "lastModifier",
        "lastmodifytime",
        "revisionrule",
        "revisionseq",
        "revisionvalue",
        "versionrule",
        "versionseq",
        "versionvalue",
        "lcstatus",
        "ts",
        "owner",
        "checkinby",
        "checkintime",
        "checkoutby",
        "checkouttime",
        "copyfromversion",
        "secretgrade",
      ],
      formItems: [],
    };
  },
  created() {
    this.getCodeRule();
  },
  computed: {
    showCodeOrder() {
      if (this.type === "add") {
        if (this.secVOList.length == 0 && this.hasResemble) {
          return false;
        }
      } else {
        if (this.hasResemble) {
          return false;
        }
      }
      return true;
    },
  },
  methods: {
    // ç›¸ä¼¼é¡¹æŸ¥è¯¢
    resembleQuery(form) {
      this.loading = true;
      this.activeName = "findlike";
      const { defaultValue, formValue } = this.getDefaultValueAndFormValues(form);
      let params = {
        codeClassifyOid: this.codeClassifyOid,
        codeRuleOid: this.codeRuleOid,
        templateOid: this.templateOid,
        data: formValue,
      };
      params = Object.assign(params, defaultValue);
      this.tableVisible = true;
      findLike(params).then((res) => {
        this.loading = false;
        this.tableData = res.data.data || [];
      });
    },
    openFormTemlpate(row) {
      this.$nextTick(() => {
        console.log(this.$refs.FormTemplate);
      });
      this.codetemplateoid = row.codetemplateoid;
      this.formTemplateVisible = true;
    },
    getDefaultValueAndFormValues(form) {
      let defaultValue = {};
      let formValue = {};
      for (const key in form) {
        if (Object.hasOwnProperty.call(form, key)) {
          const element = form[key];
          if (this.defaultKeys.includes(key)) {
            defaultValue[key] = element;
          } else {
            formValue[key] = element;
          }
        }
      }
      return {
        defaultValue,
        formValue,
      };
    },
  },
};
</script>
Source/UBCS-WEB/src/components/FormTemplate/index.vue
@@ -5,574 +5,82 @@
    top="0vh"
    :title="title"
    class="avue-dialog avue-dialog--top"
    :width="dialogOptions.width"
    :width="width"
    append-to-body
    v-if="dialogVisible"
  >
    <avue-form
      v-model="form"
      :option="option"
      v-loading="loading"
      ref="form"
      :key="index"
    >
      <template :slot="item.prop + 'Label'" v-for="item in option.column">
        <span>
          <span>{{ item.label }} </span>
          <el-tooltip
            v-if="item.keyAttr"
            class="item"
            effect="dark"
            content="该属性为关键属性"
            placement="top-start"
          >
            <i class="el-icon-star-on key_attr_icon"></i>
          </el-tooltip>
          <el-tooltip
            v-if="item.tip"
            class="item"
            effect="dark"
            :content="item.tip"
            placement="top-start"
          >
            <i class="el-icon-warning"></i>
          </el-tooltip>
        </span>
      </template>
      <template :slot="item.prop + ''" v-for="item in option.column">
        <vciWebRefer v-if="item.type=='refer'" :value="item.value" :options="item.referConfig"></vciWebRefer>
      </template>
    </avue-form>
    <FindLike ref="findLike"></FindLike>
    <FormTempalte
      v-bind="$attrs"
      :dialogOpen="visible"
      :type="type"
      @getFormTemplateEnd="getFormTemplate"
      @getFormData="getFormData"
    ></FormTempalte>
    <div class="tab_box">
      <el-tabs v-model="activeName" type="card">
        <el-tab-pane label="码值申请" name="codeApply" v-if="showCodeApply">
          <CodeApply v-bind="$attrs"></CodeApply>
        </el-tab-pane>
        <el-tab-pane
          label="相似项查询"
          name="resembleQuery"
          v-if="showResembleQuery"
        >
          <ResembleQuery
            v-bind="$attrs"
            ref="resembleQueryRef"
            :hasResemble="this.hasResemble"
            :column="this.resembleTableColumn"
            :form="this.form"
          ></ResembleQuery>
        </el-tab-pane>
      </el-tabs>
    </div>
    <div class="avue-dialog__footer" v-if="type !== 'detail'">
      <el-button @click="close()">取 æ¶ˆ</el-button>
      <el-button @click="close()" type="primary" :loading="submitBtnLoading">ç¡® å®š</el-button>
      <el-button @click="findLinkSubmit" type="primary">相似像查询</el-button>
      <el-button @click="close()" type="primary" :loading="submitBtnLoading"
        >ç¡® å®š</el-button
      >
      <el-button @click="resembleQuerySubmit" type="primary" v-if="hasResemble"
        >相似像查询</el-button
      >
    </div>
  </el-dialog>
</template>
<script>
import { getFormTemplate, executeCode, findLike } from "@/api/formTemplate";
import { getDictionary } from "../../api/system/dict";
import FindLike from "./FindLike.vue";
import vciWebRefer from "../refer/vciWebRefer.vue";
import FormTempalte from "./FormTempalte";
import ResembleQuery from "./ResembleQuery";
import CodeApply from "./CodeApply";
export default {
  name: "FormTemplate",
  components: { FindLike ,vciWebRefer},
  name: "FormTemplateDialog",
  components: { ResembleQuery, FormTempalte, CodeApply },
  props: {
    visible: {
      type: Boolean,
      default: false,
    },
    disabledProp: {
      type: Array,
      default: () => ["id"],
    },
    templateOid: {
      type: String,
      default: "",
    },
    codeClassifyOid: {
      type: String,
      default: "",
    },
    type: {
      type: String,
      default: 'add'
      default: "add",
    },
    title: {
      type: String,
      default: '表单模板'
    }
      default: "表单模板",
    },
    width: {
      type: String,
      default: "80%",
    },
  },
  data() {
    return {
      index: 0,
      form: {},
      loading: false,
      dialogOptions: {
        width: "60%",
      },
      option: {
        emptyBtn: false,
        submitBtn: false,
        labelWidth: "120",
        column: [],
      },
      templateData: {},
      columnType: {
        text: "input",
        combox: "select",
        truefalse: "switch",
        number: "number",
        textarea: "textarea",
        datetime: "datetime",
        date: "date",
        refer:'refer'
      },
      // å‡æ•°æ®
      testItems: [
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "id",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "传值禁用功能",
          tooltips: "",
          type: "combox",
          unique: false,
          verify: "",
        },
        {
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "state",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: true,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "接口禁用功能",
          tooltips: "",
          type: "combox",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "oldcode",
          hidden: false,
          keyAttr: false,
          prefix: "el-icon-search",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "文本后缀测试",
          text: "前后缀功能",
          tooltips: "",
          type: "text",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "materialname",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: true,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "正则校验功能",
          tooltips: "请输入数字",
          type: "text",
          unique: false,
          verify: "/[0-9]/",
        },
        {
          comboxKey: null,
          customClass: null,
          data: [
            {
              attributes: {},
              key: "model_type",
              value: "模型",
            },
            {
              attributes: {},
              key: "part_type",
              value: "零件",
            },
          ],
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "dataSelect",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "直接返回下拉",
          tooltips: "",
          type: "combox",
          unique: false,
          verify: "",
        },
        {
          comboxKey: "formTemplateTest",
          customClass: null,
          data: [],
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "dictSelect",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "字典返回下拉",
          tooltips: "",
          type: "combox",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "firstfl",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "数字输入框",
          tooltips: "",
          type: "number",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "yyyy-MM-dd HH:mm:ss",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "datetime",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "日期时间选择器",
          tooltips: "",
          type: "datetime",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "time",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "时间选择器",
          tooltips: "",
          type: "date",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "false",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "xiaoshouwl",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "开关",
          tooltips: "",
          type: "truefalse",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "我是默认值",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "tuhao",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "默认值功能",
          tooltips: "提示",
          type: "text",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "xinghaoguige",
          hidden: false,
          keyAttr: true,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "属性关键值",
          tooltips: "",
          type: "text",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "jiliangdw",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          tip: "我是提示功能",
          required: false,
          selectLibFlag: "",
          showField: "jiliangdwname",
          suffix: "",
          text: "提示功能",
          tooltips: "",
          type: "text",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: "this.form.sum = this.form.fun1 + this.form.fun2",
          extendAttrMap: null,
          extendAttrString: null,
          field: "fun1",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "参数1测试js",
          tooltips: "",
          type: "text",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: "this.form.sum = this.form.fun1 + this.form.fun2",
          extendAttrMap: null,
          extendAttrString: null,
          field: "fun2",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          required: false,
          selectLibFlag: "",
          showField: "hesuanfenleiname",
          suffix: "",
          text: "参数2测试js",
          tooltips: "",
          type: "text",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: "",
          extendAttrMap: null,
          extendAttrString: null,
          field: "sum",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: true,
          required: false,
          selectLibFlag: "",
          showField: "",
          suffix: "",
          text: "参数1参数2求和",
          tooltips: "",
          type: "text",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "textarea",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: false,
          referConfig: null,
          required: false,
          selectLibFlag: "",
          showField: null,
          suffix: "",
          text: "文本域",
          tooltips: "",
          type: "textarea",
          unique: false,
          verify: "",
        },
        {
          comboxKey: null,
          customClass: null,
          data: null,
          dateFormate: "",
          defaultValue: "",
          displayExtension: null,
          extendAttrMap: null,
          extendAttrString: null,
          field: "cz",
          hidden: false,
          keyAttr: false,
          prefix: "",
          readOnly: true,
          referConfig: true,
          required: false,
          selectLibFlag: "",
          showField: "depId",
          suffix: "",
          text: "参照",
          tooltips: "",
          type: "text",
          unique: false,
          verify: "",
        },
      ],
      submitBtnLoading: false
      submitBtnLoading: false,
      hasResemble: false,
      resembleTableColumn: [],
      activeName: "resembleQuery",
      form: {}
    };
  },
  created() {},
@@ -585,171 +93,38 @@
        this.$emit("update:visible", val);
      },
    },
    showCodeApply() {
      if (this.type === "add") {
        if (this.hasResemble && this.resembleTableColumn.length === 0) {
          return false;
        }
      } else {
        if (this.hasResemble) {
          return false;
        }
      }
      return true;
    },
    showResembleQuery() {
      return this.hasResemble;
    },
  },
  methods: {
    getFormTemplate() {
      this.loading = true;
      getFormTemplate({
        templateOid: this.templateOid,
        codeClassifyOid: this.codeClassifyOid,
      })
        .then((res) => {
          if (res.status === 200) {
            this.templateData = res.data;
            this.templateRender();
          }
          this.loading = false;
          console.log(res.data);
        })
        .catch((err) => {
          this.loading = false;
          console.log(err);
        });
    close() {
      this.dialogVisible = false;
    },
    templateRender() {
      const items = this.templateData.formDefineVO.items;
      let column = [];
      let dictKeys = [];
      items.forEach((item) => {
        // éšè—è¡¨å•元素
        if (item.hide) {
          return;
        }
        if (
          item.type === "combox" &&
          item.comboxKey &&
          (!Array.isArray(item.dicData) || item.dicData.length === 0)
        ) {
          dictKeys.push({ dictKey: item.comboxKey, field: item.field });
        }
        // ç¦ç”¨éƒ¨åˆ†å±žæ€§ï¼ˆå¤–部传值禁用和参照禁用)
        if (this.disabledProp.includes(item.field) || this.$utilFunc.isValuableObj(item.referConfig)) {
          item.readOnly = true;
        }
        // è®¾ç½®è¡¨å•校验的规则,文本
        let message = "请选择";
        let trigger = "change";
        if (item.type === "text") {
          message = "请输入";
          trigger = "blur";
        } else if (item.type === "file") {
          message = "请上传";
        }
        let columnItem = {
          label: item.text,
          labelslot: true,
          prop: this.$utilFunc.isValuableObj(item.referConfig) ? (item.showField || item.field) : item.field,
          type: this.columnType[item.type],
          dicData: this.getDataList(item.type, item.data),
          disabled: this.type === 'detail' ? true : item.readOnly,
          prepend: this.preOrSufFixShow("text", item.prefix),
          append: this.preOrSufFixShow("text", item.suffix),
          prefixIcon: this.preOrSufFixShow("icon", item.prefix),
          suffixIcon: this.preOrSufFixShow("icon", item.suffix),
          valueFormat: item.dateFormate,
          format: item.dateFormate,
          keyAttr: item.keyAttr,
          value: item.defaultValue,
          tip: item.tip,
          comboxKey: item.comboxKey,
          referConfig:item.referConfig,
          change: () => {
            this.changeFun(item.displayExtension, item.prop);
          },
          span: item.type === "file" || item.type === "textarea" ? 24 : null,
          click: this.clickFun(item.referConfig),
          rules: [
            {
              required: item.required,
              message: `请${message}${item.text}`,
              trigger,
            },
            {
              // å¦‚果没有正则则匹配任何字符
              pattern: item.verify ? item.verify : /[\s\S.]*/g,
              message: item.tooltips,
              trigger,
            },
          ],
          props: {
            label: "value",
            value: "key",
          },
        };
        column.push(columnItem);
        this.$set(this.option, "column", column);
      });
      this.index++;
      this.geDictData(dictKeys);
    getFormTemplate(data) {
      this.hasResemble =
        data.resembleTableVO &&
        data.resembleTableVO.cols &&
        data.resembleTableVO.cols.length > 0;
      this.resembleTableColumn = data.resembleTableVO.cols || [];
    },
    changeFun(displayExtension, prop) {
      // executeCode({displayExtension, data: this.form}).then(res => {
      //   this.form[prop] = res.data.data
      // })
    getFormData(form) {
      this.form = form
    },
    clickFun(referConfig) {
      if (this.type === 'detail') {
        return
      }
    },
    // å‰åŽç¼€
    preOrSufFixShow(type, val) {
      if (this.$utilFunc.isEmpty(val) && typeof val !== "string") return;
      const isIcon = val.slice(0, 8) === "el-icon-";
      if ((type === "text" && !isIcon) || (type === "icon" && isIcon)) {
        return val;
      }
    },
    // èŽ·å–swich和已拿到的下拉数据
    getDataList(type, dicData) {
      if (type === "truefalse") {
        return [
          {
            key: false,
            value: "否",
          },
          {
            key: true,
            value: "是",
          },
        ];
      } else if (type === "combox") {
        return dicData;
      }
      return [];
    },
    // èŽ·å–å­—å…¸æ•°æ®
    geDictData(dictKeys) {
      dictKeys.forEach((dictObj) => {
        getDictionary({ code: dictObj.dictKey }).then((res) => {
          if (res.data && res.data.code === 200) {
            this.option.column = this.option.column.map((item) => {
              if (item.field === dictObj.field) {
                let dictData = (res.data.data || []).map((itm) => {
                  itm.value = itm.dictValue;
                  itm.key = itm.dictKey;
                  return itm;
                });
                item.dicData = dictData;
              }
              return item;
            });
          }
        });
      });
    },
    findLinkSubmit() {
      this.templateData.templateVO.data = this.form
      console.log(this.$refs.findLike, 'this.$refs.findLike');
      this.$refs.findLike.findLinkClick(this.templateData.templateVO)
    }
  },
  watch: {
    visible(newV) {
      if (newV) {
        this.getFormTemplate();
        // this.templateRender()
      }
    resembleQuerySubmit() {
      this.$refs.resembleQueryRef.resembleQuery(this.form);
    },
  },
};
Source/UBCS-WEB/src/main.js
@@ -42,6 +42,7 @@
import businessAdd from "@/views/modeling/BusinessAdd"
import TableCrud from "@/components/Crud/Crud"
import originalAdd from "@/views/modeling/originalAdd"
import FormTemplateDialog from "@/components/FormTemplate/index"
// å°†å·¥å…·å‡½æ•°æ·»åŠ åˆ°å…¨å±€
import utilFunc from './util/func'
@@ -85,7 +86,7 @@
Vue.component('attrCrud',attrCrud)
Vue.component('TableCrud',TableCrud)
Vue.component('originalAdd',originalAdd)
Vue.component('FormTemplateDialog',FormTemplateDialog)
// åŠ è½½ç›¸å…³url地址
Object.keys(urls).forEach(key => {
Source/UBCS-WEB/src/router/axios.js
@@ -17,7 +17,7 @@
import 'nprogress/nprogress.css';
//默认超时时间
axios.defaults.timeout = 10000;
axios.defaults.timeout = 20000;
//返回其他状态码
axios.defaults.validateStatus = function (status) {
  return status >= 200 && status <= 500;
Source/UBCS-WEB/src/views/MasterData/FormTempalteTest.vue
@@ -1,18 +1,33 @@
<template>
  <div>
    <el-button @click="visible = true">测试</el-button>
    <FormTemplate :visible.sync="visible" templateOid="78B8C7C5-A042-0B96-FE6D-65421451782A" codeClassifyOid="4524E801-6CC6-92E8-1AC3-2AB9604E8F96"></FormTemplate>
    <FormTemplateDialog
      :visible.sync="visible"
      :FormTemplateProp="FormTemplateProp"
      :type="this.type"
      :editForm="editForm"
      :templateOid="this.templateOid"
      :codeClassifyOid="this.codeClassifyOid"
      :disabledProp="disabledProp"
    ></FormTemplateDialog>
  </div>
</template>codeClassifyOid
</template>
codeClassifyOid
<script>
import FormTemplate from "../../components/FormTemplate/index";
export default {
  name: "FormTempalteTest",
  components: { FormTemplate },
  data() {
    return {
      visible: false,
      // é»˜è®¤ç¦ç”¨çš„表元素
      disabledProp: ["id"],
      // ä¿®æ”¹å›žæ˜¾çš„æ•°æ®
      editForm: {},
      // è¡¨å•类型
      type: "add",
      templateOid: "D32FC682-4376-A148-DF8D-6261206E6412",
      codeClassifyOid: "91E05D2B-FEB2-6D41-5CE5-5B489615A29C",
    };
  },
};
Source/UBCS-WEB/src/views/integration/integrationIndex.vue
@@ -6,16 +6,29 @@
                    <el-input placeholder="输入关键字进行过滤" v-model="filterText">
                    </el-input>
                    <el-menu :default-openeds="['1', '3']">
                        <el-tree class="filter-tree" :data="treeData" :props="defaultProps" default-expand-all
                            :filter-node-method="filterNode" ref="tree">
                        <el-tree class="filter-tree" :data="treeData" accordion :props="defaultProps"
                            :filter-node-method="filterNode" empty-text="暂无数据" ref="tree" @node-click="handelTreeCell">
                        </el-tree>
                    </el-menu>
                </el-aside>
            </el-card>
            <el-main>
                <el-card>
                    <avue-crud :data="tableData" :option="option" ref="crud" @row-update="addUpdate" @row-save="rowSave"
                        @row-click="handleRowClick">
                    <el-form :model="form">
                        <el-form-item label="集团分类" label-width="70px" size="small">
                            <el-select clearable ref="selectTree" v-model="form.groupValue" placeholder="请选择"
                                popper-class="popperTreeSelect">
                                <el-option :value="groupVal" :label="groupVal">
                                    <el-tree ref="groupTree" :data="groupTreeData" empty-text="暂无数据" :props="defaultProps"
                                        @node-click="handleNodeClick">
                                    </el-tree>
                                </el-option>
                            </el-select>
                        </el-form-item>
                    </el-form>
                    <avue-crud :table-loading="loading" :data="tableData" :option="option" ref="crud" @cell-class-name="handelCellRow"
                        @cell-click="handleCellClick">
                        <template slot="menuLeft">
                            <el-button icon="el-icon-plus" size="small" type="primary" @click="dialogPush = true">新 å¢ž
                            </el-button>
@@ -24,35 +37,40 @@
                            <el-button icon="el-icon-connection" size="small" type="primary" @click="handleSync">同步模型
                            </el-button>
                        </template>
                        <template slot="defaultValue" slot-scope="{scope}">
                            <!-- <el-input v-model="scope.row.defaultValue" v-if="scope.row.index === tableRowIndex && scope.column.index === tableColumnIndex" @blur="inputBlur"> </el-input> -->
                            <span>{{ scope }}</span>
                        </template>
                    </avue-crud>
                    <el-card :style="{ marginTop: '20px' }">
                        <avue-crud :data="tableData" :option="optinos" ref="crud" @row-update="addUpdate"
                            @row-save="rowSave" @row-click="handleRowClick">
                        <avue-crud :data="tablesData" :option="optinos" ref="crud"
                        @cell-click="handleCellClick">
                        </avue-crud>
                    </el-card>
                </el-card>
                <el-dialog title="编码属性" :visible.sync="dialogPush" destroy-on-close append-to-body="true" width="30%"
                    :before-close="handleClose">
                    <el-form :model="form">
                        <el-form-item label="查询条件" label-width="70px" size="small">
                            <el-input v-model="form.name" autocomplete="off" @change="handleQuery"></el-input>
                        </el-form-item>
                    </el-form>
                    <p class="text_tip">*选择分类进行属性过滤, æˆ–者输入属性的全拼或者简拼进行查询! å¦‚: å§“名 (可输入xm或xinming )</p>
                    <transfer v-model="transferValue" :data="transferData" :filter-method="filterMethod"
                        filter-placeholder="请输入属性拼音全拼或者拼音缩写" @left-check-change="handelLeftCheck"></transfer>
                    <span slot="footer" class="dialog-footer">
                        <el-button @click="dialogPush = false">取 æ¶ˆ</el-button>
                        <el-button type="primary" @click="dialogVisible = false">保 å­˜</el-button>
                    </span>
                </el-dialog>
            </el-main>
        </el-container>
        <el-dialog title="编码属性" :visible.sync="dialogPush" append-to-body="true" destroy-on-close width="30%"
            :before-close="handleClose">
            <el-form :model="form">
                <el-form-item label="查询条件" label-width="70px" size="small">
                    <el-input v-model="form.name" autocomplete="off" @change="handleQuery"></el-input>
                </el-form-item>
            </el-form>
            <p class="text_tip">*选择分类进行属性过滤, æˆ–者输入属性的全拼或者简拼进行查询! å¦‚: å§“名 (可输入xm或xinming )</p>
            <transfer v-model="transferValue" :data="transferData" :filter-method="filterMethod"
                filter-placeholder="请输入属性拼音全拼或者拼音缩写" @left-check-change="handelLeftCheck"></transfer>
            <span slot="footer" class="dialog-footer">
                <el-button @click="dialogPush = false">取 æ¶ˆ</el-button>
                <el-button type="primary" @click="dialogPush = false">保 å­˜</el-button>
            </span>
        </el-dialog>
    </div>
</template>
<script>
import transfer from '@/components/transfer/index'
import pinyin from 'js-pinyin'
import { referCodeClassifyTree, referTree, gridAttrMapping } from '@/api/integration/integration.js'
export default {
    components: {
        transfer
@@ -75,94 +93,27 @@
        return {
            form: {
                name: '',
                groupValue: ''
            },
            loading: false,
            ishowTree: false,
            search: '',
            transferData: generateData(),
            transferValue: [],
            dialogPush: false,
            tableData: [
            tableData: [],
            tablesData: [
                {
                    id: 1,
                    groupTypeName: '人员',
                    codeView: '编码视图',
                    sex: '性别',
                    typeName: '螺栓',
                    attributeName: '',
                    defaultValue: '',
                },
                {
                    id: 2,
                    groupTypeName: '人员',
                    codeView: '编码视图',
                    sex: '性别',
                    typeName: '螺栓',
                    attributeName: '',
                    defaultValue: '',
                },
                {
                    id: 3,
                    groupTypeName: '人员',
                    codeView: '编码视图',
                    sex: '性别',
                    typeName: '螺栓',
                    attributeName: '',
                    defaultValue: '',
                },
                {
                    id: 3,
                    groupTypeName: '人员',
                    codeView: '编码视图',
                    sex: '性别',
                    typeName: '螺栓',
                    attributeName: '',
                    defaultValue: '',
                },
                {
                    id: 3,
                    groupTypeName: '人员',
                    codeView: '编码视图',
                    sex: '性别',
                    typeName: '螺栓',
                    attributeName: '',
                    defaultValue: '',
                },
                {
                    id: 3,
                    groupTypeName: '人员',
                    codeView: '编码视图',
                    sex: '性别',
                    typeName: '螺栓',
                    attributeName: '',
                    defaultValue: '',
                },
                {
                    id: 3,
                    groupTypeName: '人员',
                    codeView: '编码视图',
                    sex: '性别',
                    typeName: '螺栓',
                    attributeName: '',
                    defaultValue: '',
                },
                {
                    id: 3,
                    groupTypeName: '人员',
                    codeView: '编码视图',
                    sex: '性别',
                    typeName: '螺栓',
                    attributeName: '',
                    defaultValue: '',
                },
                {
                    id: 3,
                    groupTypeName: '人员',
                    codeView: '编码视图',
                    sex: '性别',
                    typeName: '螺栓',
                    attributeName: '',
                    defaultValue: '',
                    id:'01',
                    groupTypeName:'李四',
                    codeView:'张三',
                    sex:'',
                    typeName:''
                }
            ],
            filterText: '',
            tableRowIndex:null,
            tableColumnIndex:null,
            optinos: {
                title: '集团属性',
                maxHeight: '300px',
@@ -182,8 +133,8 @@
                column: [
                    { label: '属性集团枚举值', prop: 'groupTypeName', minWidth: 80, },
                    { label: '集团属性枚举显示名称', prop: 'codeView', minWidth: 80 },
                    { label: 'MDM枚举值', prop: 'sex', minWidth: 80 },
                    { label: 'MDM枚举显示名称', prop: 'typeName', minWidth: 80, overHidden: true },
                    { label: 'MDM枚举值', prop: 'sex', minWidth: 80, cell: true },
                    { label: 'MDM枚举显示名称', prop: 'typeName', minWidth: 80, cell: true },
                ]
            },
            option: {
@@ -198,89 +149,91 @@
                emptyBtn: false,
                searchBtn: false,
                searchShowBtn: false,
                cellBtn: true,
                cellBtn: false,
                border: true,
                searchMenuSpan: 8,
                column: [
                    {
                        label: '集团分类',
                        prop: 'groupTypeName',
                        minWidth: 80,
                        type: "select",
                        dicUrl: "/api/ubcs-system/dict/dictionary?code=org_category",
                        props: {
                            label: "dictValue",
                            value: "dictKey"
                        },
                        slot: true,
                        search: true,
                        rules: [{
                            message: "请输入集团分类名称"
                        }]
                    },
                    { label: '所属视图', prop: 'codeView', minWidth: 80 },
                    { label: '集团属性', prop: 'sex', minWidth: 80 },
                    { label: '分类名称', prop: 'typeName', minWidth: 80, overHidden: true },
                    { label: '属性名称', prop: 'attributeName', minWidth: 80, cell: true },
                    { label: '集团分类', prop: 'sourceClassifyName', minWidth: 80, },
                    { label: '所属视图', prop: 'viewName', minWidth: 80 },
                    { label: '集团属性', prop: 'sourceAttrName', minWidth: 80 },
                    { label: '分类名称', prop: 'targetClassifyName', minWidth: 80, overHidden: true },
                    { label: '属性名称', prop: 'targetAttrName', minWidth: 80},
                    { label: '默认值', prop: 'defaultValue', minWidth: 140, cell: true },
                ]
            },
            treeData: [{
                id: 1,
                label: '一级 1',
                children: [{
                    id: 4,
                    label: '二级 1-1',
                    children: [{
                        id: 9,
                        label: '三级 1-1-1'
                    }, {
                        id: 10,
                        label: '三级 1-1-2'
                    }]
                }]
            }, {
                id: 2,
                label: '一级 2',
                children: [{
                    id: 5,
                    label: '二级 2-1'
                }, {
                    id: 6,
                    label: '二级 2-2'
                }]
            }, {
                id: 3,
                label: '一级 3',
                children: [{
                    id: 7,
                    label: '二级 3-1'
                }, {
                    id: 8,
                    label: '二级 3-2'
                }]
            }],
            treeData: [],
            groupTreeData: [],
            defaultProps: {
                children: 'children',
                label: 'label'
            }
                label: 'name',
                id: 'oid',
                isLeaf: ''
            },
            groupVal: '',
            treeParam: {}
        }
    },
    watch: {
        filterText(val) {
            console.log(this.$refs.tree)
            this.$refs.tree.filter(val);
        }
    },
    created() {
        this.getReferCodeClassifyTree()
        pinyin.setOptions({ checkPolyphone: false, charCase: 1 });
        console.log(pinyin.getFullChars('管理员'))
        console.log(pinyin.getCamelChars('管理员'))
    },
    methods: {
        async getReferCodeClassifyTree() {
            const param = {
                parentBtmName: "jclass",
                valueField: "oid",
                textField: "name",
                parentFieldName: "id"
            }
            const response = await referCodeClassifyTree(param)
            console.log(response)
            if (response.status === 200) {
                let data = response.data;
                this.treeData = data.map(item => item.children ? { ...item, ...{ isLeaf: false } } : { ...item, ...{ isLeaf: true } })
            }
        },
        async getlistCodeAttributeByClassId(oid) {
            this.loading = true
            console.log(this.treeParam)
            const response = await gridAttrMapping({ sourceClassifyId: oid, ...this.treeParam })
            console.log(response)
            if (response.status === 200) {
                this.loading = false
                this.tableData = response.data.data
            }
        },
        async referTree(oid, checked) {
            this.groupTreeData = []
            const response = await referTree({ 'conditionMap[codeclsfid]': oid, parentOid: null })
            console.log(response)
            if (response.status === 200) {
                if (checked) {
                    let items = response.data.map(item => {
                        let obj = {}
                        if (item.checked) obj = { ...item }
                        else obj = null
                        return obj
                    })
                    var r = items.filter(s => { return s && s.trim() });
                    this.groupTreeData = r
                } else {
                    this.groupTreeData = response.data
                }
            }
        },
        filterNode(value, data) {
            console.log(value)
            console.log(data)
            if (!value) return true;
            return data.label.indexOf(value) !== -1;
            return data.name.indexOf(value) !== -1;
        },
        handleSave() {
@@ -291,26 +244,46 @@
        handelLeftCheck(event) {
            console.log(event)
        },
        addUpdate(event, done) {
            console.log(event)
            done()
        },
        rowSave(event, done) {
            console.log(event)
            done()
        },
        handleRowClick(row, event, column) {
            console.log(row)
            console.log(event)
            console.log(column)
        handelCellRow( {row, column, rowIndex, columnIndex }) {
            row.index = rowIndex
            column.index = columnIndex
        },
        handleQuery(event) {
            console.log(event)
            this.form.name = event
        },
        filterMethod(query, item) {
        filterMethod(item) {
            return item.pinyins.indexOf(this.form.name) > -1;
        },
        handelTreeCell(event) {
            console.log(event)
            if (event.leaf) {
                this.treeParam.codeClassifyId = event.oid
                this.form.groupValue = ''
                this.groupVal = ''
                this.tableData = []
                this.referTree(event.oid, event.checked)
            }
        },
        handleNodeClick(data) {
            console.log(data)
            this.form.groupValue = data.name
            this.groupVal = data.name
            this.$refs.selectTree.blur()
            this.getlistCodeAttributeByClassId(data.oid)
        },
        handleCellClick(row, column,cell, event) {
            console.log(row)
            console.log(column)
            console.log(cell)
            console.log(event)
          this.tableRowIndex = row.index
          this.tableColumnIndex = column.index
        },
        inputBlur() {
            this.tableColumnIndex = ''
            this.tableRowIndex = null
        }
    }
}
</script>
@@ -320,6 +293,14 @@
    color: #F56C6C;
}
.setstyle {
    min-height: 200px;
    padding: 0 !important;
    margin: 0;
    overflow: auto;
    cursor: default !important;
}
/deep/ .el-transfer-panel__list {
    width: 100%;
}
Source/UBCS-WEB/vue.config.js
@@ -27,7 +27,8 @@
      '/api': {
        //本地服务接口地址
          target: 'http://localhost:37000',
        // target: 'http://192.168.3.7:37000',
        // target: 'http://192.168.1.63:37000',
        //target: 'http://192.168.3.7:37000',
        //target: 'http://dev.vci-tech.com:37000',
        //target: 'http://192.168.1.51:37000/',
        //远程演示服务地址,可用于直接启动项目
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemConfigDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,675 @@
package com.vci.ubcs.code.dto;
import com.vci.ubcs.code.vo.pagemodel.BaseModelVO;
import com.vci.ubcs.code.vo.pagemodel.SysIntHeaderVO;
import com.vci.ubcs.code.vo.pagemodel.SysIntParamVO;
import java.util.List;
/**
 * ç³»ç»Ÿé›†æˆåŸºç¡€ä¿¡æ¯æ•°æ®ä¼ è¾“对象
 *
 * @author lihang
 * @date 2022-03-07
 */
public class DockingSystemConfigDTO extends BaseModelVO {
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 4615707120053955466L;
    /**
     * è®¤è¯æ–¹å¼
     */
    private String authorityOid;
    /**
     * è®¤è¯æ–¹å¼æ˜¾ç¤ºæ–‡æœ¬
     */
    private String authorityOidName;
    /**
     * è®¤è¯æ–¹å¼
     */
    private String authorityType;
    /**
     * è®¤è¯æ–¹å¼æ˜¾ç¤ºæ–‡æœ¬
     */
    private String authorityTypeText;
    /**
     * éªŒè¯ç”¨æˆ·
     */
    private String userAccount;
    /**
     * éªŒè¯å¯†ç 
     */
    private String userCode;
    /**
     * éªŒè¯ä»¤ç‰Œ
     */
    private String token;
    /**
     * æŽ¥å£å‡½æ•°
     */
    private String interfaceFunction;
    /**
     * æŽ¥å£æè¿°
     */
    private String description;
    /**
     * æŽ¥å£ç±»åž‹
     */
    private String interfaceType;
    /**
     * æŽ¥å£ç±»åž‹æ˜¾ç¤ºæ–‡æœ¬
     */
    private String interfaceTypeText;
    /**
     * å‚数类型
     */
    private String paramType;
    /**
     * å‚数类型显示文本
     */
    private String paramTypeText;
    /**
     * è¯·æ±‚方式
     */
    private String requestMethod;
    /**
     * è¯·æ±‚方式显示文本
     */
    private String requestMethodText;
    /**
     * åˆ†ç±»oid
     */
    private String classifyOid;
    /**
     * å¯ç”¨ã€åœç”¨true/false,不用平台的枚举,减少对平台的耦合
     */
    private String usedFlag;
    /**
     * æŽ¨é€ç³»ç»Ÿoid
     */
    private String sysBaseOid;
    /**
     * æŽ¨é€ç³»ç»Ÿç¼–号
     */
    private String sysBaseId;
    /**
     * æŽ¨é€ç³»ç»Ÿåç§°
     */
    private String sysBaseName;
    /**
     * è¯·æ±‚地址
     */
    private String requestUrl;
    /**
     * è¿”回值类型
     */
    private String returnType;
    /**
     * è¿”回值类型显示文本
     */
    private String returnTypeText;
    /**
     * æ¥æºç³»ç»Ÿä¸»é”®
     */
    private String sourceSystemOid;
    /**
     * æ¥æºç³»ç»Ÿåç§°
     */
    private String sourceSysName;
    /**
     * æ¥æºç³»ç»Ÿæ ‡è¯†
     */
    private String sourceSysId;
    /**
     * æ¥æºç³»ç»Ÿä¸»é”®æ˜¾ç¤ºæ–‡æœ¬
     */
    private String sourceSystemOidName;
    /**
     * ç›®æ ‡ç³»ç»Ÿä¸»é”®
     */
    private String targetSystemOid;
    /**
     * ç›®æ ‡ç³»ç»Ÿåç§°
     */
    private String targetSysName;
    /**
     * ç›®æ ‡ç³»ç»Ÿæ ‡è¯†
     */
    private String targetSysId;
    /**
     * ç›®æ ‡ç³»ç»Ÿä¸»é”®æ˜¾ç¤ºæ–‡æœ¬
     */
    private String targetSystemOidName;
    /**
     * ç±»è·¯å¾„
     */
    private String classPath;
    /**
     * æ•°æ®æµå‘方式
     */
    private String dataFlowType;
    /**
     * æ•°æ®æµå‘方式的显示字段
     */
    private String dataFlowTypeText;
    /**
     * å­˜å‚¨çš„业务类型
     */
    private String btmTypeId;
    /**
     * å­˜å‚¨çš„业务类型的中文名称
     */
    private String btmTypeName;
    /**
     * å‘½åç©ºé—´
     */
    private String namespace;
    /**
     * soapAction
     */
    private String soapAction;
    /**
     * cxfaxis
     */
    private String cxfAxis;
    /**
     * å‚数名称
     */
    private String targetName;
    /***
     * æŽ¨é€ç±»åž‹ 1:数据推送/2分类推送,默认数据推送
     */
    private String pushType;
    /***
     * æŽ¨é€ç±»åž‹æ˜¾ç¤ºå€¼
     */
    private String pushTypeText;
    /**
     * åˆ†ç±»id
     */
    private String classifyId;
    /**
     * åˆ†ç±»åç§°
     */
    private String classifyName;
    /***
     * å‚数信息对象
     */
    private List<SysIntParamVO> sysIntParamVOs;
    /***
     * header信息对象
     */
    private List<SysIntHeaderVO> sysIntHeaderVOs;
    public String getAuthorityOid() {
        return authorityOid;
    }
    public void setAuthorityOid(String authorityOid) {
        this.authorityOid = authorityOid;
    }
    public String getAuthorityOidName() {
        return authorityOidName;
    }
    public void setAuthorityOidName(String authorityOidName) {
        this.authorityOidName = authorityOidName;
    }
    public String getAuthorityType() {
        return authorityType;
    }
    public void setAuthorityType(String authorityType) {
        this.authorityType = authorityType;
    }
    public String getAuthorityTypeText() {
        return authorityTypeText;
    }
    public void setAuthorityTypeText(String authorityTypeText) {
        this.authorityTypeText = authorityTypeText;
    }
    public String getUserAccount() {
        return userAccount;
    }
    public void setUserAccount(String userAccount) {
        this.userAccount = userAccount;
    }
    public String getUserCode() {
        return userCode;
    }
    public void setUserCode(String userCode) {
        this.userCode = userCode;
    }
    public String getToken() {
        return token;
    }
    public void setToken(String token) {
        this.token = token;
    }
    public String getInterfaceFunction() {
        return interfaceFunction;
    }
    public void setInterfaceFunction(String interfaceFunction) {
        this.interfaceFunction = interfaceFunction;
    }
    @Override
    public String getDescription() {
        return description;
    }
    @Override
    public void setDescription(String description) {
        this.description = description;
    }
    public String getInterfaceType() {
        return interfaceType;
    }
    public void setInterfaceType(String interfaceType) {
        this.interfaceType = interfaceType;
    }
    public String getInterfaceTypeText() {
        return interfaceTypeText;
    }
    public void setInterfaceTypeText(String interfaceTypeText) {
        this.interfaceTypeText = interfaceTypeText;
    }
    public String getParamType() {
        return paramType;
    }
    public void setParamType(String paramType) {
        this.paramType = paramType;
    }
    public String getParamTypeText() {
        return paramTypeText;
    }
    public void setParamTypeText(String paramTypeText) {
        this.paramTypeText = paramTypeText;
    }
    public String getRequestMethod() {
        return requestMethod;
    }
    public void setRequestMethod(String requestMethod) {
        this.requestMethod = requestMethod;
    }
    public String getRequestMethodText() {
        return requestMethodText;
    }
    public void setRequestMethodText(String requestMethodText) {
        this.requestMethodText = requestMethodText;
    }
    public String getClassifyOid() {
        return classifyOid;
    }
    public void setClassifyOid(String classifyOid) {
        this.classifyOid = classifyOid;
    }
    public String getUsedFlag() {
        return usedFlag;
    }
    public void setUsedFlag(String usedFlag) {
        this.usedFlag = usedFlag;
    }
    public String getSysBaseOid() {
        return sysBaseOid;
    }
    public void setSysBaseOid(String sysBaseOid) {
        this.sysBaseOid = sysBaseOid;
    }
    public String getSysBaseId() {
        return sysBaseId;
    }
    public void setSysBaseId(String sysBaseId) {
        this.sysBaseId = sysBaseId;
    }
    public String getSysBaseName() {
        return sysBaseName;
    }
    public void setSysBaseName(String sysBaseName) {
        this.sysBaseName = sysBaseName;
    }
    public String getRequestUrl() {
        return requestUrl;
    }
    public void setRequestUrl(String requestUrl) {
        this.requestUrl = requestUrl;
    }
    public String getReturnType() {
        return returnType;
    }
    public void setReturnType(String returnType) {
        this.returnType = returnType;
    }
    public String getReturnTypeText() {
        return returnTypeText;
    }
    public void setReturnTypeText(String returnTypeText) {
        this.returnTypeText = returnTypeText;
    }
    public String getSourceSystemOid() {
        return sourceSystemOid;
    }
    public void setSourceSystemOid(String sourceSystemOid) {
        this.sourceSystemOid = sourceSystemOid;
    }
    public String getSourceSysName() {
        return sourceSysName;
    }
    public void setSourceSysName(String sourceSysName) {
        this.sourceSysName = sourceSysName;
    }
    public String getSourceSysId() {
        return sourceSysId;
    }
    public void setSourceSysId(String sourceSysId) {
        this.sourceSysId = sourceSysId;
    }
    public String getSourceSystemOidName() {
        return sourceSystemOidName;
    }
    public void setSourceSystemOidName(String sourceSystemOidName) {
        this.sourceSystemOidName = sourceSystemOidName;
    }
    public String getTargetSystemOid() {
        return targetSystemOid;
    }
    public void setTargetSystemOid(String targetSystemOid) {
        this.targetSystemOid = targetSystemOid;
    }
    public String getTargetSysName() {
        return targetSysName;
    }
    public void setTargetSysName(String targetSysName) {
        this.targetSysName = targetSysName;
    }
    public String getTargetSysId() {
        return targetSysId;
    }
    public void setTargetSysId(String targetSysId) {
        this.targetSysId = targetSysId;
    }
    public String getTargetSystemOidName() {
        return targetSystemOidName;
    }
    public void setTargetSystemOidName(String targetSystemOidName) {
        this.targetSystemOidName = targetSystemOidName;
    }
    public String getClassPath() {
        return classPath;
    }
    public void setClassPath(String classPath) {
        this.classPath = classPath;
    }
    public String getDataFlowType() {
        return dataFlowType;
    }
    public void setDataFlowType(String dataFlowType) {
        this.dataFlowType = dataFlowType;
    }
    public String getDataFlowTypeText() {
        return dataFlowTypeText;
    }
    public void setDataFlowTypeText(String dataFlowTypeText) {
        this.dataFlowTypeText = dataFlowTypeText;
    }
    public String getBtmTypeId() {
        return btmTypeId;
    }
    public void setBtmTypeId(String btmTypeId) {
        this.btmTypeId = btmTypeId;
    }
    public String getBtmTypeName() {
        return btmTypeName;
    }
    public void setBtmTypeName(String btmTypeName) {
        this.btmTypeName = btmTypeName;
    }
    public String getNamespace() {
        return namespace;
    }
    public void setNamespace(String namespace) {
        this.namespace = namespace;
    }
    public String getSoapAction() {
        return soapAction;
    }
    public void setSoapAction(String soapAction) {
        this.soapAction = soapAction;
    }
    public String getCxfAxis() {
        return cxfAxis;
    }
    public void setCxfAxis(String cxfAxis) {
        this.cxfAxis = cxfAxis;
    }
    public String getTargetName() {
        return targetName;
    }
    public void setTargetName(String targetName) {
        this.targetName = targetName;
    }
    public String getPushType() {
        return pushType;
    }
    public void setPushType(String pushType) {
        this.pushType = pushType;
    }
    public String getPushTypeText() {
        return pushTypeText;
    }
    public void setPushTypeText(String pushTypeText) {
        this.pushTypeText = pushTypeText;
    }
    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 List<SysIntParamVO> getSysIntParamVOs() {
        return sysIntParamVOs;
    }
    public void setSysIntParamVOs(List<SysIntParamVO> sysIntParamVOs) {
        this.sysIntParamVOs = sysIntParamVOs;
    }
    public List<SysIntHeaderVO> getSysIntHeaderVOs() {
        return sysIntHeaderVOs;
    }
    public void setSysIntHeaderVOs(List<SysIntHeaderVO> sysIntHeaderVOs) {
        this.sysIntHeaderVOs = sysIntHeaderVOs;
    }
    @Override
    public String toString() {
        return "SysIntInfoDTO{" +
            "authorityOid='" + authorityOid + '\'' +
            ", authorityOidName='" + authorityOidName + '\'' +
            ", authorityType='" + authorityType + '\'' +
            ", authorityTypeText='" + authorityTypeText + '\'' +
            ", userAccount='" + userAccount + '\'' +
            ", userCode='" + userCode + '\'' +
            ", token='" + token + '\'' +
            ", interfaceFunction='" + interfaceFunction + '\'' +
            ", description='" + description + '\'' +
            ", interfaceType='" + interfaceType + '\'' +
            ", interfaceTypeText='" + interfaceTypeText + '\'' +
            ", paramType='" + paramType + '\'' +
            ", paramTypeText='" + paramTypeText + '\'' +
            ", requestMethod='" + requestMethod + '\'' +
            ", requestMethodText='" + requestMethodText + '\'' +
            ", classifyOid='" + classifyOid + '\'' +
            ", usedFlag='" + usedFlag + '\'' +
            ", sysBaseOid='" + sysBaseOid + '\'' +
            ", sysBaseId='" + sysBaseId + '\'' +
            ", sysBaseName='" + sysBaseName + '\'' +
            ", requestUrl='" + requestUrl + '\'' +
            ", returnType='" + returnType + '\'' +
            ", returnTypeText='" + returnTypeText + '\'' +
            ", sourceSystemOid='" + sourceSystemOid + '\'' +
            ", sourceSysName='" + sourceSysName + '\'' +
            ", sourceSysId='" + sourceSysId + '\'' +
            ", sourceSystemOidName='" + sourceSystemOidName + '\'' +
            ", targetSystemOid='" + targetSystemOid + '\'' +
            ", targetSysName='" + targetSysName + '\'' +
            ", targetSysId='" + targetSysId + '\'' +
            ", targetSystemOidName='" + targetSystemOidName + '\'' +
            ", classPath='" + classPath + '\'' +
            ", dataFlowType='" + dataFlowType + '\'' +
            ", dataFlowTypeText='" + dataFlowTypeText + '\'' +
            ", btmTypeId='" + btmTypeId + '\'' +
            ", btmTypeName='" + btmTypeName + '\'' +
            ", namespace='" + namespace + '\'' +
            ", soapAction='" + soapAction + '\'' +
            ", cxfAxis='" + cxfAxis + '\'' +
            ", targetName='" + targetName + '\'' +
            ", pushType='" + pushType + '\'' +
            ", pushTypeText='" + pushTypeText + '\'' +
            ", classifyId='" + classifyId + '\'' +
            ", classifyName='" + classifyName + '\'' +
            ", sysIntParamVOs=" + sysIntParamVOs +
            ", sysIntHeaderVOs=" + sysIntHeaderVOs +
            '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemDTO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntBaseDTO.java ÐÞ¸Ä
@@ -9,7 +9,7 @@
 * @author lihang
 * @date 2022-03-07
 */
public class SysIntBaseDTO extends BaseModelVO {
public class DockingSystemDTO extends BaseModelVO {
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntInfoBseDTO.java
@@ -5,17 +5,17 @@
import java.util.List;
public class SysIntInfoBseDTO extends BaseModelVO {
    private SysIntInfoDTO sysIntInfoDTO;
    private DockingSystemConfigDTO sysIntInfoDTO;
    private List<SysIntParamDTO> sysIntParamDTO;
    private List<SysIntHeaderDTO> sysIntHeaderDTOS;
    public SysIntInfoDTO getSysIntInfoDTO() {
    public DockingSystemConfigDTO getSysIntInfoDTO() {
        return sysIntInfoDTO;
    }
    public void setSysIntInfoDTO(SysIntInfoDTO sysIntInfoDTO) {
    public void setSysIntInfoDTO(DockingSystemConfigDTO sysIntInfoDTO) {
        this.sysIntInfoDTO = sysIntInfoDTO;
    }
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/SysIntInfoDTO.java
ÎļþÒÑɾ³ý
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystem.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
package com.vci.ubcs.code.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.vci.ubcs.starter.revision.model.BaseModel;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
/****
 * é›†æˆç®¡ç†æŽ¥å£-集成系统维护对象
 * @author xiejun
 * @date 2023-06-01
 */
@Data
@TableName("PL_CODE_SYSINTBASE")
@ApiModel(value = "DockingSystem", description = "集成管理接口-集成系统维护对象")
@EqualsAndHashCode(callSuper = true)
public class DockingSystem extends BaseModel {
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 4615707117716142023L;
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,312 @@
package com.vci.ubcs.code.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.vci.ubcs.code.vo.pagemodel.SysIntHeaderVO;
import com.vci.ubcs.code.vo.pagemodel.SysIntParamVO;
import com.vci.ubcs.starter.revision.model.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/***
 * é›†æˆæŽ¥å£-集成接口管理对象
 * @author xiejun
 * @date 2023-06-01
 */
@Data
@TableName("PL_CODE_SYSINTINFO")
@ApiModel(value = "DockingSystemConfig", description = "集成接口-集成接口管理对象")
@EqualsAndHashCode(callSuper = true)
public class DockingSystemConfig extends BaseModel{
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 4615707117716142069L;
    /**
     * è®¤è¯æ–¹å¼
     */
    /***
     * é›†å›¢åˆ†ç±»oid
     */
    @ApiModelProperty(value = "认证方式")
    //@TableField(value = "authorityOid")
    private String authorityOid;
    /**
     * è®¤è¯æ–¹å¼æ˜¾ç¤ºæ–‡æœ¬
     */
    @ApiModelProperty(value = "认证方式显示文本")
    @TableField(exist = false)
    private String authorityOidName;
    /**
     * è®¤è¯æ–¹å¼
     */
    @ApiModelProperty(value = "认证方式")
    @TableField(exist = false)
    private String authorityType;
    /**
     * è®¤è¯æ–¹å¼æ˜¾ç¤ºæ–‡æœ¬
     */
    @ApiModelProperty(value = "认证方式显示文本")
    @TableField(exist = false)
    private String authorityTypeText;
    /**
     * éªŒè¯ç”¨æˆ·
     */
    @ApiModelProperty(value = "验证用户")
    @TableField(exist = false)
    private String userAccount;
    /**
     * éªŒè¯å¯†ç 
     */
    @ApiModelProperty(value = "验证密码")
    @TableField(exist = false)
    private String userCode;
    /**
     * éªŒè¯ä»¤ç‰Œ
     */
    @ApiModelProperty(value = "验证令牌")
    @TableField(exist = false)
    private String token;
    /**
     * æŽ¥å£å‡½æ•°
     */
    @ApiModelProperty(value = "接口函数")
    private String interfaceFunction;
    /**
     * æŽ¥å£æè¿°
     *//*
    @ApiModelProperty(value = "接口描述")
    private String description;*/
    /**
     * æŽ¥å£ç±»åž‹
     */
    @ApiModelProperty(value = "接口类型")
    private String interfaceType;
    /**
     * æŽ¥å£ç±»åž‹æ˜¾ç¤ºæ–‡æœ¬
     */
    @ApiModelProperty(value = "接口类型显示文本")
    @TableField(exist = false)
    private String interfaceTypeText;
    /**
     * å‚数类型
     */
    @ApiModelProperty(value = "参数类型")
    private String paramType;
    /**
     * å‚数类型显示文本
     */
    @ApiModelProperty(value = "参数类型显示文本")
    @TableField(exist = false)
    private String paramTypeText;
    /**
     * è¯·æ±‚方式
     */
    @ApiModelProperty(value = "请求方式")
    private String requestMethod;
    /**
     * è¯·æ±‚方式显示文本
     */
    @ApiModelProperty(value = "请求方式显示文本")
    @TableField(exist = false)
    private String requestMethodText;
    /**
     * åˆ†ç±»oid
     */
    @ApiModelProperty(value = "分类oid")
    private String classifyOid;
    /**
     * å¯ç”¨ã€åœç”¨true/false,不用平台的枚举,减少对平台的耦合
     */
    @ApiModelProperty(value = "启用、停用true/false,不用平台的枚举,减少对平台的耦合")
    private String usedFlag;
    /**
     * æŽ¨é€ç³»ç»Ÿoid
     */
    @ApiModelProperty(value = "推送系统oid")
    private String sysBaseOid;
    /**
     * æŽ¨é€ç³»ç»Ÿç¼–号
     */
    @ApiModelProperty(value = "推送系统编号")
    private String sysBaseId;
    /**
     * æŽ¨é€ç³»ç»Ÿåç§°
     */
    @ApiModelProperty(value = "推送系统名称")
    private String sysBaseName;
    /**
     * è¯·æ±‚地址
     */
    @ApiModelProperty(value = "请求地址")
    private String requestUrl;
    /**
     * è¿”回值类型
     */
    @ApiModelProperty(value = "返回值类型")
    private String returnType;
    /**
     * è¿”回值类型显示文本
     */
    @ApiModelProperty(value = "返回值类型显示文本")
    @TableField(exist = false)
    private String returnTypeText;
    /**
     * æ¥æºç³»ç»Ÿä¸»é”®
     */
    @ApiModelProperty(value = "来源系统主键")
    private String sourceSystemOid;
    /**
     * æ¥æºç³»ç»Ÿåç§°
     */
    @ApiModelProperty(value = "来源系统名称")
    private String sourceSysName;
    /**
     * æ¥æºç³»ç»Ÿæ ‡è¯†
     */
    @ApiModelProperty(value = "来源系统标识")
    private String sourceSysId;
    /**
     * æ¥æºç³»ç»Ÿä¸»é”®æ˜¾ç¤ºæ–‡æœ¬
     */
    @ApiModelProperty(value = "来源系统主键显示文本")
    @TableField(exist = false)
    private String sourceSystemOidName;
    /**
     * ç›®æ ‡ç³»ç»Ÿä¸»é”®
     */
    @ApiModelProperty(value = "目标系统主键")
    private String targetSystemOid;
    /**
     * ç›®æ ‡ç³»ç»Ÿåç§°
     */
    @ApiModelProperty(value = "目标系统名称")
    private String targetSysName;
    /**
     * ç›®æ ‡ç³»ç»Ÿæ ‡è¯†
     */
    @ApiModelProperty(value = "目标系统标识")
    private String targetSysId;
    /**
     * ç›®æ ‡ç³»ç»Ÿä¸»é”®æ˜¾ç¤ºæ–‡æœ¬
     */
    @ApiModelProperty(value = "目标系统主键显示文本")
    @TableField(exist = false)
    private String targetSystemOidName;
    /**
     * ç±»è·¯å¾„
     */
    @ApiModelProperty(value = "类路径")
    private String classPath;
    /**
     * æ•°æ®æµå‘方式
     */
    @ApiModelProperty(value = "认证方式显示文本")
    private String dataFlowType;
    /**
     * æ•°æ®æµå‘方式的显示字段
     */
    @ApiModelProperty(value = "数据流向方式的显示字段")
    @TableField(exist = false)
    private String dataFlowTypeText;
    /**
     * å­˜å‚¨çš„业务类型
     */
    @ApiModelProperty(value = "存储的业务类型")
    private String btmTypeId;
    /**
     * å­˜å‚¨çš„业务类型的中文名称
     */
    @ApiModelProperty(value = "存储的业务类型的中文名称")
    private String btmTypeName;
    /**
     * å‘½åç©ºé—´
     */
    @ApiModelProperty(value = "命名空间")
    private String namespace;
    /**
     * soapAction
     */
    @ApiModelProperty(value = "soapAction")
    private String soapAction;
    /**
     * cxfaxis
     */
    @ApiModelProperty(value = "cxfaxis")
    private String cxfAxis;
    /**
     * å‚数名称
     */
    @ApiModelProperty(value = "参数名称")
    @TableField(value = "targname")
    private String targetName;
    /***
     * æŽ¨é€ç±»åž‹ 1:数据推送/2分类推送,默认数据推送
     */
    @ApiModelProperty(value = "推送类型 1:数据推送/2分类推送,默认数据推送")
    private String pushType;
    /***
     * æŽ¨é€ç±»åž‹æ˜¾ç¤ºå€¼
     */
    @ApiModelProperty(value = "推送类型显示值")
    @TableField(exist = false)
    private String pushTypeText;
    /**
     * åˆ†ç±»id
     */
    @ApiModelProperty(value = "分类id")
    private String classifyId;
    /**
     * åˆ†ç±»åç§°
     */
    @ApiModelProperty(value = "分类名称")
    private String classifyName;
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeClassifyClient.java
@@ -45,7 +45,7 @@
    String TOP = API_PREFIX + "/top";
    String CODE_CLASSIFY_TREE=API_PREFIX+"/referCodeClassifyTree";
    String CODE_ATTRIBUTE_LIST=API_PREFIX+"/listCodeAttributeByClassId";
    String CODE_GETBYID="/getById";
    /**
     * èŽ·å–ä¸»é¢˜åº“å®šä¹‰è¡¨åˆ—è¡¨
     *
@@ -71,4 +71,12 @@
     */
    @GetMapping(CODE_ATTRIBUTE_LIST)
    public List<CodeClassifyTemplateAttrVO> listCodeAttributeByClassId(@RequestParam("codeClassifyId") String codeClassifyId);
    /***
     * æ ¹æ®åˆ†ç±»id差爱心分类信息
     * @param classifyId
     * @return
     */
    @GetMapping(CODE_GETBYID)
     CodeClassify getById(@RequestParam("classifyId")String classifyId);
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSystemConfigVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,672 @@
package com.vci.ubcs.code.vo.pagemodel;
import com.vci.ubcs.code.vo.pagemodel.BaseModelVO;
import java.util.List;
/**
 * ç³»ç»Ÿé›†æˆåŸºç¡€ä¿¡æ¯æ˜¾ç¤ºå¯¹è±¡
 *
 * @author lihang
 * @date 2022-03-07
 */
public class DockingSystemConfigVO extends BaseModelVO {
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 4615707117716142069L;
    /**
     * è®¤è¯æ–¹å¼
     */
    private String authorityOid;
    /**
     * è®¤è¯æ–¹å¼æ˜¾ç¤ºæ–‡æœ¬
     */
    private String authorityOidName;
    /**
     * è®¤è¯æ–¹å¼
     */
    private String authorityType;
    /**
     * è®¤è¯æ–¹å¼æ˜¾ç¤ºæ–‡æœ¬
     */
    private String authorityTypeText;
    /**
     * éªŒè¯ç”¨æˆ·
     */
    private String userAccount;
    /**
     * éªŒè¯å¯†ç 
     */
    private String userCode;
    /**
     * éªŒè¯ä»¤ç‰Œ
     */
    private String token;
    /**
     * æŽ¥å£å‡½æ•°
     */
    private String interfaceFunction;
    /**
     * æŽ¥å£æè¿°
     */
    private String description;
    /**
     * æŽ¥å£ç±»åž‹
     */
    private String interfaceType;
    /**
     * æŽ¥å£ç±»åž‹æ˜¾ç¤ºæ–‡æœ¬
     */
    private String interfaceTypeText;
    /**
     * å‚数类型
     */
    private String paramType;
    /**
     * å‚数类型显示文本
     */
    private String paramTypeText;
    /**
     * è¯·æ±‚方式
     */
    private String requestMethod;
    /**
     * è¯·æ±‚方式显示文本
     */
    private String requestMethodText;
    /**
     * åˆ†ç±»oid
     */
    private String classifyOid;
    /**
     * å¯ç”¨ã€åœç”¨true/false,不用平台的枚举,减少对平台的耦合
     */
    private String usedFlag;
    /**
     * æŽ¨é€ç³»ç»Ÿoid
     */
    private String sysBaseOid;
    /**
     * æŽ¨é€ç³»ç»Ÿç¼–号
     */
    private String sysBaseId;
    /**
     * æŽ¨é€ç³»ç»Ÿåç§°
     */
    private String sysBaseName;
    /**
     * è¯·æ±‚地址
     */
    private String requestUrl;
    /**
     * è¿”回值类型
     */
    private String returnType;
    /**
     * è¿”回值类型显示文本
     */
    private String returnTypeText;
    /**
     * æ¥æºç³»ç»Ÿä¸»é”®
     */
    private String sourceSystemOid;
    /**
     * æ¥æºç³»ç»Ÿåç§°
     */
    private String sourceSysName;
    /**
     * æ¥æºç³»ç»Ÿæ ‡è¯†
     */
    private String sourceSysId;
    /**
     * æ¥æºç³»ç»Ÿä¸»é”®æ˜¾ç¤ºæ–‡æœ¬
     */
    private String sourceSystemOidName;
    /**
     * ç›®æ ‡ç³»ç»Ÿä¸»é”®
     */
    private String targetSystemOid;
    /**
     * ç›®æ ‡ç³»ç»Ÿåç§°
     */
    private String targetSysName;
    /**
     * ç›®æ ‡ç³»ç»Ÿæ ‡è¯†
     */
    private String targetSysId;
    /**
     * ç›®æ ‡ç³»ç»Ÿä¸»é”®æ˜¾ç¤ºæ–‡æœ¬
     */
    private String targetSystemOidName;
    /**
     * ç±»è·¯å¾„
     */
    private String classPath;
    /**
     * æ•°æ®æµå‘方式
     */
    private String dataFlowType;
    /**
     * æ•°æ®æµå‘方式的显示字段
     */
    private String dataFlowTypeText;
    /**
     * å­˜å‚¨çš„业务类型
     */
    private String btmTypeId;
    /**
     * å­˜å‚¨çš„业务类型的中文名称
     */
    private String btmTypeName;
    /**
     * å‘½åç©ºé—´
     */
    private String namespace;
    /**
     * soapAction
     */
    private String soapAction;
    /**
     * cxfaxis
     */
    private String cxfAxis;
    /**
     * å‚数名称
     */
    private String targetName;
    /***
     * æŽ¨é€ç±»åž‹ 1:数据推送/2分类推送,默认数据推送
     */
    private String pushType;
    /***
     * æŽ¨é€ç±»åž‹æ˜¾ç¤ºå€¼
     */
    private String pushTypeText;
    /**
     * åˆ†ç±»id
     */
    private String classifyId;
    /**
     * åˆ†ç±»åç§°
     */
    private String classifyName;
    /***
     * å‚数信息对象
     */
    private List<SysIntParamVO> sysIntParamVOs;
    /***
     * header信息对象
     */
    private List<SysIntHeaderVO> sysIntHeaderVOs;
    public String getAuthorityOid() {
        return authorityOid;
    }
    public void setAuthorityOid(String authorityOid) {
        this.authorityOid = authorityOid;
    }
    public String getAuthorityOidName() {
        return authorityOidName;
    }
    public void setAuthorityOidName(String authorityOidName) {
        this.authorityOidName = authorityOidName;
    }
    public String getAuthorityType() {
        return authorityType;
    }
    public void setAuthorityType(String authorityType) {
        this.authorityType = authorityType;
    }
    public String getAuthorityTypeText() {
        return authorityTypeText;
    }
    public void setAuthorityTypeText(String authorityTypeText) {
        this.authorityTypeText = authorityTypeText;
    }
    public String getUserAccount() {
        return userAccount;
    }
    public void setUserAccount(String userAccount) {
        this.userAccount = userAccount;
    }
    public String getUserCode() {
        return userCode;
    }
    public void setUserCode(String userCode) {
        this.userCode = userCode;
    }
    public String getToken() {
        return token;
    }
    public void setToken(String token) {
        this.token = token;
    }
    public String getInterfaceFunction() {
        return interfaceFunction;
    }
    public void setInterfaceFunction(String interfaceFunction) {
        this.interfaceFunction = interfaceFunction;
    }
    @Override
    public String getDescription() {
        return description;
    }
    @Override
    public void setDescription(String description) {
        this.description = description;
    }
    public String getInterfaceType() {
        return interfaceType;
    }
    public void setInterfaceType(String interfaceType) {
        this.interfaceType = interfaceType;
    }
    public String getInterfaceTypeText() {
        return interfaceTypeText;
    }
    public void setInterfaceTypeText(String interfaceTypeText) {
        this.interfaceTypeText = interfaceTypeText;
    }
    public String getParamType() {
        return paramType;
    }
    public void setParamType(String paramType) {
        this.paramType = paramType;
    }
    public String getParamTypeText() {
        return paramTypeText;
    }
    public void setParamTypeText(String paramTypeText) {
        this.paramTypeText = paramTypeText;
    }
    public String getRequestMethod() {
        return requestMethod;
    }
    public void setRequestMethod(String requestMethod) {
        this.requestMethod = requestMethod;
    }
    public String getRequestMethodText() {
        return requestMethodText;
    }
    public void setRequestMethodText(String requestMethodText) {
        this.requestMethodText = requestMethodText;
    }
    public String getClassifyOid() {
        return classifyOid;
    }
    public void setClassifyOid(String classifyOid) {
        this.classifyOid = classifyOid;
    }
    public String getUsedFlag() {
        return usedFlag;
    }
    public void setUsedFlag(String usedFlag) {
        this.usedFlag = usedFlag;
    }
    public String getSysBaseOid() {
        return sysBaseOid;
    }
    public void setSysBaseOid(String sysBaseOid) {
        this.sysBaseOid = sysBaseOid;
    }
    public String getSysBaseId() {
        return sysBaseId;
    }
    public void setSysBaseId(String sysBaseId) {
        this.sysBaseId = sysBaseId;
    }
    public String getSysBaseName() {
        return sysBaseName;
    }
    public void setSysBaseName(String sysBaseName) {
        this.sysBaseName = sysBaseName;
    }
    public String getRequestUrl() {
        return requestUrl;
    }
    public void setRequestUrl(String requestUrl) {
        this.requestUrl = requestUrl;
    }
    public String getReturnType() {
        return returnType;
    }
    public void setReturnType(String returnType) {
        this.returnType = returnType;
    }
    public String getReturnTypeText() {
        return returnTypeText;
    }
    public void setReturnTypeText(String returnTypeText) {
        this.returnTypeText = returnTypeText;
    }
    public String getSourceSystemOid() {
        return sourceSystemOid;
    }
    public void setSourceSystemOid(String sourceSystemOid) {
        this.sourceSystemOid = sourceSystemOid;
    }
    public String getSourceSysName() {
        return sourceSysName;
    }
    public void setSourceSysName(String sourceSysName) {
        this.sourceSysName = sourceSysName;
    }
    public String getSourceSysId() {
        return sourceSysId;
    }
    public void setSourceSysId(String sourceSysId) {
        this.sourceSysId = sourceSysId;
    }
    public String getSourceSystemOidName() {
        return sourceSystemOidName;
    }
    public void setSourceSystemOidName(String sourceSystemOidName) {
        this.sourceSystemOidName = sourceSystemOidName;
    }
    public String getTargetSystemOid() {
        return targetSystemOid;
    }
    public void setTargetSystemOid(String targetSystemOid) {
        this.targetSystemOid = targetSystemOid;
    }
    public String getTargetSysName() {
        return targetSysName;
    }
    public void setTargetSysName(String targetSysName) {
        this.targetSysName = targetSysName;
    }
    public String getTargetSysId() {
        return targetSysId;
    }
    public void setTargetSysId(String targetSysId) {
        this.targetSysId = targetSysId;
    }
    public String getTargetSystemOidName() {
        return targetSystemOidName;
    }
    public void setTargetSystemOidName(String targetSystemOidName) {
        this.targetSystemOidName = targetSystemOidName;
    }
    public String getClassPath() {
        return classPath;
    }
    public void setClassPath(String classPath) {
        this.classPath = classPath;
    }
    public String getDataFlowType() {
        return dataFlowType;
    }
    public void setDataFlowType(String dataFlowType) {
        this.dataFlowType = dataFlowType;
    }
    public String getDataFlowTypeText() {
        return dataFlowTypeText;
    }
    public void setDataFlowTypeText(String dataFlowTypeText) {
        this.dataFlowTypeText = dataFlowTypeText;
    }
    public String getBtmTypeId() {
        return btmTypeId;
    }
    public void setBtmTypeId(String btmTypeId) {
        this.btmTypeId = btmTypeId;
    }
    public String getBtmTypeName() {
        return btmTypeName;
    }
    public void setBtmTypeName(String btmTypeName) {
        this.btmTypeName = btmTypeName;
    }
    public String getNamespace() {
        return namespace;
    }
    public void setNamespace(String namespace) {
        this.namespace = namespace;
    }
    public String getSoapAction() {
        return soapAction;
    }
    public void setSoapAction(String soapAction) {
        this.soapAction = soapAction;
    }
    public String getCxfAxis() {
        return cxfAxis;
    }
    public void setCxfAxis(String cxfAxis) {
        this.cxfAxis = cxfAxis;
    }
    public String getTargetName() {
        return targetName;
    }
    public void setTargetName(String targetName) {
        this.targetName = targetName;
    }
    public String getPushType() {
        return pushType;
    }
    public void setPushType(String pushType) {
        this.pushType = pushType;
    }
    public String getPushTypeText() {
        return pushTypeText;
    }
    public void setPushTypeText(String pushTypeText) {
        this.pushTypeText = pushTypeText;
    }
    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 List<SysIntParamVO> getSysIntParamVOs() {
        return sysIntParamVOs;
    }
    public void setSysIntParamVOs(List<SysIntParamVO> sysIntParamVOs) {
        this.sysIntParamVOs = sysIntParamVOs;
    }
    public List<SysIntHeaderVO> getSysIntHeaderVOs() {
        return sysIntHeaderVOs;
    }
    public void setSysIntHeaderVOs(List<SysIntHeaderVO> sysIntHeaderVOs) {
        this.sysIntHeaderVOs = sysIntHeaderVOs;
    }
    @Override
    public String toString() {
        return "SysIntInfoVO{" +
            "authorityOid='" + authorityOid + '\'' +
            ", authorityOidName='" + authorityOidName + '\'' +
            ", authorityType='" + authorityType + '\'' +
            ", authorityTypeText='" + authorityTypeText + '\'' +
            ", userAccount='" + userAccount + '\'' +
            ", userCode='" + userCode + '\'' +
            ", token='" + token + '\'' +
            ", interfaceFunction='" + interfaceFunction + '\'' +
            ", description='" + description + '\'' +
            ", interfaceType='" + interfaceType + '\'' +
            ", interfaceTypeText='" + interfaceTypeText + '\'' +
            ", paramType='" + paramType + '\'' +
            ", paramTypeText='" + paramTypeText + '\'' +
            ", requestMethod='" + requestMethod + '\'' +
            ", requestMethodText='" + requestMethodText + '\'' +
            ", classifyOid='" + classifyOid + '\'' +
            ", usedFlag='" + usedFlag + '\'' +
            ", sysBaseOid='" + sysBaseOid + '\'' +
            ", sysBaseId='" + sysBaseId + '\'' +
            ", sysBaseName='" + sysBaseName + '\'' +
            ", requestUrl='" + requestUrl + '\'' +
            ", returnType='" + returnType + '\'' +
            ", returnTypeText='" + returnTypeText + '\'' +
            ", sourceSystemOid='" + sourceSystemOid + '\'' +
            ", sourceSysName='" + sourceSysName + '\'' +
            ", sourceSysId='" + sourceSysId + '\'' +
            ", sourceSystemOidName='" + sourceSystemOidName + '\'' +
            ", targetSystemOid='" + targetSystemOid + '\'' +
            ", targetSysName='" + targetSysName + '\'' +
            ", targetSysId='" + targetSysId + '\'' +
            ", targetSystemOidName='" + targetSystemOidName + '\'' +
            ", classPath='" + classPath + '\'' +
            ", dataFlowType='" + dataFlowType + '\'' +
            ", dataFlowTypeText='" + dataFlowTypeText + '\'' +
            ", btmTypeId='" + btmTypeId + '\'' +
            ", btmTypeName='" + btmTypeName + '\'' +
            ", namespace='" + namespace + '\'' +
            ", soapAction='" + soapAction + '\'' +
            ", cxfAxis='" + cxfAxis + '\'' +
            ", targetName='" + targetName + '\'' +
            ", pushType='" + pushType + '\'' +
            ", pushTypeText='" + pushTypeText + '\'' +
            ", classifyId='" + classifyId + '\'' +
            ", classifyName='" + classifyName + '\'' +
            ", sysIntParamVOs=" + sysIntParamVOs +
            ", sysIntHeaderVOs=" + sysIntHeaderVOs +
            '}';
    }
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSystemVO.java
ÎļþÃû´Ó Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SysIntBaseVO.java ÐÞ¸Ä
@@ -8,7 +8,7 @@
 * @author lihang
 * @date 2022-03-07
 */
public class SysIntBaseVO extends BaseModelVO {
public class DockingSystemVO extends BaseModelVO {
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SysIntInfoVO.java
ÎļþÒÑɾ³ý
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/dto/DockingPreClassifyDTO.java
@@ -26,7 +26,7 @@
    /****
     * åˆ†ç±»é“¾æŽ¥åç§°
     */
    private String getNodeLinkName;
    private String nodeLinkName;
    /***
     * çˆ¶çº§èŠ‚ç‚¹
     */
@@ -52,12 +52,12 @@
        this.nodeLink = nodeLink;
    }
    public String getGetNodeLinkName() {
        return getNodeLinkName;
    public String getNodeLinkName() {
        return nodeLinkName;
    }
    public void setGetNodeLinkName(String getNodeLinkName) {
        this.getNodeLinkName = getNodeLinkName;
    public void setNodeLinkName(String nodeLinkName) {
        this.nodeLinkName = nodeLinkName;
    }
    public String getPid() {
@@ -81,7 +81,7 @@
        return "DockingPreClassifyDTO{" +
            "className='" + className + '\'' +
            ", nodeLink='" + nodeLink + '\'' +
            ", getNodeLinkName='" + getNodeLinkName + '\'' +
            ", nodeLinkName='" + nodeLinkName + '\'' +
            ", pid='" + pid + '\'' +
            ", dockingPreViewModelDTOList=" + dockingPreViewModelDTOList +
            '}';
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreClassify.java
@@ -37,7 +37,7 @@
     * åˆ†ç±»é“¾æŽ¥åç§°
     */
    @ApiModelProperty(value = "链接名称")
    private String getNodeLinkName;
    private String nodeLinkName;
    /***
     * çˆ¶çº§èŠ‚ç‚¹
     */
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/DockingPreClassifyVO.java
@@ -24,7 +24,7 @@
    /****
     * åˆ†ç±»é“¾æŽ¥åç§°
     */
    private String getNodeLinkName;
    private String nodeLinkName;
    /***
     * çˆ¶çº§èŠ‚ç‚¹
     */
@@ -50,12 +50,12 @@
        this.nodeLink = nodeLink;
    }
    public String getGetNodeLinkName() {
        return getNodeLinkName;
    public String getNodeLinkName() {
        return nodeLinkName;
    }
    public void setGetNodeLinkName(String getNodeLinkName) {
        this.getNodeLinkName = getNodeLinkName;
    public void setNodeLinkName(String nodeLinkName) {
        this.nodeLinkName = nodeLinkName;
    }
    public String getPid() {
@@ -79,7 +79,7 @@
        return "DockingPreClassifyVO{" +
            "className='" + className + '\'' +
            ", nodeLink='" + nodeLink + '\'' +
            ", getNodeLinkName='" + getNodeLinkName + '\'' +
            ", nodeLinkName='" + nodeLinkName + '\'' +
            ", pid='" + pid + '\'' +
            ", dockingPreViewModelVOList=" + dockingPreViewModelVOList +
            '}';
Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/vo/collection/DockingPreAttrMappingVOList.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
package com.vci.ubcs.code.webservice.vo.collection;
import com.vci.ubcs.code.webservice.vo.DockingPreAttrMappingVO;
import java.io.Serializable;
import java.util.List;
/***
 * å±žæ€§æ˜ å°„保存时候集合对象映射
 */
public class DockingPreAttrMappingVOList implements Serializable {
    private List<DockingPreAttrMappingVO> dockingPreAttrMappingVOList;
    public List<DockingPreAttrMappingVO> getDockingPreAttrMappingVOList() {
        return dockingPreAttrMappingVOList;
    }
    public void setDockingPreAttrMappingVOList(List<DockingPreAttrMappingVO> dockingPreAttrMappingVOList) {
        this.dockingPreAttrMappingVOList = dockingPreAttrMappingVOList;
    }
    @Override
    public String toString() {
        return "DockingPreAttrMappingVOList{" +
            "dockingPreAttrMappingVOList=" + dockingPreAttrMappingVOList +
            '}';
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,107 @@
package com.vci.ubcs.code.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.vci.ubcs.code.dto.DockingSystemDTO;
import com.vci.ubcs.code.entity.CodeRule;
import com.vci.ubcs.code.entity.DockingSystem;
import com.vci.ubcs.code.entity.DockingSystemConfig;
import com.vci.ubcs.code.service.IDockingSystemConfigService;
import com.vci.ubcs.code.service.IDockingSystemService;
import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
import com.vci.ubcs.code.vo.pagemodel.DockingSystemConfigVO;
import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO;
import com.vci.ubcs.code.wrapper.CodeRuleWrapper;
import com.vci.ubcs.code.wrapper.DockingSystemConfigWrapper;
import com.vci.ubcs.code.wrapper.DockingSystemWrapper;
import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.*;
/**
 * ç æ®µåŸºç¡€ä¿¡æ¯æŽ§åˆ¶å™¨
 *
 * @author xiejun
 * @date 2023-05-31
 */
@RestController
@AllArgsConstructor
@RequestMapping("/dockingManagement")
@Api(value = "接口管理", tags = "编码相关接口管理信息")
public class DockingManagementController {
    /***
     * é›†æˆç³»ç»Ÿç®¡ç†æœåŠ¡
     */
    private  final IDockingSystemService dockingSystemService;
    /***
     * é›†æˆæŽ¥å£é…ç½®æœåŠ¡
     */
    private  final IDockingSystemConfigService dockingSystemConfigService;
    /**系统集成的系统信息列表
     * @param dockingSystem åŸºç¡€æŸ¥è¯¢å¯¹è±¡ï¼ŒåŒ…含查询条件,分页,排序等
     *@return ç³»ç»Ÿé›†æˆçš„系统信息显示对象列表
     */
    @GetMapping("/gridSysIntBase")
    @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));
        return R.data(DockingSystemWrapper.build().pageVO(pages));
    }
    /**
     * å¢žåŠ  ç³»ç»Ÿé›†æˆçš„系统信息
     * @param dockingSystemDTO ç³»ç»Ÿé›†æˆçš„系统信息数据传输对象
     * @return æ‰§è¡Œç»“果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象
     */
    @PostMapping( "/addSave")
    public  R<DockingSystemVO> addSave(@RequestBody DockingSystemDTO dockingSystemDTO){
        boolean res= dockingSystemService.addSave(dockingSystemDTO);
        return  R.status(res);
    }
    /**
     * ä¿®æ”¹ ç³»ç»Ÿé›†æˆçš„系统信息
     * @param dockingSystemDTO ç³»ç»Ÿé›†æˆçš„系统信息数据传输对象
     * @return æ‰§è¡Œç»“果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象
     */
    @PutMapping("/editSave")
    public R<DockingSystemVO> editSave(@RequestBody DockingSystemDTO dockingSystemDTO){
        DockingSystemVO dockingSystemVO = dockingSystemService.editSave(dockingSystemDTO);
        return R.data(dockingSystemVO);
    }
    /**
     * åˆ é™¤ç³»ç»Ÿé›†æˆçš„系统信息
     * @param dockingSystemDTO ç³»ç»Ÿé›†æˆçš„系统信息数据传输对象,oid和ts需要传输
     * @return åˆ é™¤ç»“果反馈::success:成功,fail:失败
     */
    @DeleteMapping( "/deleteData")
    public R delSystemData( DockingSystemDTO dockingSystemDTO) {
        return R.status(dockingSystemService.delSystemData(dockingSystemDTO));
    }
    /**
     * ç³»ç»Ÿé›†æˆåŸºç¡€ä¿¡æ¯åˆ—表
     * @param DockingSystemConfig åŸºç¡€æŸ¥è¯¢å¯¹è±¡ï¼ŒåŒ…含查询条件,分页,排序等
     * @return ç³»ç»Ÿé›†æˆåŸºç¡€ä¿¡æ¯æ˜¾ç¤ºå¯¹è±¡åˆ—表
     */
    @GetMapping("/gridSysIntInfo")
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "分页", notes = "DockingSystemConfig")
    public R<IPage<DockingSystemConfigVO>> gridSysIntInfo(DockingSystemConfig DockingSystemConfig, Query query){
        IPage<DockingSystemConfig> pages = dockingSystemConfigService.page(Condition.getPage(query), Condition.getQueryWrapper(DockingSystemConfig));
        return R.data(DockingSystemConfigWrapper.build().pageVO(pages));
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeClassifyClient.java
@@ -85,5 +85,17 @@
        return codeClassifyTemplateVO.getAttributes();
    }
    /**
     * æ ¹æ®åˆ†ç±»id,获取分类
     * @param classifyId
     * @return
     */
    @Override
    @GetMapping(CODE_GETBYID)
    public CodeClassify getById(String classifyId) {
        return plCodeClassifyService.getById(classifyId);
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingSystemConfigMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
package com.vci.ubcs.code.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.vci.ubcs.code.entity.DockingSystemConfig;
public interface DockingSystemConfigMapper extends BaseMapper<DockingSystemConfig> {
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingSystemMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
package com.vci.ubcs.code.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.vci.ubcs.code.entity.DockingSystem;
public interface DockingSystemMapper extends BaseMapper<DockingSystem> {
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingManagement.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,4 @@
package com.vci.ubcs.code.service;
public interface IDockingManagement {
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
package com.vci.ubcs.code.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.code.entity.DockingSystem;
import com.vci.ubcs.code.entity.DockingSystemConfig;
/***
 * ç³»ç»ŸæŽ¥å£ç®¡ç†-接口配置服务
 * @author xiejun
 * @date 2023-06-01
 */
public interface IDockingSystemConfigService extends IService<DockingSystemConfig> {
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
package com.vci.ubcs.code.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.code.dto.DockingSystemDTO;
import com.vci.ubcs.code.entity.DockingSystem;
import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO;
import org.springblade.core.tool.api.R;
/***
 * ç³»ç»ŸæŽ¥å£ç®¡ç†-集成系统服务
 * @author xiejun
 * @date 2023-06-01
 */
public interface IDockingSystemService extends IService<DockingSystem> {
    /**
     * å¢žåŠ  ç³»ç»Ÿé›†æˆçš„系统信息
     * @param dockingSystemDTO ç³»ç»Ÿé›†æˆçš„系统信息数据传输对象
     * @return æ‰§è¡Œç»“果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象
     */
    public boolean addSave(DockingSystemDTO dockingSystemDTO);
    /**
     * ä¿®æ”¹ ç³»ç»Ÿé›†æˆçš„系统信息
     * @param dockingSystemDTO ç³»ç»Ÿé›†æˆçš„系统信息数据传输对象
     * @return æ‰§è¡Œç»“果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象
     */
    DockingSystemVO editSave(DockingSystemDTO dockingSystemDTO);
    boolean delSystemData(DockingSystemDTO dockingSystemDTO);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDokingSysManaentService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
package com.vci.ubcs.code.service;
/***
 * ç³»çµ±ç®¡ç†ç›¸å…³æœåŠ¡
 */
public interface IDokingSysManaentService {
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingLogeServiceImpl.java
@@ -9,7 +9,7 @@
/**
    * ç¼–码信息 æœåŠ¡å®žçŽ°ç±»
    *
    * @author xiej
    * @author xiejun
    * @since 2023-05-17
    */
@Service
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
package com.vci.ubcs.code.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.code.entity.DockingSystemConfig;
import com.vci.ubcs.code.mapper.DockingSystemConfigMapper;
import com.vci.ubcs.code.service.IDockingSystemConfigService;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.Map;
import java.util.function.Function;
/***
 * ç³»ç»ŸæŽ¥å£ç®¡ç†-接口配置服务
 * @author xiejun
 * @date 2023-06-01
 */
@Service
public class DockingSystemConfigServiceImpl extends ServiceImpl<DockingSystemConfigMapper, DockingSystemConfig> implements IDockingSystemConfigService{
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,88 @@
package com.vci.ubcs.code.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.code.constant.MdmBtmTypeConstant;
import com.vci.ubcs.code.dto.DockingSystemDTO;
import com.vci.ubcs.code.entity.CodeRule;
import com.vci.ubcs.code.entity.DockingSystem;
import com.vci.ubcs.code.mapper.DockingSystemMapper;
import com.vci.ubcs.code.service.IDockingSystemService;
import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO;
import com.vci.ubcs.code.wrapper.DockingSystemWrapper;
import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Objects;
import static com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_EDITING;
import static com.vci.ubcs.code.constant.MdmLifeCycleConstant.CODE_RULE_LC;
/***
 * ç³»ç»ŸæŽ¥å£ç®¡ç†-集成系统服务
 * @author xiejun
 * @date 2023-06-01
 */
@Service
public class DockingSystemServiceImpl extends ServiceImpl<DockingSystemMapper, DockingSystem> implements IDockingSystemService {
    /***
     * é›†æˆç³»ç»Ÿç®¡ç†æœåŠ¡
     */
    @Autowired(required = false)
    private  DockingSystemMapper dockingSystemMapper;
    /**
     * å¯¹è±¡çš„æ“ä½œ
     */
    @Autowired
    private RevisionModelUtil revisionModelUtil;
    @Override
    public boolean addSave(DockingSystemDTO dockingSystemDTO) {
        VciBaseUtil.alertNotNull(dockingSystemDTO, "需要添加的数据对象");
        //将DTO转换为DO
        DockingSystem dockingSystem = Objects.requireNonNull(BeanUtil.copy(dockingSystemDTO, DockingSystem.class));
        String userId = AuthUtil.getUserId().toString();
        DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingSystem, MdmBtmTypeConstant.SYS_INT_BASE);
        dockingSystem.setLctid(CODE_RULE_LC);
        dockingSystem.setLcStatus(FRAMEWORK_RELEASE_EDITING);
        return dockingSystemMapper.insert(dockingSystem)>0;
    }
    /**
     * ä¿®æ”¹ ç³»ç»Ÿé›†æˆçš„系统信息
     * @param dockingSystemDTO ç³»ç»Ÿé›†æˆçš„系统信息数据传输对象
     * @return æ‰§è¡Œç»“果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象
     */
    @Override
    public DockingSystemVO editSave(DockingSystemDTO dockingSystemDTO) {
        VciBaseUtil.alertNotNull(dockingSystemDTO,"数据对象",dockingSystemDTO.getOid(),"系统集成的系统信息主键");
        //将DTO转换为DO
        DockingSystem dockingSystem = dockingSystemMapper.selectById(dockingSystemDTO.getOid());
        revisionModelUtil.copyFromDTOIgnore(dockingSystemDTO,dockingSystem);
        DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingSystem);
        dockingSystemMapper.updateById(dockingSystem);
        return DockingSystemWrapper.build().entityVO(dockingSystem);
    }
    @Override
    public boolean delSystemData(DockingSystemDTO dockingSystemDTO) {
        VciBaseUtil.alertNotNull(dockingSystemDTO,"系统集成的系统信息数据对象",dockingSystemDTO.getOid(),"系统集成的系统信息的主键");
        /*DockingSystem dockingSystem = dockingSystemMapper.selectById(dockingSystemDTO.getOid());
        BaseResult baseResult = checkIsCanDeleteForDO(sysIntBaseDTO,sysIntBaseDO);
        if(baseResult.isSuccess()) {
        }else{
            return baseResult;
        }
        //执行删除操作
        BatchCBO batchCBO = sysIntBaseMapper.deleteByPrimaryKey(sysIntBaseDO.getOid());
        return (batchCBO!=null && batchCBO.getDeleteCbos() !=null &&batchCBO.getDeleteCbos().size() > 0)?BaseResult.successMsg(DELETE_SUCCESS):BaseResult.fail(DELETE_FAIL);
*/
        return false;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingSystemConfigWrapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
package com.vci.ubcs.code.wrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.vci.ubcs.code.entity.DockingSystemConfig;
import com.vci.ubcs.code.vo.pagemodel.DockingSystemConfigVO;
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 DockingSystemConfigWrapper extends BaseEntityWrapper<DockingSystemConfig, DockingSystemConfigVO> {
    public static DockingSystemConfigWrapper build() {
        return new DockingSystemConfigWrapper();
    }
    @Override
    public DockingSystemConfigVO entityVO(DockingSystemConfig entity) {
        DockingSystemConfigVO vo = Objects.requireNonNull(BeanUtil.copy(entity, DockingSystemConfigVO.class));
        return vo;
    }
    /***
     * æ•°ç»„对象转换
     * @param entitys
     * @return
     */
    public List<DockingSystemConfigVO> entityVOs(Collection<DockingSystemConfig> entitys) {
        if(CollectionUtils.isEmpty(entitys)) {
            return new ArrayList<>();
        }
        List<DockingSystemConfigVO> vos=new ArrayList<>();
        if(!CollectionUtils.isEmpty(entitys)) {
            entitys.stream().forEach(DockingSystem -> {
                vos.add(entityVO(DockingSystem));
            });
        }
        return vos;
    }
    /***
     * æ•°ç»„对象转换
     * @param vos
     * @return
     */
    public List<DockingSystemConfig> voentitys(Collection<DockingSystemConfigVO> vos) {
        if(CollectionUtils.isEmpty(vos)) {return new ArrayList<>();}
        List<DockingSystemConfig>entitys =new ArrayList<>();
        if(!CollectionUtils.isEmpty(vos)) {
            vos.stream().forEach(entity -> {
                entitys.add(voentity(entity));
            });
        }
        return entitys;
    }
    /***
     * æ•°ç»„对象转换
     * @param vo
     * @return
     */
    public DockingSystemConfig voentity(DockingSystemConfigVO vo) {
        DockingSystemConfig entity = Objects.requireNonNull(BeanUtil.copy(vo, DockingSystemConfig.class));
        return entity;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingSystemWrapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,67 @@
package com.vci.ubcs.code.wrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.vci.ubcs.code.entity.DockingSystem;
import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO;
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 DockingSystemWrapper extends BaseEntityWrapper<DockingSystem, DockingSystemVO> {
    public static DockingSystemWrapper build() {
        return new DockingSystemWrapper();
    }
    @Override
    public DockingSystemVO entityVO(DockingSystem entity) {
        DockingSystemVO vo = Objects.requireNonNull(BeanUtil.copy(entity, DockingSystemVO.class));
        return vo;
    }
    /***
     * æ•°ç»„对象转换
     * @param entitys
     * @return
     */
    public List<DockingSystemVO> entityVOs(Collection<DockingSystem> entitys) {
        if(CollectionUtils.isEmpty(entitys)) {
            return new ArrayList<>();
        }
        List<DockingSystemVO> vos=new ArrayList<>();
        if(!CollectionUtils.isEmpty(entitys)) {
            entitys.stream().forEach(DockingSystem -> {
                vos.add(entityVO(DockingSystem));
            });
        }
        return vos;
    }
    /***
     * æ•°ç»„对象转换
     * @param vos
     * @return
     */
    public List<DockingSystem> voentitys(Collection<DockingSystemVO> vos) {
        if(CollectionUtils.isEmpty(vos)) {return new ArrayList<>();}
        List<DockingSystem>entitys =new ArrayList<>();
        if(!CollectionUtils.isEmpty(vos)) {
            vos.stream().forEach(entity -> {
                entitys.add(voentity(entity));
            });
        }
        return entitys;
    }
    /***
     * æ•°ç»„对象转换
     * @param vo
     * @return
     */
    public DockingSystem voentity(DockingSystemVO vo) {
        DockingSystem entity = Objects.requireNonNull(BeanUtil.copy(vo, DockingSystem.class));
        return entity;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
@@ -134,7 +134,7 @@
            <if test="oid != null ">
                codeclassify0.parentCodeClassifyOid = '${oid}'
            </if>
            <if test="oid = null ">
            <if test="oid == null ">
                codeclassify0.parentCodeClassifyOid is null
            </if>
        CONNECT BY PRIOR codeclassify0.OID = codeclassify0.parentCodeClassifyOid
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingSystemConfigMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,65 @@
<?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.DockingSystemConfigMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="plDockingLogResultMap" type="com.vci.ubcs.code.entity.DockingSystemConfig">
        <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="AUTHORITYOID" property="authorityOid"/>
        <result column="INTERFACEFUNCTION" property="interfaceFunction"/>
        <result column="INTERFACETYPE" property="interfaceType"/>
        <result column="PARAMTYPE" property="paramType"/>
        <result column="REQUESTMETHOD" property="requestMethod"/>
        <result column="TYPE" property="pushType"/>
        <result column="CLASSIFYID" property="classifyId"/>
        <result column="CLASSIFYNAME" property="classifyName"/>
        <result column="PUSHTYPE" property="pushType"/>
        <result column="USEDFLAG" property="usedFlag"/>
        <result column="SYSBASEOID" property="sysBaseOid"/>
        <result column="SYSBASEID" property="sysBaseId"/>
        <result column="SYSBASENAME" property="sysBaseName"/>
        <result column="RETURNTYPE" property="returnType"/>
        <result column="REQUESTURL" property="requestUrl"/>
        <result column="SOURCESYSTEMOID" property="sourceSystemOid"/>
        <result column="SOURCESYSNAME" property="sourceSysName"/>
        <result column="SOURCESYSID" property="sourceSysId"/>
        <result column="TARGETSYSTEMOID" property="targetSystemOid"/>
        <result column="TARGETSYSNAME" property="targetSysName"/>
        <result column="TARGETSYSID" property="targetSysId"/>
        <result column="CLASSPATH" property="classPath"/>
        <result column="DATAFLOWTYPE" property="dataFlowType"/>
        <result column="BTMTYPEID" property="btmTypeId"/>
        <result column="BTMTYPENAME" property="btmTypeName"/>
        <result column="NAMESPACE" property="namespace"/>
        <result column="SOAPACTION" property="soapAction"/>
        <result column="CXFAXIS" property="cxfAxis"/>
    </resultMap>
</mapper>
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingSystemMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
<?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.DockingSystemMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="plDockingLogResultMap" type="com.vci.ubcs.code.entity.DockingSystem">
        <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"/>
    </resultMap>
</mapper>
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/controller/DockingPreApplyCodeController.java
@@ -4,9 +4,9 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.vci.ubcs.code.feign.ICodeClassifyClient;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
import com.vci.ubcs.code.webservice.service.*;
import com.vci.ubcs.code.webservice.vo.*;
import com.vci.ubcs.code.webservice.vo.collection.DockingPreAttrMappingVOList;
import com.vci.ubcs.code.webservice.wrapper.DockingPreApplyFormWrapper;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.revision.model.TreeQueryObject;
@@ -19,7 +19,7 @@
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;
@@ -119,10 +119,11 @@
    @PostMapping( "/batchAddSave")
    @ApiOperationSupport(order = 2)
    @ApiOperation(value = "保存属性映射配置", notes = "dockingPreAttrMappingVOList")
    public R batchSave(@Valid @RequestBody List<DockingPreAttrMappingVO> dockingPreAttrMappingVOList){
    public R batchSave(@RequestBody DockingPreAttrMappingVOList dockingPreAttrMappingVOList){
        List<DockingPreAttrMappingVO> dockingPreAttrMappingVOs = dockingPreAttrMappingVOList.getDockingPreAttrMappingVOList();
        List<DockingPreAttrMappingVO> dockingPreAttrRangeVOS=new ArrayList<>();
        try {
             dockingPreAttrRangeVOS = dockingPreAttrMappingService.batchAddSave(dockingPreAttrMappingVOList);
             dockingPreAttrRangeVOS = dockingPreAttrMappingService.batchAddSave(dockingPreAttrMappingVOs);
        }catch (Exception e){
            return R.fail("集团集成属性映射配置保存失败:"+e.getMessage());
        }
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/feigh/MdmInterJtClient.java
@@ -205,7 +205,7 @@
                dockingPreClassify.setPid(pid);
                dockingPreClassify.setId(classNumber);
                dockingPreClassify.setNodeLink(nodeLink);
                dockingPreClassify.setGetNodeLinkName(nodeLinkName);
                dockingPreClassify.setNodeLinkName(nodeLinkName);
                dockingPreClassify.setClassName(className);
                dockingPreClassifyArrayList.add(dockingPreClassify);
                // èŽ·å–å¯¹åº”çš„åˆ†ç±»è§†å›¾æ¨¡åž‹
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreAttrMappingServiceImpl.java
@@ -4,10 +4,11 @@
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.code.entity.CodeClassify;
import com.vci.ubcs.code.feign.ICodeClassifyClient;
import com.vci.ubcs.code.webservice.entity.*;
import com.vci.ubcs.code.webservice.mapper.DockingPreAttrMappingMapper;
import com.vci.ubcs.code.webservice.service.IDockingPreAttrMappingService;
import com.vci.ubcs.code.webservice.service.IDockingPreAttrRangeService;
import com.vci.ubcs.code.webservice.service.IDockingPreMetaAttrService;
import com.vci.ubcs.code.webservice.service.*;
import com.vci.ubcs.code.webservice.vo.DokingAttributeSerchVO;
import com.vci.ubcs.code.webservice.wrapper.DockingPreAttrMappingWrapper;
import com.vci.ubcs.code.webservice.wrapper.DockingPreAttrRangeWrapper;
@@ -15,14 +16,12 @@
import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import com.vci.ubcs.code.webservice.entity.DockingPreAttrMapping;
import com.vci.ubcs.code.webservice.entity.DockingPreAttrRange;
import com.vci.ubcs.code.webservice.entity.DockingPreMetaAttr;
import com.vci.ubcs.code.webservice.vo.DockingPreAttrMappingVO;
import com.vci.ubcs.code.webservice.vo.DockingPreAttrRangeVO;
import org.springblade.core.tool.api.R;
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.transaction.annotation.Transactional;
@@ -45,6 +44,11 @@
     */
    @Autowired(required = false)
    private DockingPreAttrMappingMapper dockingPreAttrMappingMapper;
    /***
     * ä¸»æ•°æ®åˆ†ç±»æœåŠ¡
     */
    @Autowired(required = true)
    private      ICodeClassifyClient codeClassifyClient;
    /***
     * ä¸šåŠ¡æ•°æ®å±žæ€§æœåŠ¡
@@ -64,8 +68,19 @@
    private IDockingPreAttrRangeService dockingPreAttrRangeService;
    /***
     * é›†å›¢åˆ†ç±»è§†å›¾æ¨¡åž‹æœåŠ¡
     */
    @Autowired(required = false)
    private IDockingPreViewModelService dockingPreViewModelService;
    /***
     * é›†å›¢å±žæ€§æœåŠ¡
     */
    @Autowired(required = false)
    @Lazy
    private IDockingPreClassifyService dockingPreClassifyService;
    /***
     * æ ¹æ®ä¸»æ•°æ®åˆ†ç±»ä¸»é”®èŽ·å–åˆ†ç±»ä¿¡æ¯é…ç½®
@@ -77,31 +92,40 @@
        VciBaseUtil.alertNotNull(codeClassifyId,"主数据分类主键");
        VciBaseUtil.alertNotNull(sourceClassifyId,"集团分类主键");
        //首先获取分类模板属性,然后与属性配置坐比较,以防被有增删属性的可能
        DockingPreClassify dockingPreClassify=dockingPreClassifyService.getById(sourceClassifyId);
        List<DockingPreMetaAttr> dockingPreMetaAttrList=    dockingPreMetaAttrService.selectByWrapper(Wrappers.<DockingPreMetaAttr>query().lambda().eq(DockingPreMetaAttr::getSourceClassifyId,sourceClassifyId));
        List<DockingPreAttrMapping> dockingPreAttrMappings=this.selectByWrapper(Wrappers.<DockingPreAttrMapping>query().lambda().eq(DockingPreAttrMapping::getSourceClassifyId, sourceClassifyId).eq(DockingPreAttrMapping::getTargetClassifyId, codeClassifyId));
        Map<String/**属性主键**/, DockingPreAttrMapping> dockingPreAttrMappingMap = dockingPreAttrMappings.stream().filter(cbo -> cbo != null).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getMetaListId(), t -> t));
        List<DockingPreViewModel> dockingPreViewModelList= dockingPreViewModelService.list(Wrappers.<DockingPreViewModel>query().lambda().eq(DockingPreViewModel::getSourceClassifyId,sourceClassifyId));
        Map<String,DockingPreViewModel> dockingPreViewModelMap=dockingPreViewModelList.stream().filter(cbo -> cbo != null).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getOid(), t -> t));
        CodeClassify codeClassify= codeClassifyClient.getById(codeClassifyId);
        List<DockingPreAttrMapping> newDockingPreAttrMappingList=new ArrayList<>();
        dockingPreMetaAttrList.stream().forEach(dockingPreMetaAttr -> {
            String attrOid=dockingPreMetaAttr.getOid();
            DockingPreAttrMapping dockingPreAttrMapping=new DockingPreAttrMapping();
            if(dockingPreAttrMappingMap.containsKey(attrOid)){
                dockingPreAttrMapping=    dockingPreAttrMappingMap.get(attrOid);
                DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreAttrMapping);
            }else{
                DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreAttrMapping, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM);
                dockingPreAttrMapping.setMetaListId(dockingPreMetaAttr.getOid());//属性主键
                dockingPreAttrMapping.setSourceAttrKey(dockingPreMetaAttr.getEnglishName());//英文名称
                dockingPreAttrMapping.setSourceAttrName(dockingPreMetaAttr.getChineseName());//中文名称
                dockingPreAttrMapping.setSourceClassifyId(dockingPreMetaAttr.getSourceClassifyId());//集团分类oid
                dockingPreAttrMapping.setSourceClassifyName("");//分类名称
                DockingPreViewModel dockingPreViewModel=new DockingPreViewModel();
                if(dockingPreViewModelMap.containsKey(dockingPreMetaAttr.getViewModelId())){
                    dockingPreViewModel=dockingPreViewModelMap.get(dockingPreMetaAttr.getViewModelId());
                }
                dockingPreAttrMapping.setSourceClassifyName(dockingPreClassify.getClassName());//分类名称
                dockingPreAttrMapping.setViewModeId(dockingPreMetaAttr.getViewModelId());//模型视图id
                dockingPreAttrMapping.setViewModelName("");//分类模型名称
                dockingPreAttrMapping.setViewName("");//分类模型名称
                dockingPreAttrMapping.setViewModelName(dockingPreViewModel.getName());//分类模型名称
                dockingPreAttrMapping.setViewName(dockingPreViewModel.getViewName());//分类模型名称
                dockingPreAttrMapping.setTargetClassifyId(codeClassifyId);
                dockingPreAttrMapping.setTargetClassifyName(codeClassify.getName());
            }
            newDockingPreAttrMappingList.add(dockingPreAttrMapping);
        });
        return     dockingPreAttrMappingDO2VOS(dockingPreAttrMappings,false);
        return     dockingPreAttrMappingDO2VOS(newDockingPreAttrMappingList,false);
    }
    /***
Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java
@@ -421,7 +421,7 @@
                        dockingPreClassify.setPid(pid);
                        dockingPreClassify.setId(classNumber);
                        dockingPreClassify.setNodeLink(nodeLink);
                        dockingPreClassify.setGetNodeLinkName(nodeLinkName);
                        dockingPreClassify.setNodeLinkName(nodeLinkName);
                        dockingPreClassify.setClassName(className);
                        dockingPreClassify.setVersionValue(version);
                        dockingPreClassifyList.add(dockingPreClassify);
@@ -545,7 +545,7 @@
                dockingPreClassify.setPid(pid);
                dockingPreClassify.setId(classNumber);
                dockingPreClassify.setNodeLink(nodeLink);
                dockingPreClassify.setGetNodeLinkName(nodeLinkName);
                dockingPreClassify.setNodeLinkName(nodeLinkName);
                dockingPreClassify.setClassName(className);
                dockingPreClassifyArrayList.add(dockingPreClassify);
                // èŽ·å–å¯¹åº”çš„åˆ†ç±»è§†å›¾æ¨¡åž‹
@@ -787,7 +787,7 @@
                DockingMainData mainData = new DockingMainData();
                mainData.setApplyEntId(dockingApplyUnitCode);//申请单位代码
                mainData.setApplyId(apllyCode);//申请单号
                mainData.setClassName(dockingPreClassify.getGetNodeLinkName());//分类名称
                mainData.setClassName(dockingPreClassify.getNodeLinkName());//分类名称
                mainData.setCreateBy(curUserName);//
                mainData.setSecretLevel("内部");//密级,默认为内部
                mainData.setViewInfos(getviewInfos(optationtype,dockingPreClassify, dataBusinessObject));//获取视图模型
Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreClassifyMapper.xml
@@ -31,7 +31,7 @@
        <result column="COPYFROMVERSION" property="copyFromVersion"/>
        <result column="CLASSNAME" property="className"/>
        <result column="NODELINK" property="nodeLink"/>
        <result column="NODELINKNAME" property="getNodeLinkName"/>
        <result column="NODELINKNAME" property="nodeLinkName"/>
        <result column="PID" property="pid"/>
    </resultMap>
    <select id="selectCompanyGroupClassifyVOByTree" resultMap="plDockingClassifyResultMap">
@@ -67,17 +67,16 @@
        codeclassify0.NODELINKNAME   as nodelinkname,
        codeclassify0.PID   as pid
        from PL_CODE_JCLASSIFY codeclassify0
        start with
        <!--<where>-->
            <if test="oid != null and oid != ''">
                start with
            <if test="oid != null">
                    codeclassify0.pid = '${oid}'
                connect by prior codeclassify0.oid =codeclassify0.pid
            </if>
          <!--  <if test="oid = null">
             <if test="oid == null ">
                codeclassify0.pid is null
            </if>-->
            </if>
        <!--</where>-->
        connect by prior codeclassify0.oid =codeclassify0.pid
        order by id asc
    </select>