wangting
2024-10-30 d92e70785122a4505396d4b67e66e378f7a51b7d
Merge remote-tracking branch 'origin/master'
已修改6个文件
87 ■■■■ 文件已修改
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/page/login/userlogin.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/attributePool/index.vue 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/versioning/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java
@@ -55,6 +55,7 @@
import java.util.*;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
//import static com.vci.client.omd.attribpool.ui.VTDataTypePanel.*;
import static com.vci.omd.constants.AttributeConstants.*;
@@ -167,7 +168,7 @@
    }
    /**
     * 够着属性树节点
     * 构造属性树节点
     * @param parentTreeList
     * @param refTypeName
     * @param refFlag
@@ -342,7 +343,10 @@
                attributeVO.setLastModifyTime(new Date(attribItem.modifyTime));
                attributeVO.setTs(VciDateUtil.str2Date(attribItem.ts,VciDateUtil.DateTimeMillFormat));
            }catch (Throwable e){
                e.printStackTrace();
                String errorLog = "属性DO转VO时出错,原因:"+VciBaseUtil.getExceptionMessage(e);
                logger.error(errorLog);
                throw new VciBaseException(errorLog);
            }
            attributeVO.setLastModifier(attribItem.modifier);
            attributeVO.setName(attribItem.label);
@@ -639,9 +643,10 @@
        //检查默认值与属性类型是否匹配
        checkDefValue(osAttributeDTO);
        boolean compatible = isCompatible(osAttributeVO,osAttributeDTO);
        boolean hasInstance = hasInstance(osAttributeDTO.getName());
        //产生数据, 并且不兼容
        if(hasInstance && !compatible){
        //boolean hasInstance = hasInstance(osAttributeDTO.getId()); //不判断是否产生数据只要被引用就需要进一步判断类型是否兼容
        boolean checkAttrIsUse = this.checkAttrIsUse(osAttributeDTO.getId());
        //TODO:按照以前操作配置文档中的逻辑应该是:不论是否产生数据只要被引用就需要要判断类型是否兼容(如VTString不能转为VTIntger或VTLong)
        if(checkAttrIsUse/*hasInstance*/ && !compatible){
            throw new PLException("500",new String[]{"无效变更, 不兼容已产生的数据!"});
        }
        String userId = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId();
