ludc
2024-08-22 c9a3c90c074704de573f0024d5a695b5a04095f2
Merge remote-tracking branch 'origin/master'
已修改10个文件
已添加24个文件
5958 ■■■■■ 文件已修改
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/bo/ItemSeniorQueryBO.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PRMDTO.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PRMItemDTO.java 764 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PortalVIDTO.java 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/model/PRMDO.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/model/PRMItemDO.java 725 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/model/PortalVIDO.java 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/PRMItemVO.java 767 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/PRMVO.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/PortalVIVO.java 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/VciBaseUtil.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebPortalVIController.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/enumpck/ItemDblEnum.java 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/enumpck/ItemTypeEnum.java 144 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/enumpck/PortalVIType.java 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/enumpck/PortalVITypeFlag.java 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsBaseServiceI.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsPortalVIServiceI.java 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java 627 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/util/UITools.java 707 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/api/modeling/businessType/api.js 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/api/modeling/linkType/api.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/api/queryTemplate/queryDefine.js 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue 562 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/linkType/index.vue 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/queryDefine/index.vue 338 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/system/department/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/system/password/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/system/role/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/systemModule/businessModel/index.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/systemModule/mangeModel/index.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/systemModule/operateType/index.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/systemModule/systemConfig/index.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/systemModule/systemMonitor/index.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/bo/ItemSeniorQueryBO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
package com.vci.bo;
public class ItemSeniorQueryBO implements java.io.Serializable{
    private static final long serialVersionUID = 6935763791493916908L;
    /**
     * é«˜çº§æŸ¥è¯¢åˆ—
     */
    private String itemSeniorQueryCols = "";
    /**
     * é«˜çº§æŸ¥è¯¢å„列使用次数
     */
    private String itemSeniorQueryColsCounts = "";
    /**
     *高级查询sql
     */
    private String itemQuerySql = "";
    public ItemSeniorQueryBO(String itemSeniorQueryCols, String itemSeniorQueryColsCounts, String itemQuerySql) {
        this.itemSeniorQueryCols = itemSeniorQueryCols;
        this.itemSeniorQueryColsCounts = itemSeniorQueryColsCounts;
        this.itemQuerySql = itemQuerySql;
    }
    public String getItemSeniorQueryCols() {
        return itemSeniorQueryCols;
    }
    public void setItemSeniorQueryCols(String itemSeniorQueryCols) {
        this.itemSeniorQueryCols = itemSeniorQueryCols;
    }
    public String getItemSeniorQueryColsCounts() {
        return itemSeniorQueryColsCounts;
    }
    public void setItemSeniorQueryColsCounts(String itemSeniorQueryColsCounts) {
        this.itemSeniorQueryColsCounts = itemSeniorQueryColsCounts;
    }
    public String getItemQuerySql() {
        return itemQuerySql;
    }
    public void setItemQuerySql(String itemQuerySql) {
        this.itemQuerySql = itemQuerySql;
    }
    @Override
    public String
    toString() {
        return "ItemSeniorQueryBO{" +
                "itemSeniorQueryCols='" + itemSeniorQueryCols + '\'' +
                ", itemSeniorQueryColsCounts='" + itemSeniorQueryColsCounts + '\'' +
                ", itemQuerySql='" + itemQuerySql + '\'' +
                '}';
    }
}
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PRMDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,50 @@
package com.vci.dto;
import java.util.List;
public class PRMDTO implements   java.io.Serializable {
    private static final long serialVersionUID = -9069714336905186990L;
    /**
     * æ˜¾ç¤ºå¤šå°‘列,默认为3列
     */
    private String showCols = "3";
    /**
     * è¡¨å•名称
     */
    private String formQtName = "";
    private List<PRMItemDTO> prmItemList;
    public String getShowCols() {
        return showCols;
    }
    public void setShowCols(String showCols) {
        this.showCols = showCols;
    }
    public String getFormQtName() {
        return formQtName;
    }
    public void setFormQtName(String formQtName) {
        this.formQtName = formQtName;
    }
    public List<PRMItemDTO> getPrmItemList() {
        return prmItemList;
    }
    public void setPrmItemList(List<PRMItemDTO> prmItemList) {
        this.prmItemList = prmItemList;
    }
    @Override
    public String toString() {
        return "PRMVO{" +
                "showCols='" + showCols + '\'' +
                ", formQtName='" + formQtName + '\'' +
                ", prmItemList=" + prmItemList +
                '}';
    }
}
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PRMItemDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,764 @@
package com.vci.dto;
import com.vci.bo.ItemSeniorQueryBO;
import com.vci.pagemodel.KeyValue;
import java.util.ArrayList;
import java.util.List;
public class PRMItemDTO implements java.io.Serializable {
    private static final long serialVersionUID = 2773419329512304674L;
    /**
     * ä½¿ç”¨å­—段
     */
    private String itemField = "";
    //list
    private String itemOR = "";
    private String itemEQ = "";
    private String itemTrim = "";
    /**
     * å¿½ç•¥
     */
    private String itemDbl = "";
    /**
     * å­—符串截取
     */
    private String itemCut = "";
    /**
     *绑定表单
     */
    private String itemInObj = "";
    /**
     * form:字段表达式  table:附加查询条件
     */
    private String itemAddFilter = "";
    /**
     *
     */
    private String itemOutType = "";
    /**
     * table æ¯é¡µå¯æ˜¾ç¤ºè¡Œæ•°
     */
    private String itemPageSize = "";
    /**
     * å›¾ç‰‡å®½é«˜ï¼š0,0
     */
    private String itemImgWH = "";
    /**
     * éœ€è¦ä½¿ç”¨çš„字段
     */
    private String itemOutFields = "";
    /**
     * å¾…选择的属性字段
     */
    private List<String[]> itemSelectoutFields=new ArrayList<>();
    /**
     * éœ€è¦ä½¿ç”¨çš„集合
     */
    private List<String> itemOutFieldList=new ArrayList<>();
    /**
     * éœ€è¦æœç´¢çš„字段
     */
    private String itemKeyFields = "";
    /**
     *待搜索字段
     */
    private List<String> itemSearchFieldList=new ArrayList<>();
    /**
     * éœ€è¦æœç´¢çš„字段
     */
    private List<String> itemKeyFieldList=new ArrayList<>();
    private String itemBat = "";
    /**
     * å®½åº¦
     */
    private String itemFieldWidth = "";
    /**
     * åˆ—显示宽段 itemOutFieldList ç›¸åŒ¹é…
     */
    private List<KeyValue> itemFieldWidthList=new ArrayList<>();
    //form
    private String itemTxf = "";
    /**
     * æ˜¾ç¤ºåç§°
     */
    private String itemName = "";
    /**
     * å±žæ€§ç±»åž‹
     *      text:单行文本框
     *         textbtn:文本按钮框:
     *         textarea:多行文本框:
     *         richtext:富文本框:
     *         number:数字输入框:
     *         password:密码框:
     *         radio:单选按钮:
     *         checkbox:多选按钮:
     *         select:下拉菜单:
     *         multiselect:多选下拉菜单:
     *         date:日期输入框:
     *         time:时间输入框:
     *         datetime:日期时间输入框:
     *         file:文件上传:
     *         multiFile:多文件上传:
     *         custom:自定义:
     *         customform:自定义表单:
     *         hidden:隐藏或普通文字:
     *         webeditor:Web编辑器:
     *         specialCharacter:特殊字符:
     */
    private String itemType = "";
    /**
     * å±žæ€§ç±»åž‹æ˜¾ç¤ºå€¼
     */
    private String itemTypeText = "";
    /**
     * é»˜è®¤å€¼
     */
    private String itemValue = "";
    /**
     *占位方式 1:显示,2:不显示
     */
    private String itemCols = "";
    /**
     *
     */
    private String itemRows = "";
    /**
     * é™„加属性(样式)
     */
    private String itemStyle = "";
    /**
     *脚本验证
     */
    private String itemScript = "";
    /**
     * æç¤ºæ–‡å­—
     */
    private String itemTips = "";
    /**
     * æžšä¸¾å€¼
     */
    private List<String> itemValueList = null;
    /**
     *一级参照
     */
    private String itemListTable = "";
    /**
     *二级参照
     */
    private String itemListTxt = "";
    /**
     *参照值
     */
    private String itemListVal = "";
    /**
     * æ˜¯å¦å¯ä»¥ç¼–辑0:编辑:1:只读
     */
    private String itemIsEditable = "";
    /**
     * åªè¯»é€‰æ‹©æ¡ä»¶
     */
    private String itemEditableProgram = "";
    /**
     *
     */
    private String itemEditCondition = "";
    /**
     * æ˜¯å¦æ˜¾ç¤ºå­—段 0;不显示,1:显示
     */
    private String itemIsHidden = "";
    /**
     * æŸ¥è¯¢æ¨¡æ¿åç§°
     */
    private String itemQtName = "";
    /**
     * æ˜¯å¦å¿…å¡« 0:否,1:是
     */
    private String itemIsRequired = "";
    /**
     *http存储开关  0:否,1:是
     */
    private String itemIsHttpSave = "";
    /**
     * å­˜å‚¨è·¯å¾„
     */
    private String itemHttpVolumnPath = "";
    /**
     * å­˜å‚¨è·¯å¾„字段
     */
    private String itemHttpPathField = "";
    /**
     * æƒé™æŽ§åˆ¶
     */
    private String itemRight = "";
    /**
     * é«˜çº§æŸ¥è¯¢åˆ—
     */
    private String itemSeniorQueryCols = "";
    /**
     * é«˜çº§æŸ¥è¯¢å„列使用次数
     */
    private String itemSeniorQueryColsCounts = "";
    /**
     *高级查询sql
     */
    private String itemQuerySql = "";
    /***
     * é«˜çº§æŸ¥è¯¢å¯¹è±¡
     */
    private  List<ItemSeniorQueryBO> itemSeniorQueryBOS=new ArrayList<>();
    /**
     * è¶…链接字段
     */
    private String itemHrefFields = "";
    /**
     * è¶…链接配置
     */
    private String itemHrefConf = "";
    /**
     * æŸ¥è¯¢å…³è”列
     */
    private String itemQueryRefFields = "";
    /***
     * è‡ªå®šä¹‰ç±»è·¯å¾„
     */
    private String itemCustomClass = "";
    /**
     * æŽ§åˆ¶æ˜¾ç¤ºåˆ—
     */
    private String itemCtrlDisplyCol = "";
    /**
     * æŽ§åˆ¶æ˜¾ç¤ºæ¡ä»¶
     */
    private String itemCtrlDisplyCondition = "";
    /**
     * æŸ¥è¯¢åŒºåŸŸæ˜¾ç¤ºæŽ§åˆ¶ true:显示,false ä¸æ˜¾ç¤º
     */
    private String itemIsNavigatorExpand = "";
    /**
     * æ˜¯å¦æ˜¾ç¤ºæ–‡ä»¶å¤¹ true:显示,false ä¸æ˜¾ç¤º
     */
    private String itemIsShowFolder = "";
    /**
     * çˆ¶æ–‡ä»¶å¤¹åç§°
     */
    private String itemParentFolderName = "";
    /**
     *   æ˜¾ç¤ºè¡¨è¾¾å¼ ${aa}-${bb}
     */
    private String itemShowExpression = "";
    /**
     * æ•°æ®ä¸ºæ—¥æœŸç±»åž‹æ—¶çš„æ ¼å¼åŒ–字符串 å¦‚ yyyy-MM-dd HH:mm:ss
     */
    private String itemDateFormat = "";
    public String getItemRight() {
        return itemRight;
    }
    public void setItemRight(String itemRight) {
        this.itemRight = itemRight;
    }
    public String getItemQuerySql() {
        return itemQuerySql;
    }
    public void setItemQuerySql(String itemQuerySql) {
        this.itemQuerySql = itemQuerySql;
    }
    public String getItemFieldWidth() {
        return itemFieldWidth;
    }
    public void setItemFieldWidth(String itemFieldWidth) {
        this.itemFieldWidth = itemFieldWidth;
    }
    public String getItemParentFolderName() {
        return itemParentFolderName;
    }
    public void setItemParentFolderName(String itemParentFolderName) {
        this.itemParentFolderName = itemParentFolderName;
    }
    public String getItemIsShowFolder() {
        return itemIsShowFolder;
    }
    public void setItemIsShowFolder(String itemIsShowFolder) {
        this.itemIsShowFolder = itemIsShowFolder;
    }
    public String getItemIsNavigatorExpand() {
        return itemIsNavigatorExpand;
    }
    public void setItemIsNavigatorExpand(String itemIsNavigatorExpand) {
        this.itemIsNavigatorExpand = itemIsNavigatorExpand;
    }
    public String getItemField() {
        return itemField;
    }
    public void setItemField(String itemField) {
        this.itemField = itemField;
    }
    public String getItemOR() {
        return itemOR;
    }
    public void setItemOR(String itemOR) {
        this.itemOR = itemOR;
    }
    public String getItemEQ() {
        return itemEQ;
    }
    public void setItemEQ(String itemEQ) {
        this.itemEQ = itemEQ;
    }
    public String getItemTrim() {
        return itemTrim;
    }
    public void setItemTrim(String itemTrim) {
        this.itemTrim = itemTrim;
    }
    public String getItemDbl() {
        return itemDbl;
    }
    public void setItemDbl(String itemDbl) {
        this.itemDbl = itemDbl;
    }
    public String getItemCut() {
        return itemCut;
    }
    public void setItemCut(String itemCut) {
        this.itemCut = itemCut;
    }
    public String getItemInObj() {
        return itemInObj;
    }
    public void setItemInObj(String itemInObj) {
        this.itemInObj = itemInObj;
    }
    public String getItemOutType() {
        return itemOutType;
    }
    public void setItemOutType(String itemOutType) {
        this.itemOutType = itemOutType;
    }
    public String getItemPageSize() {
        return itemPageSize;
    }
    public void setItemPageSize(String itemPageSize) {
        this.itemPageSize = itemPageSize;
    }
    public String getItemImgWH() {
        return itemImgWH;
    }
    public void setItemImgWH(String itemImgWH) {
        this.itemImgWH = itemImgWH;
    }
    public String getItemOutFields() {
        return itemOutFields;
    }
    public void setItemOutFields(String itemOutFields) {
        this.itemOutFields = itemOutFields;
    }
    public String getItemKeyFields() {
        return itemKeyFields;
    }
    public void setItemKeyFields(String itemKeyFields) {
        this.itemKeyFields = itemKeyFields;
    }
    public String getItemBat() {
        return itemBat;
    }
    public void setItemBat(String itemBat) {
        this.itemBat = itemBat;
    }
    public String getItemTxf() {
        return itemTxf;
    }
    public void setItemTxf(String itemTxf) {
        this.itemTxf = itemTxf;
    }
    public String getItemName() {
        return itemName;
    }
    public void setItemName(String itemName) {
        this.itemName = itemName;
    }
    public String getItemType() {
        return itemType;
    }
    public void setItemType(String itemType) {
        this.itemType = itemType;
    }
    public String getItemValue() {
        return itemValue;
    }
    public void setItemValue(String itemValue) {
        this.itemValue = itemValue;
    }
    public String getItemCols() {
        return itemCols;
    }
    public void setItemCols(String itemCols) {
        this.itemCols = itemCols;
    }
    public String getItemRows() {
        return itemRows;
    }
    public void setItemRows(String itemRows) {
        this.itemRows = itemRows;
    }
    public List<String> getItemValueList() {
        return itemValueList;
    }
    public void setItemValueList(List<String> itemValueList) {
        this.itemValueList = itemValueList;
    }
    public String getItemListTable() {
        return itemListTable;
    }
    public void setItemListTable(String itemListTable) {
        this.itemListTable = itemListTable;
    }
    public String getItemListTxt() {
        return itemListTxt;
    }
    public void setItemListTxt(String itemListTxt) {
        this.itemListTxt = itemListTxt;
    }
    public String getItemListVal() {
        return itemListVal;
    }
    public void setItemListVal(String itemListVal) {
        this.itemListVal = itemListVal;
    }
    public String getItemAddFilter() {
        return itemAddFilter;
    }
    public void setItemAddFilter(String itemAddFilter) {
        this.itemAddFilter = itemAddFilter;
    }
    public String getItemStyle() {
        return itemStyle;
    }
    public void setItemStyle(String itemStyle) {
        this.itemStyle = itemStyle;
    }
    public String getItemScript() {
        return itemScript;
    }
    public void setItemScript(String itemScript) {
        this.itemScript = itemScript;
    }
    public String getItemTips() {
        return itemTips;
    }
    public void setItemTips(String itemTips) {
        this.itemTips = itemTips;
    }
    public String getItemIsEditable() {
        return itemIsEditable;
    }
    public void setItemIsEditable(String itemIsEditable) {
        this.itemIsEditable = itemIsEditable;
    }
    public String getItemIsHidden() {
        return itemIsHidden;
    }
    public void setItemIsHidden(String itemIsHidden) {
        this.itemIsHidden = itemIsHidden;
    }
    public String getItemQtName() {
        return itemQtName;
    }
    public void setItemQtName(String itemQtName) {
        this.itemQtName = itemQtName;
    }
    public String getItemIsRequired() {
        return itemIsRequired;
    }
    public void setItemIsRequired(String itemIsRequired) {
        this.itemIsRequired = itemIsRequired;
    }
    public String getItemSeniorQueryCols() {
        return itemSeniorQueryCols;
    }
    public void setItemSeniorQueryCols(String itemSeniorQueryCols) {
        this.itemSeniorQueryCols = itemSeniorQueryCols;
    }
    public String getItemSeniorQueryColsCounts() {
        return itemSeniorQueryColsCounts;
    }
    public void setItemSeniorQueryColsCounts(String itemSeniorQueryColsCounts) {
        this.itemSeniorQueryColsCounts = itemSeniorQueryColsCounts;
    }
    public String getItemHrefFields() {
        return itemHrefFields;
    }
    public void setItemHrefFields(String itemHrefFields) {
        this.itemHrefFields = itemHrefFields;
    }
    public String getItemHrefConf() {
        return itemHrefConf;
    }
    public void setItemHrefConf(String itemHrefConf) {
        this.itemHrefConf = itemHrefConf;
    }
    public String getItemQueryRefFields() {
        return itemQueryRefFields;
    }
    public void setItemQueryRefFields(String itemQueryRefFields) {
        this.itemQueryRefFields = itemQueryRefFields;
    }
    public String getItemCustomClass() {
        return itemCustomClass;
    }
    public void setItemCustomClass(String itemCustomClass) {
        this.itemCustomClass = itemCustomClass;
    }
    public String getItemCtrlDisplyCol() {
        return itemCtrlDisplyCol;
    }
    public void setItemCtrlDisplyCol(String itemCtrlDisplyCol) {
        this.itemCtrlDisplyCol = itemCtrlDisplyCol;
    }
    public String getItemCtrlDisplyCondition() {
        return itemCtrlDisplyCondition;
    }
    public void setItemCtrlDisplyCondition(String itemCtrlDisplyCondition) {
        this.itemCtrlDisplyCondition = itemCtrlDisplyCondition;
    }
    public String getItemIsHttpSave() {
        return itemIsHttpSave;
    }
    public void setItemIsHttpSave(String itemIsHttpSave) {
        this.itemIsHttpSave = itemIsHttpSave;
    }
    public String getItemHttpVolumnPath() {
        return itemHttpVolumnPath;
    }
    public void setItemHttpVolumnPath(String itemHttpVolumnPath) {
        this.itemHttpVolumnPath = itemHttpVolumnPath;
    }
    public String getItemHttpPathField() {
        return itemHttpPathField;
    }
    public void setItemHttpPathField(String itemHttpPathField) {
        this.itemHttpPathField = itemHttpPathField;
    }
    public String getItemEditCondition() {
        return itemEditCondition;
    }
    public void setItemEditCondition(String itemEditCondition) {
        this.itemEditCondition = itemEditCondition;
    }
    public String getItemEditableProgram() {
        return itemEditableProgram;
    }
    public void setItemEditableProgram(String itemEditableProgram) {
        this.itemEditableProgram = itemEditableProgram;
    }
    public String getItemShowExpression() {
        return itemShowExpression;
    }
    public void setItemShowExpression(String itemShowExpression) {
        this.itemShowExpression = itemShowExpression;
    }
    public String getItemDateFormat() {
        return itemDateFormat;
    }
    public void setItemDateFormat(String itemDateFormat) {
        this.itemDateFormat = itemDateFormat;
    }
    public List<String> getItemOutFieldList() {
        return itemOutFieldList;
    }
    public void setItemOutFieldList(List<String> itemOutFieldList) {
        this.itemOutFieldList = itemOutFieldList;
    }
    public List<String> getItemKeyFieldList() {
        return itemKeyFieldList;
    }
    public void setItemKeyFieldList(List<String> itemKeyFieldList) {
        this.itemKeyFieldList = itemKeyFieldList;
    }
    public List<KeyValue> getItemFieldWidthList() {
        return itemFieldWidthList;
    }
    public void setItemFieldWidthList(List<KeyValue> itemFieldWidthList) {
        this.itemFieldWidthList = itemFieldWidthList;
    }
    public String getItemTypeText() {
        return itemTypeText;
    }
    public void setItemTypeText(String itemTypeText) {
        this.itemTypeText = itemTypeText;
    }
    public List<ItemSeniorQueryBO> getItemSeniorQueryBOS() {
        return itemSeniorQueryBOS;
    }
    public void setItemSeniorQueryBOS(List<ItemSeniorQueryBO> itemSeniorQueryBOS) {
        this.itemSeniorQueryBOS = itemSeniorQueryBOS;
    }
    public List<String[]> getItemSelectoutFields() {
        return itemSelectoutFields;
    }
    public void setItemSelectoutFields(List<String[]> itemSelectoutFields) {
        this.itemSelectoutFields = itemSelectoutFields;
    }
    public List<String> getItemSearchFieldList() {
        return itemSearchFieldList;
    }
    public void setItemSearchFieldList(List<String> itemSearchFieldList) {
        this.itemSearchFieldList = itemSearchFieldList;
    }
    //    /**
//     * é«˜çº§æŸ¥è¯¢åˆ—与使用次数
//     */
//    public Map<String, Integer> getColAndUseCountMap() {
//        if(this.itemSeniorQueryCols == null || this.itemSeniorQueryColsCounts == null
//                || this.itemSeniorQueryCols.equals("") || this.itemSeniorQueryColsCounts.equals("")){
//            return null;
//        }
//        Map<String, Integer> map = new LinkedHashMap<String, Integer>();
//        String[] cols = this.itemSeniorQueryCols.split(",");
//        String[] counts = this.itemSeniorQueryColsCounts.split(",");
//        for(int i = 0; i < cols.length; i++){
//            int count = Integer.valueOf(counts[i]);
//            map.put(cols[i], count);
//        }
//        return map;
//    }
//
//    /**
//     * é«˜çº§æŸ¥è¯¢è‡ªå®šä¹‰åˆ—与查询sql
//     */
//    public Map<String, String> getCustomerColAndSql() {
//        if(this.itemSeniorQueryCols == null || this.itemQuerySql == null
//                || this.itemSeniorQueryCols.equals("") || this.itemQuerySql.equals("")){
//            return null;
//        }
//        Map<String, String> map = new LinkedHashMap<String, String>();
//        String[] cols = this.itemSeniorQueryCols.split(",");
//        String[] sqls = this.itemQuerySql.split(";");
//        for(int i = 0; i < cols.length; i++){
//            String sql = sqls[i];
//            if(sql != null && !sql.equalsIgnoreCase("NULL")){
//                map.put(cols[i], sql);
//            }
//        }
//        return map;
//    }
//
//    /**
//     * è¿”回 PRMItem å¯¹è±¡æ˜¯å¦æ˜¾ç¤º
//     * @return å¯¹è±¡æ˜¯å¦æ˜¾ç¤º  (对应表单属性定义的占位方式的显示、不显示)<p>true:显示 false:不显示</p>
//     */
//    public boolean isShow(){
//        return ("1".equalsIgnoreCase(this.getItemCols().trim()));
//    }
//    /**
//     * è¿”回 PRMItem å¯¹è±¡æ˜¯å¦æ˜¯å¿…填项
//     * @return å¯¹è±¡æ˜¯å¦æ˜¯å¿…å¡«<p>true:显必填项 false:不是必填项</p>
//     */
//    public boolean isRequired(){
//        return ("1".equalsIgnoreCase(this.getItemIsRequired().trim()));
//    }
//    /**
//     * è¿”回 PRMItem å¯¹è±¡ æ˜¯å¦å¯ä»¥ç¼–辑
//     * @return å¯¹è±¡æ˜¯å¦å¯ç¼–辑 <p>true: å¯ç¼–辑(非只读) false: ä¸å¯ç¼–辑(只读)</p>
//     */
//    public boolean isEditable(){
//        return ("0".equalsIgnoreCase(this.getItemIsEditable().trim()));
//    }
//    /**
//     * è¿”回 PRMItem å¯¹è±¡ æ˜¯å¦å¯æ˜¯åªè¯»
//     * @return å¯¹è±¡æ˜¯å¦å¯ç¼–辑 <p>true: åªè¯»(不可编辑) false: éžåªè¯»(可编辑)</p>
//     */
//    public boolean isReadonly(){
//        return !(isEditable());
//    }
    @Override
    public String toString() {
        return "PRMItemDTO{" +
                "itemField='" + itemField + '\'' +
                ", itemOR='" + itemOR + '\'' +
                ", itemEQ='" + itemEQ + '\'' +
                ", itemTrim='" + itemTrim + '\'' +
                ", itemDbl='" + itemDbl + '\'' +
                ", itemCut='" + itemCut + '\'' +
                ", itemInObj='" + itemInObj + '\'' +
                ", itemAddFilter='" + itemAddFilter + '\'' +
                ", itemOutType='" + itemOutType + '\'' +
                ", itemPageSize='" + itemPageSize + '\'' +
                ", itemImgWH='" + itemImgWH + '\'' +
                ", itemOutFields='" + itemOutFields + '\'' +
                ", itemSelectoutFields=" + itemSelectoutFields +
                ", itemOutFieldList=" + itemOutFieldList +
                ", itemKeyFields='" + itemKeyFields + '\'' +
                ", itemSearchFieldList=" + itemSearchFieldList +
                ", itemKeyFieldList=" + itemKeyFieldList +
                ", itemBat='" + itemBat + '\'' +
                ", itemFieldWidth='" + itemFieldWidth + '\'' +
                ", itemFieldWidthList=" + itemFieldWidthList +
                ", itemTxf='" + itemTxf + '\'' +
                ", itemName='" + itemName + '\'' +
                ", itemType='" + itemType + '\'' +
                ", itemTypeText='" + itemTypeText + '\'' +
                ", itemValue='" + itemValue + '\'' +
                ", itemCols='" + itemCols + '\'' +
                ", itemRows='" + itemRows + '\'' +
                ", itemStyle='" + itemStyle + '\'' +
                ", itemScript='" + itemScript + '\'' +
                ", itemTips='" + itemTips + '\'' +
                ", itemValueList=" + itemValueList +
                ", itemListTable='" + itemListTable + '\'' +
                ", itemListTxt='" + itemListTxt + '\'' +
                ", itemListVal='" + itemListVal + '\'' +
                ", itemIsEditable='" + itemIsEditable + '\'' +
                ", itemEditableProgram='" + itemEditableProgram + '\'' +
                ", itemEditCondition='" + itemEditCondition + '\'' +
                ", itemIsHidden='" + itemIsHidden + '\'' +
                ", itemQtName='" + itemQtName + '\'' +
                ", itemIsRequired='" + itemIsRequired + '\'' +
                ", itemIsHttpSave='" + itemIsHttpSave + '\'' +
                ", itemHttpVolumnPath='" + itemHttpVolumnPath + '\'' +
                ", itemHttpPathField='" + itemHttpPathField + '\'' +
                ", itemRight='" + itemRight + '\'' +
                ", itemSeniorQueryCols='" + itemSeniorQueryCols + '\'' +
                ", itemSeniorQueryColsCounts='" + itemSeniorQueryColsCounts + '\'' +
                ", itemQuerySql='" + itemQuerySql + '\'' +
                ", itemSeniorQueryBOS=" + itemSeniorQueryBOS +
                ", itemHrefFields='" + itemHrefFields + '\'' +
                ", itemHrefConf='" + itemHrefConf + '\'' +
                ", itemQueryRefFields='" + itemQueryRefFields + '\'' +
                ", itemCustomClass='" + itemCustomClass + '\'' +
                ", itemCtrlDisplyCol='" + itemCtrlDisplyCol + '\'' +
                ", itemCtrlDisplyCondition='" + itemCtrlDisplyCondition + '\'' +
                ", itemIsNavigatorExpand='" + itemIsNavigatorExpand + '\'' +
                ", itemIsShowFolder='" + itemIsShowFolder + '\'' +
                ", itemParentFolderName='" + itemParentFolderName + '\'' +
                ", itemShowExpression='" + itemShowExpression + '\'' +
                ", itemDateFormat='" + itemDateFormat + '\'' +
                '}';
    }
}
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PortalVIDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,96 @@
package com.vci.dto;
/**
 *
 * è¡¨å•显示对象
 * @author xiej
 * @date 2024/08/14 6:04 PM
 */
