From 12560372988b49cc9465e92c32d852db2d0e8612 Mon Sep 17 00:00:00 2001 From: fs-danaus <danaus314@qq.com> Date: 星期一, 14 十一月 2022 11:42:30 +0800 Subject: [PATCH] 处理保存时脚本顺序,先主表后从表 --- src/com/yc/utils/Page.java | 10 + src/com/yc/service/grid/DoExecuteParameter.java | 26 ++-- src/com/yc/action/grid/GTGrid.java | 120 ++++++++++------------- src/com/yc/action/grid/TreeGrid.java | 6 + src/com/yc/service/grid/GridServiceImpl.java | 32 ++--- src/com/yc/utils/FileUtil.java | 77 +++++++++++++- src/com/yc/action/grid/TreeGridDTO.java | 1 7 files changed, 163 insertions(+), 109 deletions(-) diff --git a/src/com/yc/action/grid/GTGrid.java b/src/com/yc/action/grid/GTGrid.java index f9129ce..6288904 100644 --- a/src/com/yc/action/grid/GTGrid.java +++ b/src/com/yc/action/grid/GTGrid.java @@ -124,13 +124,14 @@ /** * 淇濆瓨鎵�鏈夋柊澧瀞ql璇彞 */ - List<String> insertsql = new ArrayList<String>();// 淇濆瓨鎵�鏈塻ql璇彞(鏂板) + List<String> detailSql = new ArrayList<String>();// 淇濆瓨浠庤〃鎵�鏈塻ql璇彞(鏂板) /** * 淇濆瓨鎵�鏈変慨鏀箂ql璇彞 */ List<String> updatesql = new ArrayList<String>();// 淇濆瓨鎵�鏈塻ql璇彞(淇敼) + List<String> headSql = new ArrayList<String>();// 淇濆瓨涓昏〃鎵�鏈塻ql璇彞(淇敼) /** * 淇濆瓨鎵�鏈夊垹闄ql璇彞 @@ -1073,8 +1074,8 @@ } finally { SpObserver.setDBtoInstance(); } - for (int i = 0; i < this.insertsql.size(); i++) { - this.insertsql.add(i, this.insertsql.get(i).replaceAll("#docceod", doc)); + for (int i = 0; i < this.detailSql.size(); i++) { + this.detailSql.add(i, this.detailSql.get(i).replaceAll("#docceod", doc)); } } //------ @@ -1084,7 +1085,7 @@ try { SpObserver.setDBtoInstance("_" + dbid); info = gridService.doExecute(new DoExecuteParameter(doc, this.winType, - this.formID, this.insertsql, updatesql, this.procName, + this.formID, this.detailSql, this.headSql, this.procName, this.saveProc, this.DProc, this.DProcPram, sqlDel, null, null, this.PerProc, this.PerProcPram, this.isSave, this.docPram, this.status, tableName, this.FunLinkProc, this.FunLinkPram, json, this.totalProc, this.ExcelProc, this.canelProc, this.revokeProc), @@ -1406,6 +1407,7 @@ gt.setPrimeKey(json.getPrimeKey()); gt.setTableType(json.getgType()); json.setUserName(request.getSession().getAttribute(SessionKey.USER_NAME)+""); + // 鏄庣粏琛ㄧ殑澶勭悊绉诲埌杩欓噷----- this.convert2InsertSQL(tableMetaData, json, table, 1, gt, dbid); this.convert2UpdateSQL(tableMetaData, json, table, 1, gt); this.convert2DeleteSQL(tableMetaData, json, table, 1, gt); @@ -1479,7 +1481,7 @@ // 鏈変簺sql鎵ц灏辨姤閿欍�倄in--2016-4-20 // 16:34:17 if (!this.zhupan496.equals("")) { - this.insertsql.add(0, this.zhupan496);// 閽堝496鐨勪富琛ㄦ渶鍚庢坊鍔犺繘鍘� + this.detailSql.add(0, this.zhupan496);// 閽堝496鐨勪富琛ㄦ渶鍚庢坊鍔犺繘鍘� this.zhupan496 = ""; } // this.insertsql496="";//娓呯┖ @@ -1522,7 +1524,6 @@ json.setgType(this.winType + ""); json.setTaobao(this.taobaoAPI); } - // ----- try { String doc = ""; @@ -1540,7 +1541,7 @@ } // ----鍥犱负鏈夊彲鑳介渶瑕佹浛鎹㈠弬鏁拌�屽嚭閿欙紝鍥犱负鎻愪氦鏁版嵁涓虹┖锛屼繚瀛樺悗闇�瑕佹帓闄や繚瀛樻椂鎵ц by 2014-5-19 - if (this.insertsql.size() == 0 && this.updatesql.size() == 0 && this.sqlDel.size() == 0) { + if (this.detailSql.size() == 0 && this.updatesql.size() == 0 && this.sqlDel.size() == 0) { this.DProc = ""; this.ExcelProc=""; } @@ -1549,7 +1550,7 @@ try { SpObserver.setDBtoInstance("_" + dbid); info = gridService.doExecute( - new DoExecuteParameter(doc, this.winType, this.formID, this.insertsql, updatesql, + new DoExecuteParameter(doc, this.winType, this.formID, this.detailSql, this.headSql, this.procName, this.saveProc, this.DProc, this.DProcPram, sqlDel, null, null, this.PerProc, this.PerProcPram, this.isSave, this.docPram, this.status, tableName, this.FunLinkProc, this.FunLinkPram, json, this.totalProc, @@ -1599,7 +1600,7 @@ return null; } finally { - this.insertsql.clear(); + this.detailSql.clear(); this.insert.clear(); this.totalNum = 0; this.updatesql.clear(); @@ -1839,7 +1840,7 @@ if (isPrimaryPan.equals("1")) { this.zhupan496 = this.wherepan496; } else { - this.insertsql.add(0, this.wherepan496); + this.headSql.add(0, this.wherepan496); } this.wherepan496 = ""; } @@ -2778,10 +2779,10 @@ this.type496 = ""; } else { if (isPramyPan != null && "1".equalsIgnoreCase(isPramyPan)) - this.insertsql.add(0, "insert into " + tableName + keyList.substring(0, keyList.length() - 1) + ")" + this.headSql.add(0, "insert into " + tableName + keyList.substring(0, keyList.length() - 1) + ")" + value.substring(0, value.length() - 1) + ")"); else - this.insertsql.add("insert into " + tableName + keyList.substring(0, keyList.length() - 1) + ")" + this.headSql.add("insert into " + tableName + keyList.substring(0, keyList.length() - 1) + ")" + value.substring(0, value.length() - 1) + ")"); } } else {// 杩欎釜鏄富浠庝笉鏄竴涓鍥炬儏鍐垫坊鍔犲埌瀵瑰簲鐨勮〃閲屻�� @@ -2825,32 +2826,6 @@ } if (list != null) { for (HashMap map : list) { -// if (this.TbkeyID != null && this.TbkeyID.length() > 0) { -// //娣樺疂鎺ュ彛锛屽厛鍒ゆ柇褰撳墠鏁版嵁搴撴槸鍚﹀凡瀛樺湪锛屽瓨鍦ㄥ垯杞崲鎴愭洿鏂版搷浣滐紝鍚﹀垯鏄柊澧� -// String id = this.TbkeyID.split(",")[1];//涓昏〃鐨勪富閿� -// String sql = "declare @num" + cont + " integer \n select @num" + cont + "=count([" + id + "]) from " + name + " where [" + id + "]=? \n select @num" + cont + " "; -// -// int cont = 0; -// try { -// SpObserver.setDBtoInstance("_" + dbid); -// cont = gridService.getSimpleJdbcTemplate().queryForObject(sql, new Object[]{map.get(id.toLowerCase())}, Integer.class); -// } finally { -// SpObserver.setDBtoInstance(); -// } -// if (cont > 0) {//琛ㄧず宸插瓨鍦紝闇�瑕佽浆鎹㈡垚鏇存柊sql -// GTJson js = new GTJson(); -// List<HashMap<String, String>> temp1 = new ArrayList<HashMap<String, String>>(); -// temp1.add(map); -// if (fl == 2) -// js.setOtherUpdateds(temp1); -// else -// js.setUpdatedRecords(temp1); -// convert2UpdateSQL(tableMetaData, js, name, fl, g); -// temp1 = null; -// js = null; -// continue; -// } -// } StringBuilder key = new StringBuilder(); StringBuilder value = new StringBuilder(); String rowidCreate = ""; @@ -2911,18 +2886,6 @@ || "".equals(map.get(k)) || ((String) map.get(k)).length() == 0)) { rowidCreate = " exec getXXXX @rowid" + cont + " output; \n"; map.put(k, "@rowid" + cont); -// if(json.getRefKeyMap().get(g.getFormid()+"")!=null){//鏈夊�艰〃鏄巖owid鐢熸垚鐩存帴鍙栦笂涓�琛� -// -// }else { -// rowidCreate = " exec getXXXX @rowid" + cont + " output; \n"; -// map.put(k, "@rowid" + cont); -// } -// //澶勭悊496澶氳〃瀛愬姛鑳藉彿涔嬮棿鏈夊叧鑱旂殑鎯呭喌(rowid) by danaus 2020/1/18 11:31 -//// if(g.getKeyid()!=null&&!"".equals(g.getKeyid())){ -//// //T_180212|RowId;rowid -//// String refFormid=g.getKeyid().split("|")[0].replace("T_","");//鍙栧緱180212 -//// json.getRefKeyMap().put(refFormid,cont+""); -//// } } if ("detailrowid".equalsIgnoreCase((String) k) && (map.get(k) == null || "".equals(map.get(k)) @@ -2963,9 +2926,7 @@ value.append(","); } } - this.insertsql.add(rowidCreate + detailrowidCreate + " insert into " + tableName + key.substring(0, key.length() - 1) + ")" + value.substring(0, value.length() - 1) + ")"); - rowidCreate = ""; - detailrowidCreate = ""; + this.detailSql.add(rowidCreate + detailrowidCreate + " insert into " + tableName + key.substring(0, key.length() - 1) + ")" + value.substring(0, value.length() - 1) + ")"); } } if (add != null && add.size() > 0) { @@ -3017,7 +2978,7 @@ value.append(","); } } - this.insertsql.add("insert into _sysAudit" + key.substring(0, key.length() - 1) + ")" + value.substring(0, value.length() - 1) + ")"); + this.detailSql.add("insert into _sysAudit" + key.substring(0, key.length() - 1) + ")" + value.substring(0, value.length() - 1) + ")"); } } // list = null; @@ -3086,22 +3047,25 @@ continue; } } else { - if ("docversion".equalsIgnoreCase((String) k)) {//鐗堟湰鍙蜂笉鏇存柊 - continue; - } key.append("[").append(k); key.append("]="); - parserType(up, key, k, tableMetaData); + if ("docversion".equalsIgnoreCase((String) k)) {//鐗堟湰鍙疯烦杩� + continue; + }else { + parserType(up, key, k, tableMetaData); + } } key.append(","); isNul = true; } + //---澧炲姞鐗堟湰鍙风殑鏇存柊 + //key.append(" DocVersion=isnull(DocVersion,0)+1,"); } if (!isNul) continue;// 璺冲嚭锛屼笉鐢ㄥ啓杩涘幓锛屽洜涓轰笉瀛樺湪闇�瑕佹洿鏂扮殑瀛楁 String versionStr = ""; if (!isVersion && vs != null && vs.size() > 0 && vs.containsKey("docversion")) {//瀛樺湪鏈夌増鏈彿,鐢ㄦ潵澶勭悊骞跺彂闂 - versionStr = " and isnull(docversion,0)=isnull(" + (("null".equals(vs.get("docversion")) || org.apache.commons.lang3.StringUtils.isBlank(vs.get("docversion"))) ? "0" : vs.get("docversion")) + ",0) \n" + + versionStr = " and isnull(DocVersion,0)=isnull(" + (("null".equals(vs.get("docversion")) || org.apache.commons.lang3.StringUtils.isBlank(vs.get("docversion"))) ? "0" : vs.get("docversion")) + ",0) \n" + " if @@rowcount=0 \n " + " begin \n" + " raiserror('褰撳墠鍗曟嵁鍐呭宸插彂鐢熷彉鍖栵紝璇峰埛鏂伴〉闈㈢劧鍚庨噸璇曟鎿嶄綔',16,1) \n" + @@ -3147,7 +3111,7 @@ //閫氳繃鐗堟湰鍙峰垽鏂暟鎹槸鍚﹀凡鏇存柊锛岀増鏈彿涓嶄竴鑷村垯鏄剧ず鎻愮ず淇℃伅锛屽埛鏂伴〉闈㈠啀鎻愪氦 by danaus 2022/3/11 11:11 String updateSql = "update " + tableName + (key.lastIndexOf(",") == (key.length() - 1) ? key.substring(0, key.length() - 1) : key.toString()) + value.toString() + versionStr; //澧炲姞澶勭悊鍥犱负灏戜簡涓婚敭閫犳垚鏇存柊澶氭潯璁板綍鐨勬儏鍐� by danaus 2020/4/24 15:26 - this.updatesql.add(updateSql + + this.detailSql.add(updateSql + "\n if @@rowcount > 1 \n" + " begin \n" + " raiserror('鐢变簬琛�/瑙嗗浘缂哄皯姝g‘鐨勪富閿紙Primary Key锛夛紝灏嗗鑷村鏉¤褰曡鏇存柊锛坲pdate锛変负鐩稿悓鐨勫�硷紝瑙e喅鍔炴硶锛氫负琛�/瑙嗗浘銆�" + tableName + "銆戣缃纭殑涓婚敭锛圥rimary Key)',16,1)\n" + @@ -3342,7 +3306,7 @@ } - this.updatesql.add(sb.toString()); + this.detailSql.add(sb.toString()); } if (update1.size() == 0) {//娌℃暟鎹紝琛ㄧず闇�瑕佹妸涔嬪墠鐨勪繚瀛樻椂鎵ц杩囩▼娓呯┖锛岄拡瀵�9646鎵嶉渶瑕佽繖鏍� @@ -3548,7 +3512,7 @@ } - this.updatesql.add(sb.toString()); + this.detailSql.add(sb.toString()); } if (update1.size() == 0) {//娌℃暟鎹紝琛ㄧず闇�瑕佹妸涔嬪墠鐨勪繚瀛樻椂鎵ц杩囩▼娓呯┖锛岄拡瀵�9646鎵嶉渶瑕佽繖鏍� @@ -3723,7 +3687,6 @@ isPass = tableMetaDatas.containsKey(k + "");// 鍘婚櫎璁$畻鍒� isPass = checkExpressionColumn(up, k, isPass);// 鏇存柊鏃舵湁鏉冮檺鎺у埗鐨勫瓧娈典笉闇�瑕佹洿鏂� if (isPass) { - key.append("[").append(k); key.append("]="); parserType(up, key, k, tableMetaDatas); @@ -3743,11 +3706,13 @@ key.append("]='").append(local.get().get("@hrname")).append("',"); } - + //澧炲姞鐗堟湰鍙风殑鏇存柊 + // key.append("[").append("DocVersion"); + //key.append("]=").append("isnull(DocVersion,0)+1 "); String updateSql = " update " + tableName + key.substring(0, key.length() - 1) + value.toString(); //閫氳繃鐗堟湰鍙峰垽鏂暟鎹槸鍚﹀凡鏇存柊锛岀増鏈彿涓嶄竴鑷村垯鏄剧ず鎻愮ず淇℃伅锛屽埛鏂伴〉闈㈠啀鎻愪氦 by danaus 2022/3/11 11:11 if (up.containsKey("docversion")) { - updateSql += " and isnull(docversion,0)=isnull(" + (("null".equals(up.get("docversion")) || org.apache.commons.lang3.StringUtils.isBlank(up.get("docversion"))) ? "0" : up.get("docversion")) + ",0) \n" + + updateSql += " and isnull(DocVersion,0)=isnull(" + (("null".equals(up.get("docversion")) || org.apache.commons.lang3.StringUtils.isBlank(up.get("docversion"))) ? "0" : up.get("docversion")) + ",0) \n" + " if @@rowcount=0 \n " + " begin \n" + " raiserror('褰撳墠鍗曟嵁鍐呭宸插彂鐢熷彉鍖栵紝璇峰埛鏂伴〉闈㈢劧鍚庨噸璇曟鎿嶄綔',16,1) \n" + @@ -3756,9 +3721,9 @@ } if (!this.type496.equals("update")) { if (isPramyPan != null && "1".equalsIgnoreCase(isPramyPan)) { - this.updatesql.add(0, updateSql); + this.headSql.add(0, updateSql); }else { - this.updatesql.add(updateSql); + this.headSql.add(updateSql); } } else {// 496绫诲瀷鐨剈pdate璋冪敤 //---澧炲姞澶勭悊value鐨勫�兼病鏈墂here鏉′欢锛屽彧鏄痸alue=where 1=1鐨勬儏鍐碉紝浼氬鑷存洿鏂版墍鏈夋暟鎹紝濡傛灉鍑虹幇杩欑鎯呭喌锛岄渶瑕佹姏鍑洪敊璇� @@ -4752,9 +4717,24 @@ String expanded = getExpanded(request.getSession().getAttribute(SessionKey.DATA_BASE_ID) + ""); page.setExpanded(expanded); boolean hasParentNode=false; + //鍙栧垎椤典俊鎭紝缁勮鏁版嵁杈撳嚭 + //--鍙栨�婚〉鏁�=鏍戠殑涓昏妭鐐规暟 + List<Map<String, Object>> data=page.getData(); + List<Map<String, Object>> parentData = data.stream().filter(x -> org.apache.commons.lang3.StringUtils.isBlank(x.get("parentrowid") + "")).collect(Collectors.toList()); - for (int i = 0; i < page.getData().size(); i++) { - Map<String, Object> map = (Map<String, Object>) page.getData().get(i); + if(parentData!=null&&parentData.size()>0) { + + int totalSize= parentData.size()%page.getOrgPageSize()==0?parentData.size() /page.getOrgPageSize():parentData.size() /page.getOrgPageSize()+1; + page.setTotalPageNum(totalSize);//閲嶆柊璁$畻鎬婚〉鏁� + page.setPageSize(page.getOrgPageSize()); + int fromIndex=page.getPos()==0?0:(page.getPos()*page.getPageSize());//寮�濮� + int toIndex=page.getPos()==0?(page.getPageSize()-1):((page.getPos()+1)*page.getPageSize()-1);//缁撴潫 + if(toIndex>=parentData.size()) toIndex=parentData.size()-1; + data=parentData.subList(fromIndex,toIndex);//鍙栨寚瀹氳寖鍥寸殑鏁版嵁 + } + //------ + for (int i = 0; i < data.size(); i++) { + Map<String, Object> map = data.get(i); String pid = (String) map.get("parentrowid");//涓婄骇鑺傜偣ID锛屼粠杩欓噷寮�濮嬬粍瑁� String rowid = (String) map.get("rowid"); if (pid == null || "".equalsIgnoreCase(pid)) {//鍙栨瘡棰楁爲鐨勭埗鑺傜偣浣滀负绗竴涓妭鐐硅繘琛岀粍瑁� @@ -6150,8 +6130,10 @@ try { if (-1 == page.getFlag()) page.setPageSize(MAX_RECORD); if (this.isShowTree(dbid) && -1 != page.getFlag()) { + page.setOrgPageSize(page.getPageSize()); page.setPageSize(MAX_RECORD); page.setFlag(-20);//琛ㄧず涓洪渶瑕佹樉绀烘爲褰紝鎵�浠ラ渶瑕佹妸鎵�鏈夋暟鎹彇鍑烘潵锛屼笉鍒嗛〉 + page.setPageNum(1); } try { SpObserver.setDBtoInstance("_" + dbid); diff --git a/src/com/yc/action/grid/TreeGrid.java b/src/com/yc/action/grid/TreeGrid.java index 885e511..176fd61 100644 --- a/src/com/yc/action/grid/TreeGrid.java +++ b/src/com/yc/action/grid/TreeGrid.java @@ -812,8 +812,11 @@ StringBuilder id = new StringBuilder(); StringBuilder value = new StringBuilder(); if (type != 30 && type != 32) { + if(dto.isSuppressBlankLineForDropDown==0) { + //鍙湁涓�0鎵嶉渶瑕佸鍔犵┖鐧藉垪 id.append("| "); value.append("| "); + } } try { if (sql != null && sql != "" && sql.length() > 0) {//鏈塻ql鍙傛暟 @@ -1174,6 +1177,7 @@ boolean cpltrow = GridUtils.prossRowSetDataType_Boolean(map, "copyfromlastrow");//鎻掑叆鏃朵粠涓婅澶嶅埗 String cs = GridUtils.prossRowSetDataType_String(map, "stylecss");//css鏍峰紡 String tips = GridUtils.prossRowSetDataType_String(map, "TipsExpression"); + int isSuppressBlankLineForDropDown = GridUtils.prossRowSetDataType_Int(map, "isSuppressBlankLineForDropDown"); valExp.append((ValueExp != null && !"".equalsIgnoreCase(ValueExp)) ? id + "|" + this.replaceBlank(ValueExp) + ";" : ""); cssExp.append((cs != null && !"".equalsIgnoreCase(cs)) ? id + "|" + this.replaceBlank(cs.replaceAll(";", "~")) + ";" : ""); tipsExp.append((tips != null && !"".equalsIgnoreCase(tips)) ? id + "|" + this.replaceBlank(tips.replaceAll(";", "~")) + ";" : ""); @@ -1360,6 +1364,7 @@ sb.append(" showType='" + (type == 9 ? 0 : 2) + "' ");//浠ュ悗澧炲姞鏍肩嚎鏀寔澶氶檮浠舵樉绀洪渶瑕佺敤鍒帮紝鍖哄埆鍑哄埌鏃跺簲璇ュ彇鍝竴涓檮浠惰〃(_sys_Attachment9,_sys_Attachment)鐨勬暟鎹� } if (type == 2 || type == 35 || type == 31 || type == 43 || type == 30 || type == 32|| type == 46) { + dto.isSuppressBlankLineForDropDown=isSuppressBlankLineForDropDown; if(!(type==46&&ft==0&&org.apache.commons.lang3.StringUtils.isBlank(sqlScript))){ //46鎺т欢娌℃湁2锛�31鐨勮缃�夐」鍒欎笉鐢ㄥ湪杩欓噷鐢熸垚涓嬫媺鍒楄〃 sb = fillFT(type, ft, sqlScript, dto);//2绫诲瀷 @@ -1400,6 +1405,7 @@ .append("' wtype='").append(wiType) .append("' oneRec='").append(oneRec ? 1 : 0) .append("' onlyOne='").append(onlyOne ? 1 : 0) + .append("' isSuppressBlankLineForDropDown='").append(isSuppressBlankLineForDropDown) .append("' sqlWhere=\"").append(sqlWhere)// by danaus 2019/12/20 15:28 .append("\" path='").append(path) .append("' scanCodeField='").append(scanCodeField) diff --git a/src/com/yc/action/grid/TreeGridDTO.java b/src/com/yc/action/grid/TreeGridDTO.java index 14dd16e..c58d76e 100644 --- a/src/com/yc/action/grid/TreeGridDTO.java +++ b/src/com/yc/action/grid/TreeGridDTO.java @@ -98,4 +98,5 @@ public int isExchangeDataWithHost=0;//鍗曟嵁鍔熻兘鍙� public String formTabName="";//澶氳〃瀛愬姛鑳藉彿椤靛崱鍚嶇О public int postDocStatus;//纭鍚庣姸鎬佸�� + public int isSuppressBlankLineForDropDown;//鍙栨秷涓嬫媺鍒楄〃鎺т欢绌虹櫧鍒� } diff --git a/src/com/yc/service/grid/DoExecuteParameter.java b/src/com/yc/service/grid/DoExecuteParameter.java index 9def722..23c99f9 100644 --- a/src/com/yc/service/grid/DoExecuteParameter.java +++ b/src/com/yc/service/grid/DoExecuteParameter.java @@ -8,8 +8,8 @@ private String doccode; private int type; private int formid; - private List<String> insertsql; - private List<String> updatesql; + private List<String> detailSql; + private List<String> headSql; private List<String> proc1; private List<String> proc2; private String str; @@ -104,7 +104,7 @@ } public DoExecuteParameter(String doccode, int type, int formid, - List<String> insert, List<String> updatesql, List<String> proc1, + List<String> detailSql, List<String> headSql, List<String> proc1, List<String> proc2, String str, String parm, List<String> del, List<String> delproc1, List<String> delproc2, String oaButtonProcName, String oaButtonProcParms, boolean fl, String docParm, String status,String tableName, @@ -112,8 +112,8 @@ this.doccode = doccode; this.type = type; this.formid = formid; - this.insertsql = insert; - this.updatesql = updatesql; + this.detailSql = detailSql; + this.headSql = headSql; this.proc1 = proc1; this.proc2 = proc2; this.str = str; @@ -166,20 +166,20 @@ - public List<String> getInsertsql() { - return insertsql; + public List<String> getDetailSql() { + return detailSql; } - public void setInsertsql(List<String> insertsql) { - this.insertsql = insertsql; + public void setDetailSql(List<String> detailSql) { + this.detailSql = detailSql; } - public List<String> getUpdatesql() { - return updatesql; + public List<String> getHeadSql() { + return headSql; } - public void setUpdatesql(List<String> updatesql) { - this.updatesql = updatesql; + public void setHeadSql(List<String> headSql) { + this.headSql = headSql; } public List<String> getProc1() { diff --git a/src/com/yc/service/grid/GridServiceImpl.java b/src/com/yc/service/grid/GridServiceImpl.java index 4021f2e..9fc5c58 100644 --- a/src/com/yc/service/grid/GridServiceImpl.java +++ b/src/com/yc/service/grid/GridServiceImpl.java @@ -502,40 +502,36 @@ return info; } - int in = parameterObject.getInsertsql().size(); - int up = parameterObject.getUpdatesql().size(); + + int in = parameterObject.getDetailSql().size(); + int up = parameterObject.getHeadSql().size(); int de = parameterObject.getDel().size(); int to = parameterObject.getTotalProc().size(); String[] list = new String[in + up + de]; - String[] toBeStored = parameterObject.getInsertsql().toArray(new String[in]); - String[] toBeStored1 = parameterObject.getUpdatesql().toArray(new String[up]); + String[] toBeStored = parameterObject.getHeadSql().toArray(new String[in]); + String[] toBeStored1 = parameterObject.getDetailSql().toArray(new String[up]); String[] toBeStored_p = parameterObject.getTotalProc().toArray(new String[to]); String[] toBeStored2 = parameterObject.getDel().toArray(new String[de]); - // 1-------鏂板鏁版嵁 - if (in > 0) { - System.arraycopy(toBeStored, 0, list, 0, in); + // 1-------琛ㄥご鏁版嵁 + if (up > 0) { + System.arraycopy(toBeStored, 0, list, 0, up); } - // 2----------鏇存柊鏁版嵁 - if (up > 0) { - System.arraycopy(toBeStored1, 0, list, in, up); + // 2----------琛ㄤ綋鏁版嵁 + if (in > 0) { + System.arraycopy(toBeStored1, 0, list, up, in); } // 3----------鍒犻櫎鏁版嵁 if (de > 0) { - System.arraycopy(toBeStored2, 0, list, in + up, de); + System.arraycopy(toBeStored2, 0, list, up + in, de); } - int[] count = null; - // if(list.length>0) - // this.jdbcTemplate.batchUpdate(list);//鎵归噺鏇存柊鏁版嵁 - // // 鎻愪氦鏁版嵁 - for (String str : list) + for (String str : list) { sql.append(str).append(" \n"); - + } // 鏈夊垹闄ゅ浘鐗囩殑鍦ㄨ繖閲屾墽琛� if (picList.size() > 0) { - for (PicEntity picEntity : picList) { String uuid = null; String[] splt = null; diff --git a/src/com/yc/utils/FileUtil.java b/src/com/yc/utils/FileUtil.java index c305400..fe49a71 100644 --- a/src/com/yc/utils/FileUtil.java +++ b/src/com/yc/utils/FileUtil.java @@ -1,13 +1,6 @@ package com.yc.utils; -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.OutputStreamWriter; +import java.io.*; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.regex.Pattern; @@ -244,4 +237,72 @@ } return null; } + /** + * + * @param path + * @return String + * @description 灏嗘枃浠惰浆base64瀛楃涓� + * @date 2018骞�3鏈�20鏃� + * @author changyl + * File杞垚缂栫爜鎴怋ASE64 + */ + + public static String fileToBase64(String path) { + String base64 = null; + InputStream in = null; + try { + File file = new File(path); + in = new FileInputStream(file); + byte[] bytes=new byte[(int)file.length()]; + in.read(bytes); + base64 = java.util.Base64.getEncoder().encodeToString(bytes); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (in != null) { + try { + in.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + return base64; + } + //BASE64瑙g爜鎴怓ile鏂囦欢 + public static void base64ToFile(String destPath,String base64, String fileName) { + File file = null; + //鍒涘缓鏂囦欢鐩綍 + String filePath=destPath; + File dir=new File(filePath); + if (!dir.exists() && !dir.isDirectory()) { + dir.mkdirs(); + } + BufferedOutputStream bos = null; + java.io.FileOutputStream fos = null; + try { + byte[] bytes = java.util.Base64.getDecoder().decode(base64); + file=new File(filePath+"/"+fileName); + fos = new java.io.FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(bytes); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } } diff --git a/src/com/yc/utils/Page.java b/src/com/yc/utils/Page.java index 21876be..b9f0cfbf 100644 --- a/src/com/yc/utils/Page.java +++ b/src/com/yc/utils/Page.java @@ -61,7 +61,7 @@ private Map tbColsMap; private String formName; private Map<String, String> attachmentType; - +private int orgPageSize; public String getFormName() { return formName; } @@ -495,4 +495,12 @@ public Map<String, String> getAttachmentType() { return attachmentType; } + + public void setOrgPageSize(int orgPageSize) { + this.orgPageSize = orgPageSize; + } + + public int getOrgPageSize() { + return orgPageSize; + } } -- Gitblit v1.8.0