@@ -791,6 +796,26 @@
     */
    private boolean hasInstance(String abName) throws PLException {
        return osBtmService.hasInstance(abName) && osLinkTypeServiceI.hasInstance(abName);
    }
    /**
     * 查看属性是否被引用
     * @param abName
     * @return false未被引用 true被引用
     */
    private boolean checkAttrIsUse(String abName) throws PLException {
        if(Func.isBlank(abName)){
            return false;
        }
        String[] btNames = platformClientUtil.getBtmService().getBTNamesByAPName(abName);
        if(Func.isNotEmpty(btNames)){
            return true;
        }
        String[] ltNames = platformClientUtil.getLinkTypeService().getLTNamesByAPName(abName);
        if(Func.isNotEmpty(ltNames)){
            return true;
        }
        return false;
    }
    /**
@@ -974,11 +999,14 @@
            throw new PLException("500",new String[]{"请选择要查询应用范围的属性!"});
        }
        String[] btNames = platformClientUtil.getBtmService().getBTNamesByAPName(attributeName);
        if(Func.isEmpty(btNames)){
        String[] ltNames = platformClientUtil.getLinkTypeService().getLTNamesByAPName(attributeName);
        String[] mergedArray = Stream.concat(Stream.of(btNames), Stream.of(ltNames)).toArray(String[]::new);
        if(Func.isEmpty(mergedArray)){
            return new ArrayList<>();
        }
        List<Map<String,String>> btmNameMapList = new ArrayList<>();
        Arrays.stream(btNames).forEach(btName->{
        Arrays.stream(mergedArray).forEach(btName->{
            Map<String, String> itemMap = new HashMap<>();
            itemMap.put("attributeName",attributeName);
            itemMap.put("source",btName);
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java
@@ -495,7 +495,6 @@
    /**
     * 判断该属性是否已经在业务类型中产生了数据
     *
     * @param abName
     * @return
     * @throws PLException
Source/plt-web/plt-web-ui/src/page/login/userlogin.vue
@@ -256,7 +256,8 @@
                });
                return false;
              }
            };
            }
            ;
            this.$router.push({path: this.tagWel.value});
            loading.close();
          }).catch((err) => {
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/attributePool/index.vue
@@ -229,7 +229,8 @@
      width="65%"
      @close="addEscHandler"
    >
      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
      <div style="height: 650px">
        <el-form ref="form" :model="form" :rules="rules" label-width="120px" size="small">
        <el-row>
          <div class="addDialog">
            <div>
@@ -353,7 +354,8 @@
                </span>
              </div>
              <!--  VTInteger VTLong   -->
              <div v-if="form.attributeDataType === 'VTInteger' || form.attributeDataType === 'VTLong' " class="right">
                <div v-if="form.attributeDataType === 'VTInteger' || form.attributeDataType === 'VTLong' "
                     class="right">
                <h3>值域</h3>
                <el-form-item label="使用枚举:" prop="enumSwitch">
@@ -467,6 +469,7 @@
         <el-button type="primary" @click="linkSaveHandler">确 定</el-button>
        </span>
      </el-dialog>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button @click="addEscHandler">取 消</el-button>
        <el-button type="primary" @click="addSaveHandler">确 定</el-button>
@@ -718,6 +721,7 @@
      });
    }
  },
  watch: {},
  methods: {
    //表格查询请求
    getTableList() {
@@ -907,8 +911,13 @@
        this.form.attributeSelectType = 'link'
        this.form.referValue = row.linkTypeName;
      }
      if (!row.btmTypeId && !row.linkTypeName) {
        this.form.attributeSelectType = 'business'
        this.form.referValue = row.btmTypeId;
      }
      // console.log(row);
      this.getEnumMapByTypeHandler(this.form.attributeDataType)
      this.getEnumMapByTypeHandler(this.form.attributeDataType);
      this.addVisible = true;
    },
@@ -1072,9 +1081,6 @@
    // 选择参照
    referFormFocusHandler() {
      this.form.enumSwitch = false;
      this.form.rangeValue = "";
      this.form.enumId = "";
      const handlers = {
        business: () => {
          this.businessVisible = true;
@@ -1169,6 +1175,7 @@
      this.form.referValue = this.businessRow.name;
      this.businessVisible = false;
    },
    // 业务类型清空
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/versioning/index.vue
@@ -35,7 +35,7 @@
      width="40%"
      @close="visibleCloseHandler"
    >
      <el-form ref="form" :model="form" :rules="rules" label-width="95px">
      <el-form ref="form" size="small" :model="form" :rules="rules" label-width="95px">
        <el-row>
          <el-col :span="12">
            <el-form-item label="名称:" prop="id">
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue
@@ -9,30 +9,30 @@
    width="60%"
    @close="closeDialog"
  >
    <el-form ref="form" v-loading="formLoading" :model="form" :rules="rules" label-position="right" label-width="100px">
    <el-form ref="form" size="small" v-loading="formLoading" :model="form" :rules="rules" label-position="right" label-width="100px">
      <el-row>
        <el-col :span="12">
          <el-form-item label="名称" prop="viName">
            <el-input v-model="form.viName" placeholder="请输入名称" size="mini"></el-input>
            <el-input v-model="form.viName" placeholder="请输入名称" ></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="12">
          <el-form-item label="每页行数">
            <el-input v-model="form.itemPageSize" placeholder="请输入每页行数" size="mini" type="number"></el-input>
            <el-input v-model="form.itemPageSize" placeholder="请输入每页行数"  type="number"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="24">
          <el-form-item label="附加查询条件">
            <el-input v-model="form.itemAddFilter" placeholder="请输入查询条件" size="mini"></el-input>
            <el-input v-model="form.itemAddFilter" placeholder="请输入查询条件"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="12">
          <el-form-item label="绑定表单" prop="itemInObj">
            <div style="display: flex;align-items: center;">
              <el-select v-model="form.itemInObj" clearable placeholder="请选择绑定表单" size="mini"
              <el-select v-model="form.itemInObj" clearable placeholder="请选择绑定表单"
                         @change="formSelectChange">
                <el-option v-for="(item,index) in selectList" :key="index" :label="item.viName"
                           :value="item.id"></el-option>
@@ -45,7 +45,7 @@
        <el-col :span="12">
          <el-form-item label="父名称">
            <div style="display: flex;align-items: center;">
              <el-input v-model="form.itemParentFolderName" placeholder="请输入父名称" size="mini"></el-input>
              <el-input v-model="form.itemParentFolderName" placeholder="请输入父名称" ></el-input>
              <el-checkbox v-model="form.itemIsNavigatorExpand" style="margin-left: 5px; margin-right: 5px">显示查询区域
              </el-checkbox>
              <el-checkbox v-model="form.itemIsShowFolder" style="margin-left: 5px;margin-right: 0px">显示文件夹
@@ -158,7 +158,7 @@
      <el-col :span="24">
        <el-form-item label="双击操作">
          <el-select v-model="form.itemDbl" placeholder="请选择双击操作" size="mini">
          <el-select v-model="form.itemDbl" placeholder="请选择双击操作" >
            <el-option v-for="(item,index) in itemDblList" :key="index" :label="item.value"
                       :value="item.key"></el-option>
          </el-select>
@@ -170,11 +170,11 @@
          <div style="display: flex;align-items: center">
            <div style="display: flex;align-items: center;width: 100%;">
              <span>长:</span>
              <el-input v-model="itemImgHeight" placeholder="请输入长度" size="mini"></el-input>
              <el-input v-model="itemImgHeight" placeholder="请输入长度" ></el-input>
            </div>
            <div style="display: flex;align-items: center;width: 100%;margin-left: 30px">
              <span>宽:</span>
              <el-input v-model="itemImgWidth" placeholder="请输入宽度" size="mini"></el-input>
              <el-input v-model="itemImgWidth" placeholder="请输入宽度"></el-input>
            </div>
          </div>
        </el-form-item>
@@ -194,7 +194,7 @@
      <el-col :span="24">
        <el-form-item label="查询模板">
          <el-select v-model="form.itemQtName" placeholder="请选择查询模板" size="mini">
          <el-select v-model="form.itemQtName" placeholder="请选择查询模板" >
            <el-option v-for="(item,index) in searchQtNameList" :key="index" :label="item.qtName"
                       :value="item.qtName"></el-option>
          </el-select>