public class PortalVIDTO implements  java.io.Serializable{
    private static final long serialVersionUID = 3676954583670971638L;
    /**
     * ä¸»é”®
     */
    private String id;
    /**
     * 0: ä¸šåŠ¡ç±»åž‹; 1: é“¾æŽ¥ç±»åž‹. é»˜è®¤0
     */
    private short typeFlag;
    /**
     * ç±»åž‹å
     */
    private String typeName;
    /**
     * è§†å›¾å
     */
    private String viName;
    /**
     * è§†å›¾ç±»åž‹: è¾“入表单或分页列表
     */
    private short viType;
    /**
     * å®šä¹‰è¯¦æƒ…
     */
    private PRMDTO prm;
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public short getTypeFlag() {
        return typeFlag;
    }
    public void setTypeFlag(short typeFlag) {
        this.typeFlag = typeFlag;
    }
    public String getTypeName() {
        return typeName;
    }
    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }
    public String getViName() {
        return viName;
    }
    public void setViName(String viName) {
        this.viName = viName;
    }
    public short getViType() {
        return viType;
    }
    public void setViType(short viType) {
        this.viType = viType;
    }
    public PRMDTO getPrm() {
        return prm;
    }
    public void setPrm(PRMDTO prm) {
        this.prm = prm;
    }
    @Override
    public String toString() {
        return "PortalVIVO{" +
                "id='" + id + '\'' +
                ", typeFlag=" + typeFlag +
                ", typeName='" + typeName + '\'' +
                ", viName='" + viName + '\'' +
                ", viType=" + viType +
                ", prm=" + prm +
                '}';
    }
}
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/model/PRMDO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,45 @@
package com.vci.model;
import java.util.List;
public class PRMDO implements   java.io.Serializable {
    private static final long serialVersionUID = -5898872445810489324L;
    private String showCols = "3";
    private String formQtName = "";
    private List<PRMItemDO> prmItemList;
    public String getShowCols() {
        return showCols;
    }
    public void setShowCols(String showCols) {
        this.showCols = showCols;
    }
    public String getFormQtName() {
        return formQtName;
    }
    public void setFormQtName(String formQtName) {
        this.formQtName = formQtName;
    }
    public List<PRMItemDO> getPrmItemList() {
        return prmItemList;
    }
    public void setPrmItemList(List<PRMItemDO> prmItemList) {
        this.prmItemList = prmItemList;
    }
    @Override
    public String toString() {
        return "PRMVO{" +
                "showCols='" + showCols + '\'' +
                ", formQtName='" + formQtName + '\'' +
                ", prmItemList=" + prmItemList +
                '}';
    }
}
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/model/PRMItemDO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,725 @@
package com.vci.model;
import com.vci.bo.ItemSeniorQueryBO;
import com.vci.pagemodel.KeyValue;
import java.util.ArrayList;
import java.util.List;
public class PRMItemDO implements java.io.Serializable {
    private static final long serialVersionUID = 4168551730739914307L;
    /**
     * ä½¿ç”¨å­—段
     */
    private String itemField = "";
    //list
    private String itemOR = "";
    private String itemEQ = "";
    private String itemTrim = "";
    /**
     * å¿½ç•¥
     */
    private String itemDbl = "";
    /**
     * å­—符串截取
     */
    private String itemCut = "";
    /**
     *绑定表单
     */
    private String itemInObj = "";
    /**
     * form:字段表达式  table:附加查询条件
     */
    private String itemAddFilter = "";
    /**
     *
     */
    private String itemOutType = "";
    /**
     * table æ¯é¡µå¯æ˜¾ç¤ºè¡Œæ•°
     */
    private String itemPageSize = "";
    /**
     * å›¾ç‰‡å®½é«˜ï¼š0,0
     */
    private String itemImgWH = "";
    /**
     * éœ€è¦ä½¿ç”¨çš„字段
     */
    private String itemOutFields = "";
    /**
     * éœ€è¦æœç´¢çš„字段
     */
    private String itemKeyFields = "";
    private String itemBat = "";
    /**
     * å®½åº¦
     */
    private String itemFieldWidth = "";
    //form
    private String itemTxf = "";
    /**
     * æ˜¾ç¤ºåç§°
     */
    private String itemName = "";
    /**
     * å±žæ€§ç±»åž‹
     *      text:单行文本框
     *         textbtn:文本按钮框:
     *         textarea:多行文本框:
     *         richtext:富文本框:
     *         number:数字输入框:
     *         password:密码框:
     *         radio:单选按钮:
     *         checkbox:多选按钮:
     *         select:下拉菜单:
     *         multiselect:多选下拉菜单:
     *         date:日期输入框:
     *         time:时间输入框:
     *         datetime:日期时间输入框:
     *         file:文件上传:
     *         multiFile:多文件上传:
     *         custom:自定义:
     *         customform:自定义表单:
     *         hidden:隐藏或普通文字:
     *         webeditor:Web编辑器:
     *         specialCharacter:特殊字符:
     */
    private String itemType = "";
    /**
     * å±žæ€§ç±»åž‹æ˜¾ç¤ºå€¼
     */
    private String itemTypeText = "";
    /**
     * é»˜è®¤å€¼
     */
    private String itemValue = "";
    /**
     *占位方式 1:显示,2:不显示
     */
    private String itemCols = "";
    /**
     *
     */
    private String itemRows = "";
    /**
     * é™„加属性(样式)
     */
    private String itemStyle = "";
    /**
     *脚本验证
     */
    private String itemScript = "";
    /**
     * æç¤ºæ–‡å­—
     */
    private String itemTips = "";
    /**
     * æžšä¸¾å€¼
     */
    private List<String> itemValueList = null;
    /**
     *一级参照
     */
    private String itemListTable = "";
    /**
     *二级参照
     */
    private String itemListTxt = "";
    /**
     *参照值
     */
    private String itemListVal = "";
    /**
     * æ˜¯å¦å¯ä»¥ç¼–辑0:编辑:1:只读
     */
    private String itemIsEditable = "";
    /**
     * åªè¯»é€‰æ‹©æ¡ä»¶
     */
    private String itemEditableProgram = "";
    /**
     *
     */
    private String itemEditCondition = "";
    /**
     * æ˜¯å¦æ˜¾ç¤ºå­—段 0;不显示,1:显示
     */
    private String itemIsHidden = "";
    /**
     * æŸ¥è¯¢æ¨¡æ¿åç§°
     */
    private String itemQtName = "";
    /**
     * æ˜¯å¦å¿…å¡« 0:否,1:是
     */
    private String itemIsRequired = "";
    /**
     *http存储开关  0:否,1:是
     */
    private String itemIsHttpSave = "";
    /**
     * å­˜å‚¨è·¯å¾„
     */
    private String itemHttpVolumnPath = "";
    /**
     * å­˜å‚¨è·¯å¾„字段
     */
    private String itemHttpPathField = "";
    /**
     * æƒé™æŽ§åˆ¶
     */
    private String itemRight = "";
    /**
     * é«˜çº§æŸ¥è¯¢åˆ—
     */
    private String itemSeniorQueryCols = "";
    /**
     * é«˜çº§æŸ¥è¯¢å„列使用次数
     */
    private String itemSeniorQueryColsCounts = "";
    /**
     *高级查询sql
     */
    private String itemQuerySql = "";
    /**
     * è¶…链接字段
     */
    private String itemHrefFields = "";
    /**
     * è¶…链接配置
     */
    private String itemHrefConf = "";
    /**
     * æŸ¥è¯¢å…³è”列
     */
    private String itemQueryRefFields = "";
    /***
     * è‡ªå®šä¹‰ç±»è·¯å¾„
     */
    private String itemCustomClass = "";
    /**
     * æŽ§åˆ¶æ˜¾ç¤ºåˆ—
     */
    private String itemCtrlDisplyCol = "";
    /**
     * æŽ§åˆ¶æ˜¾ç¤ºæ¡ä»¶
     */
    private String itemCtrlDisplyCondition = "";
    /**
     * æŸ¥è¯¢åŒºåŸŸæ˜¾ç¤ºæŽ§åˆ¶ true:显示,false ä¸æ˜¾ç¤º
     */
    private String itemIsNavigatorExpand = "";
    /**
     * æ˜¯å¦æ˜¾ç¤ºæ–‡ä»¶å¤¹ true:显示,false ä¸æ˜¾ç¤º
     */
    private String itemIsShowFolder = "";
    /**
     * çˆ¶æ–‡ä»¶å¤¹åç§°
     */
    private String itemParentFolderName = "";
    /**
     *   æ˜¾ç¤ºè¡¨è¾¾å¼ ${aa}-${bb}
     */
    private String itemShowExpression = "";
    /**
     * æ•°æ®ä¸ºæ—¥æœŸç±»åž‹æ—¶çš„æ ¼å¼åŒ–字符串 å¦‚ yyyy-MM-dd HH:mm:ss
     */
    private String itemDateFormat = "";
    public String getItemField() {
        return itemField;
    }
    public void setItemField(String itemField) {
        this.itemField = itemField;
    }
    public String getItemOR() {
        return itemOR;
    }
    public void setItemOR(String itemOR) {
        this.itemOR = itemOR;
    }
    public String getItemEQ() {
        return itemEQ;
    }
    public void setItemEQ(String itemEQ) {
        this.itemEQ = itemEQ;
    }
    public String getItemTrim() {
        return itemTrim;
    }
    public void setItemTrim(String itemTrim) {
        this.itemTrim = itemTrim;
    }
    public String getItemDbl() {
        return itemDbl;
    }
    public void setItemDbl(String itemDbl) {
        this.itemDbl = itemDbl;
    }
    public String getItemCut() {
        return itemCut;
    }
    public void setItemCut(String itemCut) {
        this.itemCut = itemCut;
    }
    public String getItemInObj() {
        return itemInObj;
    }
    public void setItemInObj(String itemInObj) {
        this.itemInObj = itemInObj;
    }
    public String getItemAddFilter() {
        return itemAddFilter;
    }
    public void setItemAddFilter(String itemAddFilter) {
        this.itemAddFilter = itemAddFilter;
    }
    public String getItemOutType() {
        return itemOutType;
    }
    public void setItemOutType(String itemOutType) {
        this.itemOutType = itemOutType;
    }
    public String getItemPageSize() {
        return itemPageSize;
    }
    public void setItemPageSize(String itemPageSize) {
        this.itemPageSize = itemPageSize;
    }
    public String getItemImgWH() {
        return itemImgWH;
    }
    public void setItemImgWH(String itemImgWH) {
        this.itemImgWH = itemImgWH;
    }
    public String getItemOutFields() {
        return itemOutFields;
    }
    public void setItemOutFields(String itemOutFields) {
        this.itemOutFields = itemOutFields;
    }
    public String getItemKeyFields() {
        return itemKeyFields;
    }
    public void setItemKeyFields(String itemKeyFields) {
        this.itemKeyFields = itemKeyFields;
    }
    public String getItemBat() {
        return itemBat;
    }
    public void setItemBat(String itemBat) {
        this.itemBat = itemBat;
    }
    public String getItemFieldWidth() {
        return itemFieldWidth;
    }
    public void setItemFieldWidth(String itemFieldWidth) {
        this.itemFieldWidth = itemFieldWidth;
    }
    public String getItemTxf() {
        return itemTxf;
    }
    public void setItemTxf(String itemTxf) {
        this.itemTxf = itemTxf;
    }
    public String getItemName() {
        return itemName;
    }
    public void setItemName(String itemName) {
        this.itemName = itemName;
    }
    public String getItemType() {
        return itemType;
    }
    public void setItemType(String itemType) {
        this.itemType = itemType;
    }
    public String getItemTypeText() {
        return itemTypeText;
    }
    public void setItemTypeText(String itemTypeText) {
        this.itemTypeText = itemTypeText;
    }
    public String getItemValue() {
        return itemValue;
    }
    public void setItemValue(String itemValue) {
        this.itemValue = itemValue;
    }
    public String getItemCols() {
        return itemCols;
    }
    public void setItemCols(String itemCols) {
        this.itemCols = itemCols;
    }
    public String getItemRows() {
        return itemRows;
    }
    public void setItemRows(String itemRows) {
        this.itemRows = itemRows;
    }
    public String getItemStyle() {
        return itemStyle;
    }
    public void setItemStyle(String itemStyle) {
        this.itemStyle = itemStyle;
    }
    public String getItemScript() {
        return itemScript;
    }
    public void setItemScript(String itemScript) {
        this.itemScript = itemScript;
    }
    public String getItemTips() {
        return itemTips;
    }
    public void setItemTips(String itemTips) {
        this.itemTips = itemTips;
    }
    public List<String> getItemValueList() {
        return itemValueList;
    }
    public void setItemValueList(List<String> itemValueList) {
        this.itemValueList = itemValueList;
    }
    public String getItemListTable() {
        return itemListTable;
    }
    public void setItemListTable(String itemListTable) {
        this.itemListTable = itemListTable;
    }
    public String getItemListTxt() {
        return itemListTxt;
    }
    public void setItemListTxt(String itemListTxt) {
        this.itemListTxt = itemListTxt;
    }
    public String getItemListVal() {
        return itemListVal;
    }
    public void setItemListVal(String itemListVal) {
        this.itemListVal = itemListVal;
    }
    public String getItemIsEditable() {
        return itemIsEditable;
    }
    public void setItemIsEditable(String itemIsEditable) {
        this.itemIsEditable = itemIsEditable;
    }
    public String getItemEditableProgram() {
        return itemEditableProgram;
    }
    public void setItemEditableProgram(String itemEditableProgram) {
        this.itemEditableProgram = itemEditableProgram;
    }
    public String getItemEditCondition() {
        return itemEditCondition;
    }
    public void setItemEditCondition(String itemEditCondition) {
        this.itemEditCondition = itemEditCondition;
    }
    public String getItemIsHidden() {
        return itemIsHidden;
    }
    public void setItemIsHidden(String itemIsHidden) {
        this.itemIsHidden = itemIsHidden;
    }
    public String getItemQtName() {
        return itemQtName;
    }
    public void setItemQtName(String itemQtName) {
        this.itemQtName = itemQtName;
    }
    public String getItemIsRequired() {
        return itemIsRequired;
    }
    public void setItemIsRequired(String itemIsRequired) {
        this.itemIsRequired = itemIsRequired;
    }
    public String getItemIsHttpSave() {
        return itemIsHttpSave;
    }
    public void setItemIsHttpSave(String itemIsHttpSave) {
        this.itemIsHttpSave = itemIsHttpSave;
    }
    public String getItemHttpVolumnPath() {
        return itemHttpVolumnPath;
    }
    public void setItemHttpVolumnPath(String itemHttpVolumnPath) {
        this.itemHttpVolumnPath = itemHttpVolumnPath;
    }
    public String getItemHttpPathField() {
        return itemHttpPathField;
    }
    public void setItemHttpPathField(String itemHttpPathField) {
        this.itemHttpPathField = itemHttpPathField;
    }
    public String getItemRight() {
        return itemRight;
    }
    public void setItemRight(String itemRight) {
        this.itemRight = itemRight;
    }
    public String getItemSeniorQueryCols() {
        return itemSeniorQueryCols;
    }
    public void setItemSeniorQueryCols(String itemSeniorQueryCols) {
        this.itemSeniorQueryCols = itemSeniorQueryCols;
    }
    public String getItemSeniorQueryColsCounts() {
        return itemSeniorQueryColsCounts;
    }
    public void setItemSeniorQueryColsCounts(String itemSeniorQueryColsCounts) {
        this.itemSeniorQueryColsCounts = itemSeniorQueryColsCounts;
    }
    public String getItemQuerySql() {
        return itemQuerySql;
    }
    public void setItemQuerySql(String itemQuerySql) {
        this.itemQuerySql = itemQuerySql;
    }
    public String getItemHrefFields() {
        return itemHrefFields;
    }
    public void setItemHrefFields(String itemHrefFields) {
        this.itemHrefFields = itemHrefFields;
    }
    public String getItemHrefConf() {
        return itemHrefConf;
    }
    public void setItemHrefConf(String itemHrefConf) {
        this.itemHrefConf = itemHrefConf;
    }
    public String getItemQueryRefFields() {
        return itemQueryRefFields;
    }
    public void setItemQueryRefFields(String itemQueryRefFields) {
        this.itemQueryRefFields = itemQueryRefFields;
    }
    public String getItemCustomClass() {
        return itemCustomClass;
    }
    public void setItemCustomClass(String itemCustomClass) {
        this.itemCustomClass = itemCustomClass;
    }
    public String getItemCtrlDisplyCol() {
        return itemCtrlDisplyCol;
    }
    public void setItemCtrlDisplyCol(String itemCtrlDisplyCol) {
        this.itemCtrlDisplyCol = itemCtrlDisplyCol;
    }
    public String getItemCtrlDisplyCondition() {
        return itemCtrlDisplyCondition;
    }
    public void setItemCtrlDisplyCondition(String itemCtrlDisplyCondition) {
        this.itemCtrlDisplyCondition = itemCtrlDisplyCondition;
    }
    public String getItemIsNavigatorExpand() {
        return itemIsNavigatorExpand;
    }
    public void setItemIsNavigatorExpand(String itemIsNavigatorExpand) {
        this.itemIsNavigatorExpand = itemIsNavigatorExpand;
    }
    public String getItemIsShowFolder() {
        return itemIsShowFolder;
    }
    public void setItemIsShowFolder(String itemIsShowFolder) {
        this.itemIsShowFolder = itemIsShowFolder;
    }
    public String getItemParentFolderName() {
        return itemParentFolderName;
    }
    public void setItemParentFolderName(String itemParentFolderName) {
        this.itemParentFolderName = itemParentFolderName;
    }
    public String getItemShowExpression() {
        return itemShowExpression;
    }
    public void setItemShowExpression(String itemShowExpression) {
        this.itemShowExpression = itemShowExpression;
    }
    public String getItemDateFormat() {
        return itemDateFormat;
    }
    public void setItemDateFormat(String itemDateFormat) {
        this.itemDateFormat = itemDateFormat;
    }
    @Override
    public String toString() {
        return "PRMItemDO{" +
                "itemField='" + itemField + '\'' +
                ", itemOR='" + itemOR + '\'' +
                ", itemEQ='" + itemEQ + '\'' +
                ", itemTrim='" + itemTrim + '\'' +
                ", itemDbl='" + itemDbl + '\'' +
                ", itemCut='" + itemCut + '\'' +
                ", itemInObj='" + itemInObj + '\'' +
                ", itemAddFilter='" + itemAddFilter + '\'' +
                ", itemOutType='" + itemOutType + '\'' +
                ", itemPageSize='" + itemPageSize + '\'' +
                ", itemImgWH='" + itemImgWH + '\'' +
                ", itemOutFields='" + itemOutFields + '\'' +
                ", itemKeyFields='" + itemKeyFields + '\'' +
                ", itemBat='" + itemBat + '\'' +
                ", itemFieldWidth='" + itemFieldWidth + '\'' +
                ", itemTxf='" + itemTxf + '\'' +
                ", itemName='" + itemName + '\'' +
                ", itemType='" + itemType + '\'' +
                ", itemTypeText='" + itemTypeText + '\'' +
                ", itemValue='" + itemValue + '\'' +
                ", itemCols='" + itemCols + '\'' +
                ", itemRows='" + itemRows + '\'' +
                ", itemStyle='" + itemStyle + '\'' +
                ", itemScript='" + itemScript + '\'' +
                ", itemTips='" + itemTips + '\'' +
                ", itemValueList=" + itemValueList +
                ", itemListTable='" + itemListTable + '\'' +
                ", itemListTxt='" + itemListTxt + '\'' +
                ", itemListVal='" + itemListVal + '\'' +
                ", itemIsEditable='" + itemIsEditable + '\'' +
                ", itemEditableProgram='" + itemEditableProgram + '\'' +
                ", itemEditCondition='" + itemEditCondition + '\'' +
                ", itemIsHidden='" + itemIsHidden + '\'' +
                ", itemQtName='" + itemQtName + '\'' +
                ", itemIsRequired='" + itemIsRequired + '\'' +
                ", itemIsHttpSave='" + itemIsHttpSave + '\'' +
                ", itemHttpVolumnPath='" + itemHttpVolumnPath + '\'' +
                ", itemHttpPathField='" + itemHttpPathField + '\'' +
                ", itemRight='" + itemRight + '\'' +
                ", itemSeniorQueryCols='" + itemSeniorQueryCols + '\'' +
                ", itemSeniorQueryColsCounts='" + itemSeniorQueryColsCounts + '\'' +
                ", itemQuerySql='" + itemQuerySql + '\'' +
                ", itemHrefFields='" + itemHrefFields + '\'' +
                ", itemHrefConf='" + itemHrefConf + '\'' +
                ", itemQueryRefFields='" + itemQueryRefFields + '\'' +
                ", itemCustomClass='" + itemCustomClass + '\'' +
                ", itemCtrlDisplyCol='" + itemCtrlDisplyCol + '\'' +
                ", itemCtrlDisplyCondition='" + itemCtrlDisplyCondition + '\'' +
                ", itemIsNavigatorExpand='" + itemIsNavigatorExpand + '\'' +
                ", itemIsShowFolder='" + itemIsShowFolder + '\'' +
                ", itemParentFolderName='" + itemParentFolderName + '\'' +
                ", itemShowExpression='" + itemShowExpression + '\'' +
                ", itemDateFormat='" + itemDateFormat + '\'' +
                '}';
    }
}
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/model/PortalVIDO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,101 @@
package com.vci.model;
import com.vci.starter.web.annotation.Transient;
import com.vci.starter.web.annotation.VciBtmType;
import com.vci.starter.web.constant.FrameWorkLcStatusConstant;
/**
 * çŠ¶æ€æ± 
 * @author weidy
 * @date 2022-2-15
 */
