流程发布附件排序
This commit is contained in:
parent
2c0e28288d
commit
008d75bf43
@ -4,7 +4,15 @@ import java.io.File;
|
||||
import java.sql.Timestamp;
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.LinkedBlockingDeque;
|
||||
import java.util.concurrent.ThreadFactory;
|
||||
@ -12,7 +20,6 @@ import java.util.concurrent.ThreadPoolExecutor;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.alipay.remoting.config.switches.Switch;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import com.actionsoft.apps.coe.pal.constant.CoEConstant;
|
||||
@ -81,6 +88,7 @@ import com.actionsoft.bpms.util.UtilDate;
|
||||
import com.actionsoft.bpms.util.UtilFile;
|
||||
import com.actionsoft.bpms.util.UtilString;
|
||||
import com.actionsoft.exception.AWSException;
|
||||
import com.actionsoft.exception.AWSQuotaException;
|
||||
import com.actionsoft.i18n.I18nRes;
|
||||
import com.actionsoft.sdk.local.SDK;
|
||||
import com.actionsoft.sdk.local.api.AppAPI;
|
||||
@ -93,8 +101,6 @@ import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.util.concurrent.ThreadFactoryBuilder;
|
||||
|
||||
import io.etcd.jetcd.shaded.com.google.gson.Gson;
|
||||
|
||||
/**
|
||||
* 流程发布App
|
||||
*/
|
||||
@ -1691,6 +1697,15 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
}
|
||||
return JSON.toJSONString(list);
|
||||
}
|
||||
|
||||
public static boolean isNumeric(String str) {
|
||||
for (int i = str.length(); --i >= 0;) {
|
||||
int chr = str.charAt(i);
|
||||
if (chr < 48 || chr > 57)
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取字表数据
|
||||
@ -1739,12 +1754,40 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
JSONArray js = new JSONArray();
|
||||
UpFileDao upFileDao = new UpFileDao();
|
||||
StringBuilder sqlWhere = new StringBuilder();
|
||||
ArrayList<String> isNumberAscArray = new ArrayList<String>();
|
||||
sqlWhere.append(" and PALREPOSITORYID ='").append(publishId).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 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);
|
||||
@ -1760,6 +1803,16 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
jb.put("openUrl",openUrl);
|
||||
js.add(jb.toJSONString());
|
||||
}
|
||||
|
||||
boolean contains = isNumberAscArray.contains("false");
|
||||
if(!contains) {
|
||||
try {
|
||||
//js.sort(Comparator.comparing(obj -> ((JSONObject) obj).getInteger("file_number")));
|
||||
} catch (Exception e) {
|
||||
throw new AWSQuotaException("附件格式请以:《附件1:XXXXXX》格式命名");
|
||||
}
|
||||
}
|
||||
|
||||
newObj.put("upfileId", js);
|
||||
|
||||
} else {
|
||||
@ -1816,6 +1869,7 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
JSONArray js = new JSONArray();
|
||||
UpFileDao upFileDao = new UpFileDao();
|
||||
StringBuilder sqlWhere = new StringBuilder();
|
||||
ArrayList<String> isNumberAscArray = new ArrayList<String>();
|
||||
sqlWhere.append(" and PALREPOSITORYID ='").append(changeId).append("'").append(" ORDER BY FILENAME ASC");;
|
||||
List<UpfileModel> fileList = upFileDao.search(sqlWhere.toString());
|
||||
if (fileList != null && fileList.size() > 0)
|
||||
@ -1931,6 +1985,7 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
JSONArray js = new JSONArray();
|
||||
UpFileDao upFileDao = new UpFileDao();
|
||||
StringBuilder sqlWhere = new StringBuilder();
|
||||
ArrayList<String> isNumberAscArray = new ArrayList<String>();
|
||||
sqlWhere.append(" and PALREPOSITORYID ='").append(publishId).append("'").append(" ORDER BY FILENAME ASC");;
|
||||
List<UpfileModel> fileList = upFileDao.search(sqlWhere.toString());
|
||||
if (fileList != null && fileList.size() > 0)
|
||||
@ -1938,6 +1993,33 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
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);
|
||||
@ -1953,8 +2035,15 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
jb.put("openUrl",openUrl);
|
||||
js.add(jb.toJSONString());
|
||||
}
|
||||
boolean contains = isNumberAscArray.contains("false");
|
||||
if(!contains) {
|
||||
try {
|
||||
js.sort(Comparator.comparing(obj -> ((JSONObject) obj).getInteger("file_number")));
|
||||
} catch (Exception e) {
|
||||
throw new AWSQuotaException("附件格式请以:《附件1:XXXXXX》格式命名");
|
||||
}
|
||||
}
|
||||
newObj.put("upfileId", js);
|
||||
|
||||
} else {
|
||||
newObj.put("fileVersion", "1.0");
|
||||
newObj.put("methodId", "1");
|
||||
@ -2962,6 +3051,7 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
JSONArray js = new JSONArray();
|
||||
UpFileDao upFileDao = new UpFileDao();
|
||||
StringBuilder sqlWhere = new StringBuilder();
|
||||
ArrayList<String> isNumberAscArray = new ArrayList<String>();
|
||||
sqlWhere.append(" and PALREPOSITORYID ='").append(publishId).append("'").append(" ORDER BY FILENAME ASC");
|
||||
List<UpfileModel> fileList = upFileDao.search(sqlWhere.toString());
|
||||
if (fileList != null && fileList.size() > 0)
|
||||
@ -2969,6 +3059,32 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
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();
|
||||
@ -2988,6 +3104,32 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
} 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);
|
||||
@ -3004,6 +3146,14 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
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);
|
||||
} else {
|
||||
obj.put("fileVersion", "1.0");
|
||||
@ -3067,6 +3217,7 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
JSONArray js = new JSONArray();
|
||||
UpFileDao upFileDao = new UpFileDao();
|
||||
StringBuilder sqlWhere = new StringBuilder();
|
||||
ArrayList<String> isNumberAscArray = new ArrayList<String>();
|
||||
sqlWhere.append(" and PALREPOSITORYID ='").append(changeId).append("'").append(" ORDER BY FILENAME ASC");
|
||||
List<UpfileModel> fileList = upFileDao.search(sqlWhere.toString());
|
||||
if (fileList != null && fileList.size() > 0)
|
||||
@ -3074,6 +3225,31 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
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 upFileName = upfileModel.getFileName();
|
||||
jb.put("upfileId", upfileId);
|
||||
@ -3095,6 +3271,31 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
|
||||
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);
|
||||
@ -3114,6 +3315,15 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
}
|
||||
@ -3135,6 +3345,7 @@ public class ProcessPublishWeb extends ActionWeb {
|
||||
obj.put("targetMethodId", "1");
|
||||
obj.put("targetCategory", "1");
|
||||
}
|
||||
|
||||
changeArr.add(obj);
|
||||
}
|
||||
}
|
||||
|
||||
@ -245,94 +245,6 @@ public class ProcessEndAfterEvent extends ExecuteListener implements ExecuteList
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 推送待阅文件到OA
|
||||
*/
|
||||
if ("true".equals(isSendOA)) {
|
||||
ProcessInstance instanceById = processExecutionContext.getProcessInstance();
|
||||
if (bo_act_coe_publish1 != null && instanceById != null) {
|
||||
System.err.println(instanceById.getTitle() + "推送OA待阅执行开始====>");
|
||||
long startTime = System.currentTimeMillis();
|
||||
ArrayList<String> sendList = new ArrayList<String>();
|
||||
// 发送全集团
|
||||
if ("1".equals(bo_act_coe_publish1.getString("SEND_SCOP"))) {
|
||||
// 系统人员
|
||||
ArrayList<String> userList1 = new ArrayList<String>();
|
||||
try {
|
||||
userList1 = getUser(jsonObject, "5bc3a2dc-3bd2-4376-bcc3-5612e28e55fe", "0",
|
||||
instanceById.getId());
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
}
|
||||
//System.err.println("系统人员=====>" + userList1);
|
||||
// 项目开发人员
|
||||
ArrayList<String> userList2 = new ArrayList<String>();
|
||||
try {
|
||||
userList2 = getUser(jsonObject, "e79281b1-2f81-4895-b30e-9f96e9ad0e2c", "0",
|
||||
instanceById.getId());
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
}
|
||||
//System.err.println("项目开发人员=====>" + userList2);
|
||||
// 离退人员
|
||||
ArrayList<String> userList3 = new ArrayList<String>();
|
||||
try {
|
||||
userList3 = getUser(jsonObject, "65048aee-157f-49f2-a2dc-5903dd26f519", "0",
|
||||
instanceById.getId());
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
}
|
||||
//System.err.println("离退人员=====>" + userList3);
|
||||
List<RowMap> maps = DBSql.getMaps("SELECT * FROM ORGUSER WHERE CLOSED = '0'");
|
||||
for (RowMap rowMap : maps) {
|
||||
String userId = rowMap.getString("USERID");
|
||||
// RowMap map = DBSql.getMap("SELECT ID FROM BO_ACT_DATAID WHERE PROCESSID = '"
|
||||
// + instanceById.getId() + "' AND USER_ID = '" + userId + "'");
|
||||
if (!"10033643".equals(userId) && !userList1.contains(userId)
|
||||
&& !userList2.contains(userId) && !userList3.contains(userId)) {
|
||||
sendList.add(userId);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// 发送组织岗位职级
|
||||
sendList = getSendList(instanceById, bo_act_coe_publish1, jsonObject);
|
||||
|
||||
}
|
||||
long countTime = System.currentTimeMillis();
|
||||
System.err.println(instanceById.getTitle() + "待发送人员数量====>" + sendList.size() + " 计算用时===>"
|
||||
+ (countTime - startTime) + "毫秒");
|
||||
for (String user : sendList) {
|
||||
try {
|
||||
SendOARead(jsonObject, instanceById, user, "批量推送");
|
||||
} catch (Exception e) { // TODO: handle exception
|
||||
|
||||
}
|
||||
}
|
||||
// 二次推送
|
||||
List<RowMap> List = DBSql.getMaps("SELECT NAME FROM BO_EU_READ_COUNT WHERE PROCESSID = '"
|
||||
+ instanceById.getId() + "' AND RESULT = '待处理'");
|
||||
if (List.size() != 0) {
|
||||
System.err.println(instanceById.getTitle() + "批量推送失败后执行二次推送=======>" + List.size());
|
||||
for (RowMap rowMap : List) {
|
||||
try {
|
||||
ArrayList<String> userList3 = new ArrayList<String>();
|
||||
String userIds = rowMap.getString("NAME");
|
||||
System.err.println(instanceById.getTitle() + "二次推送账号=======>" + userIds);
|
||||
SendOARead(jsonObject, instanceById, userIds, "单个账号推送");
|
||||
} catch (Exception e) { // TODO: handle exception
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
long endTimes = System.currentTimeMillis();
|
||||
// 存入日志
|
||||
createReadLog(processExecutionContext, jsonObject, sendList, startTime, endTimes);
|
||||
System.err.println(instanceById.getTitle() + "推送OA待阅执行完毕====>" + "用时:"
|
||||
+ (endTimes - startTime) / 1000 / 60 + "分钟");
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* 推送到EHSQ
|
||||
*/
|
||||
@ -384,6 +296,95 @@ public class ProcessEndAfterEvent extends ExecuteListener implements ExecuteList
|
||||
AttrSynAslp(processExecutionContext, wsId, filed);
|
||||
} catch (Exception e) {
|
||||
}
|
||||
|
||||
/**
|
||||
* 推送待阅文件到OA
|
||||
*/
|
||||
if ("true".equals(isSendOA)) {
|
||||
ProcessInstance instanceById = processExecutionContext.getProcessInstance();
|
||||
if (bo_act_coe_publish1 != null && instanceById != null) {
|
||||
System.err.println(instanceById.getTitle() + "推送OA待阅执行开始====>");
|
||||
long startTime = System.currentTimeMillis();
|
||||
ArrayList<String> sendList = new ArrayList<String>();
|
||||
// 发送全集团
|
||||
if ("1".equals(bo_act_coe_publish1.getString("SEND_SCOP"))) {
|
||||
// 系统人员
|
||||
ArrayList<String> userList1 = new ArrayList<String>();
|
||||
try {
|
||||
userList1 = getUser(jsonObject, "5bc3a2dc-3bd2-4376-bcc3-5612e28e55fe", "0",
|
||||
instanceById.getId());
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
}
|
||||
//System.err.println("系统人员=====>" + userList1);
|
||||
// 项目开发人员
|
||||
ArrayList<String> userList2 = new ArrayList<String>();
|
||||
try {
|
||||
userList2 = getUser(jsonObject, "e79281b1-2f81-4895-b30e-9f96e9ad0e2c", "0",
|
||||
instanceById.getId());
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
}
|
||||
//System.err.println("项目开发人员=====>" + userList2);
|
||||
// 离退人员
|
||||
ArrayList<String> userList3 = new ArrayList<String>();
|
||||
try {
|
||||
userList3 = getUser(jsonObject, "65048aee-157f-49f2-a2dc-5903dd26f519", "0",
|
||||
instanceById.getId());
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
}
|
||||
//System.err.println("离退人员=====>" + userList3);
|
||||
List<RowMap> mapsl = DBSql.getMaps("SELECT * FROM ORGUSER WHERE CLOSED = '0'");
|
||||
for (RowMap rowMap : mapsl) {
|
||||
String userId = rowMap.getString("USERID");
|
||||
// RowMap map = DBSql.getMap("SELECT ID FROM BO_ACT_DATAID WHERE PROCESSID = '"
|
||||
// + instanceById.getId() + "' AND USER_ID = '" + userId + "'");
|
||||
if (!"10033643".equals(userId) && !userList1.contains(userId)
|
||||
&& !userList2.contains(userId) && !userList3.contains(userId)) {
|
||||
sendList.add(userId);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// 发送组织岗位职级
|
||||
sendList = getSendList(instanceById, bo_act_coe_publish1, jsonObject);
|
||||
|
||||
}
|
||||
long countTime = System.currentTimeMillis();
|
||||
System.err.println(instanceById.getTitle() + "待发送人员数量====>" + sendList.size() + " 计算用时===>"
|
||||
+ (countTime - startTime) + "毫秒");
|
||||
for (String user : sendList) {
|
||||
try {
|
||||
SendOARead(jsonObject, instanceById, user, "批量推送");
|
||||
} catch (Exception e) { // TODO: handle exception
|
||||
|
||||
}
|
||||
}
|
||||
// 二次推送
|
||||
List<RowMap> List = DBSql.getMaps("SELECT NAME FROM BO_EU_READ_COUNT WHERE PROCESSID = '"
|
||||
+ instanceById.getId() + "' AND RESULT = '待处理'");
|
||||
if (List.size() != 0) {
|
||||
System.err.println(instanceById.getTitle() + "批量推送失败后执行二次推送=======>" + List.size());
|
||||
for (RowMap rowMap : List) {
|
||||
try {
|
||||
ArrayList<String> userList3 = new ArrayList<String>();
|
||||
String userIds = rowMap.getString("NAME");
|
||||
System.err.println(instanceById.getTitle() + "二次推送账号=======>" + userIds);
|
||||
SendOARead(jsonObject, instanceById, userIds, "单个账号推送");
|
||||
} catch (Exception e) { // TODO: handle exception
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
long endTimes = System.currentTimeMillis();
|
||||
// 存入日志
|
||||
createReadLog(processExecutionContext, jsonObject, sendList, startTime, endTimes);
|
||||
System.err.println(instanceById.getTitle() + "推送OA待阅执行完毕====>" + "用时:"
|
||||
+ (endTimes - startTime) / 1000 / 60 + "分钟");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1333,9 +1334,8 @@ public class ProcessEndAfterEvent extends ExecuteListener implements ExecuteList
|
||||
String level = "";
|
||||
if (map != null) {
|
||||
String pver = map.getString("PLVER");
|
||||
if(UtilString.isNotEmpty(pver)) {
|
||||
if (UtilString.isNotEmpty(pver)) {
|
||||
if (pver.contains(".00")) {
|
||||
System.out.println("PLver>>>>>>>>>>" + pver);
|
||||
String levels = pver;
|
||||
String[] plvers = levels.split("\\.");
|
||||
plvers[1] = plvers[1].replaceAll("0", "");
|
||||
@ -1366,10 +1366,15 @@ public class ProcessEndAfterEvent extends ExecuteListener implements ExecuteList
|
||||
ResponseObject ro_create = appAPI_create.callASLP(
|
||||
appAPI_create.getAppContext(processExecutionContext.getProcessInstance().getAppId()),
|
||||
aslps_create, params_create);
|
||||
//System.out.println("ro_create================" + ro_create);
|
||||
// System.out.println("ro_create================" + ro_create);
|
||||
String cardId = ((LinkedHashMap) ro_create.getData()).get("cardId").toString();
|
||||
JSONArray jsonArray1 = new JSONArray();
|
||||
if (bo_act_coe_publish.getString("SEND_SCOP").equals("0")) {
|
||||
if (bo_act_coe_publish.getString("SEND_SCOP").equals("1")) {
|
||||
JSONObject jsonObjecta = new JSONObject();
|
||||
jsonObjecta.put("assignmentType", "company");
|
||||
jsonObjecta.put("assignmentId", "8911e732-b42a-4556-853f-ad32761bcbee");
|
||||
jsonArray1.add(jsonObjecta);
|
||||
} else {
|
||||
String departId = bo_act_coe_publish.getString("SEND_SCOPE_ORG");
|
||||
if (StringUtils.isNotEmpty(departId)
|
||||
&& StringUtils.isEmpty(bo_act_coe_publish.getString("SEND_SCOPE_LEVEL"))
|
||||
@ -1398,19 +1403,6 @@ public class ProcessEndAfterEvent extends ExecuteListener implements ExecuteList
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
List<DepartmentModel> departmentsByCompanyId = SDK.getORGAPI().getDepartmentsByCompanyId(1,
|
||||
"8911e732-b42a-4556-853f-ad32761bcbee");
|
||||
for (DepartmentModel departmentModel : departmentsByCompanyId) {
|
||||
String depId = departmentModel.getId();
|
||||
// 查询未注销的部门并且去掉系统部门
|
||||
if (!departmentModel.isClosed()&& !"e79281b1-2f81-4895-b30e-9f96e9ad0e2c".equals(depId)&& !"65048aee-157f-49f2-a2dc-5903dd26f519".equals(depId)) {
|
||||
JSONObject jsonObjecta = new JSONObject();
|
||||
jsonObjecta.put("assignmentType","department");
|
||||
jsonObjecta.put("assignmentId",depId);
|
||||
jsonArray1.add(jsonObjecta);
|
||||
}
|
||||
}
|
||||
}
|
||||
AddKnwlAC(processExecutionContext, jsonArray1, processExecutionContext.getUserContext().getSessionId(),
|
||||
cardId);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user