阅览权限,岗位职级取并集
This commit is contained in:
parent
e5f64407af
commit
de6da5efb5
@ -31,8 +31,8 @@ public class DownloadUtil {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public LinkedHashMap<String,String> outputReportDownload(UserContext _uc, String taskId, String ruuid) {
|
public LinkedHashMap<String,String> outputReportDownload(UserContext _uc, String taskId, String ruuid) {
|
||||||
System.out.println("usercontext>>>>>>>>>>>"+_uc.getUID());
|
//System.out.println("usercontext>>>>>>>>>>>"+_uc.getUID());
|
||||||
System.out.println("sid>>>>>>>>>>>"+_uc.getSessionId());
|
//System.out.println("sid>>>>>>>>>>>"+_uc.getSessionId());
|
||||||
LinkedHashMap<String,String> map = new LinkedHashMap<>();
|
LinkedHashMap<String,String> map = new LinkedHashMap<>();
|
||||||
OutputTaskModel model = new OutputTask().getTaskReportById(taskId);
|
OutputTaskModel model = new OutputTask().getTaskReportById(taskId);
|
||||||
ResponseObject result = ResponseObject.newOkResponse();
|
ResponseObject result = ResponseObject.newOkResponse();
|
||||||
@ -99,8 +99,8 @@ public class DownloadUtil {
|
|||||||
|
|
||||||
|
|
||||||
public String getzipURL(String sid,String taskId,String title){
|
public String getzipURL(String sid,String taskId,String title){
|
||||||
System.out.println("taskid》》》》》》》》》》"+taskId);
|
//System.out.println("taskid》》》》》》》》》》"+taskId);
|
||||||
System.out.println("fileName》》》》》》》》》》"+title);
|
//System.out.println("fileName》》》》》》》》》》"+title);
|
||||||
String reportDownloadURL = "";
|
String reportDownloadURL = "";
|
||||||
UserContext me = UserContext.fromSessionId(sid);
|
UserContext me = UserContext.fromSessionId(sid);
|
||||||
OutputTaskModel model = new OutputTask().getTaskReportById(taskId);
|
OutputTaskModel model = new OutputTask().getTaskReportById(taskId);
|
||||||
|
|||||||
@ -267,7 +267,7 @@ public class ProcessEndAfterEvent extends ExecuteListener implements ExecuteList
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// TODO: handle exception
|
// TODO: handle exception
|
||||||
}
|
}
|
||||||
System.err.println("系统人员=====>" + userList1);
|
//System.err.println("系统人员=====>" + userList1);
|
||||||
// 项目开发人员
|
// 项目开发人员
|
||||||
ArrayList<String> userList2 = new ArrayList<String>();
|
ArrayList<String> userList2 = new ArrayList<String>();
|
||||||
try {
|
try {
|
||||||
@ -276,7 +276,7 @@ public class ProcessEndAfterEvent extends ExecuteListener implements ExecuteList
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// TODO: handle exception
|
// TODO: handle exception
|
||||||
}
|
}
|
||||||
System.err.println("项目开发人员=====>" + userList2);
|
//System.err.println("项目开发人员=====>" + userList2);
|
||||||
// 离退人员
|
// 离退人员
|
||||||
ArrayList<String> userList3 = new ArrayList<String>();
|
ArrayList<String> userList3 = new ArrayList<String>();
|
||||||
try {
|
try {
|
||||||
@ -285,7 +285,7 @@ public class ProcessEndAfterEvent extends ExecuteListener implements ExecuteList
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// TODO: handle exception
|
// TODO: handle exception
|
||||||
}
|
}
|
||||||
System.err.println("离退人员=====>" + userList3);
|
//System.err.println("离退人员=====>" + userList3);
|
||||||
List<RowMap> maps = DBSql.getMaps("SELECT * FROM ORGUSER WHERE CLOSED = '0'");
|
List<RowMap> maps = DBSql.getMaps("SELECT * FROM ORGUSER WHERE CLOSED = '0'");
|
||||||
for (RowMap rowMap : maps) {
|
for (RowMap rowMap : maps) {
|
||||||
String userId = rowMap.getString("USERID");
|
String userId = rowMap.getString("USERID");
|
||||||
@ -360,7 +360,6 @@ public class ProcessEndAfterEvent extends ExecuteListener implements ExecuteList
|
|||||||
try {
|
try {
|
||||||
AttrSynAslp(processExecutionContext, wsId, filed);
|
AttrSynAslp(processExecutionContext, wsId, filed);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// TODO: handle exception
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -368,7 +367,6 @@ public class ProcessEndAfterEvent extends ExecuteListener implements ExecuteList
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
} finally {
|
} finally {
|
||||||
|
|
||||||
open.close();
|
open.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -786,7 +784,6 @@ public class ProcessEndAfterEvent extends ExecuteListener implements ExecuteList
|
|||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public String SendEHSQFile(JSONArray jsonArray) throws Exception {
|
public String SendEHSQFile(JSONArray jsonArray) throws Exception {
|
||||||
System.out.println("===jsonArray===" + jsonArray);
|
|
||||||
/**
|
/**
|
||||||
* 首先需要将传过来的参数进行加密操作,并设置
|
* 首先需要将传过来的参数进行加密操作,并设置
|
||||||
*/
|
*/
|
||||||
@ -798,7 +795,7 @@ public class ProcessEndAfterEvent extends ExecuteListener implements ExecuteList
|
|||||||
String date = sdf.format(new Date());
|
String date = sdf.format(new Date());
|
||||||
String s1 = date.replaceAll("-", "").replaceAll(" ", "").replaceAll(":", "");
|
String s1 = date.replaceAll("-", "").replaceAll(" ", "").replaceAll(":", "");
|
||||||
|
|
||||||
System.out.println("时间>>>>>>>>>>>>" + s1);
|
//System.out.println("时间>>>>>>>>>>>>" + s1);
|
||||||
String data = system + "##" + s1;
|
String data = system + "##" + s1;
|
||||||
String encrypt = aesUtil.encrypt(data, AES); // 获取加密之后的秘钥
|
String encrypt = aesUtil.encrypt(data, AES); // 获取加密之后的秘钥
|
||||||
JSONObject jsonObject = new JSONObject(new LinkedHashMap<>());
|
JSONObject jsonObject = new JSONObject(new LinkedHashMap<>());
|
||||||
@ -806,9 +803,9 @@ public class ProcessEndAfterEvent extends ExecuteListener implements ExecuteList
|
|||||||
jsonObject.put("token", encrypt);
|
jsonObject.put("token", encrypt);
|
||||||
jsonObject.put("infos", jsonArray);
|
jsonObject.put("infos", jsonArray);
|
||||||
HttpUtil httpUtil = new HttpUtil();
|
HttpUtil httpUtil = new HttpUtil();
|
||||||
System.out.println("jsonobject>>>>>>>>>>>>>>>>>>>" + jsonObject);
|
System.out.println("发送EHSQ参数>>>>>" + jsonObject);
|
||||||
String s = httpUtil.sendPost(jsonObject, EHSQUrl);
|
String s = httpUtil.sendPost(jsonObject, EHSQUrl);
|
||||||
System.out.println("发送到EHSQ是否是正确的>>>>>>>>>" + s);
|
System.out.println("发送EHSQ结果>>>>>" + s);
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
@ -820,54 +817,58 @@ public class ProcessEndAfterEvent extends ExecuteListener implements ExecuteList
|
|||||||
String level = bo_act_coe_publish1.getString("SEND_SCOPE_LEVEL");
|
String level = bo_act_coe_publish1.getString("SEND_SCOPE_LEVEL");
|
||||||
ArrayList<String> userList = new ArrayList<>();
|
ArrayList<String> userList = new ArrayList<>();
|
||||||
if ("1".equals(sendType)) {
|
if ("1".equals(sendType)) {
|
||||||
System.err.println("发送全集团=====>" + instanceById.getTitle());
|
//System.err.println("发送全集团=====>" + instanceById.getTitle());
|
||||||
userList = sendOrg(org, userList, instanceById, bo_act_coe_publish1, jsonObject, sendType);
|
userList = sendOrg(org, userList, instanceById, bo_act_coe_publish1, jsonObject, sendType);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
// 如果都不为空,组织/岗位取并集的结果同职级取交集
|
/**
|
||||||
|
* 先组织和职级取交集,然后再和岗位取并集
|
||||||
|
*/
|
||||||
if (UtilString.isNotEmpty(org) && UtilString.isNotEmpty(post) && UtilString.isNotEmpty(level)) {
|
if (UtilString.isNotEmpty(org) && UtilString.isNotEmpty(post) && UtilString.isNotEmpty(level)) {
|
||||||
System.err.println("发送组织/岗位/职级=====>" + instanceById.getTitle());
|
//System.err.println("发送组织/岗位/职级=====>" + instanceById.getTitle());
|
||||||
ArrayList<String> sendOrgList = sendOrg(org, userList, instanceById, bo_act_coe_publish1, jsonObject,
|
ArrayList<String> sendOrgList = sendOrg(org, userList, instanceById, bo_act_coe_publish1, jsonObject,
|
||||||
sendType);
|
sendType);
|
||||||
ArrayList<String> sendPostList = sendPost(post, sendOrgList, instanceById, bo_act_coe_publish1,
|
ArrayList<String> sendLevel = sendLevel(level, sendOrgList, instanceById, bo_act_coe_publish1, jsonObject);
|
||||||
|
userList = sendPost(post, sendLevel, instanceById, bo_act_coe_publish1,
|
||||||
jsonObject);
|
jsonObject);
|
||||||
userList = sendLevel(level, sendPostList, instanceById, bo_act_coe_publish1, jsonObject);
|
|
||||||
}
|
}
|
||||||
// 如果职级为空,组织/岗位取并集
|
// 如果职级为空,组织/岗位取并集
|
||||||
if (UtilString.isNotEmpty(org) && UtilString.isNotEmpty(post) && UtilString.isEmpty(level)) {
|
if (UtilString.isNotEmpty(org) && UtilString.isNotEmpty(post) && UtilString.isEmpty(level)) {
|
||||||
System.err.println("发送组织/岗位=====>" + instanceById.getTitle());
|
//System.err.println("发送组织/岗位=====>" + instanceById.getTitle());
|
||||||
ArrayList<String> sendOrgList = sendOrg(org, userList, instanceById, bo_act_coe_publish1, jsonObject,
|
ArrayList<String> sendOrgList = sendOrg(org, userList, instanceById, bo_act_coe_publish1, jsonObject,
|
||||||
sendType);
|
sendType);
|
||||||
userList = sendPost(post, sendOrgList, instanceById, bo_act_coe_publish1, jsonObject);
|
userList = sendPost(post, sendOrgList, instanceById, bo_act_coe_publish1, jsonObject);
|
||||||
}
|
}
|
||||||
// 如果岗位为空,组织/职级取交集
|
// 如果岗位为空,组织/职级取交集
|
||||||
if (UtilString.isNotEmpty(org) && UtilString.isEmpty(post) && UtilString.isNotEmpty(level)) {
|
if (UtilString.isNotEmpty(org) && UtilString.isEmpty(post) && UtilString.isNotEmpty(level)) {
|
||||||
System.err.println("发送组织/职级=====>" + instanceById.getTitle());
|
//System.err.println("发送组织/职级=====>" + instanceById.getTitle());
|
||||||
ArrayList<String> sendOrgList = sendOrg(org, userList, instanceById, bo_act_coe_publish1, jsonObject,
|
ArrayList<String> sendOrgList = sendOrg(org, userList, instanceById, bo_act_coe_publish1, jsonObject,
|
||||||
sendType);
|
sendType);
|
||||||
userList = sendLevel(level, sendOrgList, instanceById, bo_act_coe_publish1, jsonObject);
|
userList = sendLevel(level, sendOrgList, instanceById, bo_act_coe_publish1, jsonObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 如果组织为空,岗位/职级取交集
|
/**
|
||||||
|
* 组织为空 岗位和职级取并集
|
||||||
|
*/
|
||||||
if (UtilString.isEmpty(org) && UtilString.isNotEmpty(post) && UtilString.isNotEmpty(level)) {
|
if (UtilString.isEmpty(org) && UtilString.isNotEmpty(post) && UtilString.isNotEmpty(level)) {
|
||||||
System.err.println("发送岗位/职级=====>" + instanceById.getTitle());
|
//System.err.println("发送岗位/职级=====>" + instanceById.getTitle());
|
||||||
ArrayList<String> sendPostList = sendPost(post, userList, instanceById, bo_act_coe_publish1,
|
ArrayList<String> sendLevel2 = sendLevel2(level, userList, instanceById, bo_act_coe_publish1, jsonObject);
|
||||||
|
userList = sendPost(post, sendLevel2, instanceById, bo_act_coe_publish1,
|
||||||
jsonObject);
|
jsonObject);
|
||||||
userList = sendLevel(level, sendPostList, instanceById, bo_act_coe_publish1, jsonObject);
|
|
||||||
}
|
}
|
||||||
// 如果只有组织不为空
|
// 如果只有组织不为空
|
||||||
if (UtilString.isNotEmpty(org) && UtilString.isEmpty(post) && UtilString.isEmpty(level)) {
|
if (UtilString.isNotEmpty(org) && UtilString.isEmpty(post) && UtilString.isEmpty(level)) {
|
||||||
System.err.println("发送组织=====>" + instanceById.getTitle());
|
//System.err.println("发送组织=====>" + instanceById.getTitle());
|
||||||
userList = sendOrg(org, userList, instanceById, bo_act_coe_publish1, jsonObject, sendType);
|
userList = sendOrg(org, userList, instanceById, bo_act_coe_publish1, jsonObject, sendType);
|
||||||
}
|
}
|
||||||
// 如果只有岗位不为空
|
// 如果只有岗位不为空
|
||||||
if (UtilString.isEmpty(org) && UtilString.isNotEmpty(post) && UtilString.isEmpty(level)) {
|
if (UtilString.isEmpty(org) && UtilString.isNotEmpty(post) && UtilString.isEmpty(level)) {
|
||||||
System.err.println("发送岗位=====>" + instanceById.getTitle());
|
//System.err.println("发送岗位=====>" + instanceById.getTitle());
|
||||||
userList = sendPost(post, userList, instanceById, bo_act_coe_publish1, jsonObject);
|
userList = sendPost(post, userList, instanceById, bo_act_coe_publish1, jsonObject);
|
||||||
}
|
}
|
||||||
// 如果只有职级不为空
|
// 如果只有职级不为空
|
||||||
if (UtilString.isEmpty(org) && UtilString.isEmpty(post) && UtilString.isNotEmpty(level)) {
|
if (UtilString.isEmpty(org) && UtilString.isEmpty(post) && UtilString.isNotEmpty(level)) {
|
||||||
System.err.println("发送职级=====>" + instanceById.getTitle());
|
//System.err.println("发送职级=====>" + instanceById.getTitle());
|
||||||
userList = sendLevel2(level, userList, instanceById, bo_act_coe_publish1, jsonObject);
|
userList = sendLevel2(level, userList, instanceById, bo_act_coe_publish1, jsonObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -907,12 +908,15 @@ public class ProcessEndAfterEvent extends ExecuteListener implements ExecuteList
|
|||||||
} else {
|
} else {
|
||||||
postss = "'" + StringUtils.join(posts, "','") + "'";
|
postss = "'" + StringUtils.join(posts, "','") + "'";
|
||||||
}
|
}
|
||||||
String sql = "select * from ORGUSER where POSITION_NO in (" + postss + ") and userno is not null";
|
String sql = "select * from ORGUSER where POSITION_NO in (" + postss + ") and userno is not null";
|
||||||
List<RowMap> maps1 = DBSql.getMaps(sql);
|
List<RowMap> maps1 = DBSql.getMaps(sql);
|
||||||
for (RowMap rowMap : maps1) {
|
for (RowMap rowMap : maps1) {
|
||||||
String userId = rowMap.getString("USERID");
|
String userId = rowMap.getString("USERID");
|
||||||
if (!userList.contains(userId)) {
|
if (!userList.contains(userId)) {
|
||||||
userList.add(userId);
|
boolean closed = SDK.getORGAPI().getUser(userId).isClosed();
|
||||||
|
if(!closed) {
|
||||||
|
userList.add(userId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -942,7 +946,10 @@ public class ProcessEndAfterEvent extends ExecuteListener implements ExecuteList
|
|||||||
for (RowMap rowMap : maps2) {
|
for (RowMap rowMap : maps2) {
|
||||||
String userId = rowMap.getString("USERID");
|
String userId = rowMap.getString("USERID");
|
||||||
if (userList.contains(userId)) {
|
if (userList.contains(userId)) {
|
||||||
userList_level.add(userId);
|
boolean closed = SDK.getORGAPI().getUser(userId).isClosed();
|
||||||
|
if(!closed) {
|
||||||
|
userList_level.add(userId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -971,7 +978,10 @@ public class ProcessEndAfterEvent extends ExecuteListener implements ExecuteList
|
|||||||
List<RowMap> maps2 = DBSql.getMaps(sql2);
|
List<RowMap> maps2 = DBSql.getMaps(sql2);
|
||||||
for (RowMap rowMap : maps2) {
|
for (RowMap rowMap : maps2) {
|
||||||
String userId = rowMap.getString("USERID");
|
String userId = rowMap.getString("USERID");
|
||||||
userList_level.add(userId);
|
boolean closed = SDK.getORGAPI().getUser(userId).isClosed();
|
||||||
|
if(!closed) {
|
||||||
|
userList_level.add(userId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return userList_level;
|
return userList_level;
|
||||||
@ -1079,34 +1089,6 @@ public class ProcessEndAfterEvent extends ExecuteListener implements ExecuteList
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* 创建线程发送待阅
|
|
||||||
*
|
|
||||||
* @param list 人员集合
|
|
||||||
* @param startTime 开始时间
|
|
||||||
* @param jsonObject 发送的json串
|
|
||||||
* @param processExecutionContext 流程数据
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* public void course(List<String[]> list,long startTime,JSONObject
|
|
||||||
* jsonObject,ProcessExecutionContext processExecutionContext){ //
|
|
||||||
* 创建线程来实现为每300人为一个的线程跑待阅 ExecutorService service =
|
|
||||||
* Executors.newFixedThreadPool(4); service.execute(new Runnable() {
|
|
||||||
*
|
|
||||||
* @Override public void run() { int i=0; for (String[] resrt:list ) {
|
|
||||||
*
|
|
||||||
* if ((list.size()-1)==i){ long endTime = System.currentTimeMillis();
|
|
||||||
*
|
|
||||||
* long time = endTime - startTime; long itmes = time/1000/60/60; BO
|
|
||||||
* bo_eu_pal_read_log = SDK.getBOAPI().query("BO_EU_PAL_READ_LOG",
|
|
||||||
* true).addQuery("PROCESSID = ",
|
|
||||||
* processExecutionContext.getProcessInstance().getId()).detail();
|
|
||||||
* bo_eu_pal_read_log.set("ENDTIMES",endTime);
|
|
||||||
* bo_eu_pal_read_log.set("TIMECOUNT",itmes);
|
|
||||||
* SDK.getBOAPI().update("BO_EU_PAL_READ_LOG",bo_eu_pal_read_log); } try {
|
|
||||||
* SendOARead(jsonObject,processExecutionContext,resrt); } catch
|
|
||||||
* (DocumentException e) { e.printStackTrace(); } i++; } } }); }
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建待阅日志
|
* 创建待阅日志
|
||||||
|
|||||||
@ -4134,7 +4134,7 @@ public class PALRepositoryQueryAPIManager {
|
|||||||
|
|
||||||
// 都不为空时
|
// 都不为空时
|
||||||
if (UtilString.isNotEmpty(orgPerm) && UtilString.isNotEmpty(postPerm) && UtilString.isNotEmpty(levelPerm)) {
|
if (UtilString.isNotEmpty(orgPerm) && UtilString.isNotEmpty(postPerm) && UtilString.isNotEmpty(levelPerm)) {
|
||||||
if ((getOrgPerm(orgPerm, uc) || getPostPerm(postPerm, uc)) && getLevelPerm(levelPerm, uc)) {
|
if ((getOrgPerm(orgPerm, uc) && getLevelPerm(levelPerm, uc) )||getPostPerm(postPerm, uc) ) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
// 职级为空时
|
// 职级为空时
|
||||||
@ -4149,7 +4149,7 @@ public class PALRepositoryQueryAPIManager {
|
|||||||
}
|
}
|
||||||
// 组织为空时
|
// 组织为空时
|
||||||
} else if (UtilString.isNotEmpty(postPerm) && UtilString.isNotEmpty(levelPerm) && UtilString.isEmpty(orgPerm)) {
|
} else if (UtilString.isNotEmpty(postPerm) && UtilString.isNotEmpty(levelPerm) && UtilString.isEmpty(orgPerm)) {
|
||||||
if (getPostPerm(postPerm, uc) && getLevelPerm(levelPerm, uc)) {
|
if (getPostPerm(postPerm, uc) || getLevelPerm(levelPerm, uc)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
// 组织、岗位为空时
|
// 组织、岗位为空时
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user