@VciBtmType(name = "status",text = "表单",tableName = "portal_vi",lifeCycle = FrameWorkLcStatusConstant.EMTYPE_LIFE_CYCLE)
@Transient
public class PortalVIDO implements java.io.Serializable {
    private static final long serialVersionUID = -8378041621144542492L;
    /**
     * ä¸»é”®
     */
    private String id;
    /**
     * 0: ä¸šåŠ¡ç±»åž‹; 1: é“¾æŽ¥ç±»åž‹. é»˜è®¤0
     */
    private short typeFlag;
    /**
     * ç±»åž‹å
     */
    private String typeName;
    /**
     * è§†å›¾å
     */
    private String viName;
    /**
     * è§†å›¾ç±»åž‹: è¾“入表单或分页列表
     */
    private short viType;
    /**
     * å®šä¹‰è¯¦æƒ…
     */
    private String prm;
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public short getTypeFlag() {
        return typeFlag;
    }
    public void setTypeFlag(short typeFlag) {
        this.typeFlag = typeFlag;
    }
    public String getTypeName() {
        return typeName;
    }
    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }
    public String getViName() {
        return viName;
    }
    public void setViName(String viName) {
        this.viName = viName;
    }
    public short getViType() {
        return viType;
    }
    public void setViType(short viType) {
        this.viType = viType;
    }
    public String getPrm() {
        return prm;
    }
    public void setPrm(String prm) {
        this.prm = prm;
    }
    @Override
    public String toString() {
        return "PortalVIVO{" +
                "id='" + id + '\'' +
                ", typeFlag=" + typeFlag +
                ", typeName='" + typeName + '\'' +
                ", viName='" + viName + '\'' +
                ", viType=" + viType +
                ", prm='" + prm + '\'' +
                '}';
    }
}
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/PRMItemVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,767 @@
package com.vci.pagemodel;
import com.vci.bo.ItemSeniorQueryBO;
import java.util.ArrayList;
import java.util.List;
public class PRMItemVO implements java.io.Serializable {
    private static final long serialVersionUID = 8300550928400559987L;
    /**
     * ä½¿ç”¨å­—段
     */
    private String itemField = "";
    //list
    private String itemOR = "";
    private String itemEQ = "";
    private String itemTrim = "";
    /**
     * å¿½ç•¥
     */
    private String itemDbl = "";
    /**
     * å­—符串截取
     */
    private String itemCut = "";
    /**
     *绑定表单
     */
    private String itemInObj = "";
    /**
     * form:字段表达式  table:附加查询条件
     */
    private String itemAddFilter = "";
    /**
     *
     */
    private String itemOutType = "";
    /**
     * table æ¯é¡µå¯æ˜¾ç¤ºè¡Œæ•°
     */
    private String itemPageSize = "";
    /**
     * å›¾ç‰‡å®½é«˜ï¼š0,0
     */
    private String itemImgWH = "";
    /**
     * éœ€è¦ä½¿ç”¨çš„字段
     */
    private String itemOutFields = "";
    /**
     * å¾…选择的属性字段
     */
    private List<String> itemSelectoutFieldList=new ArrayList<>();
    /**
     * éœ€è¦ä½¿ç”¨çš„集合
     */
    private List<String> itemOutFieldList=new ArrayList<>();
    /**
     * éœ€è¦æœç´¢çš„字段
     */
    private String itemKeyFields = "";
    /**
     *待搜索字段
     */
    private List<String> itemSearchFieldList=new ArrayList<>();
    /**
     * éœ€è¦æœç´¢çš„字段
     */
    private List<String> itemKeyFieldList=new ArrayList<>();
    private String itemBat = "";
    /**
     * å®½åº¦
     */
    private String itemFieldWidth = "";
    /**
     * åˆ—显示宽段 itemOutFieldList ç›¸åŒ¹é…
     */
    private List<KeyValue> itemFieldWidthList=new ArrayList<>();
    //form
    private String itemTxf = "";
    /**
     * æ˜¾ç¤ºåç§°
     */
    private String itemName = "";
    /**
     * å±žæ€§ç±»åž‹
     *      text:单行文本框
     *         textbtn:文本按钮框:
     *         textarea:多行文本框:
     *         richtext:富文本框:
     *         number:数字输入框:
     *         password:密码框:
     *         radio:单选按钮:
     *         checkbox:多选按钮:
     *         select:下拉菜单:
     *         multiselect:多选下拉菜单:
     *         date:日期输入框:
     *         time:时间输入框:
     *         datetime:日期时间输入框:
     *         file:文件上传:
     *         multiFile:多文件上传:
     *         custom:自定义:
     *         customform:自定义表单:
     *         hidden:隐藏或普通文字:
     *         webeditor:Web编辑器:
     *         specialCharacter:特殊字符:
     */
    private String itemType = "";
    /**
     * å±žæ€§ç±»åž‹æ˜¾ç¤ºå€¼
     */
    private String itemTypeText = "";
    /**
     * é»˜è®¤å€¼
     */
    private String itemValue = "";
    /**
     *占位方式 1:显示,2:不显示
     */
    private String itemCols = "";
    /**
     *
     */
    private String itemRows = "";
    /**
     * é™„加属性(样式)
     */
    private String itemStyle = "";
    /**
     *脚本验证
     */
    private String itemScript = "";
    /**
     * æç¤ºæ–‡å­—
     */
    private String itemTips = "";
    /**
     * æžšä¸¾å€¼
     */
    private List<String> itemValueList = null;
    /**
     *一级参照
     */
    private String itemListTable = "";
    /**
     *二级参照
     */
    private String itemListTxt = "";
    /**
     *参照值
     */
    private String itemListVal = "";
    /**
     * æ˜¯å¦å¯ä»¥ç¼–辑0:编辑:1:只读
     */
    private String itemIsEditable = "";
    /**
     * åªè¯»é€‰æ‹©æ¡ä»¶
     */
    private String itemEditableProgram = "";
    /**
     *
     */
    private String itemEditCondition = "";
    /**
     * æ˜¯å¦æ˜¾ç¤ºå­—段 0;不显示,1:显示
     */
    private String itemIsHidden = "";
    /**
     * æŸ¥è¯¢æ¨¡æ¿åç§°
     */
    private String itemQtName = "";
    /**
     * æ˜¯å¦å¿…å¡« 0:否,1:是
     */
    private String itemIsRequired = "";
    /**
     *http存储开关  0:否,1:是
     */
    private String itemIsHttpSave = "";
    /**
     * å­˜å‚¨è·¯å¾„
     */
    private String itemHttpVolumnPath = "";
    /**
     * å­˜å‚¨è·¯å¾„字段
     */
    private String itemHttpPathField = "";
    /**
     * æƒé™æŽ§åˆ¶
     */
    private String itemRight = "";
    /**
     * é«˜çº§æŸ¥è¯¢åˆ—
     */
    private String itemSeniorQueryCols = "";
    /**
     * é«˜çº§æŸ¥è¯¢å„列使用次数
     */
    private String itemSeniorQueryColsCounts = "";
    /**
     *高级查询sql
     */
    private String itemQuerySql = "";
    /***
     * é«˜çº§æŸ¥è¯¢å¯¹è±¡
     */
    private  List<ItemSeniorQueryBO> itemSeniorQueryBOS=new ArrayList<>();
    /**
     * è¶…链接字段
     */
    private String itemHrefFields = "";
    /**
     * è¶…链接配置
     */
    private String itemHrefConf = "";
    /**
     * æŸ¥è¯¢å…³è”列
     */
    private String itemQueryRefFields = "";
    /***
     * è‡ªå®šä¹‰ç±»è·¯å¾„
     */
    private String itemCustomClass = "";
    /**
     * æŽ§åˆ¶æ˜¾ç¤ºåˆ—
     */
    private String itemCtrlDisplyCol = "";
    /**
     * æŽ§åˆ¶æ˜¾ç¤ºæ¡ä»¶
     */
    private String itemCtrlDisplyCondition = "";
    /**
     * æŸ¥è¯¢åŒºåŸŸæ˜¾ç¤ºæŽ§åˆ¶ true:显示,false ä¸æ˜¾ç¤º
     */
    private String itemIsNavigatorExpand = "";
    /**
     * æ˜¯å¦æ˜¾ç¤ºæ–‡ä»¶å¤¹ true:显示,false ä¸æ˜¾ç¤º
     */
    private String itemIsShowFolder = "";
    /**
     * çˆ¶æ–‡ä»¶å¤¹åç§°
     */
    private String itemParentFolderName = "";
    /**
     *   æ˜¾ç¤ºè¡¨è¾¾å¼ ${aa}-${bb}
     */
    private String itemShowExpression = "";
    /**
     * æ•°æ®ä¸ºæ—¥æœŸç±»åž‹æ—¶çš„æ ¼å¼åŒ–字符串 å¦‚ yyyy-MM-dd HH:mm:ss
     */
    private String itemDateFormat = "";
    public String getItemRight() {
        return itemRight;
    }
    public void setItemRight(String itemRight) {
        this.itemRight = itemRight;
    }
    public String getItemQuerySql() {
        return itemQuerySql;
    }
    public void setItemQuerySql(String itemQuerySql) {
        this.itemQuerySql = itemQuerySql;
    }
    public String getItemFieldWidth() {
        return itemFieldWidth;
    }
    public void setItemFieldWidth(String itemFieldWidth) {
        this.itemFieldWidth = itemFieldWidth;
    }
    public String getItemParentFolderName() {
        return itemParentFolderName;
    }
    public void setItemParentFolderName(String itemParentFolderName) {
        this.itemParentFolderName = itemParentFolderName;
    }
    public String getItemIsShowFolder() {
        return itemIsShowFolder;
    }
    public void setItemIsShowFolder(String itemIsShowFolder) {
        this.itemIsShowFolder = itemIsShowFolder;
    }
    public String getItemIsNavigatorExpand() {
        return itemIsNavigatorExpand;
    }
    public void setItemIsNavigatorExpand(String itemIsNavigatorExpand) {
        this.itemIsNavigatorExpand = itemIsNavigatorExpand;
    }
    public String getItemField() {
        return itemField;
    }
    public void setItemField(String itemField) {
        this.itemField = itemField;
    }
    public String getItemOR() {
        return itemOR;
    }
    public void setItemOR(String itemOR) {
        this.itemOR = itemOR;
    }
    public String getItemEQ() {
        return itemEQ;
    }
    public void setItemEQ(String itemEQ) {
        this.itemEQ = itemEQ;
    }
    public String getItemTrim() {
        return itemTrim;
    }
    public void setItemTrim(String itemTrim) {
        this.itemTrim = itemTrim;
    }
    public String getItemDbl() {
        return itemDbl;
    }
    public void setItemDbl(String itemDbl) {
        this.itemDbl = itemDbl;
    }
    public String getItemCut() {
        return itemCut;
    }
    public void setItemCut(String itemCut) {
        this.itemCut = itemCut;
    }
    public String getItemInObj() {
        return itemInObj;
    }
    public void setItemInObj(String itemInObj) {
        this.itemInObj = itemInObj;
    }
    public String getItemOutType() {
        return itemOutType;
    }
    public void setItemOutType(String itemOutType) {
        this.itemOutType = itemOutType;
    }
    public String getItemPageSize() {
        return itemPageSize;
    }
    public void setItemPageSize(String itemPageSize) {
        this.itemPageSize = itemPageSize;
    }
    public String getItemImgWH() {
        return itemImgWH;
    }
    public void setItemImgWH(String itemImgWH) {
        this.itemImgWH = itemImgWH;
    }
    public String getItemOutFields() {
        return itemOutFields;
    }
    public void setItemOutFields(String itemOutFields) {
        this.itemOutFields = itemOutFields;
    }
    public String getItemKeyFields() {
        return itemKeyFields;
    }
    public void setItemKeyFields(String itemKeyFields) {
        this.itemKeyFields = itemKeyFields;
    }
    public String getItemBat() {
        return itemBat;
    }
    public void setItemBat(String itemBat) {
        this.itemBat = itemBat;
    }
    public String getItemTxf() {
        return itemTxf;
    }
    public void setItemTxf(String itemTxf) {
        this.itemTxf = itemTxf;
    }
    public String getItemName() {
        return itemName;
    }
    public void setItemName(String itemName) {
        this.itemName = itemName;
    }
    public String getItemType() {
        return itemType;
    }
    public void setItemType(String itemType) {
        this.itemType = itemType;
    }
    public String getItemValue() {
        return itemValue;
    }
    public void setItemValue(String itemValue) {
        this.itemValue = itemValue;
    }
    public String getItemCols() {
        return itemCols;
    }
    public void setItemCols(String itemCols) {
        this.itemCols = itemCols;
    }
    public String getItemRows() {
        return itemRows;
    }
    public void setItemRows(String itemRows) {
        this.itemRows = itemRows;
    }
    public List<String> getItemValueList() {
        return itemValueList;
    }
    public void setItemValueList(List<String> itemValueList) {
        this.itemValueList = itemValueList;
    }
    public String getItemListTable() {
        return itemListTable;
    }
    public void setItemListTable(String itemListTable) {
        this.itemListTable = itemListTable;
    }
    public String getItemListTxt() {
        return itemListTxt;
    }
    public void setItemListTxt(String itemListTxt) {
        this.itemListTxt = itemListTxt;
    }
    public String getItemListVal() {
        return itemListVal;
    }
    public void setItemListVal(String itemListVal) {
        this.itemListVal = itemListVal;
    }
    public String getItemAddFilter() {
        return itemAddFilter;
    }
    public void setItemAddFilter(String itemAddFilter) {
        this.itemAddFilter = itemAddFilter;
    }
    public String getItemStyle() {
        return itemStyle;
    }
    public void setItemStyle(String itemStyle) {
        this.itemStyle = itemStyle;
    }
    public String getItemScript() {
        return itemScript;
    }
    public void setItemScript(String itemScript) {
        this.itemScript = itemScript;
    }
    public String getItemTips() {
        return itemTips;
    }
    public void setItemTips(String itemTips) {
        this.itemTips = itemTips;
    }
    public String getItemIsEditable() {
        return itemIsEditable;
    }
    public void setItemIsEditable(String itemIsEditable) {
        this.itemIsEditable = itemIsEditable;
    }
    public String getItemIsHidden() {
        return itemIsHidden;
    }
    public void setItemIsHidden(String itemIsHidden) {
        this.itemIsHidden = itemIsHidden;
    }
    public String getItemQtName() {
        return itemQtName;
    }
    public void setItemQtName(String itemQtName) {
        this.itemQtName = itemQtName;
    }
    public String getItemIsRequired() {
        return itemIsRequired;
    }
    public void setItemIsRequired(String itemIsRequired) {
        this.itemIsRequired = itemIsRequired;
    }
    public String getItemSeniorQueryCols() {
        return itemSeniorQueryCols;
    }
    public void setItemSeniorQueryCols(String itemSeniorQueryCols) {
        this.itemSeniorQueryCols = itemSeniorQueryCols;
    }
    public String getItemSeniorQueryColsCounts() {
        return itemSeniorQueryColsCounts;
    }
    public void setItemSeniorQueryColsCounts(String itemSeniorQueryColsCounts) {
        this.itemSeniorQueryColsCounts = itemSeniorQueryColsCounts;
    }
    public String getItemHrefFields() {
        return itemHrefFields;
    }
    public void setItemHrefFields(String itemHrefFields) {
        this.itemHrefFields = itemHrefFields;
    }
    public String getItemHrefConf() {
        return itemHrefConf;
    }
    public void setItemHrefConf(String itemHrefConf) {
        this.itemHrefConf = itemHrefConf;
    }
    public String getItemQueryRefFields() {
        return itemQueryRefFields;
    }
    public void setItemQueryRefFields(String itemQueryRefFields) {
        this.itemQueryRefFields = itemQueryRefFields;
    }
    public String getItemCustomClass() {
        return itemCustomClass;
    }
    public void setItemCustomClass(String itemCustomClass) {
        this.itemCustomClass = itemCustomClass;
    }
    public String getItemCtrlDisplyCol() {
        return itemCtrlDisplyCol;
    }
    public void setItemCtrlDisplyCol(String itemCtrlDisplyCol) {
        this.itemCtrlDisplyCol = itemCtrlDisplyCol;
    }
    public String getItemCtrlDisplyCondition() {
        return itemCtrlDisplyCondition;
    }
    public void setItemCtrlDisplyCondition(String itemCtrlDisplyCondition) {
        this.itemCtrlDisplyCondition = itemCtrlDisplyCondition;
    }
    public String getItemIsHttpSave() {
        return itemIsHttpSave;
    }
    public void setItemIsHttpSave(String itemIsHttpSave) {
        this.itemIsHttpSave = itemIsHttpSave;
    }
    public String getItemHttpVolumnPath() {
        return itemHttpVolumnPath;
    }
    public void setItemHttpVolumnPath(String itemHttpVolumnPath) {
        this.itemHttpVolumnPath = itemHttpVolumnPath;
    }
    public String getItemHttpPathField() {
        return itemHttpPathField;
    }
    public void setItemHttpPathField(String itemHttpPathField) {
        this.itemHttpPathField = itemHttpPathField;
    }
    public String getItemEditCondition() {
        return itemEditCondition;
    }
    public void setItemEditCondition(String itemEditCondition) {
        this.itemEditCondition = itemEditCondition;
    }
    public String getItemEditableProgram() {
        return itemEditableProgram;
    }
    public void setItemEditableProgram(String itemEditableProgram) {
        this.itemEditableProgram = itemEditableProgram;
    }
    public String getItemShowExpression() {
        return itemShowExpression;
    }
    public void setItemShowExpression(String itemShowExpression) {
        this.itemShowExpression = itemShowExpression;
    }
    public String getItemDateFormat() {
        return itemDateFormat;
    }
    public void setItemDateFormat(String itemDateFormat) {
        this.itemDateFormat = itemDateFormat;
    }
    public List<String> getItemOutFieldList() {
        return itemOutFieldList;
    }
    public void setItemOutFieldList(List<String> itemOutFieldList) {
        this.itemOutFieldList = itemOutFieldList;
    }
    public List<String> getItemKeyFieldList() {
        return itemKeyFieldList;
    }
    public void setItemKeyFieldList(List<String> itemKeyFieldList) {
        this.itemKeyFieldList = itemKeyFieldList;
    }
    public List<KeyValue> getItemFieldWidthList() {
        return itemFieldWidthList;
    }
    public void setItemFieldWidthList(List<KeyValue> itemFieldWidthList) {
        this.itemFieldWidthList = itemFieldWidthList;
    }
    public String getItemTypeText() {
        return itemTypeText;
    }
    public void setItemTypeText(String itemTypeText) {
        this.itemTypeText = itemTypeText;
    }
    public List<ItemSeniorQueryBO> getItemSeniorQueryBOS() {
        return itemSeniorQueryBOS;
    }
    public void setItemSeniorQueryBOS(List<ItemSeniorQueryBO> itemSeniorQueryBOS) {
        this.itemSeniorQueryBOS = itemSeniorQueryBOS;
    }
    public List<String> getItemSelectoutFieldList() {
        return itemSelectoutFieldList;
    }
    public void setItemSelectoutFieldList(List<String> itemSelectoutFieldList) {
        this.itemSelectoutFieldList = itemSelectoutFieldList;
    }
    public List<String> getItemSearchFieldList() {
        return itemSearchFieldList;
    }
    public void setItemSearchFieldList(List<String> itemSearchFieldList) {
        this.itemSearchFieldList = itemSearchFieldList;
    }
    @Override
    public String toString() {
        return "PRMItemVO{" +
                "itemField='" + itemField + '\'' +
                ", itemOR='" + itemOR + '\'' +
                ", itemEQ='" + itemEQ + '\'' +
                ", itemTrim='" + itemTrim + '\'' +
                ", itemDbl='" + itemDbl + '\'' +
                ", itemCut='" + itemCut + '\'' +
                ", itemInObj='" + itemInObj + '\'' +
                ", itemAddFilter='" + itemAddFilter + '\'' +
                ", itemOutType='" + itemOutType + '\'' +
                ", itemPageSize='" + itemPageSize + '\'' +
                ", itemImgWH='" + itemImgWH + '\'' +
                ", itemOutFields='" + itemOutFields + '\'' +
                ", itemSelectoutFieldList=" + itemSelectoutFieldList +
                ", itemOutFieldList=" + itemOutFieldList +
                ", itemKeyFields='" + itemKeyFields + '\'' +
                ", itemSearchFieldList=" + itemSearchFieldList +
                ", itemKeyFieldList=" + itemKeyFieldList +
                ", itemBat='" + itemBat + '\'' +
                ", itemFieldWidth='" + itemFieldWidth + '\'' +
                ", itemFieldWidthList=" + itemFieldWidthList +
                ", itemTxf='" + itemTxf + '\'' +
                ", itemName='" + itemName + '\'' +
                ", itemType='" + itemType + '\'' +
                ", itemTypeText='" + itemTypeText + '\'' +
                ", itemValue='" + itemValue + '\'' +
                ", itemCols='" + itemCols + '\'' +
                ", itemRows='" + itemRows + '\'' +
                ", itemStyle='" + itemStyle + '\'' +
                ", itemScript='" + itemScript + '\'' +
                ", itemTips='" + itemTips + '\'' +
                ", itemValueList=" + itemValueList +
                ", itemListTable='" + itemListTable + '\'' +
                ", itemListTxt='" + itemListTxt + '\'' +
                ", itemListVal='" + itemListVal + '\'' +
                ", itemIsEditable='" + itemIsEditable + '\'' +
                ", itemEditableProgram='" + itemEditableProgram + '\'' +
                ", itemEditCondition='" + itemEditCondition + '\'' +
                ", itemIsHidden='" + itemIsHidden + '\'' +
                ", itemQtName='" + itemQtName + '\'' +
                ", itemIsRequired='" + itemIsRequired + '\'' +
                ", itemIsHttpSave='" + itemIsHttpSave + '\'' +
                ", itemHttpVolumnPath='" + itemHttpVolumnPath + '\'' +
                ", itemHttpPathField='" + itemHttpPathField + '\'' +
                ", itemRight='" + itemRight + '\'' +
                ", itemSeniorQueryCols='" + itemSeniorQueryCols + '\'' +
                ", itemSeniorQueryColsCounts='" + itemSeniorQueryColsCounts + '\'' +
                ", itemQuerySql='" + itemQuerySql + '\'' +
                ", itemSeniorQueryBOS=" + itemSeniorQueryBOS +
                ", itemHrefFields='" + itemHrefFields + '\'' +
                ", itemHrefConf='" + itemHrefConf + '\'' +
                ", itemQueryRefFields='" + itemQueryRefFields + '\'' +
                ", itemCustomClass='" + itemCustomClass + '\'' +
                ", itemCtrlDisplyCol='" + itemCtrlDisplyCol + '\'' +
                ", itemCtrlDisplyCondition='" + itemCtrlDisplyCondition + '\'' +
                ", itemIsNavigatorExpand='" + itemIsNavigatorExpand + '\'' +
                ", itemIsShowFolder='" + itemIsShowFolder + '\'' +
                ", itemParentFolderName='" + itemParentFolderName + '\'' +
                ", itemShowExpression='" + itemShowExpression + '\'' +
                ", itemDateFormat='" + itemDateFormat + '\'' +
                '}';
    }
    //    /**
//     * é«˜çº§æŸ¥è¯¢åˆ—与使用次数
//     */
//    public Map<String, Integer> getColAndUseCountMap() {
//        if(this.itemSeniorQueryCols == null || this.itemSeniorQueryColsCounts == null
//                || this.itemSeniorQueryCols.equals("") || this.itemSeniorQueryColsCounts.equals("")){
//            return null;
//        }
//        Map<String, Integer> map = new LinkedHashMap<String, Integer>();
//        String[] cols = this.itemSeniorQueryCols.split(",");
//        String[] counts = this.itemSeniorQueryColsCounts.split(",");
//        for(int i = 0; i < cols.length; i++){
//            int count = Integer.valueOf(counts[i]);
//            map.put(cols[i], count);
//        }
//        return map;
//    }
//
//    /**
//     * é«˜çº§æŸ¥è¯¢è‡ªå®šä¹‰åˆ—与查询sql
//     */
//    public Map<String, String> getCustomerColAndSql() {
//        if(this.itemSeniorQueryCols == null || this.itemQuerySql == null
//                || this.itemSeniorQueryCols.equals("") || this.itemQuerySql.equals("")){
//            return null;
//        }
//        Map<String, String> map = new LinkedHashMap<String, String>();
//        String[] cols = this.itemSeniorQueryCols.split(",");
//        String[] sqls = this.itemQuerySql.split(";");
//        for(int i = 0; i < cols.length; i++){
//            String sql = sqls[i];
//            if(sql != null && !sql.equalsIgnoreCase("NULL")){
//                map.put(cols[i], sql);
//            }
//        }
//        return map;
//    }
//
//    /**
//     * è¿”回 PRMItem å¯¹è±¡æ˜¯å¦æ˜¾ç¤º
//     * @return å¯¹è±¡æ˜¯å¦æ˜¾ç¤º  (对应表单属性定义的占位方式的显示、不显示)<p>true:显示 false:不显示</p>
//     */
//    public boolean isShow(){
//        return ("1".equalsIgnoreCase(this.getItemCols().trim()));
//    }
//    /**
//     * è¿”回 PRMItem å¯¹è±¡æ˜¯å¦æ˜¯å¿…填项
//     * @return å¯¹è±¡æ˜¯å¦æ˜¯å¿…å¡«<p>true:显必填项 false:不是必填项</p>
//     */
//    public boolean isRequired(){
//        return ("1".equalsIgnoreCase(this.getItemIsRequired().trim()));
//    }
//    /**
//     * è¿”回 PRMItem å¯¹è±¡ æ˜¯å¦å¯ä»¥ç¼–辑
//     * @return å¯¹è±¡æ˜¯å¦å¯ç¼–辑 <p>true: å¯ç¼–辑(非只读) false: ä¸å¯ç¼–辑(只读)</p>
//     */
//    public boolean isEditable(){
//        return ("0".equalsIgnoreCase(this.getItemIsEditable().trim()));
//    }
//    /**
//     * è¿”回 PRMItem å¯¹è±¡ æ˜¯å¦å¯æ˜¯åªè¯»
//     * @return å¯¹è±¡æ˜¯å¦å¯ç¼–辑 <p>true: åªè¯»(不可编辑) false: éžåªè¯»(可编辑)</p>
//     */
//    public boolean isReadonly(){
//        return !(isEditable());
//    }
}
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/PRMVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
package com.vci.pagemodel;
import java.util.List;
public class PRMVO implements   java.io.Serializable {
    private static final long serialVersionUID = -7009693016048007945L;
    private String showCols = "3";
    private String formQtName = "";
    private List<PRMItemVO> prmItemList;
    public String getShowCols() {
        return showCols;
    }
    public void setShowCols(String showCols) {
        this.showCols = showCols;
    }
    public String getFormQtName() {
        return formQtName;
    }
    public void setFormQtName(String formQtName) {
        this.formQtName = formQtName;
    }
    public List<PRMItemVO> getPrmItemList() {
        return prmItemList;
    }
    public void setPrmItemList(List<PRMItemVO> prmItemList) {
        this.prmItemList = prmItemList;
    }
    @Override
    public String toString() {
        return "PRMVO{" +
                "showCols='" + showCols + '\'' +
                ", formQtName='" + formQtName + '\'' +
                ", prmItemList=" + prmItemList +
                '}';
    }
}
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/PortalVIVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,96 @@
package com.vci.pagemodel;
/**
 *
 * è¡¨å•显示对象
 * @author xiej
 * @date 2024/08/14 6:04 PM
 */
