fs-danaus
2024-08-09 7204e3dff0490732e861ccd1338e3e3c31d768c6
src/com/yc/action/grid/TreeGrid.java
@@ -156,7 +156,7 @@
    //只有明细表才需要执行,其他的都只是输出{}
    private String setToolAddForNew(TreeGridDTO dto) {
        if (dto.postStatusAddNew) return "<%=bdMap.toString()%>";
        if (dto.postStatusAddNew) return "panMain[panIndex].buttonInfoByGrid";
        switch (dto.winType) {
            case 9:
            case 15:
@@ -166,7 +166,7 @@
                if (dto.conNum == 0)
                    return "{}";
                else
                    return "<%=bdMap.toString()%>";
                    return "panMain[panIndex].buttonInfoByGrid";
            case 18:
            case 38:
            case 19:
@@ -418,7 +418,7 @@
        if (dto.winType == 1 && ("".equals(dto.table) || dto.table == null)) {
            throw new ApplicationException(dto.formID + ",类型:" + dto.winType + "--未设置主表,请在9801设置后重新生成!");
        }
            this.getFirstField(dto);
        this.getFirstField(dto);
        if (dto.conNum >= 2)
            if (dto.tempGridHeight != 0) dto.gridHeight = dto.tempGridHeight;
        gridConfig(root, dto);
@@ -829,11 +829,11 @@
            StringBuilder id = new StringBuilder();
            StringBuilder value = new StringBuilder();
            if (type != 30 && type != 32) {
            if(dto.isSuppressBlankLineForDropDown==0) {
                //只有为0才需要增加空白列
                id.append("| ");
                value.append("| ");
            }
                if(dto.isSuppressBlankLineForDropDown==0) {
                    //只有为0才需要增加空白列
                    id.append("| ");
                    value.append("| ");
                }
            }
            try {
                if (sql != null && sql != "" && sql.length() > 0) {//有sql参数
@@ -924,21 +924,21 @@
     */
    private String getEnumMenu(TreeGridDTO dto,SqlRowSet rst,String colName){
        String menu="{Items:[";//{Value:''},{Value:'-',Text:'-'},{Value:'+',Text:'+'}
    StringJoiner joiner=new StringJoiner(",");
    if(dto.isSuppressBlankLineForDropDown==0){
        //有留白列
        joiner.add("{Value:'',Text:''}");
    }
    while (rst.next()) {
        if(colName==null)
            joiner.add("{Value:'"+rst.getString(1)+"',Text:'"+rst.getString(2)+"'}");
        else
            joiner.add("{Value:'"+rst.getString(colName)+"',Text:'"+rst.getString("dictvalue")+"'}");
        StringJoiner joiner=new StringJoiner(",");
        if(dto.isSuppressBlankLineForDropDown==0){
            //有留白列
            joiner.add("{Value:'',Text:''}");
        }
        while (rst.next()) {
            if(colName==null)
                joiner.add("{Value:'"+rst.getString(1)+"',Text:'"+rst.getString(2)+"'}");
            else
                joiner.add("{Value:'"+rst.getString(colName)+"',Text:'"+rst.getString("dictvalue")+"'}");
        }
        rst.beforeFirst();
        return menu+=joiner.toString()+"]}";
    }
    rst.beforeFirst();
    return menu+=joiner.toString()+"]}";
}
    private synchronized String setJsName(TreeGridDTO dto) {
        return "grid_" + dto.formID +(dto.hasControlLayout?("_"+dto.userCode):"")+ "_" + dto.winType + ".xml";
@@ -946,7 +946,7 @@
    private synchronized String setFileName(TreeGridDTO dto) {
        //由于8类型的二三表共用一个页面,且用2表的功能号作为文件名称,所以这里需要特殊处理
        int formid= dto.formID;
        if(dto.winType==15){
        if(dto.winType==15&&dto.conNum!=0){
            formid=dto.minID;
        }
        return  formid +(dto.hasControlLayout?("_"+dto.userCode):"") + "_grid.jsp";
@@ -1340,12 +1340,16 @@
                    }
                }
                if (dto.order == 1 && "".equalsIgnoreCase(dto.orderFiled)) {//排序字段
                if (dto.order == 1) {//排序字段
                    String sybmol="";
                    if(org.apache.commons.lang3.StringUtils.isNotBlank(dto.orderFiled)){
                        sybmol=",";
                    }
                    if (id.equalsIgnoreCase("doccode")) {
                        dto.orderFiled = id + " desc";
                        dto.orderFiled += sybmol+id + " desc";
                    }
                    if (id.equalsIgnoreCase("docdate")) {
                        dto.orderFiled = dto.orderFiled.length() == 0 ? id + " desc" : "," + id + " desc";
                        dto.orderFiled += sybmol + id + " desc";
                    }
                } else if (dto.order == 2 && "".equalsIgnoreCase(dto.orderFiled)) {
                    if (id.equalsIgnoreCase("docitem"))
@@ -2074,6 +2078,7 @@
                            .replaceAll("@lang", ver[ver.length - 1])//语言
                            .replaceAll("@foot2", this.replaceBlank(dto.foot2))
                            .replaceAll("@_ycaddnew_@", this.setToolAddForNew(dto))//当前用户是否存在OA审核按钮,其中有为1的则格线需要显示增行按钮
                            .replaceAll("@_isCustomLayout_@", dto.hasControlLayout?(true+""):(false+""))//当前用户是否存在OA审核按钮,其中有为1的则格线需要显示增行按钮
                            //.replaceAll("@_attachment_server_@", domain==null?"":domain)//附件服务器地址
                            .replaceAll("@picFild", this.replaceBlank("&picFild=" + dto.picFild))
                            .replaceAll("@TBCols", "&tbCols=" + EncodeUtil.base64Encode(this.replaceBlank(dto.totalCols)))//统计列
@@ -2088,7 +2093,7 @@
                            .replaceAll("@layout", this.setJsName(dto))//js文件名称
                            .replaceAll("@hasGrid", hasGrid)//js文件名称
                            .replaceAll("@isTree", (dto.mainCol == null || "".equalsIgnoreCase(dto.mainCol)) ? "" : "&isTree=1")
                            .replaceAll("@winType", dto.winType + "@p@" + i)//表的顺序 0表示读取主表 1表示读取从表
                            .replaceAll("@winType", dto.winType + "@p@" + (dto.winType==19?1:i))//表的顺序 0表示读取主表 1表示读取从表,19类型特定为1
                            .replaceAll("@id", dto.formID + "")//功能号
                            .replaceAll("@DealAfterDocSave", ddsave)//保存时执行
                            .replaceAll("@CancelProc", "&cancelProc=" + this.replaceBlank(EncodeUtil.base64Encode(dto.cancelProc)) + "&cancelisSave=" + dto.cancelisSave + "&isExchangeDataWithHost=" + dto.isExchangeDataWithHost)//取消确认