xiejun
2023-06-30 d5bafa63b4dcc7ad6840560134dd41f38ded1390
Merge remote-tracking branch 'origin/master'

# Conflicts:
# Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
已修改12个文件
199 ■■■■■ 文件已修改
Source/UBCS-WEB/src/api/MasterData/master.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/api/template/templateAttr.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/Crud/VciMasterCrud.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/Tree/attrCrud.vue 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue 72 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/Tree/classifyTrees.vue 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/work/BusinessWork.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/work/process/leave/handle.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeWupinMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/api/MasterData/master.js
@@ -9,6 +9,7 @@
    }
  })
}
//编码规则
export const defaultReferDataGrid = (params) => {
  return request({
    url: '/api/ubcs-code/mdmEngineController/defaultReferDataGrid',
Source/UBCS-WEB/src/api/template/templateAttr.js
@@ -110,6 +110,14 @@
    data:data
  })
}
//树修改
export const TreeEditSave = (data) =>{
  return request({
    url:'/api/ubcs-code/codeClassify/editSave',
    method: 'post',
    data:data
  })
}
//基本信息表单数据
export const  getObjectByOid = (oid) =>{
  return request({
Source/UBCS-WEB/src/components/Crud/VciMasterCrud.vue
@@ -530,4 +530,10 @@
    background-color: #f5f7fa !important;
  }
}
/deep/ .el-button {
  margin: 0 10px 10px 0;
}
</style>
Source/UBCS-WEB/src/components/Tree/attrCrud.vue
@@ -247,6 +247,7 @@
      <el-table-column v-for="item in this.option.column" :key="item.id"
                       :label="item.label"
                       :prop="item.prop"
                       :formatter="formAttr"
                       :width="item.label.length >=4 ?'150':item.label.length==3 ?'120':'90'"
                       :show-overflow-tooltip="true"
                       align="center"
@@ -254,6 +255,11 @@
        <template slot-scope="{ row }">
          <el-input v-if="editingRows === row && editShows== item.prop" v-model="row[item.prop]"
                    @blur="saveRows"></el-input>
          <el-switch
            v-if="item.label === 'true' || item.label === 'false'"
            active-color="#13ce66"
            inactive-color="#ff4949">
          </el-switch>
          <span v-else>{{ row[item.prop] }}</span>
        </template>
      </el-table-column>
@@ -1161,9 +1167,23 @@
  },
  methods: {
    formAttr(row, column) {
      console.log(row,column)
      // if (column.property === "keyAttrFlag"
      //   ||column.property === "queryAttrFlag"
      //   ||column.property === "seniorQueryAttrFlag"
      //   ||column.property === "sameRepeatAttrFlag"
      //   ||column.property === "requireFlag"
      //   ||column.property === "formDisplayFlag"
      //   ||column.property === "tableDisplayFlag"
      //   ||column.property === "sortAttrFlag") {
      //   return row[column.property] =='true'? "是" : "否";
      // }
      // return row[column.property];
    },
    //属性分组按钮
    attrVisibleHandle() {
      this.formatBoolean()
      if (this.CrudSelect.length > 1) {
        this.$message.warning('只能选择一条模板属性')
      } else if (this.CrudSelect < 1) {
@@ -1454,6 +1474,8 @@
}
</script>
<style scoped>
<style scoped lang="scss">
/deep/ .el-button {
  margin: 0 10px 10px 0;
}
</style>
Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue
@@ -2,19 +2,10 @@
  <div>
    <avue-form v-model="loneTreeNewForm" :option="option" @submit="submit" v-if="flag == 'renonly'">
    </avue-form>
    <avue-form v-model="loneTreeNewForm" :option="options" @submit="submit" v-else-if="flag == 'edit'">
    <avue-form v-model="loneTreeNewForm" :option="options" @submit="submits" v-else-if="flag == 'edit'">
    </avue-form>
    <div>
      <el-dialog  :visible.sync="dialogVisible"   title="为【编码规则】选取值" append-to-body>
        <div>
          <el-input placeholder="请选择内容" v-model="masterInput" class="input-with-select">
            <el-select v-model="MasterSearchSelects"  placeholder="请选择">
              <el-option label="英文名称" value="0"></el-option>
              <el-option label="中文名称" value="1"></el-option>
            </el-select>
            <el-button slot="append" icon="el-icon-search"></el-button>
          </el-input>
        </div>
        <avue-crud :data="masterData" :option="masterOption" @select="masterSelect"></avue-crud>
        <div style="padding-top: 10px;display: flex; justify-content: flex-end" >
          <el-button type="primary" size="small" @click="MasterHandlerClick">确定</el-button>
@@ -27,30 +18,23 @@
<script>
import {defaultReferDataGrid} from '@/api/MasterData/master'
import {TreeEditSave} from '@/api/template/templateAttr'
export default {
  name: "classifyTreeform.vue",
  props: ['loneTreeNewForm','flag'],
  data() {
    return {
      name:"",
      oid:"",
      masterInput:'',
      MasterSearchSelects:"",
      masterData:[
        {
          id:'001',
          name:'001',
          description:'001'
        },
        {
          id:'002',
          name:'002',
          description:'002'
        }
      ],
      masterData:[],
      masterOption:{
        addBtn:false,
        index:true,
        border:true,
        selection:true,
        menu:false,
        height:380,
        column:[
          {
@@ -80,7 +64,7 @@
          {
            label: '主题库/分类编号',
            prop: 'btmtypeid',
            labelWidth:128,
            labelWidth:135,
            readonly: true,
            rules: [{
              required: true,
@@ -92,7 +76,7 @@
            label: '主题库/分类名称',
            prop: 'name',
            readonly: true,
            labelWidth:128,
            labelWidth:135,
            rules: [{
              required: true,
              message: "主题库/分类名称",
@@ -137,8 +121,6 @@
        ]
      },
      options: {
        submitBtn:false,
        emptyBtn:false,
        column: [
          {
            label: '主题库/分类编号',
@@ -199,11 +181,16 @@
    }
  },
  created() {
      this.defaultRend()
  },
  methods: {
    submit(form, done) {
      this.$message.success(JSON.stringify(form));
    submits(form,done){
      console.log(this.loneTreeNewForm)
      TreeEditSave(this.loneTreeNewForm).then(res=>{
        this.$message.success('修改成功');
      }).catch(res=>{
        this.$message.error(res)
      })
      done()
    },
    error(err) {
@@ -215,26 +202,35 @@
      console.log(this.dialogVisible)
    },
    MasterHandlerClick(){
      if(this.masterSelectList.length>1){
        this.$message.warning('只能选择一条数据')
      }else if(this.masterSelectList.length<=0){
        this.$message.warning('请选择一条数据')
      }else {
        this.dialogVisible=false;
        this.masterSelectList=[]
        this.loneTreeNewForm.codeRuleOidName=this.name;
        this.loneTreeNewForm.codeRuleOid=this.oid;
        console.log(this.masterSelectList)
      }
    },
    defaultRend(){
      defaultReferDataGrid({
        referType:'coderule',
        isMuti:'false',
        'conditionMap["lcstatus"]':'Released'
      }).then(res=>{
        console.log('---',res)
        this.masterData=res.data.records;
      })
      // if(this.masterSelectList.length>1){
      //   this.$message.warning('只能选择一条数据')
      // }else if(this.masterSelectList.length<=0){
      //   this.$message.warning('请选择一条数据')
      // }else {
      //   this.dialogVisible=false;
      //   console.log(this.masterInput)
      //   console.log(this.MasterSearchSelect)
      // }
    },
    masterSelect(row){
      console.log(row)
      this.masterSelectList=row;
      this.name=row[0].name;
      this.oid=row[0].oid;
      console.log('oid',this.oid)
    }
  }
}
Source/UBCS-WEB/src/components/Tree/classifyTrees.vue
@@ -433,14 +433,11 @@
  mounted() {
    this.type = this.tabOption.column[0];
    this.getAttr();
    console.log('11',this.nodeClickList)
  },
  computed:{
    crudTreeOption(){
      return{
        index: true,
        indexClassName:"序号",
        indexLabelClassName:'序号',
        border: true,
        height:180,
        selection:true,
@@ -460,11 +457,13 @@
          },
          {
            label:"版本号",
            prop:"revisionSeq"
            prop:"revisionSeq",
            display:false
          },
          {
            label:"状态",
            prop:"lcStatusText"
            prop:"lcStatusText",
            display:false
          }
        ]
      }
@@ -477,7 +476,6 @@
      this.crudArray=selection;
      gridCodeClassifyTemplateAttr({'conditionMap[classifyTemplateOid]': this.Formlist[0].oid}).then(res => {
        this.ProData = res.data.data;
        console.log(this.ProData)
      }).catch(res => {
        this.$message.error(res)
      })
@@ -595,16 +593,14 @@
    },
    //修改回填
    TreeEdit() {
    //   if (this.nodeClickList == "") {
    //     this.$message({
    //       type: 'warning',
    //       message: '请先从树上选择一条数据!'
    //     });
    //   } else {
    //     this.TreeEditFormVisible = true;
    //     console.log('---',this.CloneTreedata)
    //   }
        this.TreeEditFormVisible=true;
      if (this.nodeClickList == "") {
        this.$message({
          type: 'warning',
          message: '请先从树上选择一条数据!'
        });
      } else {
        this.TreeEditFormVisible = true;
      }
    },
    //树刷新
    flushed() {
@@ -677,7 +673,6 @@
    async nodeClick(data) {
      //定义一个模板属性id,数据是模板管理表格里面的oid
      this.nodeClickList = data
      console.log(data)
      this.ProData=[]
      try {
        await TreeObjcet(data.oid).then(res => {
@@ -694,7 +689,7 @@
            }
          })
        }).catch(res => {
          console.log(res)
          this.$message.error(res)
        })
        //  基本信息表单数据
        await getObjectByOid(this.nodeClickList.oid).then(res => {
@@ -703,13 +698,12 @@
          this.$message.error(res)
        })
      } catch (error) {
        console.log(error)
        this.$message.error(error)
      }
    },
    //克隆模板树的点击切换数据
    async ClonenodeClick(data){
      this.ClonenodeClickList=data;
      console.log("aaa",this.ClonenodeClickList.oid)
      await gridCodeClassifyTemplate({'conditionMap[codeclassifyoid]': data.oid}).then(res=>{
        this.CloneFormlist = res.data.data.filter(item => {
          if (item.codeclassifyoid != "") {
@@ -824,7 +818,7 @@
        });
        done()
      }).catch(res => {
        console.log(res)
        this.$message.error(res)
      })
    },
    //模板管理删除
@@ -840,7 +834,6 @@
    },
    //模板管理表格查询
    EnterFind() {
      console.log(this.Formlist)
      if (this.FindText == "") {
        gridCodeClassifyTemplate().then(res => {
          this.Formlist = res.data.data
Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue
@@ -24,7 +24,7 @@
        </template>
      </avue-crud>
      <div class="avue-dialog__footer">
        <div class="avue-dialog__footer--left valueInfo">{{ valueInfo }}</div>
        <div class="avue-dialog__footer--left valueInfo">{{ valueInfo }} </div>
        <el-button @click="visible=false">取 消</el-button>
        <el-button @click="setValue" type="primary">确 定</el-button>
      </div>
Source/UBCS-WEB/src/components/work/BusinessWork.vue
@@ -36,7 +36,7 @@
    ids:{
      handler(newval,oldval){
        this.BuinessOids=newval;
        this.HandlerRend()
        this.BuinseseRend()
        console.log(newval)
        console.log(this.BuinessOids)
      },
@@ -44,12 +44,13 @@
    }
  },
  created() {
   // this.HandlerRend()
  },
  mounted() {
  },
  methods:{
    HandlerRend(){
    },
    BuinseseRend(){
      businese({
        btmType:'wupin',
        'conditionMap[oid]':this.BuinessOids.toString()
Source/UBCS-WEB/src/views/work/process/leave/handle.vue
@@ -5,7 +5,7 @@
        <el-card class="dialogwarp_tab_card">
          <el-tabs v-model="activeName" @tab-click="handleClick">
            <el-tab-pane label="业务数据信息" name="first">
              <businesswork :ids="ids" :templateId="templateId"></businesswork>
              <businesswork ref="businesswork":ids="ids" :templateId="templateId"></businesswork>
            </el-tab-pane>
            <el-tab-pane label="流程跟踪" name="second">
              <avue-crud :data="flowList" :option="option" ref="crud">
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -1577,7 +1577,7 @@
        List<CodeClassifyTemplateAttrVO> referAttrVOs = templateVO.getAttributes().stream().filter(
                s -> StringUtils.isNotBlank(s.getReferBtmId()) || StringUtils.isNotBlank(s.getReferConfig())
        ).collect(Collectors.toList());
        Map<String/**参照的属性**/, String/**实际的字段**/> referFieldMap = new HashMap<>();
        Map<String/**参照的属性**/, String/**实际的字段**/> referFieldMap = new ConcurrentHashMap<>();
        if (!CollectionUtils.isEmpty(referAttrVOs)) {
            referAttrVOs.parallelStream().forEach(attrVO -> {
                UIFormReferVO referVO = null;
@@ -1610,11 +1610,7 @@
            });
        }
        R<BtmTypeVO> allAttributeByBtmId = btmTypeClient.getDefaultAttrByBtmId(btmType);
//        Optional.ofNullable(allAttributeByBtmId.getData()).orElseGet(allAttributeByBtmId.getData().getAttributes()).stream().forEach(attrId -> {
//            if (!selectFieldList.contains(attrId.getOid()) && !"secretgrade".equalsIgnoreCase(attrId.getOid())) {
//                selectFieldList.add(attrId.getOid());
//            }
//        });
        if (allAttributeByBtmId.getData() != null) {
            for (BtmTypeAttributeVO attribute : allAttributeByBtmId.getData().getAttributes()) {
                if (!selectFieldList.contains(attribute.getId()) && !"secretgrade".equalsIgnoreCase(attribute.getId())) {
@@ -1861,13 +1857,13 @@
                    return (field.contains(".") ? "" : "t.") + field + SPACE + "= '" + getStringValueInWhere(field, value, attrVOMap) + "'" + SPACE;
                }
            } else {
                if (referFieldMap.containsKey(key)) {
                    //说明是参照的,我们参照的查询都认为是字符串,如果是时间格式的查询肯定有问题,
                    String selectKey = referFieldMap.get(key);
                    return getSqlByValue(selectKey, value, null, btmType);
                } else {
//                if (referFieldMap.containsKey(key)) {
//                    //说明是参照的,我们参照的查询都认为是字符串,如果是时间格式的查询肯定有问题,
//                    String selectKey = referFieldMap.get(key);
//                    return getSqlByValue(selectKey, value, null, btmType);
//                } else {
                    return getSqlByValue(key, value, attrVOMap, btmType);
                }
//                }
            }
        }
        return "";
@@ -1921,7 +1917,7 @@
            }
            if (field.contains(".") && attrVOMap != null && attrVOMap.containsKey(field.split("\\.")[0].toLowerCase(Locale.ROOT))) {
                //是参照
                return value;
                return "'" + value + "'";
            } else {
                return value;
            }
@@ -1945,13 +1941,13 @@
                        || VciFieldTypeEnum.VTInteger.equals(fieldTypeEnum)) {
                    return value;
                } else {
                    return value;
                    return "'" + value + "'";
                }
            } else {
                if ((value.startsWith("(") && value.endsWith(")")) || (value.startsWith("'") && value.endsWith("'"))) {
                    return value;
                }
                return value;
                return "'" + value + "'";
            }
        }
@@ -2075,9 +2071,7 @@
                    .append(SPACE)
                    .append(QueryOptionConstant.EQUAL)
                    .append(SPACE)
                    //.append("'")
                    .append(value);
                //    .append("'");
        }
        sql.append(SPACE);
        return sql.toString();
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -2209,7 +2209,7 @@
            } else if (StringUtils.isNotBlank(orderDTO.getCopyFromVersion())) {
                sql[0] += " and oid != '" + orderDTO.getCopyFromVersion() + "'";
            }
            sql[0] += " and islastR = '1' and islastV = '1' ";
            sql[0] += " and lastR = '1' and lastV = '1' ";
            if (commonsMapper.queryCountBySql(sql[0]) > 0) {
                String ruleInfoMsg = keyRuleVO == null ? "" : "查询规则:去除空格--{0},忽略大小写--{1},忽略全半角--{2},忽略全部空格--{3}";
                String[] objs = new String[]{trim ? "是" : "否", ignoreCase ? "是" : "否", ignoreWidth ? "是" : "否", trimAll ? "是" : "否"};
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeWupinMapper.xml
@@ -8,10 +8,10 @@
        <result column="REVISIONOID" property="revisionOid"/>
        <result column="NAMEOID" property="nameOid"/>
        <result column="BTMNAME" property="btmname"/>
        <result column="ISLASTR" property="lastR"/>
        <result column="ISFIRSTR" property="firstR"/>
        <result column="ISLASTV" property="lastV"/>
        <result column="ISFIRSTV" property="firstV"/>
        <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"/>