public class PortalVIVO implements  java.io.Serializable{
    private static final long serialVersionUID = 8929303078545288873L;
    /**
     * ä¸»é”®
     */
    private String id;
    /**
     * 0: ä¸šåŠ¡ç±»åž‹; 1: é“¾æŽ¥ç±»åž‹. é»˜è®¤0
     */
    private short typeFlag;
    /**
     * ç±»åž‹å
     */
    private String typeName;
    /**
     * è§†å›¾å
     */
    private String viName;
    /**
     * è§†å›¾ç±»åž‹: è¾“入表单或分页列表
     */
    private short viType;
    /**
     * å®šä¹‰è¯¦æƒ…
     */
    private PRMVO   prm;
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public short getTypeFlag() {
        return typeFlag;
    }
    public void setTypeFlag(short typeFlag) {
        this.typeFlag = typeFlag;
    }
    public String getTypeName() {
        return typeName;
    }
    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }
    public String getViName() {
        return viName;
    }
    public void setViName(String viName) {
        this.viName = viName;
    }
    public short getViType() {
        return viType;
    }
    public void setViType(short viType) {
        this.viType = viType;
    }
    public PRMVO getPrm() {
        return prm;
    }
    public void setPrm(PRMVO prm) {
        this.prm = prm;
    }
    @Override
    public String toString() {
        return "PortalVIVO{" +
                "id='" + id + '\'' +
                ", typeFlag=" + typeFlag +
                ", typeName='" + typeName + '\'' +
                ", viName='" + viName + '\'' +
                ", viType=" + viType +
                ", prm=" + prm +
                '}';
    }
}
Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/VciBaseUtil.java
@@ -287,6 +287,28 @@
    }
    /**
     * åŽ»é™¤æœ€å‰é¢çš„spiltFilter,去除后面的spiltFilter
     * @param s å­—符串
     * @param spiltFilter,分隔符
     * @return åŽ»é™¤æœ«å°¾é€—å·
     */
    public static String removeComma(String s,String spiltFilter){
        if(s == null || s.trim().length() == 0) {
            return s;
        }
        else{
            if(s.startsWith(spiltFilter)) {
                s = s.substring(spiltFilter.length(), s.length());
            }
            if(s.endsWith(spiltFilter)) {
                s = s.substring(0, s.length() - spiltFilter.length());
            }
            return s;
        }
    }
    /**
     * ä¸ºsql中使用in时,提供转换,注意in里的值不能超过1000
     * @param s å­—符串
     * @return è¿”回sql语句
@@ -472,6 +494,21 @@
            charMap.put(String.valueOf(c), (!charMap.containsKey(String.valueOf(c))? 1 : charMap.get(String.valueOf(c)) + 1));
        }
        return charMap.get(String.valueOf(findC));
    }
    /**
     * å¸¦é€—号的字符串转为list
     * @param s å­—符串
     * @return å­—符串列表
     */
    public static List<String> str2List(String s,String spilter){
        if (isNull(s)) {
            return null;
        } else {
            List<String> l = new ArrayList<String>();
            Collections.addAll(l,removeComma(s,spilter).split(spilter));
            return l;
        }
    }
    /**
@@ -1333,6 +1370,25 @@
        }
    }
    /**
     * æ•°ç»„转换为String
     * @param array æ•°ç»„对象
     * @param spiltFiter åˆ†éš”符
     * @return é€—号链接的字符串
     */
    public static String array2String(String[] array,String spiltFiter) {
        if(null == array || array.length == 0) {
            return "";
        } else{
            String ss = "";
            for(String s : array){
                ss += s + spiltFiter;
                //1.8可以
            }
            return removeComma(ss,spiltFiter);
        }
    }
    /**
     * æ•°ç»„转换为String
     * @param array æ•°ç»„对象
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebPortalVIController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,72 @@
package com.vci.web.controller;
import com.vci.dto.PortalVIDTO;
import com.vci.pagemodel.KeyValue;
import com.vci.pagemodel.PortalVIVO;
import com.vci.starter.web.annotation.log.VciBusinessLog;
import com.vci.starter.web.pagemodel.BaseQueryObject;
import com.vci.starter.web.pagemodel.BaseResult;
import com.vci.starter.web.pagemodel.DataGrid;
import com.vci.web.enumpck.ItemDblEnum;
import com.vci.web.enumpck.ItemTypeEnum;
import com.vci.web.service.OsPortalVIServiceI;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * å…¬å¼æŽ§åˆ¶å™¨
 * @author weidy
 * @date 2022-2-11
 */
