增加废止带出附件功能
This commit is contained in:
parent
ac1abfc792
commit
a84b05836b
Binary file not shown.
@ -1912,6 +1912,42 @@ public class ProcessPublishWeb extends ActionWeb {
|
|||||||
}
|
}
|
||||||
BO stopBo = SDK.getBOAPI().query("BO_ACT_COE_PUBLISH_S").detailByBindId(bindId);
|
BO stopBo = SDK.getBOAPI().query("BO_ACT_COE_PUBLISH_S").detailByBindId(bindId);
|
||||||
if (stopBo != null) {
|
if (stopBo != null) {
|
||||||
|
|
||||||
|
|
||||||
|
String stopId=stopBo.getString("STOPFILEID");
|
||||||
|
/******************** 附件 **********************/
|
||||||
|
// 文件或节点自身附件
|
||||||
|
JSONArray js = new JSONArray();
|
||||||
|
UpFileDao upFileDao = new UpFileDao();
|
||||||
|
StringBuilder sqlWhere = new StringBuilder();
|
||||||
|
ArrayList<String> isNumberAscArray = new ArrayList<String>();
|
||||||
|
sqlWhere.append(" and PALREPOSITORYID ='").append(stopId).append("'").append(" ORDER BY FILENAME ASC");
|
||||||
|
;
|
||||||
|
List<UpfileModel> 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("stopFileName", stopBo.getString("STOPFILENAME"));
|
||||||
stopObj.put("stopFileId", stopBo.getString("STOPFILEID"));
|
stopObj.put("stopFileId", stopBo.getString("STOPFILEID"));
|
||||||
PALRepositoryModel model = PALRepositoryCache.getCache().get(stopBo.getString("STOPFILEID"));
|
PALRepositoryModel model = PALRepositoryCache.getCache().get(stopBo.getString("STOPFILEID"));
|
||||||
@ -3008,9 +3044,9 @@ public class ProcessPublishWeb extends ActionWeb {
|
|||||||
taskIn.getActivityDefId());
|
taskIn.getActivityDefId());
|
||||||
boolean isModify = FormEngineHelper.getInstance().isFormDataModify(userTaskModel, _uc);
|
boolean isModify = FormEngineHelper.getInstance().isFormDataModify(userTaskModel, _uc);
|
||||||
proNumber = isModify;
|
proNumber = isModify;
|
||||||
// if("obj_c643c74dc6800001bd741d7e1e40e4b0".equals(taskIn.getActivityDefId())) {
|
// if("obj_c643c74dc6800001bd741d7e1e40e4b0".equals(taskIn.getActivityDefId())) {
|
||||||
// proNumber = true;
|
// proNumber = true;
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
ro.put("proNumber", proNumber);
|
ro.put("proNumber", proNumber);
|
||||||
BO publish = SDK.getBOAPI().query("BO_ACT_COE_PUBLISH").detailByBindId(processInstId);
|
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("stopDesc", stopBo.getString("STOPDESC"));
|
||||||
obj.put("taskId", stopBo.getString("TASKID"));
|
obj.put("taskId", stopBo.getString("TASKID"));
|
||||||
stopArr.add(obj);
|
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<String> isNumberAscArray = new ArrayList<String>();
|
||||||
|
sqlWhere.append(" and PALREPOSITORYID ='").append(stopId).append("'").append(" ORDER BY FILENAME ASC");
|
||||||
|
List<UpfileModel> 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);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -474,6 +474,13 @@ public class ProcessEndAfterEvent_new extends ExecuteListener implements Execute
|
|||||||
createReadLog(processExecutionContext, jsonObject, sendList, startTime, endTimes);
|
createReadLog(processExecutionContext, jsonObject, sendList, startTime, endTimes);
|
||||||
System.err.println(instanceById.getTitle() + "推送OA待阅执行完毕====>" + "用时:"
|
System.err.println(instanceById.getTitle() + "推送OA待阅执行完毕====>" + "用时:"
|
||||||
+ (endTimes - startTime) / 1000 / 60 + "分钟");
|
+ (endTimes - startTime) / 1000 / 60 + "分钟");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
List<BO> 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()+"文件有失败记录,请及时处理!!!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -260,7 +260,7 @@ function initHtml() {
|
|||||||
// newHtml += '<button name="save" type="button" class="awsui-btn" onclick="saveFormData(\'new\');">保存</button>';
|
// newHtml += '<button name="save" type="button" class="awsui-btn" onclick="saveFormData(\'new\');">保存</button>';
|
||||||
newHtml += '<button name="delete" type="button" class="awsui-btn awsui-btn-danger" onclick="deleteFile(\'new\');">删除</button>';
|
newHtml += '<button name="delete" type="button" class="awsui-btn awsui-btn-danger" onclick="deleteFile(\'new\');">删除</button>';
|
||||||
newHtml += '<button name="refreshManual" type="button" class="awsui-btn awsui-btn" onclick="refreshManuals(\''+$("#processInstId").val()+'\',\''+"1"+'\');">重新生成手册</button>';
|
newHtml += '<button name="refreshManual" type="button" class="awsui-btn awsui-btn" onclick="refreshManuals(\''+$("#processInstId").val()+'\',\''+"1"+'\');">重新生成手册</button>';
|
||||||
newHtml += '<button name="getFiles" type="button" class="awsui-btn awsui-btn" onclick="getFiles();">生成附件</button>';
|
newHtml += '<button name="showFiles" type="button" class="awsui-btn awsui-btn" onclick="getFiles();">生成附件</button>';
|
||||||
}
|
}
|
||||||
//newHtml += '<button name="add" type="button" class="awsui-btn awsui-btn-blue" onclick="addProcess(\'new\');">新增</button>';
|
//newHtml += '<button name="add" type="button" class="awsui-btn awsui-btn-blue" onclick="addProcess(\'new\');">新增</button>';
|
||||||
// newHtml += '<button name="save" type="button" class="awsui-btn" onclick="saveFormData(\'new\');">保存</button>';
|
// newHtml += '<button name="save" type="button" class="awsui-btn" onclick="saveFormData(\'new\');">保存</button>';
|
||||||
@ -293,7 +293,7 @@ function initHtml() {
|
|||||||
// changeHtml += '<button name="save" type="button" class="awsui-btn" onclick="saveFormData(\'change\');">保存</button>';
|
// changeHtml += '<button name="save" type="button" class="awsui-btn" onclick="saveFormData(\'change\');">保存</button>';
|
||||||
changeHtml += '<button name="delete" type="button" class="awsui-btn awsui-btn-danger" onclick="deleteFile(\'change\');">删除</button>';
|
changeHtml += '<button name="delete" type="button" class="awsui-btn awsui-btn-danger" onclick="deleteFile(\'change\');">删除</button>';
|
||||||
changeHtml += '<button name="delete" type="button" class="awsui-btn awsui-btn" onclick="refreshManuals(\''+$("#processInstId").val()+'\',\''+"2"+'\');">重新生成手册</button>';
|
changeHtml += '<button name="delete" type="button" class="awsui-btn awsui-btn" onclick="refreshManuals(\''+$("#processInstId").val()+'\',\''+"2"+'\');">重新生成手册</button>';
|
||||||
changeHtml += '<button name="delete" type="button" class="awsui-btn awsui-btn" onclick="getFiles()">生成附件</button>';
|
changeHtml += '<button name="showFiles" type="button" class="awsui-btn awsui-btn" onclick="getFiles()">生成附件</button>';
|
||||||
}
|
}
|
||||||
//changeHtml += '<button name="add" type="button" class="awsui-btn awsui-btn-blue" onclick="addProcess(\'change\');">新增</button>';
|
//changeHtml += '<button name="add" type="button" class="awsui-btn awsui-btn-blue" onclick="addProcess(\'change\');">新增</button>';
|
||||||
// changeHtml += '<button name="save" type="button" class="awsui-btn" onclick="saveFormData(\'change\');">保存</button>';
|
// changeHtml += '<button name="save" type="button" class="awsui-btn" onclick="saveFormData(\'change\');">保存</button>';
|
||||||
@ -779,6 +779,21 @@ function showlist(data, type, pageNumber, start){
|
|||||||
for (var i = 0, s = start; i < pageLimit; i++, s++) {
|
for (var i = 0, s = start; i < pageLimit; i++, s++) {
|
||||||
var curr;
|
var curr;
|
||||||
if ((curr = data[s - 1]) != undefined) {
|
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 += '</p><a href="javascript:void(0);" onclick="openUrl(\'' + openUrl + '\')">' + upName + ' </a><span id="download_output_' + upId + '" style="cursor: pointer;" onclick="openUrl(\'' + downUrl + '\')"><i class="awsui-iconfont" style="font-size: 12px;"></i></span></p>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var fileName = curr.stopFileName + ' V' + curr.fileVersion;
|
var fileName = curr.stopFileName + ' V' + curr.fileVersion;
|
||||||
var outputName = getOutputName(curr.category, curr.methodId);
|
var outputName = getOutputName(curr.category, curr.methodId);
|
||||||
var reportName = '<a href="javascript:void(0);" onclick="openReportFile(\'' + curr.taskId + '\')">' + fileName + "-" + outputName + '</a><span id="download_output_' + curr.stopFileId + '" style="cursor: pointer;" onclick="downloadReport(\'' + curr.stopFileId + '\',\'' + curr.taskId + '\')"><i class="awsui-iconfont" style="font-size: 12px;"></i></span>';
|
var reportName = '<a href="javascript:void(0);" onclick="openReportFile(\'' + curr.taskId + '\')">' + fileName + "-" + outputName + '</a><span id="download_output_' + curr.stopFileId + '" style="cursor: pointer;" onclick="downloadReport(\'' + curr.stopFileId + '\',\'' + curr.taskId + '\')"><i class="awsui-iconfont" style="font-size: 12px;"></i></span>';
|
||||||
@ -789,7 +804,14 @@ function showlist(data, type, pageNumber, start){
|
|||||||
html += '<td ' + tableTdCss + '><input name="check" ' + checkboxPerm + ' class="awsui-checkbox" data-id="' + curr.stopFileId + '" type="checkbox" type="awsui-checkbox"></td>';
|
html += '<td ' + tableTdCss + '><input name="check" ' + checkboxPerm + ' class="awsui-checkbox" data-id="' + curr.stopFileId + '" type="checkbox" type="awsui-checkbox"></td>';
|
||||||
html += '<td ' + tableTdCss + '>' + s + '</td>';
|
html += '<td ' + tableTdCss + '>' + s + '</td>';
|
||||||
html += '<td ' + tableTdCss + '><a href="javascript:void(0);" onclick="openPortalPage(\'' + curr.stopFileId + '\', \'' + curr.taskId + '\')">' + fileName + '</a></td>';
|
html += '<td ' + tableTdCss + '><a href="javascript:void(0);" onclick="openPortalPage(\'' + curr.stopFileId + '\', \'' + curr.taskId + '\')">' + fileName + '</a></td>';
|
||||||
html += '<td ' + tableTdCss + '>' + reportName + '</td>';
|
/*html += '<td ' + tableTdCss + '>' + reportName + '</td>';*/
|
||||||
|
|
||||||
|
if(fName!=''){
|
||||||
|
html += '<td ' + tableTdCss + '></p>' + reportName + fName +'</td>';
|
||||||
|
}else{
|
||||||
|
html += '<td ' + tableTdCss + '>' + reportName +'</td>';
|
||||||
|
}
|
||||||
|
|
||||||
html += '<td style="padding:1px;"><textarea onblur="changeDesc(\'stop\',\'' + curr.stopFileId + '\', this)" style="width:100%;height:30px;" ' + textareaPerm + ' class="awsui-input">' + curr.stopDesc + '</textarea></td>';
|
html += '<td style="padding:1px;"><textarea onblur="changeDesc(\'stop\',\'' + curr.stopFileId + '\', this)" style="width:100%;height:30px;" ' + textareaPerm + ' class="awsui-input">' + curr.stopDesc + '</textarea></td>';
|
||||||
html += '</tr>';
|
html += '</tr>';
|
||||||
}
|
}
|
||||||
@ -1116,7 +1138,8 @@ function openPortalPage(uuid, taskId) {
|
|||||||
* @param uuid
|
* @param uuid
|
||||||
*/
|
*/
|
||||||
function refreshManuals(processInstId,type) {
|
function refreshManuals(processInstId,type) {
|
||||||
//FormToolBarAction.BTN_SAVE();
|
$.simpleAlert("正在创建", "loading");
|
||||||
|
FormToolBarAction.BTN_SAVE();
|
||||||
var param = {
|
var param = {
|
||||||
sid : sid,
|
sid : sid,
|
||||||
cmd : "com.actionsoft.apps.coe.pal.publisher_publish_Refresh_Manual",
|
cmd : "com.actionsoft.apps.coe.pal.publisher_publish_Refresh_Manual",
|
||||||
@ -1129,6 +1152,7 @@ function refreshManuals(processInstId,type) {
|
|||||||
dataType : "JSON",
|
dataType : "JSON",
|
||||||
data : param,
|
data : param,
|
||||||
success : function(r) {
|
success : function(r) {
|
||||||
|
$.simpleAlert('close');
|
||||||
if (r.result == 'ok') {
|
if (r.result == 'ok') {
|
||||||
AWSFormUtil.refreshPage();
|
AWSFormUtil.refreshPage();
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user