diff --git a/com.actionsoft.apps.coe.pal.publisher/lib/com.actionsoft.apps.coe.pal.publisher.jar b/com.actionsoft.apps.coe.pal.publisher/lib/com.actionsoft.apps.coe.pal.publisher.jar index d0d095af..59d39e07 100644 Binary files a/com.actionsoft.apps.coe.pal.publisher/lib/com.actionsoft.apps.coe.pal.publisher.jar and b/com.actionsoft.apps.coe.pal.publisher/lib/com.actionsoft.apps.coe.pal.publisher.jar differ diff --git a/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/client/web/ProcessPublishWeb.java b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/client/web/ProcessPublishWeb.java index df1cb9e2..d08610d9 100644 --- a/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/client/web/ProcessPublishWeb.java +++ b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/client/web/ProcessPublishWeb.java @@ -1912,6 +1912,42 @@ public class ProcessPublishWeb extends ActionWeb { } BO stopBo = SDK.getBOAPI().query("BO_ACT_COE_PUBLISH_S").detailByBindId(bindId); if (stopBo != null) { + + + String stopId=stopBo.getString("STOPFILEID"); + /******************** 附件 **********************/ + // 文件或节点自身附件 + JSONArray js = new JSONArray(); + UpFileDao upFileDao = new UpFileDao(); + StringBuilder sqlWhere = new StringBuilder(); + ArrayList isNumberAscArray = new ArrayList(); + sqlWhere.append(" and PALREPOSITORYID ='").append(stopId).append("'").append(" ORDER BY FILENAME ASC"); + ; + List fileList = upFileDao.search(sqlWhere.toString()); + if (fileList != null && fileList.size() > 0) + for (UpfileModel upfileModel : fileList) + if ("f".equals(upfileModel.getType())) { + JSONObject jb = new JSONObject(); + String upfileId = upfileModel.getUuid(); + String upFileName = upfileModel.getFileName(); + if (!upFileName.contains(".xml")) { + jb.put("upfileId", upfileId); + jb.put("upFileName", upFileName); + String openUrl = ""; + ResponseObject ros = getUrl("f", jb, upfileModel); + JSONObject parseObject = JSON.parseObject(JSON.toJSONString(ros.getData())); + String url = parseObject.get("url").toString(); + if (url.contains(".xls")) + openUrl = url; + else + openUrl = SDK.getConfAPI().getPortalUrl() + "/r/" + url.replace("./", ""); + jb.put("openUrl", openUrl); + js.add(jb.toJSONString()); + + } + } + stopObj.put("upfileId", js); + stopObj.put("stopFileName", stopBo.getString("STOPFILENAME")); stopObj.put("stopFileId", stopBo.getString("STOPFILEID")); PALRepositoryModel model = PALRepositoryCache.getCache().get(stopBo.getString("STOPFILEID")); @@ -3008,9 +3044,9 @@ public class ProcessPublishWeb extends ActionWeb { taskIn.getActivityDefId()); boolean isModify = FormEngineHelper.getInstance().isFormDataModify(userTaskModel, _uc); proNumber = isModify; -// if("obj_c643c74dc6800001bd741d7e1e40e4b0".equals(taskIn.getActivityDefId())) { -// proNumber = true; -// } +// if("obj_c643c74dc6800001bd741d7e1e40e4b0".equals(taskIn.getActivityDefId())) { +// proNumber = true; +// } } ro.put("proNumber", proNumber); BO publish = SDK.getBOAPI().query("BO_ACT_COE_PUBLISH").detailByBindId(processInstId); @@ -3369,6 +3405,126 @@ public class ProcessPublishWeb extends ActionWeb { obj.put("stopDesc", stopBo.getString("STOPDESC")); obj.put("taskId", stopBo.getString("TASKID")); stopArr.add(obj); + + PALRepositoryModel stopmodel = PALRepositoryCache.getCache().get(stopBo.getString("STOPFILEID")); + + + String stopId=stopBo.getString("STOPFILEID"); + + String methodId=stopmodel.getMethodId(); + + /******************** 附件 ************************/ + // 文件或节点自身附件 + JSONArray js = new JSONArray(); + UpFileDao upFileDao = new UpFileDao(); + StringBuilder sqlWhere = new StringBuilder(); + ArrayList isNumberAscArray = new ArrayList(); + sqlWhere.append(" and PALREPOSITORYID ='").append(stopId).append("'").append(" ORDER BY FILENAME ASC"); + List fileList = upFileDao.search(sqlWhere.toString()); + if (fileList != null && fileList.size() > 0) + for (UpfileModel upfileModel : fileList) + if (methodId.contains("data")) { + if ("s".equals(upfileModel.getType())) { + JSONObject jb = new JSONObject(); + //按照附件编号排序 + String fileNamel = upfileModel.getFileName(); + if (UtilString.isNotEmpty(fileNamel) && fileNamel.contains("附件") && fileNamel.length() > 2 && (fileNamel.contains(":") || fileNamel.contains(":"))) { + if (fileNamel.indexOf("附件") == 0) { + int indexOf2 = 3; + if (fileNamel.contains(":")) { + indexOf2 = fileNamel.indexOf(":"); + } else if (fileNamel.contains(":")) { + indexOf2 = fileNamel.indexOf(":"); + } + String numberStr = fileNamel.substring(2, indexOf2); + if (isNumeric(numberStr) && !"".equals(numberStr)) { + isNumberAscArray.add("true"); + int fileNumber = Integer.parseInt(numberStr); + jb.put("file_number", fileNumber); + } else { + isNumberAscArray.add("false"); + } + } else { + isNumberAscArray.add("false"); + } + + } else { + isNumberAscArray.add("false"); + } + + String upfileId = upfileModel.getUuid(); + String shape_uuid = upfileModel.getShape_uuid(); + String upFileName = upfileModel.getFileName(); + jb.put("upfileId", upfileId); + jb.put("upFileName", upFileName); + String openUrl = ""; + ResponseObject ros = getUrl("s", jb, upfileModel); + JSONObject parseObject = JSON.parseObject(JSON.toJSONString(ros.getData())); + String url = parseObject.get("url").toString(); + if (url.contains(".xls")) + openUrl = url; + else + openUrl = SDK.getConfAPI().getPortalUrl() + "/r/" + url.replace("./", ""); + jb.put("openUrl", openUrl); + js.add(jb.toJSONString()); + } + } else { + if ("f".equals(upfileModel.getType())) { + JSONObject jb = new JSONObject(); + //按照附件编号排序 + String fileNamel = upfileModel.getFileName(); + if (UtilString.isNotEmpty(fileNamel) && fileNamel.contains("附件") && fileNamel.length() > 2 && (fileNamel.contains(":") || fileNamel.contains(":"))) { + if (fileNamel.indexOf("附件") == 0) { + int indexOf2 = 3; + if (fileNamel.contains(":")) { + indexOf2 = fileNamel.indexOf(":"); + } else if (fileNamel.contains(":")) { + indexOf2 = fileNamel.indexOf(":"); + } + String numberStr = fileNamel.substring(2, indexOf2); + if (isNumeric(numberStr) && !"".equals(numberStr)) { + isNumberAscArray.add("true"); + int fileNumber = Integer.parseInt(numberStr); + jb.put("file_number", fileNumber); + } else { + isNumberAscArray.add("false"); + } + } else { + isNumberAscArray.add("false"); + } + + } else { + isNumberAscArray.add("false"); + } + + String upfileId = upfileModel.getUuid(); + String upFileName = upfileModel.getFileName(); + jb.put("upfileId", upfileId); + jb.put("upFileName", upFileName); + String openUrl = ""; + ResponseObject ros = getUrl("f", jb, upfileModel); + JSONObject parseObject = JSON.parseObject(JSON.toJSONString(ros.getData())); + String url = parseObject.get("url").toString(); + if (url.contains(".xls")) + openUrl = url; + else + openUrl = SDK.getConfAPI().getPortalUrl() + "/r/" + url.replace("./", ""); + jb.put("openUrl", openUrl); + js.add(jb.toJSONString()); + } + } + boolean contains = isNumberAscArray.contains("false"); + if (!contains) { + try { + js.sort(Comparator.comparing(objs -> (JSON.parseObject(objs.toString())).getInteger("file_number"))); + } catch (Exception e) { + throw new AWSQuotaException("附件格式请以:《附件1:XXXXXX》格式命名"); + } + } + obj.put("upfileId", js); + + + } } } diff --git a/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/pubEvent/ProcessEndAfterEvent_new.java b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/pubEvent/ProcessEndAfterEvent_new.java index f3db08f6..2519058b 100644 --- a/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/pubEvent/ProcessEndAfterEvent_new.java +++ b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/pubEvent/ProcessEndAfterEvent_new.java @@ -474,6 +474,13 @@ public class ProcessEndAfterEvent_new extends ExecuteListener implements Execute createReadLog(processExecutionContext, jsonObject, sendList, startTime, endTimes); System.err.println(instanceById.getTitle() + "推送OA待阅执行完毕====>" + "用时:" + (endTimes - startTime) / 1000 / 60 + "分钟"); + + + + List readCountBO=SDK.getBOAPI().query("BO_EU_READ_COUNT").addQuery("PROCESSID=",processExecutionContext.getProcessInstance().getId()).list(); + if(readCountBO.size()>0){ + SDK.getNotificationAPI().sendMessage("admin", "admin", "文件名称:"+processExecutionContext.getProcessInstance().getTitle()+"文件有失败记录,请及时处理!!!"); + } } } diff --git a/com.actionsoft.apps.coe.pal.publisher/web/com.actionsoft.apps.coe.pal.publisher/js/coe.pal.process.publish.multiple.js b/com.actionsoft.apps.coe.pal.publisher/web/com.actionsoft.apps.coe.pal.publisher/js/coe.pal.process.publish.multiple.js index de764399..ff3e5416 100644 --- a/com.actionsoft.apps.coe.pal.publisher/web/com.actionsoft.apps.coe.pal.publisher/js/coe.pal.process.publish.multiple.js +++ b/com.actionsoft.apps.coe.pal.publisher/web/com.actionsoft.apps.coe.pal.publisher/js/coe.pal.process.publish.multiple.js @@ -260,7 +260,7 @@ function initHtml() { // newHtml += ''; newHtml += ''; newHtml += ''; - newHtml += ''; + newHtml += ''; } //newHtml += ''; // newHtml += ''; @@ -293,7 +293,7 @@ function initHtml() { // changeHtml += ''; changeHtml += ''; changeHtml += ''; - changeHtml += ''; + changeHtml += ''; } //changeHtml += ''; // changeHtml += ''; @@ -779,6 +779,21 @@ function showlist(data, type, pageNumber, start){ for (var i = 0, s = start; i < pageLimit; i++, s++) { var curr; if ((curr = data[s - 1]) != undefined) { + + var fName = ''; + var upFileId = curr.upfileId; + if(upFileId!=''&&upFileId!=undefined){ + for(var i = 0; i < upFileId.length; i++){ + var upFileJson = upFileId[i] + var json=JSON.parse(upFileJson); + var upId = json.upfileId; + var upName = json.upFileName; + var openUrl = json.openUrl; + var downUrl = json.downUrl; + fName += '

' + upName + ' 

'; + } + } + var fileName = curr.stopFileName + ' V' + curr.fileVersion; var outputName = getOutputName(curr.category, curr.methodId); var reportName = '' + fileName + "-" + outputName + ''; @@ -789,7 +804,14 @@ function showlist(data, type, pageNumber, start){ html += ''; html += '' + s + ''; html += '' + fileName + ''; - html += '' + reportName + ''; + /*html += '' + reportName + '';*/ + + if(fName!=''){ + html += '

' + reportName + fName +''; + }else{ + html += '' + reportName +''; + } + html += ''; html += ''; } @@ -1116,7 +1138,8 @@ function openPortalPage(uuid, taskId) { * @param uuid */ function refreshManuals(processInstId,type) { - //FormToolBarAction.BTN_SAVE(); + $.simpleAlert("正在创建", "loading"); + FormToolBarAction.BTN_SAVE(); var param = { sid : sid, cmd : "com.actionsoft.apps.coe.pal.publisher_publish_Refresh_Manual", @@ -1129,6 +1152,7 @@ function refreshManuals(processInstId,type) { dataType : "JSON", data : param, success : function(r) { + $.simpleAlert('close'); if (r.result == 'ok') { AWSFormUtil.refreshPage(); } else {