@RestController
@RequestMapping("/portalVIController")
public class WebPortalVIController {
   private OsPortalVIServiceI portalVIServiceI;
    /**
     * è¡¨å•列表
     * viType:表单类型;Form("Form", "表单", (short)1), Table("Table", "表格", (short)0);
     * viTypeFlag:    LinkType("LinkType", "链接类型的表单", (short)1), BtmType("BtmType", "业务类型的表单", (short)0);
     * @param baseQueryObject æŸ¥è¯¢æ¡ä»¶
     * @return åˆ—表的内容
     */
    @GetMapping( "/referDataGrid")
    @VciBusinessLog(operateName = "表单/表格列表")
    public DataGrid<PortalVIVO> referDataGrid(BaseQueryObject baseQueryObject){
        return portalVIServiceI.gridPortalVIVOs(baseQueryObject);
    }
    /**
     * è¡¨å•/table保存
     * @param portalVIDTO
     * @return
     */
    @PostMapping("/savePortalVI")
    @VciBusinessLog(operateName = "添加表单/表格")
    public BaseResult savePortalVI(@RequestBody PortalVIDTO portalVIDTO){
        if(StringUtils.isNotBlank(portalVIDTO.getId())){
            return portalVIServiceI.edit(portalVIDTO);
        }else{
            return portalVIServiceI.add(portalVIDTO);
        }
    }
    /**
     * èŽ·å–å±žæ€§å­—æ®µç±»åž‹
     */
    @GetMapping("/getItemTypeList")
    @VciBusinessLog(operateName = "属性字段类型")
    public BaseResult<List<KeyValue>> getItemTypeList(){
        return  BaseResult.dataList(ItemTypeEnum.getEnumAll());
    }
    /**
     * èŽ·å–è¶…é“¾æŽ¥å¼¹å‡ºæ–¹æ³•
     */
    @GetMapping("/getItemDblList")
    @VciBusinessLog(operateName = "属性字段类型")
    public BaseResult<List<KeyValue>> getItemDblList(){
        return  BaseResult.dataList(ItemDblEnum.getEnumAll());
    }
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/enumpck/ItemDblEnum.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,125 @@
package com.vci.web.enumpck;
import com.vci.pagemodel.KeyValue;
import com.vci.starter.web.enumpck.BaseEnum;
import java.util.ArrayList;
import java.util.List;
public enum ItemDblEnum implements BaseEnum {
    EDIT_PANEL("0","修改页面"),
    CUSTOM_PANEL("1","自定义页面"),
    DIALOG("2","弹出小窗口"),
    OVERLOOK("3", "忽略");
    /**
     * æžšä¸¾çš„值
     */
    private String value;
    /**
     * æžšä¸¾æ˜¾ç¤ºæ–‡æœ¬
     */
    private String text;
    /**
     * èŽ·å–æžšä¸¾å€¼
     *
     * @return æžšä¸¾å€¼
     */
    @Override
    public String getValue() {
        return value;
    }
    /**
     * è®¾ç½®æžšä¸¾å€¼
     *
     * @param value æžšä¸¾å€¼
     */
    public void setValue(String value) {
        this.value = value;
    }
    /**
     * èŽ·å–æžšä¸¾æ˜¾ç¤ºæ–‡æœ¬
     *
     * @return æ˜¾ç¤ºæ–‡æœ¬
     */
    @Override
    public String getText() {
        return text;
    }
    /**
     * è®¾ç½®æ˜¾ç¤ºæ–‡æœ¬
     *
     * @param text æ˜¾ç¤ºæ–‡æœ¬
     */
    public void setText(String text) {
        this.text = text;
    }
    ItemDblEnum(String value, String text) {
        this.value = value;
        this.text = text;
    }
    /**
     * æ ¹æ®åç§°èŽ·å–å¯¹åº”çš„æžšä¸¾å€¼
     *
     * @param text åç§°
     * @return æžšä¸¾å€¼
     */
    public static String getValueByText(String text) {
        for (ItemDblEnum wenum : ItemDblEnum.values()) {
            if (wenum.getText().equalsIgnoreCase(text)) {
                return wenum.getValue();
            }
        }
        return "";
    }
    /**
     * æ ¹æ®æžšä¸¾å€¼èŽ·å–åç§°
     *
     * @param value æžšä¸¾å€¼
     * @return åç§°
     */
    public static String getTextByValue(String value) {
        for (ItemDblEnum wenum : ItemDblEnum.values()) {
            if (wenum.getValue().equalsIgnoreCase(value)) {
                return wenum.getText();
            }
        }
        return "";
    }
    /**
     * æ ¹æ®æžšä¸¾å€¼èŽ·å–æžšä¸¾å¯¹è±¡
     *
     * @param value æžšä¸¾å€¼
     * @return æžšä¸¾å¯¹è±¡ï¼Œä¸å­˜åœ¨æ—¶å€™è¿”回null
     */
    public static ItemDblEnum forValue(String value) {
        for (ItemDblEnum wenum : ItemDblEnum.values()) {
            if (wenum.getValue().equalsIgnoreCase(value)) {
                return wenum;
            }
        }
        return null;
    }
    /**
     * æ ¹æ®æžšä¸¾å€¼èŽ·å–åç§°
     *
     * @return åç§°
     */
    public static List<KeyValue> getEnumAll() {
        List<KeyValue> enumDataList=new ArrayList<>();
        for (ItemDblEnum wenum : ItemDblEnum.values()) {
            KeyValue enumData=new KeyValue();
            enumData.setKey(wenum.value);
            enumData.setValue(wenum.text);
            enumDataList.add(enumData);
        }
        return enumDataList;
    }
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/enumpck/ItemTypeEnum.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,144 @@
package com.vci.web.enumpck;
import com.vci.pagemodel.KeyValue;
import com.vci.starter.web.enumpck.BaseEnum;
import java.util.ArrayList;
import java.util.List;
public enum ItemTypeEnum implements BaseEnum {
    TEXT("text","单行文本框"),
    TEXTBTN("textbtn","文本按钮框"),
    TEXTAREA("textarea","多行文本框"),
    RICHTEXT("richtext","富文本框"),
    NUMBER("number","数字输入框"),
    PASSWORD("password","密码框"),
    RADIO("radio","单选按钮"),
    CHECKBOX("checkbox","多选按钮"),
    SELECT("select","下拉菜单"),
    MULTISELECT("multiselect","多选下拉菜单"),
    DATE("date","日期输入框"),
    TIME("time","时间输入框"),
    DATETIME("datetime","日期时间输入框"),
    FILE("file","文件上传"),
    MULTIFILE("multiFile","多文件上传"),
    CUSTOM("custom","自定义"),
    CUSTOMFORM("customform","自定义表单"),
    HIDDEN("hidden","隐藏或普通文字"),
    WEBEDITOR("webeditor","Web编辑器"),
    SPECIALCHARACTER("specialCharacter","特殊字符");
    /**
     * æžšä¸¾çš„值
     */
    private String value;
    /**
     * æžšä¸¾æ˜¾ç¤ºæ–‡æœ¬
     */
    private String text;
    /**
     * èŽ·å–æžšä¸¾å€¼
     *
     * @return æžšä¸¾å€¼
     */
    @Override
    public String getValue() {
        return value;
    }
    /**
     * è®¾ç½®æžšä¸¾å€¼
     *
     * @param value æžšä¸¾å€¼
     */
    public void setValue(String value) {
        this.value = value;
    }
    /**
     * èŽ·å–æžšä¸¾æ˜¾ç¤ºæ–‡æœ¬
     *
     * @return æ˜¾ç¤ºæ–‡æœ¬
     */
    @Override
    public String getText() {
        return text;
    }
    /**
     * è®¾ç½®æ˜¾ç¤ºæ–‡æœ¬
     *
     * @param text æ˜¾ç¤ºæ–‡æœ¬
     */
    public void setText(String text) {
        this.text = text;
    }
    ItemTypeEnum(String value, String text) {
        this.value = value;
        this.text = text;
    }
    /**
     * æ ¹æ®åç§°èŽ·å–å¯¹åº”çš„æžšä¸¾å€¼
     *
     * @param text åç§°
     * @return æžšä¸¾å€¼
     */
    public static String getValueByText(String text) {
        for (ItemTypeEnum wenum : ItemTypeEnum.values()) {
            if (wenum.getText().equalsIgnoreCase(text)) {
                return wenum.getValue();
            }
        }
        return "";
    }
    /**
     * æ ¹æ®æžšä¸¾å€¼èŽ·å–åç§°
     *
     * @param value æžšä¸¾å€¼
     * @return åç§°
     */
    public static String getTextByValue(String value) {
        for (ItemTypeEnum wenum : ItemTypeEnum.values()) {
            if (wenum.getValue().equalsIgnoreCase(value)) {
                return wenum.getText();
            }
        }
        return "";
    }
    /**
     * æ ¹æ®æžšä¸¾å€¼èŽ·å–æžšä¸¾å¯¹è±¡
     *
     * @param value æžšä¸¾å€¼
     * @return æžšä¸¾å¯¹è±¡ï¼Œä¸å­˜åœ¨æ—¶å€™è¿”回null
     */
    public static ItemTypeEnum forValue(String value) {
        for (ItemTypeEnum wenum : ItemTypeEnum.values()) {
            if (wenum.getValue().equalsIgnoreCase(value)) {
                return wenum;
            }
        }
        return null;
    }
    /**
     * æ ¹æ®æžšä¸¾å€¼èŽ·å–åç§°
     *
     * @return åç§°
     */
    public static List<KeyValue> getEnumAll() {
        List<KeyValue> enumDataList=new ArrayList<>();
        for (ItemTypeEnum wenum : ItemTypeEnum.values()) {
            KeyValue enumData=new KeyValue();
            enumData.setKey(wenum.value);
            enumData.setValue(wenum.text);
            enumDataList.add(enumData);
        }
        return enumDataList;
    }
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/enumpck/PortalVIType.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,85 @@
package com.vci.web.enumpck;
import com.vci.common.portal.enums.GetByType;
/**
 * è¡¨å•类型
 * @author xiej
 *
 */
public enum PortalVIType {
    Form("Form", "表单", (short)1),
    Table("Table", "表格", (short)0);
    private String name = "";
    private String label = "";
    private short intVal = 1;
    private PortalVIType(String name, String label, short intVal){
        this.name = name;
        this.label = label;
        this.intVal = intVal;
    }
    public static PortalVIType getByName(String name){
        PortalVIType res = getByType(GetByType.Name, name);
        return res;
    }
    public static PortalVIType getByLabel(String label){
        PortalVIType res = getByType(GetByType.Label, label);
        return res;
    }
    public static PortalVIType getByIntVal(int intVal){
        PortalVIType res = getByType(GetByType.IntVal, String.valueOf(intVal));
        return res;
    }
    public static PortalVIType getByType(GetByType type, String val){
        PortalVIType[] alls = getAll();
        PortalVIType res = null;
        for(PortalVIType obj : alls){
            if(type == GetByType.Name && obj.getName().equalsIgnoreCase(val)){
                res = obj;
                break;
            } else if(type  == GetByType.Label && obj.getLabel().equalsIgnoreCase(val)){
                res = obj;
                break;
            } else if(type  == GetByType.IntVal && String.valueOf(obj.getIntVal()).equalsIgnoreCase(val)){
                res = obj;
                break;
            }
        }
        return res;
    }
    public static PortalVIType[] getAll(){
        return PortalVIType.values();
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getLabel() {
        return label;
    }
    public void setLabel(String label) {
        this.label = label;
    }
    public short getIntVal() {
        return intVal;
    }
    public void setIntVal(short intVal) {
        this.intVal = intVal;
    }
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/enumpck/PortalVITypeFlag.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,85 @@
package com.vci.web.enumpck;
import com.vci.common.portal.enums.GetByType;
/**
 * è¡¨å•标记类型
 * @author xiej
 *
 */
public enum PortalVITypeFlag {
    LinkType("LinkType", "链接类型的表单", (short)1),
    BtmType("BtmType", "业务类型的表单", (short)0);
    private String name = "";
    private String label = "";
    private short intVal = 1;
    private PortalVITypeFlag(String name, String label, short intVal){
        this.name = name;
        this.label = label;
        this.intVal = intVal;
    }
    public static PortalVITypeFlag getByName(String name){
        PortalVITypeFlag res = getByType(GetByType.Name, name);
        return res;
    }
    public static PortalVITypeFlag getByLabel(String label){
        PortalVITypeFlag res = getByType(GetByType.Label, label);
        return res;
    }
    public static PortalVITypeFlag getByIntVal(int intVal){
        PortalVITypeFlag res = getByType(GetByType.IntVal, String.valueOf(intVal));
        return res;
    }
    public static PortalVITypeFlag getByType(GetByType type, String val){
        PortalVITypeFlag[] alls = getAll();
        PortalVITypeFlag res = null;
        for(PortalVITypeFlag obj : alls){
            if(type == GetByType.Name && obj.getName().equalsIgnoreCase(val)){
                res = obj;
                break;
            } else if(type  == GetByType.Label && obj.getLabel().equalsIgnoreCase(val)){
                res = obj;
                break;
            } else if(type  == GetByType.IntVal && String.valueOf(obj.getIntVal()).equalsIgnoreCase(val)){
                res = obj;
                break;
            }
        }
        return res;
    }
    public static PortalVITypeFlag[] getAll(){
        return PortalVITypeFlag.values();
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getLabel() {
        return label;
    }
    public void setLabel(String label) {
        this.label = label;
    }
    public short getIntVal() {
        return intVal;
    }
    public void setIntVal(short intVal) {
        this.intVal = intVal;
    }
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsBaseServiceI.java
@@ -123,7 +123,9 @@
            pageHelper = new PageHelper(-1);
        }
        //有需要转换的属性
        pageHelper.addDefaultAsc("name");
        if(StringUtils.isBlank(pageHelper.getSort()) && StringUtils.isBlank(pageHelper.getOrder())) {//如果没有设置排序字段,则默认一个
            pageHelper.addDefaultAsc("name");
        }
        VciQueryWrapperForDO queryWrapperForDO = new VciQueryWrapperForDO(baseQueryObject.getConditionMap(), tClass,pageHelper);
        queryWrapperForDO.setConditionMap(queryWrapperForDO.switchConditionMap());
        queryWrapperForDO.wrapperSql();
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsPortalVIServiceI.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,79 @@
package com.vci.web.service;
import com.vci.corba.portal.data.PortalVI;
import com.vci.dto.PortalVIDTO;
import com.vci.pagemodel.PortalVIVO;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.BaseQueryObject;
import com.vci.starter.web.pagemodel.BaseResult;
import com.vci.starter.web.pagemodel.DataGrid;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
 * è¡¨å•/表格服务
 * @author weidy
 * @date 2021-2-14
 */
public interface OsPortalVIServiceI extends OsBaseServiceI{
    /**
     * è¡¨å•/表格的列表
     * @param baseQueryObject æŸ¥è¯¢å¯¹è±¡
     * @return é“¾æŽ¥ç±»åž‹çš„æ˜¾ç¤ºå¯¹è±¡
     */
    DataGrid<PortalVIVO> gridPortalVIVOs(BaseQueryObject baseQueryObject);
    /***
     * æ·»åŠ è¡¨å•/表格
     * @param portalVIDTO
     * @return
     * @throws VciBaseException
     */
    BaseResult add(PortalVIDTO portalVIDTO) throws VciBaseException;
    /***
     * æ›´æ”¹è¡¨å•/表格
     * @param portalVIDTO
     * @return
     * @throws VciBaseException
     */
    BaseResult edit(PortalVIDTO portalVIDTO) throws VciBaseException;
    /**
     *查询所有表单或者表格
     * @return key æ˜¯ç”Ÿå‘½å‘¨æœŸçš„编号的英文小写
     * @throws VciBaseException æŸ¥è¯¢çš„æ—¶å€™å‡ºé”™ä¼šæŠ›å‡ºå¼‚常
     */
    Map<String, PortalVIVO> selectAllPortalVIMap() throws VciBaseException;
    /**
     * è¡¨å•的数据对象转换为显示对象
     * @param portalVIS æžšä¸¾çš„对象
     * @return æ˜¾ç¤ºå¯¹è±¡
     */
    List<PortalVIVO> portalVIDOO2VOS(Collection<PortalVI> portalVIS);
    /**
     * è¡¨å•的数据对象转换为显示对象
     * @param portalVI æ•°æ®å¯¹è±¡
     * @return æ˜¾ç¤ºå¯¹è±¡
     */
    PortalVIVO portalVIDOO2VO(PortalVI portalVI);
    /***
     * DTO转成PortalVI
     * @param portalVIDTOS
     * @return
     */
    public List<PortalVI> portalVIDTOO2VIS(Collection<PortalVIDTO> portalVIDTOS);
    /***
     * DTO转成PortalVI
     * @param portalVIDTO
     * @return
     */
    public   PortalVI portalVIDTOO2VI(PortalVIDTO portalVIDTO);
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,627 @@
package com.vci.web.service.impl;
import com.vci.bo.ItemSeniorQueryBO;
import com.vci.common.utility.ObjectUtility;
import com.vci.corba.common.PLException;
import com.vci.corba.portal.PortalService.GetPagePortalVIArrayByPageInfoResult;
import com.vci.corba.portal.data.PortalVI;
import com.vci.dto.PRMDTO;
import com.vci.dto.PRMItemDTO;
import com.vci.dto.PortalVIDTO;
import com.vci.model.*;
import com.vci.pagemodel.*;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.BaseQueryObject;
import com.vci.starter.web.pagemodel.BaseResult;
import com.vci.starter.web.pagemodel.DataGrid;
import com.vci.starter.web.util.VciBaseUtil;
import com.vci.web.enumpck.ItemTypeEnum;
import com.vci.web.enumpck.PortalVIType;
import com.vci.web.enumpck.PortalVITypeFlag;
import com.vci.web.service.OsPortalVIServiceI;
import com.vci.web.util.PlatformClientUtil;
import com.vci.web.util.UITools;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collectors;
/*
  * é“¾æŽ¥ç±»åž‹æœåŠ¡
 * @author xiej
 * @date 2024-08-14
*/
@Service
public class OsPortalVIServiceImpl implements OsPortalVIServiceI  {
    /**
     * åŠ è½½è‡ªèº«
     */
    @Autowired(required = false)
    @Lazy
    private OsPortalVIServiceI self;
    /**
     * å¹³å°çš„调用工具类
     */
    @Autowired
    private PlatformClientUtil platformClientUtil;
    @Override
    public void clearCache() {
    }
    /**
     * viType :Form("Form", "表单", (short)1), Table("Table", "表格", (short)0);
     * viTypeFlag:    LinkType("LinkType", "链接类型的表单", (short)1), BtmType("BtmType", "业务类型的表单", (short)0);
     * @param baseQueryObject æŸ¥è¯¢å¯¹è±¡
     * @return
     */
    @Override
    public DataGrid<PortalVIVO> gridPortalVIVOs(BaseQueryObject baseQueryObject) {
        Map<String, String> conditionMap=  baseQueryObject.getConditionMap();
        if(conditionMap==null){
            conditionMap=new HashMap<>();
        }
       String typeName=StringUtils.isBlank(conditionMap.get("typeName"))?"":conditionMap.get("typeName");
        if(StringUtils.isBlank(typeName)){
            return new DataGrid<>("没有选择业务类型");
        }
        String viName=StringUtils.isBlank(conditionMap.get("viName"))?"":conditionMap.get("viName");
        String viTypeLabel=StringUtils.isBlank(conditionMap.get("viType"))?"":conditionMap.get("viType");
        PortalVIType  portalVIType= PortalVIType.getByLabel(viTypeLabel);
        Short viType=-1;
        if(portalVIType!=null){
            viType=portalVIType.getIntVal();
        }
        String viTypeFlagLabel=StringUtils.isBlank(conditionMap.get("viTypeFlag"))?"":conditionMap.get("viTypeFlag");
        PortalVITypeFlag portalVITypeFlag= PortalVITypeFlag.getByLabel(viTypeFlagLabel);
        Short viTypeFlag=-1;
        if(portalVITypeFlag!=null){
            viTypeFlag=portalVITypeFlag.getIntVal();
        }
        long pageIndex=baseQueryObject.getPage();
        long pageSize=baseQueryObject.getLimit();
        DataGrid<PortalVIVO> dataGrid = new DataGrid<>();
        try {
            GetPagePortalVIArrayByPageInfoResult pagePortalVIArrayByPageInfoResult= platformClientUtil.getPortalService().getPagePortalVIArrayByPageInfo(typeName,viName,viType,viTypeFlag,pageIndex,pageSize);
            if(pagePortalVIArrayByPageInfoResult.total>0) {
                PortalVI[] portalVIS = pagePortalVIArrayByPageInfoResult.returnValue;
                List<PortalVIVO> portalVIVOS=  portalVIDOO2VOS(Arrays.asList(portalVIS));
                dataGrid.setData(portalVIVOS);
                dataGrid.setTotal(pagePortalVIArrayByPageInfoResult.total);
            }else{
                dataGrid = new DataGrid<>("沒有查询到数据");
            }
        } catch (PLException e) {
            e.printStackTrace();
            dataGrid = new DataGrid<>("沒有表单出现异常:"+e.getMessage());
        }
        return dataGrid;
    }
    /***
     * è¡¨å•/表格添加
     * @param portalVIDTO
     * @return
     * @throws PLException
     */
    @Override
    public BaseResult add(PortalVIDTO portalVIDTO) throws VciBaseException {
        return  savePortalVIDTO(portalVIDTO,false);
    }
    /***
     * è¡¨å•/表格更改
     * @param portalVIDTO
     * @return
     * @throws PLException
     */
    @Override
    public BaseResult edit(PortalVIDTO portalVIDTO) throws VciBaseException {
        return  savePortalVIDTO(portalVIDTO,true);
    }
    private BaseResult savePortalVIDTO(PortalVIDTO portalVIDTO,boolean isEdit)  {
        boolean _isBtm=false;
        boolean flag = false;
        String labelName=PortalVIType.Form.getName();
        try {
            VciBaseUtil.alertNotNull(portalVIDTO.getViName(),"名称不能为空!");
            if(portalVIDTO.getPrm()==null||portalVIDTO.getPrm().getPrmItemList()==null||portalVIDTO.getPrm().getPrmItemList().size()==0){
                throw  new Throwable(labelName+",未设置");
            }
            if(PortalVIType.Table.getIntVal()==portalVIDTO.getViType()){//如果是表格的的校验
                labelName=PortalVIType.Table.getName();
                PRMItemDTO prmItemDTO=  portalVIDTO.getPrm().getPrmItemList().get(0);
                //每页显示校验
                String rtnContent = isCorrectPageNums(prmItemDTO.getItemPageSize());
                if (StringUtils.isNotBlank(rtnContent)) {
                   throw new VciBaseException(rtnContent);
                }
            }else{
            }
            labelName= PortalVIType.getByIntVal(portalVIDTO.getViType()).getLabel();
            if(!_isBtm){
                PortalVI[] portalVIS=  platformClientUtil.getPortalService().getPortalVIArrayByTypeName(portalVIDTO.getTypeName());
                for (int i = 0; i < portalVIS.length; i++) {
                    PortalVI portalVI=  portalVIS[i];
                   String viName= portalVI.viName;
                   if(isEdit){//如果为修改
                       try {
                           PortalVI oldPortalVI= platformClientUtil.getPortalService().getPortalVIById(portalVIDTO.getId());
                           flag=platformClientUtil.getPortalService().judgeUpdateButton(oldPortalVI.typeFlag, oldPortalVI.viName, oldPortalVI.typeName);
                           if (flag && (StringUtils.isNotBlank(portalVIDTO.getViName()))&&(!oldPortalVI.viName.equals(portalVIDTO.getViName()))) {
                               throw  new Throwable("该"+labelName+"已经被引用,不能修改名称!");
                           }
                       } catch (PLException e) {
                           throw  new Throwable("查询");
                       }
                       if (!portalVI.id.equals(portalVIDTO.getId())) {
                           if (portalVI.viName.equals(portalVIDTO.getViName())) {
                               throw  new Throwable("名称已经存在!");
                           }
                       }
                   } else {
                       portalVIDTO.setId(ObjectUtility.getNewObjectID36());
                       if (portalVI.viName.equals(portalVIDTO.getViName())) {
                           throw  new Throwable("名称已经存在!");
                       }
                   }
                }
            }else{
                flag=platformClientUtil.getPortalService().judgeUpdateButton(portalVIDTO.getTypeFlag(), portalVIDTO.getViName(), portalVIDTO.getTypeName());
            }
            flag=  saveForm(portalVIDTO,isEdit);
            if(flag){
                return  BaseResult.success("保存"+labelName+"成功!");
            }else{
                new Throwable("保存"+labelName+"失败!");
            }
        } catch (Throwable e) {
           // throw new VciBaseException("保存表单出现异常:"+e.getMessage());
          return    BaseResult.fail("保存"+labelName+"出现异常:"+e.getMessage());
        }
        return  BaseResult.success("保存"+labelName+"成功!");
    }
    /**
     * è¡¨å•/表格
     * @param portalVIDTO
     * @param isEdit
     * @return
     */
    private boolean saveForm(PortalVIDTO portalVIDTO,boolean isEdit) {
        List<PRMItemDO> prmItemList = new ArrayList<PRMItemDO>();
        try {
            PortalVI pvi=portalVIDTOO2VI(portalVIDTO);
            boolean res=false;
            if (!isEdit) {
                res= platformClientUtil.getPortalService().savePortalVI(pvi);
            } else {
                res= platformClientUtil.getPortalService().updatePortalVI(pvi);
            }
            return res;
        } catch (Throwable e) {
             e.printStackTrace();
                return false;
        }
    }
    @Override
    public Map<String, PortalVIVO> selectAllPortalVIMap() throws VciBaseException {
        return null;
    }
    /**
     * åˆ¤æ–­æ¯é¡µè¡Œæ•°å®šä¹‰æ˜¯å¦æ­£ç¡®
     * @Title        :isCorrectPageNums
     * @Description    :
     * @param pageText
     * @return
     */
    protected String isCorrectPageNums(String pageText) {
        if (pageText == null || pageText.trim().equals("")) {
            return "";
        }
        //edit by guo当每页行数中不止一个选项时,需要填写默认的显示条数,且默认的应该存在于选项中。
        if(pageText.indexOf(",")!=-1){
            try {
                String[] pages = pageText.split(",");
                int index = pageText.indexOf("#");
                String subpageText1 = pageText.substring(0, index);
                String subpageText2 = pageText.substring(index+1);
                if(subpageText1.contains(subpageText2)){
                    for (String page : pages) {
                        //if(!page.equalsIgnoreCase("all")){
                        if(page.contains("#")){
                            index = page.indexOf("#");
                            page = page.substring(0, index);
                        }
                        Integer.parseInt(page);
                        //}
                    }
                } else {
                    return "输入页数不符合规范,请参照文本框提示再重新填写!";
                }
            }
            catch (Exception e) {
                return "输入页数不符合规范,请参照文本框提示再重新填写!";
            }
        }else {
            try {
                Integer.parseInt(pageText);
            } catch (Exception e) {
                return "输入页数不符合规范,请参照文本框提示重新填写!";
            }
        }
        return "";
    }
    /**
     * æžšä¸¾çš„æ•°æ®å¯¹è±¡è½¬æ¢ä¸ºæ˜¾ç¤ºå¯¹è±¡
     *
     * @param portalVIS æžšä¸¾çš„对象
     * @return æ˜¾ç¤ºå¯¹è±¡
     */
    @Override
    public List<PortalVIVO> portalVIDOO2VOS(Collection<PortalVI> portalVIS) {
        List<PortalVIVO> portalVIVOS = new ArrayList<>();
        Optional.ofNullable(portalVIS).orElseGet(()->new ArrayList<>()).stream().forEach(portalVI -> {
            PortalVIVO portalVIVO = portalVIDOO2VO(portalVI);
            portalVIVOS.add(portalVIVO);
        });
        return portalVIVOS;
    }
    /**
     * è¡¨å•的数据对象转换为显示对象
     * @param portalVIDTOS è¡¨å•的对象
     * @return æ˜¾ç¤ºå¯¹è±¡
     */
    @Override
    public List<PortalVI> portalVIDTOO2VIS(Collection<PortalVIDTO> portalVIDTOS) {
        List<PortalVI> portalVIS = new ArrayList<>();
        Optional.ofNullable(portalVIDTOS).orElseGet(()->new ArrayList<>()).stream().forEach(portalVIDTO -> {
            PortalVI portalVI = portalVIDTOO2VI(portalVIDTO);
            portalVIS.add(portalVI);
        });
        return portalVIS;
    }
    /**
     * è¡¨å•的数据对象转换为显示对象
     * @param portalVIDTO
     * @return
     */
    @Override
    public  PortalVI portalVIDTOO2VI(PortalVIDTO portalVIDTO) {
        PortalVI portalVI=new PortalVI();
        portalVI.id=portalVIDTO.getId();
        portalVI.typeFlag= portalVIDTO.getTypeFlag();
        portalVI.typeName=portalVIDTO.getTypeName();
        portalVI.viName=portalVIDTO.getViName();
        portalVI.viType=portalVIDTO.getViType();
        short viType =portalVIDTO.getViType();
        PRMDO prmdo = prmDOO2VIS(portalVIDTO.getPrm(),viType);
        try {
            portalVI.prm=UITools.getPRMText(prmdo);
        } catch (Throwable e) {
            e.printStackTrace();
        }
        return portalVI;
    }
    /**
     * è¡¨å•数据对象转换
     * @param prmdto
     * @param viType
     * @return
     */
    private PRMDO prmDOO2VIS(PRMDTO prmdto, short viType) {
        PRMDO prmdo=new PRMDO();
        prmdo.setShowCols(prmdto.getShowCols());
        prmdo.setFormQtName(prmdto.getFormQtName());
        prmdo.setPrmItemList(pRMItemDTOO2DOS(prmdto.getPrmItemList(),viType));
        return  prmdo;
    }
    @Override
    public  PortalVIVO portalVIDOO2VO(PortalVI portalVI) {
        PortalVIVO portalVIVO=new PortalVIVO();
        portalVIVO.setId(portalVI.id);
        portalVIVO.setTypeFlag(portalVI.typeFlag);
        portalVIVO.setTypeName(portalVI.typeName);
        portalVIVO.setViName(portalVI.viName);
        portalVIVO.setViType(portalVI.viType);
        String  prm= portalVI.prm;
        PRMDO prmdo= UITools.getPRM(prm);
        portalVIVO.setPrm(prmDOO2VOS(prmdo,portalVI.viType));
        return portalVIVO;
    }
    private PRMVO prmDOO2VOS(PRMDO prmdo,short viType){
        PRMVO prmvo=new PRMVO();
        prmvo.setFormQtName(prmdo.getFormQtName());
        prmvo.setShowCols(prmdo.getShowCols());
        List<PRMItemDO> prmItemDOS= prmdo.getPrmItemList();
        prmvo.setPrmItemList(pRMItemDOO2VOS(prmItemDOS,viType));
        return prmvo;
    }
    public List<PRMItemVO> pRMItemDOO2VOS(Collection<PRMItemDO> prmItemDOS,short viType) {
        List<PRMItemVO> portalVIVOS = new ArrayList<>();
        Optional.ofNullable(prmItemDOS).orElseGet(()->new ArrayList<>()).stream().forEach(prmItemDO -> {
            PRMItemVO prmItemVO = pRMItemDOO2VO(prmItemDO,viType);
            portalVIVOS.add(prmItemVO);
        });
        return portalVIVOS;
    }
    public List<PRMItemDO> pRMItemDTOO2DOS(Collection<PRMItemDTO> prmItemDTOS,short viType) {
        List<PRMItemDO> portalVIVOS = new ArrayList<>();
        Optional.ofNullable(prmItemDTOS).orElseGet(()->new ArrayList<>()).stream().forEach(PRMItemDTO -> {
            PRMItemDO PRMItemDO = pRMItemDTOO2DO(PRMItemDTO,viType);
            portalVIVOS.add(PRMItemDO);
        });
        return portalVIVOS;
    }
    /**
     * æ•°æ®å¯¹è±¡è½¬æ¢
     * @param prmItemDTO æ•°æ®å¯¹è±¡
     * @param viType è¡¨å•类型
     * @return
     */
    private PRMItemDO pRMItemDTOO2DO(PRMItemDTO prmItemDTO,short viType) {
        PRMItemDO prmItemDO=new PRMItemDO();
        prmItemDO.setItemBat(prmItemDTO.getItemBat());
        prmItemDO.setItemCols(prmItemDTO.getItemCols());
        prmItemDO.setItemEQ(prmItemDTO.getItemEQ());
        prmItemDO.setItemDbl(prmItemDTO.getItemDbl());
        prmItemDO.setItemCut(prmItemDTO.getItemCut());
        prmItemDO.setItemOR(prmItemDTO.getItemOR());
        prmItemDO.setItemAddFilter(prmItemDTO.getItemAddFilter());
        prmItemDO.setItemField(prmItemDTO.getItemField());
        prmItemDO.setItemImgWH(prmItemDTO.getItemImgWH());
        prmItemDO.setItemCtrlDisplyCol(prmItemDTO.getItemCtrlDisplyCol());//控制显示列
        prmItemDO.setItemDateFormat(prmItemDTO.getItemDateFormat());// æ•°æ®ä¸ºæ—¥æœŸç±»åž‹æ—¶çš„æ ¼å¼åŒ–字符串 å¦‚ yyyy-MM-dd HH:mm:ss
        prmItemDO.setItemInObj(prmItemDTO.getItemInObj());
        prmItemDO.setItemName(prmItemDTO.getItemName());
        prmItemDO.setItemCustomClass(prmItemDTO.getItemCustomClass());//自定义类路径
        prmItemDO.setItemIsHidden(prmItemDTO.getItemIsHidden());
        prmItemDO.setItemIsEditable(prmItemDTO.getItemIsEditable());
        prmItemDO.setItemIsRequired(prmItemDTO.getItemIsRequired());
        prmItemDO.setItemFieldWidth(prmItemDTO.getItemFieldWidth());
        prmItemDO.setItemTxf(prmItemDTO.getItemTxf());
        prmItemDO.setItemRows(prmItemDTO.getItemRows());
        prmItemDO.setItemHrefConf(prmItemDO.getItemHrefConf());//超链接配置
        prmItemDO.setItemTips(prmItemDTO.getItemTips());
        prmItemDO.setItemTrim(prmItemDTO.getItemTrim());
        prmItemDO.setItemDateFormat(prmItemDTO.getItemDateFormat());
        prmItemDO.setItemCtrlDisplyCondition(prmItemDTO.getItemCtrlDisplyCondition());////控制显示条件
        prmItemDO.setItemEditableProgram(prmItemDTO.getItemEditableProgram());
        prmItemDO.setItemEditCondition(prmItemDTO.getItemEditCondition());
        prmItemDO.setItemHrefFields(prmItemDTO.getItemHrefFields());//超链接字段
        prmItemDO.setItemValueList(prmItemDTO.getItemValueList());
        prmItemDO.setItemValue(prmItemDTO.getItemValue());
        prmItemDO.setItemStyle(prmItemDTO.getItemStyle());
        prmItemDO.setItemShowExpression(prmItemDTO.getItemShowExpression());// æ˜¾ç¤ºè¡¨è¾¾å¼ ${aa}-${bb}
        prmItemDO.setItemSeniorQueryColsCounts(prmItemDTO.getItemSeniorQueryColsCounts());//高级查询各列使用次数
        prmItemDO.setItemType(prmItemDTO.getItemType());
        prmItemDO.setItemScript(prmItemDTO.getItemScript());
        prmItemDO.setItemRight(prmItemDTO.getItemRight());
        prmItemDO.setItemQuerySql(prmItemDTO.getItemQuerySql());
        prmItemDO.setItemQueryRefFields(prmItemDTO.getItemQueryRefFields());//查询关联列
        prmItemDO.setItemQtName(prmItemDTO.getItemQtName());//末班名称
        prmItemDO.setItemParentFolderName(prmItemDTO.getItemParentFolderName());//父文件夹名称
        prmItemDO.setItemPageSize(prmItemDTO.getItemPageSize());
        prmItemDO.setItemOutType(prmItemDTO.getItemOutType());
        prmItemDO.setItemOutFields(prmItemDTO.getItemOutFields());
        prmItemDO.setItemListVal(prmItemDTO.getItemListVal());
        prmItemDO.setItemListTxt(prmItemDTO.getItemListTxt());
        prmItemDO.setItemListTable(prmItemDTO.getItemListTable());
        prmItemDO.setItemKeyFields(prmItemDTO.getItemKeyFields());
        prmItemDO.setItemIsShowFolder(prmItemDTO.getItemIsShowFolder());//是否显示文件夹
        prmItemDO.setItemIsNavigatorExpand(prmItemDTO.getItemIsNavigatorExpand());////查询区域显示控制
        prmItemDO.setItemIsHttpSave(prmItemDTO.getItemIsHttpSave());
        prmItemDO.setItemHttpVolumnPath(prmItemDTO.getItemHttpVolumnPath());
        prmItemDO.setItemHttpPathField(prmItemDTO.getItemHttpPathField());
        if(viType==PortalVIType.Table.getIntVal()) {//如果是表格
            initTableConfigDTOO2DOData(prmItemDO,prmItemDTO);
        }
        return prmItemDO;
    }
    /**
     * PRMItemDO è½¬ PRMItemVO
     * @param prmItemDO
     * @param viType
     * @return
     */
    private PRMItemVO pRMItemDOO2VO(PRMItemDO prmItemDO,short viType) {
        PRMItemVO prmItemVO=new PRMItemVO();
        prmItemVO.setItemBat(prmItemDO.getItemBat());
        prmItemVO.setItemCols(prmItemDO.getItemCols());
        prmItemVO.setItemEQ(prmItemDO.getItemEQ());
        prmItemVO.setItemDbl(prmItemDO.getItemDbl());
        prmItemVO.setItemCut(prmItemDO.getItemCut());
        prmItemVO.setItemOR(prmItemDO.getItemOR());
        prmItemVO.setItemAddFilter(prmItemDO.getItemAddFilter());
        prmItemVO.setItemField(prmItemDO.getItemField());
        prmItemVO.setItemImgWH(prmItemDO.getItemImgWH());
        prmItemVO.setItemCtrlDisplyCol(prmItemDO.getItemCtrlDisplyCol());//控制显示列
        prmItemVO.setItemDateFormat(prmItemDO.getItemDateFormat());// æ•°æ®ä¸ºæ—¥æœŸç±»åž‹æ—¶çš„æ ¼å¼åŒ–字符串 å¦‚ yyyy-MM-dd HH:mm:ss
        prmItemVO.setItemInObj(prmItemDO.getItemInObj());
        prmItemVO.setItemName(prmItemDO.getItemName());
        prmItemVO.setItemCustomClass(prmItemDO.getItemCustomClass());//自定义类路径
        prmItemVO.setItemIsHidden(prmItemDO.getItemIsHidden());
        prmItemVO.setItemIsEditable(prmItemDO.getItemIsEditable());
        prmItemVO.setItemIsRequired(prmItemDO.getItemIsRequired());
        prmItemVO.setItemFieldWidth(prmItemDO.getItemFieldWidth());
        prmItemVO.setItemTxf(prmItemDO.getItemTxf());
        prmItemVO.setItemRows(prmItemDO.getItemRows());
        prmItemVO.setItemHrefConf(prmItemDO.getItemHrefConf());//超链接配置
        prmItemVO.setItemTips(prmItemDO.getItemTips());
        prmItemVO.setItemTrim(prmItemDO.getItemTrim());
        prmItemVO.setItemDateFormat(prmItemDO.getItemDateFormat());
        prmItemVO.setItemCtrlDisplyCondition(prmItemDO.getItemCtrlDisplyCondition());////控制显示条件
        prmItemVO.setItemEditableProgram(prmItemDO.getItemEditableProgram());
        prmItemVO.setItemEditCondition(prmItemDO.getItemEditCondition());
        prmItemVO.setItemHrefFields(prmItemDO.getItemHrefFields());//超链接字段
        prmItemVO.setItemValueList(prmItemDO.getItemValueList());
        prmItemVO.setItemValue(prmItemDO.getItemValue());
        prmItemVO.setItemStyle(prmItemDO.getItemStyle());
        prmItemVO.setItemShowExpression(prmItemDO.getItemShowExpression());// æ˜¾ç¤ºè¡¨è¾¾å¼ ${aa}-${bb}
        prmItemVO.setItemSeniorQueryColsCounts(prmItemDO.getItemSeniorQueryColsCounts());//高级查询各列使用次数
        prmItemVO.setItemQuerySql(prmItemDO.getItemQuerySql());//高级查询sql
        prmItemVO.setItemType(prmItemDO.getItemType());//属性基本类型
        prmItemVO.setItemTypeText(ItemTypeEnum.getTextByValue(prmItemDO.getItemType()));//属性基本类型显示值
        prmItemVO.setItemScript(prmItemDO.getItemScript());
        prmItemVO.setItemRight(prmItemDO.getItemRight());
        prmItemVO.setItemQueryRefFields(prmItemDO.getItemQueryRefFields());//查询关联列
        prmItemVO.setItemQtName(prmItemDO.getItemQtName());
        prmItemVO.setItemParentFolderName(prmItemDO.getItemParentFolderName());//父文件夹名称
        prmItemVO.setItemPageSize(prmItemDO.getItemPageSize());
        prmItemVO.setItemOutType(prmItemDO.getItemOutType());
        prmItemVO.setItemOutFields(prmItemDO.getItemOutFields());
        prmItemVO.setItemListVal(prmItemDO.getItemListVal());//参照值
        prmItemVO.setItemListTxt(prmItemDO.getItemListTxt());
        prmItemVO.setItemListTable(prmItemDO.getItemListTable());
        prmItemVO.setItemKeyFields(prmItemDO.getItemKeyFields());
        prmItemVO.setItemIsShowFolder(prmItemDO.getItemIsShowFolder());//是否显示文件夹
        prmItemVO.setItemIsNavigatorExpand(prmItemDO.getItemIsNavigatorExpand());////查询区域显示控制
        prmItemVO.setItemIsHttpSave(prmItemDO.getItemIsHttpSave());
        prmItemVO.setItemHttpVolumnPath(prmItemDO.getItemHttpVolumnPath());
        prmItemVO.setItemHttpPathField(prmItemDO.getItemHttpPathField());
        if(viType==PortalVIType.Table.getIntVal()) {//如果是表格
            initTableConfigDOO2VOData(prmItemVO,prmItemDO);
        }
        return prmItemVO;
    }
    /**
     * åˆå§‹åŒ–表格所用特殊字段配置
     * @param prmItemVO
     * @param prmItemDO
     */
    private void initTableConfigDOO2VOData(PRMItemVO prmItemVO,PRMItemDO prmItemDO){
        prmItemVO.setItemFieldWidthList(initItemFieldWidthList(prmItemDO.getItemOutFields(),prmItemDO.getItemFieldWidth()));//列显示宽段 itemOutFieldList ç›¸åŒ¹é…
        prmItemVO.setItemSeniorQueryBOS(initItemSeniorQueryBOData(prmItemDO.getItemSeniorQueryCols(),prmItemDO.getItemSeniorQueryColsCounts(),prmItemDO.getItemQuerySql()));//高级查询对象
        List<String> allKeyList= getRefFormVIName(prmItemVO.getItemInObj());
        List<String> itemOutFieldList =VciBaseUtil.str2List(prmItemVO.getItemOutFields());
        List<String> itemKeyFieldList =VciBaseUtil.str2List(prmItemVO.getItemKeyFields());
        List<String> itemSelectoutFieldList= allKeyList.stream().filter(s ->!itemOutFieldList.stream().map(s1 -> s1).collect(Collectors.toList()).contains(s) ).collect(Collectors.toList());
        prmItemVO.setItemSelectoutFieldList(itemSelectoutFieldList);//待选择的属性字段
        prmItemVO.setItemOutFieldList(itemOutFieldList);//需要使用的集合
        List<String> itemSearchFieldList= itemOutFieldList.stream().filter(s ->!itemKeyFieldList.stream().map(s1 -> s1).collect(Collectors.toList()).contains(s) ).collect(Collectors.toList());
        prmItemVO.setItemSearchFieldList(itemSearchFieldList);//待搜索字段
        prmItemVO.setItemKeyFieldList(itemKeyFieldList);//搜索字段
    }
    /**
     * åˆå§‹åŒ–表格所用特殊字段配置
     * @param prmItemDTO
     * @param prmItemDO
     */
    private void initTableConfigDTOO2DOData(PRMItemDO prmItemDO,PRMItemDTO prmItemDTO){
        prmItemDO.setItemOutFields(VciBaseUtil.array2String(prmItemDTO.getItemOutFieldList().toArray(new String[]{})));//需要使用的字段
        prmItemDO.setItemKeyFields(VciBaseUtil.array2String(prmItemDTO.getItemKeyFieldList().toArray(new String[]{})));//需要搜索的字段
       List<String> newItemFieldWidthList=prmItemDTO.getItemFieldWidthList().stream().map(KeyValue::getValue).distinct().collect(Collectors.toList());
       prmItemDO.setItemFieldWidth(VciBaseUtil.array2String(newItemFieldWidthList.toArray(new String[]{}),":"));//字段宽度
       List<ItemSeniorQueryBO> itemSeniorQueryBOS=  prmItemDTO.getItemSeniorQueryBOS();
       List<String> itemSeniorQueryColsList=new ArrayList<>();
       List<String> itemSeniorQueryColsCountsList=new ArrayList<>();
       List<String> itemQuerySqlList=new ArrayList<>();
       itemSeniorQueryBOS.stream().forEach(itemSeniorQueryBO -> {
           String itemSeniorQueryCols= itemSeniorQueryBO.getItemSeniorQueryCols();
           String itemSeniorQueryColsCounts=itemSeniorQueryBO.getItemSeniorQueryColsCounts();
           String itemQuerySql=itemSeniorQueryBO.getItemQuerySql();
           if(StringUtils.isNotBlank(itemSeniorQueryCols)) {
               itemSeniorQueryColsList.add(itemSeniorQueryCols);
           }
            if(StringUtils.isNotBlank(itemSeniorQueryColsCounts)) {
                itemSeniorQueryColsCountsList.add(itemSeniorQueryColsCounts);
            }
            if(StringUtils.isNotBlank(itemQuerySql)){
                itemQuerySqlList.add(itemQuerySql);
            }
        });
        prmItemDO.setItemSeniorQueryCols(VciBaseUtil.array2String(itemSeniorQueryColsList.toArray(new String[]{})));
        prmItemDO.setItemSeniorQueryColsCounts(VciBaseUtil.array2String(itemSeniorQueryColsCountsList.toArray(new String[]{})));
        prmItemDO.setItemQuerySql(VciBaseUtil.array2String(itemQuerySqlList.toArray(new String[]{}),";"));
    }
    /**
     * åˆå§‹åŒ–表格列宽度集合
     */
    private List<KeyValue>  initItemFieldWidthList(String itemOutFields,String itemFieldWidth){
        List<KeyValue> keyValueList=new ArrayList<>();
        List<String>itemOutFieldList=   VciBaseUtil.str2List(itemOutFields);
        List<String>itemFieldWidthList=  VciBaseUtil.str2List(itemFieldWidth);
        if(itemOutFieldList.size()>0) {
            for (int i = 0; i < itemOutFieldList.size(); i++) {
                KeyValue keyValue = new KeyValue();
                String with = itemFieldWidthList.get(i);
                keyValue.setKey(itemOutFieldList.get(i));
                keyValue.setValue(StringUtils.isBlank(with) ? "250" : with);
                keyValueList.add(keyValue);
            }
        }
        return keyValueList;
    }
    /**
     * é«˜çº§æŸ¥è¯¢é…ç½®åˆå§‹åŒ–
     * @param itemSeniorQueryCols
     * @param itemSeniorQueryColsCounts
     * @param itemQuerySql
     * @return
     */
    private List<ItemSeniorQueryBO>  initItemSeniorQueryBOData(String itemSeniorQueryCols,String itemSeniorQueryColsCounts,String itemQuerySql){
        List<ItemSeniorQueryBO> itemSeniorQueryBOList=new ArrayList<>();
        List<String> itemSeniorQueryColList= VciBaseUtil.str2List(itemSeniorQueryCols);
        List<String> itemSeniorQueryColsCountList= VciBaseUtil.str2List(itemSeniorQueryColsCounts);
        List<String> itemQuerySqlList= VciBaseUtil.str2List(itemQuerySql,";");
        if (itemSeniorQueryColList!=null&&itemSeniorQueryColList.size()>0){
            for (int i=0;i<itemSeniorQueryColList.size();i++){
              String itemSeniorQueryCol=  itemSeniorQueryColList.get(i);
                String itemSeniorQueryColsCount=  itemSeniorQueryColsCountList.get(i);
                if(StringUtils.isNotBlank(itemSeniorQueryCol)){
                    String querysql = "";
                    if(itemQuerySqlList!=null){
                        querysql = itemQuerySqlList.get(i);
                    }
                    ItemSeniorQueryBO itemSeniorQueryBO=null;
                    if("null".equals(querysql) ){
                        itemSeniorQueryBO=   new ItemSeniorQueryBO(itemSeniorQueryCol,itemSeniorQueryColsCount,"");
                    }else{
                        itemSeniorQueryBO= new ItemSeniorQueryBO(itemSeniorQueryCol,itemSeniorQueryColsCount,querysql);
                    }
                    itemSeniorQueryBOList.add(itemSeniorQueryBO);
                }
            }
        }
        return itemSeniorQueryBOList;
    }
    private List<String> getRefFormVIName(String refFormOid){
        List<String> keyList=new ArrayList<>();
        try {
            PortalVI refFormVI = UITools.getService().getPortalVIById(refFormOid);
            PortalVIVO portalVIVO= portalVIDOO2VO(refFormVI);
            if(portalVIVO!=null&&portalVIVO.getPrm().getPrmItemList().size()>0){
                 portalVIVO.getPrm().getPrmItemList().stream().forEach(k->{
                     keyList.add(k.getItemField());
                 });
            }
        } catch (PLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return keyList;
        }
        return keyList;
    }
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/util/UITools.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,707 @@
package com.vci.web.util;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import com.vci.model.PRMDO;
import com.vci.model.PRMItemDO;
import org.apache.commons.lang3.StringUtils;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import com.vci.client.common.providers.ClientServiceProvider;
import com.vci.common.portal.constants.PLDefinationConstants;
import com.vci.common.portal.constants.PRMConstants;
import com.vci.corba.portal.PortalServicePrx;
/**
 * UIService æ¨¡å— Util å·¥å…·ç±»
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2017</p>
 * <p>Company: VCI</p>
 * @author xiongchao
 * @time 2017-12-21
 * @version 1.0
 */
public class UITools {
private static PortalServicePrx portalService = null;
    public static PortalServicePrx getService(){
        if(portalService != null){
            return portalService;
        }
        try {
            portalService = ClientServiceProvider.getUIService();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return portalService;
    }
    /**
     * å°†xml文本转化成PRM对象
     * @param text
     * @return
     */
    @SuppressWarnings("unchecked")
    public static PRMDO getPRM(String text){
        if (StringUtils.isEmpty(text))
            return null;
        Document document = null;
        try {
            document = DocumentHelper.parseText(text);
        } catch (DocumentException e) {
            e.printStackTrace();
        }
        if(document == null){
            return null;
        }
        PRMDO prm = new PRMDO();
        try{
            Element root = document.getRootElement();
            String showCols = root.elementText(PRMConstants.JD_SHOWCOLS);
            if(showCols == null || showCols.equals("")){
                showCols = "3";
            }
            prm.setShowCols(showCols);
            String formQtName = root.elementText(PRMConstants.JD_FORMQTNAME);
            if(formQtName == null){
                formQtName = "";
            }
            prm.setFormQtName(formQtName);
            List<Element> items = root.elements(PRMConstants.JD_ITEM);
            List<PRMItemDO> prmItemList = new ArrayList<PRMItemDO>();
            prm.setPrmItemList(prmItemList);
            for(Iterator<Element> i = items.iterator(); i.hasNext();){
                Element item = i.next();
                PRMItemDO prmItem = new PRMItemDO();
                prmItemList.add(prmItem);
                String elementText = item.elementText(PRMConstants.JD_field);
                prmItem.setItemField(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_or);
                prmItem.setItemOR(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_eq);
                prmItem.setItemEQ(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_trim);
                prmItem.setItemTrim(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_dbl);
                prmItem.setItemDbl(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_cut);
                prmItem.setItemCut(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_inObj);
                prmItem.setItemInObj(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_addFilter);
                prmItem.setItemAddFilter(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_outType);
                prmItem.setItemOutType(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_pageSize);
                prmItem.setItemPageSize(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_imgWH);
                prmItem.setItemImgWH(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_outFields);
                prmItem.setItemOutFields(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_keyFields);
                prmItem.setItemKeyFields(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_bat);
                prmItem.setItemBat(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_txf);
                prmItem.setItemTxf(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_name);
                prmItem.setItemName(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_type);
                prmItem.setItemType(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_value);
                prmItem.setItemValue(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_cols);
                prmItem.setItemCols(elementText == null ? "" : elementText);
                // add by xchao 2017.11.23 begin
                // prmItem çš„ itemIsHidden å€¼ç­‰äºŽ itemCols
                // è¯¥å€¼æŽ§åˆ¶å…ƒç´ æ˜¯å¦æ˜¾ç¤º 1:显示 0:不显示,当且仅当等于1时显示,否则按不显示
                prmItem.setItemIsHidden(elementText == null ? "" : elementText);
                // add by xchao 2017.11.23 end
                elementText = item.elementText(PRMConstants.JD_rows);
                prmItem.setItemRows(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_style);
                prmItem.setItemStyle(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_script);
                prmItem.setItemScript(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_tips);
                prmItem.setItemTips(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_valuelist);
                if(elementText == null || elementText.equals("")){
                    prmItem.setItemValueList(new ArrayList<String>());
                }else{
                    prmItem.setItemValueList(arrayToList(elementText.split(";")));
                }
                elementText = item.elementText(PRMConstants.JD_listTable);
                prmItem.setItemListTable(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_listTxt);
                prmItem.setItemListTxt(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_listVal);
                prmItem.setItemListVal(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_showExpression);
                prmItem.setItemShowExpression(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_dateFormat);
                prmItem.setItemDateFormat(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_isEditable);
                prmItem.setItemIsEditable(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_EditableProgram);
                prmItem.setItemEditableProgram(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_qtName);
                prmItem.setItemQtName(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_isRequired);
                prmItem.setItemIsRequired(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_seniorQueryCols);
                prmItem.setItemSeniorQueryCols(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_seniorQueryColsCounts);
                prmItem.setItemSeniorQueryColsCounts(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_hrefFields);
                prmItem.setItemHrefFields(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_hrefConf);
                prmItem.setItemHrefConf(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_queryRefFields);
                prmItem.setItemQueryRefFields(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_customClass);
                prmItem.setItemCustomClass(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_ctrlDisplyCol);
                prmItem.setItemCtrlDisplyCol(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_ctrlDisplyCondition);
                prmItem.setItemCtrlDisplyCondition(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_isHttpSave);
                prmItem.setItemIsHttpSave(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_httpVolumnPath);
                prmItem.setItemHttpVolumnPath(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_httpPathField);
                prmItem.setItemHttpPathField(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_editCondition);
                prmItem.setItemEditCondition(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_isNavigatorExpand);
                prmItem.setItemIsNavigatorExpand(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_isShowFolder);
                prmItem.setItemIsShowFolder(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_parentFolderName);
                prmItem.setItemParentFolderName(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_filterColWidth);
                prmItem.setItemFieldWidth(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_QuerySql);
                prmItem.setItemQuerySql(elementText == null ? "" : elementText);
                elementText = item.elementText(PRMConstants.JD_right);
                prmItem.setItemRight(elementText == null ? "" : elementText);
            }
        }catch(Exception e){
            e.printStackTrace();
        }
        return prm;
    }
    /**
     * å°†PRM对象转化成xml文本
     * @param prm
     * @return
     * @throws Throwable
     */
    public static String getPRMText(PRMDO prm) throws Throwable{
        try {
            if (prm == null) {
                return "";
            }
            Document document = DocumentHelper.createDocument();
            Element rootNode = document.addElement(PRMConstants.JD_DATASET);
            Element showColsNode = rootNode.addElement(PRMConstants.JD_SHOWCOLS);
            showColsNode.setText(prm.getShowCols());
            Element formQtNameNode = rootNode.addElement(PRMConstants.JD_FORMQTNAME);
            formQtNameNode.setText(prm.getFormQtName());
            List<PRMItemDO> prmItemList = prm.getPrmItemList();
            if (prmItemList != null && prmItemList.size() > 0) {
                for (Iterator<PRMItemDO> i = prmItemList.iterator(); i.hasNext();) {
                    Element itemNode = rootNode.addElement(PRMConstants.JD_ITEM);
                    PRMItemDO item = i.next();
                    Element itemChildNode = itemNode.addElement(PRMConstants.JD_field);
                    itemChildNode.setText(item.getItemField());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_or);
                    itemChildNode.setText(item.getItemOR());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_eq);
                    itemChildNode.setText(item.getItemEQ());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_trim);
                    itemChildNode.setText(item.getItemTrim());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_dbl);
                    itemChildNode.setText(item.getItemDbl());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_cut);
                    itemChildNode.setText(item.getItemCut());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_inObj);
                    itemChildNode.setText(item.getItemInObj());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_addFilter);
                    itemChildNode.setText(item.getItemAddFilter());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_outType);
                    itemChildNode.setText(item.getItemOutType());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_pageSize);
                    itemChildNode.setText(item.getItemPageSize());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_imgWH);
                    itemChildNode.setText(item.getItemImgWH());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_outFields);
                    itemChildNode.setText(item.getItemOutFields());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_keyFields);
                    itemChildNode.setText(item.getItemKeyFields());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_bat);
                    itemChildNode.setText(item.getItemBat());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_txf);
                    itemChildNode.setText(item.getItemTxf());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_name);
                    itemChildNode.setText(item.getItemName());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_type);
                    itemChildNode.setText(item.getItemType());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_value);
                    itemChildNode.setText(item.getItemValue());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_showExpression);
                    itemChildNode.setText(item.getItemShowExpression());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_dateFormat);
                    itemChildNode.setText(item.getItemDateFormat());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_cols);
                    itemChildNode.setText(item.getItemCols());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_rows);
                    itemChildNode.setText(item.getItemRows());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_style);
                    itemChildNode.setText(item.getItemStyle());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_script);
                    itemChildNode.setText(item.getItemScript());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_tips);
                    itemChildNode.setText(item.getItemTips());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_valuelist);
                    itemChildNode.setText(listToString(item.getItemValueList()));
                    itemChildNode = itemNode.addElement(PRMConstants.JD_listTable);
                    itemChildNode.setText(item.getItemListTable());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_listTxt);
                    itemChildNode.setText(item.getItemListTxt());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_listVal);
                    itemChildNode.setText(item.getItemListVal());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_isEditable);
                    itemChildNode.setText(item.getItemIsEditable());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_EditableProgram);
                    itemChildNode.setText(item.getItemEditableProgram());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_qtName);
                    itemChildNode.setText(item.getItemQtName());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_isRequired);
                    itemChildNode.setText(item.getItemIsRequired());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_seniorQueryCols);
                    itemChildNode.setText(item.getItemSeniorQueryCols());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_seniorQueryColsCounts);
                    itemChildNode.setText(item.getItemSeniorQueryColsCounts());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_hrefFields);
                    itemChildNode.setText(item.getItemHrefFields());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_hrefConf);
                    itemChildNode.setText(item.getItemHrefConf());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_queryRefFields);
                    itemChildNode.setText(item.getItemQueryRefFields());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_customClass);
                    itemChildNode.setText(item.getItemCustomClass());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_ctrlDisplyCol);
                    itemChildNode.setText(item.getItemCtrlDisplyCol());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_ctrlDisplyCondition);
                    itemChildNode.setText(item.getItemCtrlDisplyCondition());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_isHttpSave);
                    itemChildNode.setText(item.getItemIsHttpSave());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_httpVolumnPath);
                    itemChildNode.setText(item.getItemHttpVolumnPath());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_httpPathField);
                    itemChildNode.setText(item.getItemHttpPathField());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_editCondition);
                    itemChildNode.setText(item.getItemEditCondition());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_isNavigatorExpand);
                    itemChildNode.setText(item.getItemIsNavigatorExpand());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_isShowFolder);
                    itemChildNode.setText(item.getItemIsShowFolder());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_parentFolderName);
                    itemChildNode.setText(item.getItemParentFolderName());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_filterColWidth);
                    itemChildNode.setText(item.getItemFieldWidth());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_QuerySql);
                    itemChildNode.setText(item.getItemQuerySql());
                    itemChildNode = itemNode.addElement(PRMConstants.JD_right);
                    itemChildNode.setText(item.getItemRight());
                }
            }
            return document.asXML();
        } catch (Throwable e) {
            e.printStackTrace();
            throw e;
        }
    }
