| | |
| | | |
| | | //只有明细表才需要执行,其他的都只是输出{} |
| | | 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: |
| | |
| | | if (dto.conNum == 0) |
| | | return "{}"; |
| | | else |
| | | return "<%=bdMap.toString()%>"; |
| | | return "panMain[panIndex].buttonInfoByGrid"; |
| | | case 18: |
| | | case 38: |
| | | case 19: |
| | |
| | | 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); |
| | |
| | | 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参数 |
| | |
| | | */ |
| | | 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"; |
| | |
| | | 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"; |
| | |
| | | } |
| | | } |
| | | |
| | | 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")) |
| | |
| | | .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)))//统计列 |
| | |
| | | .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)//取消确认 |