//    /**
//     * å°†ä»Žæ•°æ®åº“中读取的xml文本转化成对应的PLDefination对象
//     * @param text
//     * @return
//     * @throws Throwable
//     */
//    public static PLDefination getPLDefination(String text) throws Throwable{
//        try{
//            Document document = null;
//            document = DocumentHelper.parseText(text);
//            if(document == null){
//                return null;
//            }
//            PLDefination obj = new PLDefination();
//            Element root = document.getRootElement();
//            if(root != null){
//                String elementText = root.elementText(PLDefinationConstants.TYPE);
//                if(elementText == null || elementText.equals("")){
//                    elementText = "0";
//                }
//                obj.setType(Integer.parseInt(elementText));
//
//                elementText = root.elementText(PLDefinationConstants.SHOWABS);
//                obj.setShowAbs(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.SEPARATOR);
//                obj.setSeparator(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.SHOWLINKABS);
//                obj.setShowLinkAbs(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.SEARCHTARGET);
//                obj.setSearchTarger(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.TEMPLATETYPE);
//                obj.setTemplateType(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.SHOWTYPE);
//                obj.setShowType(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.TEMPLATEID);
//                obj.setTemplateId(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.ORIENTATION);
//                obj.setOrientation(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.VALIDITY);
//                obj.setValidity(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.ORDERFIELD);
//                obj.setOrderField(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.ORDERMODE);
//                obj.setOrderMode(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.RETURNROWS);
//                obj.setReturnRows(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.CONTROLPATH);
//                obj.setControlPath(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.EXPANDMODE);
//                obj.setExpandMode(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.LINKTYPE);
//                obj.setLinkType(elementText == null ? "" : elementText);
//
//
//                elementText = root.elementText(PLDefinationConstants.ISSHOWIMAGE);
//                obj.setIsShowImage(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.EXPANDCOLS);
//                obj.setExpandCols(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.SHOWCONTENT);
//                obj.setShowContent(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.SHOWCONTENTTYPE);
//                obj.setShowContentType(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.SHOWCONTENTRELATION);
//                obj.setShowContentRelation(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.SHOWCONTENTTABLE);
//                obj.setShowContentTable(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.NAVIGATORTYPE);
//                obj.setNavigatorType(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.EVENTKEY);
//                obj.setEventKey(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.EVENTVALUE);
//                obj.setEventValue(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.ROOTCONTENT);
//                obj.setRootContent(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.UIPARSER);
//                obj.setUiParser(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.EXTATTR);
//                obj.setExtAttr(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.QUERYTEMPLATENAME);
//                obj.setQueryTemplateName(elementText == null ? "" : elementText);
//
//                elementText = root.elementText(PLDefinationConstants.SUBUILAYOUT);
//                obj.setSubUILayout(elementText == null ? "" : elementText);
//            }
//            return obj;
//        }catch(Throwable e){
//            e.printStackTrace();
//            throw e;
//        }
//    }
//
//    /**
//     * å°†PLDefination对象转化成xml文本
//     * @param obj
//     * @return
//     * @throws Throwable
//     */
//    public static String getPLDefinationText(PLDefination obj) throws Throwable{
//        try{
//            if(obj == null){
//                return "";
//            }
//
//            Document doc = DocumentHelper.createDocument();
//            Element rootNode = doc.addElement(PLDefinationConstants.PLDEFINATION);
//
//            Element node = rootNode.addElement(PLDefinationConstants.TYPE);
//            node.setText(String.valueOf(obj.getType()));
//
//            node = rootNode.addElement(PLDefinationConstants.SHOWABS);
//            node.setText(obj.getShowAbs());
//
//            node = rootNode.addElement(PLDefinationConstants.SEPARATOR);
//            node.setText(obj.getSeparator());
//
//            node = rootNode.addElement(PLDefinationConstants.SHOWLINKABS);
//            node.setText(obj.getShowLinkAbs());
//
//            node = rootNode.addElement(PLDefinationConstants.SEARCHTARGET);
//            node.setText(obj.getSearchTarger());
//
//            node = rootNode.addElement(PLDefinationConstants.TEMPLATETYPE);
//            node.setText(obj.getTemplateType());
//
//            node = rootNode.addElement(PLDefinationConstants.SHOWTYPE);
//            node.setText(obj.getShowType());
//
//            node = rootNode.addElement(PLDefinationConstants.TEMPLATEID);
//            node.setText(obj.getTemplateId());
//
//            node = rootNode.addElement(PLDefinationConstants.ORIENTATION);
//            node.setText(obj.getOrientation());
//
//            node = rootNode.addElement(PLDefinationConstants.VALIDITY);
//            node.setText(obj.getValidity());
//
//            node = rootNode.addElement(PLDefinationConstants.ORDERFIELD);
//            node.setText(obj.getOrderField());
//
//            node = rootNode.addElement(PLDefinationConstants.ORDERMODE);
//            node.setText(obj.getOrderMode());
//
//            node = rootNode.addElement(PLDefinationConstants.RETURNROWS);
//            node.setText(obj.getReturnRows());
//
//            node = rootNode.addElement(PLDefinationConstants.CONTROLPATH);
//            node.setText(obj.getControlPath());
//
//            node = rootNode.addElement(PLDefinationConstants.EXPANDMODE);
//            node.setText(obj.getExpandMode());
//
//            node = rootNode.addElement(PLDefinationConstants.LINKTYPE);
//            node.setText(obj.getLinkType());
//
//            node = rootNode.addElement(PLDefinationConstants.ISSHOWIMAGE);
//            node.setText(obj.getIsShowImage());
//
//            node = rootNode.addElement(PLDefinationConstants.EXPANDCOLS);
//            node.setText(obj.getExpandCols());
//
//            node = rootNode.addElement(PLDefinationConstants.SHOWCONTENT);
//            node.setText(obj.getShowContent());
//
//            node = rootNode.addElement(PLDefinationConstants.SHOWCONTENTTYPE);
//            node.setText(obj.getShowContentType());
//
//            node = rootNode.addElement(PLDefinationConstants.SHOWCONTENTRELATION);
//            node.setText(obj.getShowContentRelation());
//
//            node = rootNode.addElement(PLDefinationConstants.SHOWCONTENTTABLE);
//            node.setText(obj.getShowContentTable());
//
//            node = rootNode.addElement(PLDefinationConstants.NAVIGATORTYPE);
//            node.setText(obj.getNavigatorType());
//
//            node = rootNode.addElement(PLDefinationConstants.EVENTKEY);
//            node.setText(obj.getEventKey());
//
//            node = rootNode.addElement(PLDefinationConstants.EVENTVALUE);
//            node.setText(obj.getEventValue());
//
//            node = rootNode.addElement(PLDefinationConstants.ROOTCONTENT);
//            node.setText(obj.getRootContent());
//
//            node = rootNode.addElement(PLDefinationConstants.UIPARSER);
//            node.setText(obj.getUiParser());
//
//            node = rootNode.addElement(PLDefinationConstants.EXTATTR);
//            node.setText(obj.getExtAttr());
//
//            node = rootNode.addElement(PLDefinationConstants.QUERYTEMPLATENAME);
//            node.setText(obj.getQueryTemplateName());
//
//            node = rootNode.addElement(PLDefinationConstants.SUBUIOBJTYPE);
//            node.setText(obj.getSubUiObjType());
//
//            node = rootNode.addElement(PLDefinationConstants.SUBUILAYOUT);
//            node.setText(obj.getSubUILayout());
//
//            return doc.asXML();
//        }catch(Throwable e){
//            throw e;
//        }
//
//    }
    /**
     * å°†ARRAY转化成LIST
     * @param array
     * @return
     */
    public static List<String> arrayToList(String[] array){
        if(array == null || array.length == 0){
            return null;
        }
        List<String> list = new ArrayList<String>();
        for(int i = 0; i < array.length; i++){
            list.add(array[i]);
        }
        return list;
    }
    /**
     * å°†LIST加上';'拼成字符串
     * @param list
     * @return
     */
    public static String listToString(List<String> list){
        StringBuilder strb = new StringBuilder();
        if(list != null && list.size() > 0){
            for(int i = 0; i < list.size(); i++){
                strb.append(list.get(i));
                if(i < list.size() - 1){
                    strb.append(";");
                }
            }
        }
        return strb.toString();
    }
}
Source/plt-web/plt-web-ui/src/api/modeling/businessType/api.js
@@ -1,6 +1,6 @@
import request from '@/router/axios';
// åˆ—表查询
// ä¸šåŠ¡ç±»åž‹æ ‘æŸ¥è¯¢
export function getBizTypes(params) {
  return request({
    url: "/api/btmTypeController/getTreeBizTypes",
@@ -8,8 +8,16 @@
    params
  });
}
// æŸ¥è¯¢æ‰€æœ‰çš„属性,参数btmId(业务类型名称)
export function getAllAttributesByBtmId(params) {
  return request({
    url: "/api/btmTypeController/getAllAttributesByBtmId",
    method: "get",
    params
  });
}
// åˆ—表查询
// åˆ›å»º
export function addLifeCycle(params) {
  return request({
    url: "/api/btmTypeController/addBtmType",
@@ -17,3 +25,76 @@
    data:params
  });
}
// ä¿®æ”¹
export function updateLifeCycle(params) {
  return request({
    url: "/api/btmTypeController/updateBtmType",
    method: "put",
    data:params
  });
}
// åˆ é™¤
export function deleteBtmType(params) {
  return request({
    url: "/api/btmTypeController/deleteBtmType",
    method: "delete",
    data:params
  });
}
// åˆ›å»ºè§†å›¾
export function createView() {
  return request({
    url: "/api/btmTypeController/createView",
    method: "post",
  });
}
// å¯¼å…¥
export function expData (params) {
  return request({
    url: '/api/btmTypeController/expData',
    method: 'get',
    headers: {'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'},
    responseType: 'blob',
    params
  })
}
// æŸ¥çœ‹ä½¿ç”¨èŒƒå›´
export function getUsedBtmLinkList(params) {
  return request({
    url: "/api/btmTypeController/getUsedBtmLinkList",
    method: "get",
    params
  });
}
// ä¸€è‡´æ€§æ£€æŸ¥
export function checkBtmConsistency(params) {
  return request({
    url: "/api/btmTypeController/checkBtmConsistency",
    method: "get",
    params
  });
}
// ä¿®å¤
export function executeRepair(params) {
  return request({
    url: "/api/btmTypeController/executeRepair",
    method: "post",
    data:params
  });
}
// æŸ¥çœ‹ç´¢å¼•
export function getIndexByCondition(params) {
  return request({
    url: "/api/btmTypeController/getIndexByCondition",
    method: "get",
    params
  });
}
Source/plt-web/plt-web-ui/src/api/modeling/linkType/api.js
@@ -8,6 +8,14 @@
  });
}
// æŸ¥è¯¢æ‰€æœ‰çš„属性,参数name(链接类型模板名称)
export function getAllAttributeByLink(params) {
  return request({
    url: "/api/linkTypeController/getAllAttributeByLink",
    method: "get",
    params
  });
}
// é€šè¿‡å±žæ€§æ± è¿”回的 attributes èŽ·å–å®Œæ•´çš„ä¿¡æ¯
export function getByAttributeNames(params) {
  return request({
Source/plt-web/plt-web-ui/src/api/queryTemplate/queryDefine.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,40 @@
import request from '@/router/axios';
//查询模板定义
// æ¨¡æ¿åˆ—表查询
export function gridTemplate(params) {
  return request({
    url: "/api/templateController/queryTemplateList",
    method: "get",
    params:{
      ...params
    }
  });
}
// ä¿®æ”¹
export function updateTemplate(params) {
  return request({
    url: "/api/templateController/updateTemplate",
    method: "post",
    data:params
  });
}
// åˆ›å»º
export function saveTemplate(params) {
  return request({
    url: "/api/templateController/saveTemplate",
    method: "post",
    data:params
  });
}
// åˆ é™¤
export function deleteTemplate(params) {
  return request({
    url: "/api/templateController/deleteTemplate",
    method: "delete",
    data:params
  });
}
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue
@@ -1,5 +1,5 @@
<template>
  <el-container>
  <el-container v-loading="createViewLoading">
    <el-aside>
      <basic-container>
        <div ref="TreeBox" style="height: calc(100vh - 144px);!important;">
@@ -18,7 +18,7 @@
                       type="primary" @click="createViewClickHandler">创建视图
            </el-button>
            <el-button class="miniBtn" icon="el-icon-circle-plus-outline" plain size="small"
                       type="primary" @click="checkClickHandler">创建索引
                       type="primary" @click="indexClickHandler">创建索引
            </el-button>
            <el-button icon="el-icon-menu" plain size="small" style="width: 82px;text-align: center;padding-left: 1px"
                       type="primary" @click="checkClickHandler">一致性检查
@@ -29,12 +29,12 @@
            <el-button class="smallBtn" plain size="small"
                       type="danger" @click="checkClickHandler">删除全部类型
            </el-button>
            <el-button class="smallBtn" plain size="small" type="primary">查看使用范围
            <el-button class="smallBtn" plain size="small" type="primary" @click="checkViewClickHandler">查看使用范围
            </el-button>
          </div>
          <!-- å·¦ä¾§æ ‘ -->
          <div style="height:  calc(100vh - 330px);">
            <avue-tree :data="treeData" :option="treeOption" @node-click="nodeClick">
            <avue-tree ref="tree" :data="treeData" :option="treeOption" @node-click="nodeClick">
          <span slot-scope="{ node, data }" class="el-tree-node__label">
           <span style="font-size: 15px">
              <i class="el-icon-s-promotion"></i>
@@ -178,7 +178,13 @@
              <el-input v-model="form.name"></el-input>
            </el-form-item>
            <el-form-item label="继承自:">
              <el-input v-model="form.fName" :readOnly="title === 'edit'"></el-input>
              <div style="display: flex;gap: 5px;align-items: center">
                <el-input v-model="form.fName" :readOnly="true"></el-input>
                <el-button :disabled="title === 'add'" plain size="small" style="margin-left: 5px;height: 30px"
                           type="success"
                           @click="inheritClickHandler">选择
                </el-button>
              </div>
            </el-form-item>
            <el-form-item label="实现类:">
              <el-input v-model="form.implClass"></el-input>
@@ -189,22 +195,24 @@
          </div>
          <div class="centerForm">
            <el-form-item label="版本规则:" label-width="110px" prop="revLevel">
              <el-select v-model="form.revLevel">
              <el-select v-model="form.revLevel" @change="revLevelChange">
                <el-option label="不可修订" value="0"></el-option>
                <el-option label="采用一级版本管理" value="1"></el-option>
                <el-option label="采用二级版本管理" value="2"></el-option>
              </el-select>
            </el-form-item>
            <el-form-item v-if="form.revLevel !== '0'" label="版本号规则:" label-width="110px" prop="revisionRuleName">
            <el-form-item v-if="form.revLevel !== '0'" label="版本号规则:" label-width="110px" prop="revisionRuleId">
              <div style="display: flex;gap: 5px;align-items: center">
                <el-input v-model="form.revisionRuleId" :readOnly="true"></el-input>
                <el-button plain size="small" style="margin-left: 5px;height: 30px" type="success"
                <el-button :disabled="form.inputRevisionFlag" plain size="small" style="margin-left: 5px;height: 30px"
                           type="success"
                           @click="versionAddHandler">添加
                </el-button>
                <el-switch
                  v-model="form.inputRevisionFlag"
                  active-text="手工输入"
                  style="width: 300px">
                  style="width: 300px"
                  @change="form.revisionRuleId = ''">
                </el-switch>
              </div>
            </el-form-item>
@@ -215,7 +223,7 @@
              </el-select>
            </el-form-item>
            <el-form-item v-if="form.revLevel !== '0' && form.revLevel !== '1'" label="版次号规则:" label-width="110px"
                          prop="revLevel">
                          prop="versionRule">
              <el-select v-model="form.versionRule" clearable>
                <el-option label="1.2.3..." value="0"></el-option>
                <el-option label="a.b.c..." value="1"></el-option>
@@ -274,7 +282,8 @@
        <h3>属性池列表</h3>
        <avue-crud
          :data="dialogAttrData"
          :option="dialogAttrOption">
          :option="dialogAttrOption"
          @row-del="dialogBottomAttrDel">
          <template slot="menuLeft">
            <el-button icon="el-icon-plus" size="small" type="primary" @click="addDialogClickHandler">创建</el-button>
          </template>
@@ -317,6 +326,7 @@
        </span>
    </el-dialog>
    <!-- ç‰ˆæœ¬å·è§„则选择 -->
    <el-dialog
      v-dialogDrag
      :visible.sync="dialogVersionVisible"
@@ -372,21 +382,193 @@
    </el-dialog>
    <!-- ç»§æ‰¿è‡ª -->
    <el-dialog
      v-dialogDrag
      :visible.sync="dialogInheritVisible"
      append-to-body="true"
      class="avue-dialog"
      title="继承业务类型"
      width="30%"
      @close="inheritClose"
    >
      <avue-tree ref="inheritTree" v-model="treeForm" :data="inheritTreeData" :option="inheritTreeOption"
                 @node-click="inheritNodeClick">
         <span slot-scope="{ node, data }" class="el-tree-node__label">
           <span style="font-size: 15px">
              <i class="el-icon-s-promotion"></i>
                {{ (node || {}).label }}
            </span>
          </span>
      </avue-tree>
      <span slot="footer" class="dialog-footer">
         <el-button @click="inheritClose">取 æ¶ˆ</el-button>
         <el-button type="primary" @click="inheritSaveClickHandler">ç¡® å®š</el-button>
        </span>
    </el-dialog>
    <!-- å¯¼å…¥ -->
    <upload-file ref="upload" :fileType="upFileType" :fileUrl="fileUrl" :tipList="tipList" title="导入"
                 @updata="getTreeList"></upload-file>
    <!-- æŸ¥çœ‹ä½¿ç”¨èŒƒå›´    -->
    <el-dialog
      v-dialogDrag
      :visible.sync="checkViewVisible"
      append-to-body="true"
      class="avue-dialog"
      title="查看使用范围"
      width="60%"
    >
      <avue-crud
        ref="checkViewCrud"
        :data="checkViewData"
        :option="checkViewOption"
        :table-loading="checkViewLoading"
        @search-change="checkHandleSearch"
        @search-reset="checkHandleReset"
      >
      </avue-crud>
    </el-dialog>
    <!-- ä¸€è‡´æ€§æ£€æŸ¥ -->
    <el-dialog
      v-dialogDrag
      :visible.sync="conCheckVisible"
      append-to-body="true"
      class="avue-dialog"
      title="一致性检查"
      width="60%"
    >
      <avue-crud
        :data="conCheckData"
        :option="conCheckOption"
        :table-loading="conCheckLoading">
      </avue-crud>
      <span slot="footer" class="dialog-footer">
         <el-button @click="conCheckVisible = false">取 æ¶ˆ</el-button>
         <el-button type="primary" @click="repairClickHandler">ä¿® å¤</el-button>
        </span>
    </el-dialog>
    <!-- ä¸€è‡´æ€§æ£€æŸ¥ -->
    <el-dialog
      v-dialogDrag
      :visible.sync="indexVisible"
      append-to-body="true"
      class="avue-dialog"
      title="索引信息"
      width="60%"
    >
    </el-dialog>
  </el-container>
</template>
<script>
import basicOption from '@/util/basic-option'
import {getBizTypes, addLifeCycle} from "@/api/modeling/businessType/api"
import {
  getBizTypes,
  addLifeCycle,
  updateLifeCycle,
  deleteBtmType,
  createView,
  expData,
  getUsedBtmLinkList,
  checkBtmConsistency,
  executeRepair,
  getIndexByCondition
} from "@/api/modeling/businessType/api"
import {gridAttribute} from "@/api/modeling/attributePool/api";
import func from "@/util/func";
import {getVersionRuleAllList} from "@/api/modeling/version/api";
import {getUsedVersionRuleList, getVersionRuleAllList} from "@/api/modeling/version/api";
import {gridLifeCycle} from "@/api/modeling/lifeCycle/api";
export default {
  name: "index",
  data() {
    return {
      indexVisible:false,
      conDefaultCheckData: [], // ä¿ç•™ä¸Šä¸ªæŽ¥å£è¿”回的数据
      conCheckLoading: false,
      conCheckOption: {
        ...basicOption,
        menu: false,
        addBtn: false,
        index: false,
        selection: false,
        refreshBtn: false,
        column: [
          {
            label: '类型名',
            prop: 'id',
          },
          {
            label: '操作',
            prop: 'methods',
          },
          {
            label: '状态',
            prop: 'status',
          }
        ]
      },
      conCheckData: [],
      conCheckVisible: false,
      checkViewVisible: false,
      checkViewData: [],
      checkViewDataSearch: [],
      checkViewLoading: false,
      checkViewOption: {
        ...basicOption,
        addBtn: false,
        menu: false,
        searchMenuSpan: 8,
        refreshBtn: false,
        selection: false,
        column: [
          {
            label: '名称',
            prop: 'name',
            sortable: true,
          },
          {
            label: '来源',
            prop: 'source',
            sortable: true,
            search: true
          },
          {
            label: '说明',
            prop: 'description',
          }
        ]
      },
      tipList: [
        "导入业务名称不可为空且链接类型名称只能为英文字母",
        "导入的文件包括属性、业务类型、生命周期等文件",
        "上传的文件为压缩文件,且压缩格式仅能为zip格式"
      ],
      upFileType: ['zip'],
      fileUrl: 'api/linkTypeController/impData',
      createViewLoading: false, // åˆ›å»ºè§†å›¾
      versionAddFlag: false,
      treeForm: {},
      inheritNodeRow: {},
      inheritTreeOption: {
        height: 'auto',
        defaultExpandAll: false,
        menu: false,
        addBtn: false,
        props: {
          label: 'id',
          value: 'id',
          children: 'children'
        }
      },
      inheritTreeData: [],
      dialogInheritVisible: false,
      dialogLifeDefalutData: [], // æŸ¥è¯¢é‡ç½®é»˜è®¤æ•°æ®
      lifeType: '',
      dialogLifeTable: [],
@@ -513,6 +695,12 @@
            sortable: true,
          },
          {
            prop: 'btmTypeId',
            label: '业务类型',
            sortable: true
          },
          {
            label: '属性类型',
            prop: 'attributeDataType',
            sortable: true,
@@ -552,7 +740,7 @@
            sortable: true
          },
          {
            prop: 'attrDataType',
            prop: 'attributeDataType',
            label: '属性类型',
            sortable: true
          },
@@ -576,8 +764,9 @@
        description: '', // æè¿°
        revLevel: '', // ç‰ˆæœ¬è§„则
        revisionRuleId: '',// ç‰ˆæœ¬å·è§„则
        inputRevisionFlag: false, // æ‰‹å·¥è¾“å…¥
        versionRule: '', // ç‰ˆæ¬¡å·è§„则
        inputRevisionFlag: false, // æ‰‹å·¥è¾“å…¥,
        delimiter: '', // åˆ†éš”符
        versionRule: '0', // ç‰ˆæ¬¡å·è§„则
        lifeCycleId: '', // ç”Ÿå‘½å‘¨æœŸ
        subLifeCycleId: '', // ç”Ÿå‘½å‘¨æœŸå¤‡é€‰åˆ—表,
        apNameArray: "", // å±žæ€§æ± åˆ—表’,‘分隔
@@ -585,16 +774,22 @@
      nodeRow: {},
      treeOption: {
        height: 'auto',
        defaultExpandAll: false,
        defaultExpandedKeys: ['topNode'],
        menu: false,
        addBtn: false,
        props: {
          label: 'id',
          label: 'TreeName',
          value: 'id',
          children: 'children'
        }
      },
      treeData: [],
      treeData: [
        {
          TreeName: '业务类型树',
          id: 'topNode',
          children: []
        }
      ],
      descriptionOption: {
        labelStyle: 'text-align:center;width:100px;',
        contentStyle: 'max-width:200px;text-align:center;word-break;break-all;'
@@ -609,27 +804,73 @@
  created() {
    this.getTreeList();
  },
  mounted() {
  },
  methods: {
    //树表查询
    getTreeList() {
      getBizTypes().then(res => {
        const data = res.data.data.map(item => {
          return item.attributes;
          this.processChildren(item); // å¤„理每个节点
          item.attributes.TreeName = item.attributes.id;
          return item.attributes; // è¿”回处理后的 attributes
        });
        this.treeData = data;
      })
        this.treeData[0].children = data;
        console.log(this.treeData);
        this.inheritTreeData = data;
      });
    },
    // å¤„理树形结构
    processChildren(item) {
      if (item.children && item.children.length > 0) {
        item.attributes.children = item.children.map(child => {
          child.attributes.TreeName = child.attributes.id;
          this.processChildren(child); // é€’归处理每个子节点
          return child.attributes; // åªè¿”回子节点的 attributes
        });
      }
    },
    // æ ‘点击
    nodeClick(row) {
      this.attrData = JSON.parse(row.attributes);
      this.attrData = row.attributes ? JSON.parse(row.attributes) : [];
      this.nodeRow = row;
    },
    // åˆ›å»ºæŒ‰é’®
    addClickHandler() {
      if (func.isEmptyObject(this.nodeRow)) {
        this.$message.error('请选择要添加的节点');
        return;
      }
      this.title = 'add';
      this.form.fName = this.nodeRow.id === 'topNode' ? "" : this.nodeRow.id;
      console.log(this.nodeRow);
      this.form.inputRevisionFlag = JSON.parse(this.form.inputRevisionFlag); // å­—符串false转换为布尔值
      this.visible = true;
    },
    // å…³é—­ç»§æ‰¿å¯¹è¯æ¡†
    inheritClose() {
      this.dialogInheritVisible = false;
      this.$refs.inheritTree.setCurrentKey(null); // å–消当前选中的节点
    },
    // ç»§æ‰¿æŒ‰é’®
    inheritClickHandler() {
      this.dialogInheritVisible = true;
    },
    // ç»§æ‰¿æ ‘行点击
    inheritNodeClick(row) {
      this.inheritNodeRow = row;
    },
    // ç»§æ‰¿æ ‘保存
    inheritSaveClickHandler() {
      this.form.fName = this.inheritNodeRow.id;
      this.dialogInheritVisible = false;
    },
    // å¯¹è¯æ¡† å±žæ€§æ± åˆ—表增加按钮
@@ -742,6 +983,11 @@
        this.dialogAttrData.push(...newItems);
        this.attrPollDialogVisible = false;
      }
    },
    // å±žæ€§æ± åˆ é™¤
    dialogBottomAttrDel(form, index) {
      this.dialogAttrData.splice(index, 1);
    },
    // ç‰ˆæœ¬è§„则管理添加
@@ -885,28 +1131,282 @@
      callback(); // éªŒè¯é€šè¿‡
    },
    // æ¸…空表单
    resetForm() {
      const form = {
        id: '', // ç±»åž‹åç§°
        name: '', // æ ‡ç­¾
        fName: '', // ç»§æ‰¿è‡ª
        implClass: '', // å®žçŽ°ç±»
        description: '', // æè¿°
        revLevel: '', // ç‰ˆæœ¬è§„则
        revisionRuleId: '',// ç‰ˆæœ¬å·è§„则
        inputRevisionFlag: 'false', // æ‰‹å·¥è¾“å…¥
        delimiter: '', // åˆ†éš”符
        versionRule: '0', // ç‰ˆæ¬¡å·è§„则
        lifeCycleId: '', // ç”Ÿå‘½å‘¨æœŸ
        subLifeCycleId: '', // ç”Ÿå‘½å‘¨æœŸå¤‡é€‰åˆ—表,
        apNameArray: "", // å±žæ€§æ± åˆ—表’,‘分隔
      };
      this.dialogLifeTable = []; // å°†ç”Ÿå‘½å‘¨æœŸè¡¨æ ¼ç½®ç©º
      this.dialogAttrData = []; // å°†å±žæ€§æ± è¡¨æ ¼ç½®ç©º
      this.form = {...form};
      this.$refs.form.clearValidate();
    },
    // æ–°å¢žç¼–辑对话框取消
    addDialogClose() {
      this.resetForm();
      this.visible = false;
    },
    // ç‰ˆæœ¬è§„则切换 ç½®ç©ºå…¶ä»–条件
    revLevelChange() {
      this.form.versionRule = "";
      this.form.inputRevisionFlag = false;
      this.form.delimiter = "";
      this.form.versionRule = "0";
      this.form.revisionRuleId = "";
    },
    // æ–°å¢žç¼–辑保存
    addDialogSavaHandler() {
      console.log(this.form)
      if (!this.form.inputRevisionFlag && (!this.form.revisionRuleId || this.form.revisionRuleId === "")) {
        this.$message.error('请检查版本号规则不能为空');
        return;
      }
      this.form.subLifeCycleId = this.dialogLifeTable ? this.dialogLifeTable.map(item => item.id).join(',') : "";
      this.form.apNameArray = this.dialogAttrData ? this.dialogAttrData.map(item => item.id).join(',') : "";
      this.$refs.form.validate((valid) => {
        const saveFunction = this.title === 'add' ? addLifeCycle : updateLifeCycle;
        if (valid) {
          addLifeCycle(this.form).then(res => {
            console.log(res);
          if (this.form.revLevel === 0) {
            this.form.versionRule = "";
          }
          saveFunction(this.form).then(res => {
            if (res.data.code === 200) {
              this.$message.success(res.data.obj);
              this.getTreeList();
              this.resetForm();
              this.visible = false;
            }
          })
        } else {
          return false;
        }
      });
    },
      this.$refs.form.validate((valid) => {
        if (valid) {
        } else {
          return false;
    // ç¼–辑按钮点击事件
    editClickHandler() {
      /**
       * id åç§°
       * name æ ‡ç­¾
       * implClass å®žçŽ°ç±»
       * fName ç»§æ‰¿è‡ª
       * description æè¿°
       * revLevel ç‰ˆæœ¬è§„则
       * revisionRuleId ç‰ˆæœ¬å·è§„则
       * inputRevisionFlag æ‰‹å·¥è¾“å…¥
       * delimiter åˆ†éš”符
       * versionRule ç‰ˆæ¬¡å·è§„则
       * lifeCycleId ç”Ÿå‘½å‘¨æœŸ
       * lifeCycleIds ç”Ÿå‘½å‘¨æœŸåˆ—表
       * attributes å±žæ€§æ± åˆ—表
       */
      if (func.isEmptyObject(this.nodeRow)) {
        this.$message.error('请至少选择一条数据');
        return;
      }
      if (this.nodeRow.id === 'topNode') {
        this.$message.error('请选择子节点进行修改')
        return;
      }
      this.form = {...this.nodeRow};
      this.form.inputRevisionFlag = JSON.parse(this.form.inputRevisionFlag); // å­—符串false转换为布尔值
      // this.form.fName = this.nodeRow.id === 'topNode' ? "" : this.nodeRow.id;
      this.dialogLifeTable = (this.nodeRow.lifeCycleIds && this.nodeRow.lifeCycleIds.trim())
        ? this.nodeRow.lifeCycleIds.split(',').map(item => ({id: item.trim()}))
        : [];
      this.dialogAttrData = this.nodeRow.attributes ? JSON.parse(this.nodeRow.attributes) : [];
      this.title = 'edit';
      this.visible = true;
      console.log(this.form);
    },
    // åˆ é™¤æŒ‰é’®
    deleteClickHandler() {
      if (func.isEmptyObject(this.nodeRow)) {
        this.$message.error('请至少选择一条数据');
        return;
      }
      ;
      this.$confirm('您确定要删除所选择的数据吗?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        const {id, oid, ts} = this.nodeRow;
        const obj = {id, oid, ts};
        deleteBtmType(obj).then(res => {
          if (res.data.code === 200) {
            this.$message.success(res.data.obj);
            this.getTreeList();
          }
        })
      }).catch(() => {
        this.$message({
          type: 'info',
          message: '已取消删除'
        });
      });
    },
    // åˆ›å»ºè§†å›¾
    createViewClickHandler() {
      this.createViewLoading = true;
      createView().then(res => {
        if (res.data.code === 200) {
          this.createViewLoading = false;
          this.$message.success(res.data.obj);
        }
      }).catch(err => {
        this.createViewLoading = false;
      })
    },
    // å¯¼å‡º
    exportClickHandler() {
      if (func.isEmptyObject(this.nodeRow)) {
        this.$message.error('请至少选择一条数据');
        return;
      }
      let name = this.nodeRow.id;
      expData({name: name}).then(res => {
        func.downloadFileByBlobHandler(res);
        this.$message.success('导出成功');
      }).catch(err => {
        this.$message.error(err);
      });
    },
    // å¯¼å…¥
    upLoadClickHandler() {
      this.$refs.upload.visible = true;
    },
    // æŸ¥çœ‹ä½¿ç”¨èŒƒå›´æŒ‰é’®
    checkViewClickHandler() {
      if (func.isEmptyObject(this.nodeRow)) {
        this.$message.error('请至少选择一条数据!');
        return;
      }
      getUsedBtmLinkList({btmName: this.nodeRow.id}).then(res => {
        if (res.data.code === 200) {
          this.checkViewVisible = true;
          const data = res.data.data.map(item => {
            return{
              name:this.nodeRow.id,
              source:item
            }
          });
          this.checkViewData = data;
          this.checkViewDataSearch = data;
        }
      })
    },
    // æŸ¥çœ‹ä½¿ç”¨èŒƒå›´æŸ¥è¯¢
    checkHandleSearch(params, done) {
      const {source} = params;
      if (!params.source) {
        this.checkViewData = this.checkViewDataSearch;
        return done();
      }
      ;
      this.checkViewData = this.checkViewDataSearch.filter(item => {
        return item.source && item.source.includes(source);
      });
    }
      done();
    },
    // æŸ¥çœ‹ä½¿ç”¨èŒƒå›´é‡ç½®
    checkHandleReset() {
      this.checkViewData = this.checkViewDataSearch;
    },
    // ä¸€è‡´æ€§æ£€æŸ¥æŒ‰é’®ç‚¹å‡»
    checkClickHandler(){
      checkBtmConsistency().then(res =>{
        if(res && res.data && res.data.data){
          this.conCheckVisible = true;
          this.conCheckLoading = true;
          if(res.data.code === 200){
            const data = res.data.data[0];
            this.conDefaultCheckData = data; // ä¿ç•™ä¸€ä»½åŽŸå§‹æ•°æ®
            this.conCheckLoading = false;
            const outputData = [];
            Object.entries(data).forEach(([id, methods]) => {
              let action;
              switch (methods) {
                case '_CREATE':
                  action = '创建表';
                  break;
                case '_ADD':
                  action = '增加列';
                  break;
                case '_DROP':
                  action = '移除列';
                  break;
                default:
                  action = '未知';
              }
              outputData.push({
                id: id,
                methods: action,
                status: '未修复'
              })
            })
            this.conCheckData = outputData;
          }
        }else {
          this.$message.success(res.data.msg);
        }
      })
    },
    // ä¿®å¤ä¸€è‡´æ€§æ£€æŸ¥
    repairClickHandler() {
      const params = this.conDefaultCheckData;
      executeRepair(params).then(res => {
        if (res.data.obj) {
          this.$message.success('修复成功');
          this.conCheckData = [];
        } else {
          this.$message.error('修复失败,请重新尝试!');
        }
        this.conCheckVisible = false;
      })
    },
    // åˆ›å»ºç´¢å¼•按钮点击
    indexClickHandler(){
      if(func.isEmptyObject(this.nodeRow)){
        this.$message.error('请至少选择一条数据');
        return;
      }
      const params = {
        "conditionMap[typename]":this.nodeRow.id
      }
      getIndexByCondition(params).then(res => {
        console.log(res);
      })
    }
  }
}
</script>
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/linkType/index.vue
@@ -714,12 +714,24 @@
        this.$message.error('请至少选择一条数据');
        return;
      }
      deleteLink(this.nodeRow).then(res => {
        if (res.data.code === 200) {
          this.$message.success('删除成功');
          this.getTreeList();
        }
      })
      ;
      this.$confirm('您确定要删除所选择的数据吗?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        deleteLink(this.nodeRow).then(res => {
          if (res.data.code === 200) {
            this.$message.success('删除成功');
            this.getTreeList();
          }
        })
      }).catch(() => {
        this.$message({
          type: 'info',
          message: '已取消删除'
        });
      });
    },
    // åˆ›å»ºæŒ‰é’®
@@ -762,58 +774,62 @@
    // ä¸€è‡´æ€§æ£€æŸ¥
    checkClickHandler() {
      this.conCheckVisible = true;
      this.conCheckLoading = true;
      checkLinkType().then(res => {
        if (res.data.code === 200) {
          const data = res.data.data;
          this.conDefaultCheckData = data; // ä¿ç•™ä¸€ä»½åŽŸå§‹æ•°æ®
          this.conCheckLoading = false;
        if (res && res.data && res.data.data) {
          this.conCheckVisible = true;
          this.conCheckLoading = true;
          if (res.data.code === 200) {
            const data = res.data.data;
            this.conDefaultCheckData = data; // ä¿ç•™ä¸€ä»½åŽŸå§‹æ•°æ®
            this.conCheckLoading = false;
          const outputData = [];
            const outputData = [];
          data.forEach(item => {
            Object.entries(item.btmCheckMap).forEach(([id, methodsArray]) => {
              methodsArray.forEach(methods => {
                // åˆ¤æ–­å‰ç¼€
                const action = methods.startsWith('F_') ? '移除form端业务类型' : '移除to端业务类型';
                const detail = methods.split('_')[1]; // èŽ·å– _ åŽé¢çš„内容
                outputData.push({
                  id: id,
                  methods: `${action}:${detail}`,
                  status: '未修复'
            data.forEach(item => {
              Object.entries(item.btmCheckMap).forEach(([id, methodsArray]) => {
                methodsArray.forEach(methods => {
                  // åˆ¤æ–­å‰ç¼€
                  const action = methods.startsWith('F_') ? '移除form端业务类型' : '移除to端业务类型';
                  const detail = methods.split('_')[1]; // èŽ·å– _ åŽé¢çš„内容
                  outputData.push({
                    id: id,
                    methods: `${action}:${detail}`,
                    status: '未修复'
                  });
                });
              });
            });
            // å¤„理 dbCheckMap
            Object.entries(item.dbCheckMap).forEach(([id, methods]) => {
              const splitMethods = methods.split('(');
              // åˆ¤æ–­ç¬¬ä¸€ä¸ªç¬¦å·å‰é¢çš„值
              if (splitMethods[0].startsWith('_ADD')) {
                outputData.push({
                  id: id,
                  methods: '增加列(' + splitMethods[1].slice(0, -1) + ')', // ç»“束位置减去)的字符
                  status: '未修复'
                });
              } else if (splitMethods[0].startsWith('_CREATE')) {
                outputData.push({
                  id: id,
                  methods: '创建表(' + splitMethods[1].slice(0, -1) + ')',
                  status: '未修复'
                });
              } else if (splitMethods[0].startsWith('_DROP')) {
                outputData.push({
                  id: id,
                  methods: '移除列(' + splitMethods[1].slice(0, -1) + ')',
                  status: '未修复'
                });
              } else {
                this.$message.error("不支持的 dbCheckMap ç±»åž‹ï¼š " + methods)
              }
              // å¤„理 dbCheckMap
              Object.entries(item.dbCheckMap).forEach(([id, methods]) => {
                const splitMethods = methods.split('(');
                // åˆ¤æ–­ç¬¬ä¸€ä¸ªç¬¦å·å‰é¢çš„值
                if (splitMethods[0].startsWith('_ADD')) {
                  outputData.push({
                    id: id,
                    methods: '增加列(' + splitMethods[0].slice(0, -1) + ')', // ç»“束位置减去)的字符
                    status: '未修复'
                  });
                } else if (splitMethods[0].startsWith('_CREATE')) {
                  outputData.push({
                    id: id,
                    methods: '创建表(' + splitMethods[0].slice(0, -1) + ')',
                    status: '未修复'
                  });
                } else if (splitMethods[0].startsWith('_DROP')) {
                  outputData.push({
                    id: id,
                    methods: '移除列(' + splitMethods[0].slice(0, -1) + ')',
                    status: '未修复'
                  });
                } else {
                  this.$message.error("不支持的 dbCheckMap ç±»åž‹ï¼š " + methods)
                }
              });
            });
          });
          this.conCheckData = outputData;
            this.conCheckData = outputData;
          }
        } else {
          this.$message.success(res.data.msg);
        }
      }).catch(err => {
        this.$message.error(err);
@@ -822,11 +838,11 @@
    // ä¿®å¤ä¸€è‡´æ€§æ£€æŸ¥
    repairClickHandler() {
      console.log(this.conDefaultCheckData)
      const params = this.conDefaultCheckData[0];
      repairTable(params).then(res => {
        if (func.isEmptyObject(res.data.obj[0])) {
          this.$message.success('修复成功');
          this.conCheckData = [];
        } else {
          this.$message.error('修复失败,请重新尝试!');
        }
@@ -842,6 +858,8 @@
          this.createViewLoading = false;
          this.$message.success(res.data.obj);
        }
      }).catch(err => {
        this.createViewLoading = false;
      })
    },
Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/queryDefine/index.vue
@@ -1,26 +1,13 @@
<template>
  <el-container>
    <el-aside>
      <basic-container>
        <div ref="TreeBox" style="height: calc(100vh - 144px);!important;">
        <div ref="TreeBox" style="height: calc(100vh - 154px);!important;">
          <div class="headerCon">
            <el-button icon="el-icon-plus" plain size="small" type="primary" @click="addClickHandler">创建
            </el-button>
            <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editClickHandler">修改
            </el-button>
            <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delClickHandler">删除
            </el-button>
            <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">导出
            </el-button>
            <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="uploadClickHandler">导入
            </el-button>
            <el-button class="smallBtn" plain size="small" type="primary"
                       @click="checkViewClickHandler">查看使用范围
            </el-button>
            <avue-radio v-model="radioForm"  :dic="radioDic" style="margin: 10px 0 5px"></avue-radio>
          </div>
          <!-- å·¦ä¾§æ ‘         -->
          <div style="height:  calc(100vh - 280px);">
          <div style="height:  calc(100vh - 230px);">
            <avue-tree :data="treeData" :option="treeOption" @node-click="nodeClick">
          <span slot-scope="{ node, data }" class="el-tree-node__label">
           <span style="font-size: 15px">
@@ -36,15 +23,332 @@
    <el-main>
      <basic-container>
        æ¨¡æ¿åˆ—表:<avue-select v-model="templateForm" placeholder="请选择模板" type="tree" :dic="templateData" @change="changeTemp"></avue-select>
        <avue-crud  ref="queryCrud"
          :data="attrData" :option="attrOption" :table-loading="tableLoading" style="margin-top: 10px">
          <template slot="menuLeft" slot-scope="scope">
            <el-button icon="el-icon-plus" size="small" type="primary" @click="addHandler">创建</el-button>
            <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editHandler">修改</el-button>
            <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">删除</el-button>
          </template>
        </avue-crud>
      </basic-container>
    </el-main>
    <!-- æ–°å¢ž && ç¼–辑 -->
    <el-dialog
      v-dialogDrag
      :title="title === 'add' ? '创建' : '修改'"
      :visible.sync="visible"
      append-to-body="true"
      class="avue-dialog"
      width="75%"
      @close="addDialogClose">
      <el-form ref="form" :model="form" :rules="rules" label-width="95px">
        <el-form-item label="模板名称:" prop="name">
          <el-input v-model="form.name"></el-input>
        </el-form-item>
      </el-form>
      <avue-crud
        ref="dialogCrud"
        :data="attrData"
        :option="dialogAttrOption"
        @select="selectHandler">
      </avue-crud>
      <span slot="footer" class="dialog-footer">
         <el-button @click="addDialogClose">取 æ¶ˆ</el-button>
         <el-button type="primary" @click="addDialogSavaHandler">ç¡® å®š</el-button>
        </span>
    </el-dialog>
  </el-container>
</template>
<script>
import {getBizTypes, getAllAttributesByBtmId} from "@/api/modeling/businessType/api";
import {gridLink,getAllAttributeByLink} from "@/api/modeling/linkType/api";
import {gridTemplate,saveTemplate,updateTemplate,deleteTemplate} from "@/api/queryTemplate/queryDefine";
import basicOption from "@/util/basic-option";
import func from "@/util/func";
export default {
  name: "index"
  name: "index",
  data() {
    return{
      treeOption: {
        height: 'auto',
        defaultExpandAll: false,
        menu: false,
        addBtn: false,
        props: {
          label: 'label',
          value: 'oid',
          children: 'children'
        }
      },
      nodeRow:{},
      treeData: [],
      radioForm:0,
      radioDic:[{
        label:'业务类型',
        value:0
      },{
        label:'链接类型',
        value:1
      }],
      templateForm:'',
      templateData:[],
      form :{
        abNames:[],
        linkTypeName: "",//左侧选的链接类型名称
        btmName:'',//左侧选择的业务类型名称
        name:''
      },
      rules: {
        name: [
          {required: true, message: '请输入模板名称', trigger: 'blur'}
        ]
      },
      attrData: [],
      title: '',
      visible: false,
      tableLoading: false,
      attrOption: {
        ...basicOption,
        addBtn: false,
        editBtn: false,
        delBtn: false,
        selection: true,
        selectable:function (){
          return false;
        },
        menu:false,
        height: "auto",
        calcHeight: -40,
        title:'查询属性',
        tip:false,
        column: [{
            label: '字段编码',
            prop: 'id'
          },
          {
            label: '字段名称',
            prop: 'name'
          }]
      },
      selectionRow:[],
      dialogAttrOption: {
        ...basicOption,
        addBtn: false,
        editBtn: false,
        delBtn: false,
        selection: true,
        menu:false,
        height: "auto",
        calcHeight: 140,
        title:'查询属性',
        tip:false,
        header:false,
        column: [{
          label: '字段编码',
          prop: 'id'
        },
          {
            label: '字段名称',
            prop: 'name'
          }]
      },
      dialogSelectionRow:[]
    }
  },
  created() {
    this.getTreeList();
  },
  watch: {
    radioForm: {
      handler(newval) {
        const loading = this.$loading({});
        if (newval ==0) {
          getBizTypes().then(res => {
            const data = res.data.data.map(item => {
              item.label=item.attributes.id;
              return item;
            });
            this.treeData = data;
            loading.close();
          })
        }else {
          gridLink().then(res => {
            const data = res.data.data.map(item => {
              item.label=item.name;
              return item;
            });
            this.treeData =  data;
            loading.close();
          })
        }
      }
    },
  },
  methods: {
    //树表查询
    getTreeList() {
      const loading = this.$loading({});
      getBizTypes().then(res => {
        const data = res.data.data.map(item => {
          item.label=item.attributes.id;
          return item;
        });
        this.treeData = data;
        loading.close();
      })
    },
    // æ ‘点击
    nodeClick(row) {
      this.nodeRow = row;
      this.tableLoading = true;
      if(this.radioForm==1){
        //链接类型
        getAllAttributeByLink({name:row.label,linkFlag:true}).then(res => {
          this.attrData = res.data.data;
          this.getTemp();
        })
      }else {
        //业务类型
        getAllAttributesByBtmId({btmId:row.label,linkFlag:false}).then(res => {
          this.attrData = res.data.data;
          this.getTemp();
        })
      }
    },
    getTemp() {
      gridTemplate({btmName: this.nodeRow.label, linkFlag: this.radioForm == 1}).then(res => {
        const data = res.data.data.map(item => {
          item.label = item.name;
          item.value = item.name;
          return item;
        });
        this.templateData = data;
        if (res.data.data.length > 0) {
          this.templateForm = this.templateData[0].value;
        } else {
          this.templateForm = '';
          this.$refs.queryCrud.clearSelection();
        }
        this.tableLoading = false;
      })
    },
    selectHandler(selection, row){debugger;
      this.dialogSelectionRow=selection
    },
    changeTemp(data) {
      this.$refs.queryCrud.clearSelection();
      if (data.value != '') {
        let abNames = data.item.abNames.join(',').toLowerCase().split(',')
        this.selectionRow = this.attrData.filter(item => {
          return abNames.includes(item.id.toLowerCase())
        })
        this.$refs.queryCrud.toggleSelection(this.selectionRow);
      }
    },
    //创建
    addHandler(){
      if (func.isEmptyObject(this.nodeRow)) {
        this.$message.error('请选择要添加的节点');
        return;
      }
      this.title = 'add';
      this.visible = true;
      this.$nextTick(()=>{
        this.$refs.dialogCrud.clearSelection();
      });
    },
    //修改
    editHandler(){
      if (func.isEmptyObject(this.nodeRow)) {
        this.$message.error('请至少选择一条数据');
        return;
      }
      this.form.name = this.templateForm;
      this.title = 'edit';
      this.visible = true;
      this.$nextTick(()=>{
        this.dialogSelectionRow=this.selectionRow;
        this.$refs.dialogCrud.clearSelection();
        this.$refs.dialogCrud.toggleSelection(this.dialogSelectionRow );
      });
    },
    // æ–°å¢žç¼–辑保存
    addDialogSavaHandler() {
      this.$refs.form.validate((valid) => {
        const saveFunction = this.title === 'add' ? saveTemplate : updateTemplate;
        if (valid) {
          if(this.radioForm == 0){
            this.form.btmName=this.nodeRow.label;
            delete this.form.linkTypeName
          }else {
            this.form.linkTypeName=this.nodeRow.label;
            delete this.form.btmName
          }
          let abNames=this.dialogSelectionRow.map(item => {
            return item.id
          })
          if(abNames.length==0){
            this.$message.error('请选择查询属性');
            return false;
          }
          this.form.abNames=abNames;
          saveFunction(this.form).then(res => {
            if (res.data.code === 200) {
              this.$message.success(res.data.obj);
              if(this.title === 'edit'){
                this.templateForm='';
              }
              this.getTemp();
              this.addDialogClose();
            }
          })
        } else {
          return false;
        }
      });
    },
    // æ–°å¢žç¼–辑对话框取消
    addDialogClose() {
      this.form = {
        abNames:[],
        linkTypeName: "",//左侧选的链接类型名称
        btmName:'',//左侧选择的业务类型名称
        name:''
      };
      this.$refs.form.clearValidate();
      this.visible = false;
    },
    //删除
    delHandler(){
      if (func.isEmptyObject(this.nodeRow)) {
        this.$message.error('请选择数据');
        return;
      }
      this.$confirm('您确定要删除所选择的数据吗?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        deleteTemplate({name:this.templateForm,btmName: this.nodeRow.label, linkFlag: this.radioForm == 1}).then(res => {
          if (res.data.code === 200) {
            this.$message.success(res.data.obj);
            this.getTemp();
          }
        })
      }).catch(() => {
        this.$message({
          type: 'info',
          message: '已取消删除'
        });
      });
    }
  }
}
</script>
Source/plt-web/plt-web-ui/src/views/system/department/index.vue
@@ -101,6 +101,7 @@
        delBtn: false,
        gridBtn: false,
        highlightCurrentRow: true,
        calcHeight: -60,
        column: column
      },
      tableLoading: false,
Source/plt-web/plt-web-ui/src/views/system/password/index.vue
@@ -59,10 +59,10 @@
      option: {
        ...basicOption,
        selection: false,
        calcHeight: -60,
        menuWidth: 150,
        editBtn: false,
        delBtn: false,
        calcHeight: -60,
        column: [
          {
            label: '策略名称',
Source/plt-web/plt-web-ui/src/views/system/role/index.vue
@@ -89,8 +89,8 @@
        ...basicOption,
        dialogTop: 0,
        dialogWidth: '30%',
        column: column,
        calcHeight: -60,
        column: column
      },
      page: {
        currentPage: 1,
Source/plt-web/plt-web-ui/src/views/systemModule/businessModel/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
  name: "index"
}
</script>
<style scoped>
</style>
Source/plt-web/plt-web-ui/src/views/systemModule/mangeModel/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "index"
}
</script>
<style scoped>
</style>
Source/plt-web/plt-web-ui/src/views/systemModule/operateType/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
  name: "index"
}
</script>
<style scoped>
</style>
Source/plt-web/plt-web-ui/src/views/systemModule/systemConfig/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
  name: "index"
}
</script>
<style scoped>
</style>
Source/plt-web/plt-web-ui/src/views/systemModule/systemMonitor/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
  name: "index"
}
</script>
<style scoped>
</style>