OA补发待阅代码提交

This commit is contained in:
zhal 2023-06-12 19:56:24 +08:00
parent 9d42041fab
commit 9c4ab6bf42
9 changed files with 153 additions and 23 deletions

View File

@ -517,9 +517,9 @@ public class PublishClientController {
* @return * @return
*/ */
@Mapping("com.awspaas.user.apps.publish.RetransmissionOA") @Mapping("com.awspaas.user.apps.publish.RetransmissionOA")
public String RetransmissionOA(UserContext me, String id) throws SQLException { public String RetransmissionOA(UserContext me, String ids) throws SQLException {
ProcessPublishClientWeb web = new ProcessPublishClientWeb(me); ProcessPublishClientWeb web = new ProcessPublishClientWeb(me);
return web.RetransmissionOA(id); return web.RetransmissionOA(ids);
} }

View File

@ -875,9 +875,9 @@ public class PublisherController {
* @return * @return
*/ */
@Mapping("com.actionsoft.apps.coe.pal.publisher_publish_InterruptTask") @Mapping("com.actionsoft.apps.coe.pal.publisher_publish_InterruptTask")
public String InterruptTask(UserContext me,String processInstId) { public String InterruptTask(UserContext me,String taskId) {
ProcessPublishWeb web = new ProcessPublishWeb(me); ProcessPublishWeb web = new ProcessPublishWeb(me);
return web.InterruptTask(processInstId); return web.InterruptTask(taskId);
} }

View File

@ -4807,11 +4807,12 @@ public class ProcessPublishClientWeb extends AbstPortalSkins implements PortalSk
* 对于OA待阅失败人员数据进行重新推送 * 对于OA待阅失败人员数据进行重新推送
* @return * @return
*/ */
public String RetransmissionOA(String id) throws SQLException { public String RetransmissionOA(String ids) throws SQLException {
ResponseObject ro = ResponseObject.newOkResponse(); ResponseObject ro = ResponseObject.newOkResponse();
String[] ids=id.split(","); String[] idArray=ids.split(",");
for(String oneid: ids){ System.out.println("");
for(String oneid: idArray){
BO readCountBO=SDK.getBOAPI().query("BO_EU_READ_COUNT").detailById(oneid); BO readCountBO=SDK.getBOAPI().query("BO_EU_READ_COUNT").detailById(oneid);
if(readCountBO!=null){ if(readCountBO!=null){
@ -4825,10 +4826,7 @@ public class ProcessPublishClientWeb extends AbstPortalSkins implements PortalSk
TaskInstance taskInst = SDK.getTaskAPI().getInstanceById(taskInd); TaskInstance taskInst = SDK.getTaskAPI().getInstanceById(taskInd);
BO publishBo = SDK.getBOAPI().getByProcess("BO_ACT_COE_PUBLISH", publshId); BO publishBo = SDK.getBOAPI().getByProcess("BO_ACT_COE_PUBLISH", publshId);
// 发送岗位
String send_scope_post = publishBo.getString("SEND_SCOPE_POST");
// 发送组织
String send_scope_org = publishBo.getString("SEND_SCOPE_ORG");
List<BO> bo_act_coe_publish_n = SDK.getBOAPI().query("BO_ACT_COE_PUBLISH_N", true).addQuery("BINDID=", publshId) List<BO> bo_act_coe_publish_n = SDK.getBOAPI().query("BO_ACT_COE_PUBLISH_N", true).addQuery("BINDID=", publshId)
.list(); .list();
@ -4937,6 +4935,7 @@ public class ProcessPublishClientWeb extends AbstPortalSkins implements PortalSk
boActCoePublish.getString("APPLYDATE"), publshId, boActCoePublish.getString("SEND_SCOPE_POST"), boActCoePublish.getString("APPLYDATE"), publshId, boActCoePublish.getString("SEND_SCOPE_POST"),
boActCoePublish.getString("SEND_SCOPE_LEVEL"), "1"); boActCoePublish.getString("SEND_SCOPE_LEVEL"), "1");
System.out.println("xxxxxxxxxxxxxxxxxxxxx"+boActCoePublish.getString("PROCESS_TITLE"));
JSONObject jsonObject = new JSONObject(new LinkedHashMap()); JSONObject jsonObject = new JSONObject(new LinkedHashMap());
jsonObject.put("action", "read"); jsonObject.put("action", "read");
jsonObject.put("title", " " + "" + boActCoePublish.getString("PROCESS_TITLE") + ""); jsonObject.put("title", " " + "" + boActCoePublish.getString("PROCESS_TITLE") + "");
@ -4963,6 +4962,7 @@ public class ProcessPublishClientWeb extends AbstPortalSkins implements PortalSk
System.err.println(publshInst.getTitle() + "待发送人员数量====>" + arr.size()); System.err.println(publshInst.getTitle() + "待发送人员数量====>" + arr.size());
for (String uid : arr) { for (String uid : arr) {
try { try {
System.out.println("uid================="+uid);
SendOARead(jsonObject, publshInst, uid); SendOARead(jsonObject, publshInst, uid);
} catch (Exception e) { } catch (Exception e) {
} }

View File

@ -4574,12 +4574,12 @@ public class ProcessPublishWeb extends ActionWeb {
* @param processInstId * @param processInstId
* @return * @return
*/ */
public String InterruptTask(String processInstId) { public String InterruptTask(String taskId) {
ResponseObject ro = ResponseObject.newOkResponse(); ResponseObject ro = ResponseObject.newOkResponse();
if (processInstId == null) { if (taskId == null) {
return ResponseObject.newErrResponse("流程实例未找到").toString(); return ResponseObject.newErrResponse("流程实例未找到").toString();
} }
int count = DBSql.update("UPDATE BO_ACT_EXECUTIVE_TASK SET TASKSTATUS='" + 2 + "' WHERE TASKID ='" + processInstId + "'"); int count = DBSql.update("UPDATE BO_ACT_EXECUTIVE_TASK SET TASKSTATUS='2' WHERE TASKID ='" + taskId + "'");
if(count>0){ if(count>0){
ro.put("result","ok"); ro.put("result","ok");
}else{ }else{

View File

@ -87,7 +87,7 @@ public class ProcessEndAfterEvent_new extends ExecuteListener implements Execute
if(isConfirmRelease==true){ if(isConfirmRelease==true){
ProcessInstance boProcessInstance = SDK.getProcessAPI() ProcessInstance boProcessInstance = SDK.getProcessAPI()
.createBOProcessInstance("obj_a2d419f9aff446c1be891785200e914c", ext.getUserContext().getUserName(), "OA任务传输"); .createBOProcessInstance("obj_7946c848674f422fbe2817ad5d047337", ext.getUserContext().getUID(), "OA任务状态记录");
BO executiveTaskBO=new BO(); BO executiveTaskBO=new BO();
executiveTaskBO.set("TASKTITLE",ext.getProcessInstance().getTitle()); executiveTaskBO.set("TASKTITLE",ext.getProcessInstance().getTitle());
executiveTaskBO.set("TASKID",ext.getProcessInstance().getId()); executiveTaskBO.set("TASKID",ext.getProcessInstance().getId());
@ -396,9 +396,7 @@ public class ProcessEndAfterEvent_new extends ExecuteListener implements Execute
BO executiveTaskBO=SDK.getBOAPI().query("BO_ACT_EXECUTIVE_TASK").addQuery("TASKID=",processExecutionContext.getProcessInstance().getId()).addQuery("TASKSTATUS=",2).detail(); BO executiveTaskBO=SDK.getBOAPI().query("BO_ACT_EXECUTIVE_TASK").addQuery("TASKID=",processExecutionContext.getProcessInstance().getId()).addQuery("TASKSTATUS=",2).detail();
if(executiveTaskBO!=null){ if(executiveTaskBO!=null){
String userIds = StringUtils.join(idList, ","); String userIds = StringUtils.join(idList, ",");
System.out.println("userIds=============="+userIds);
String[] userIdsArray=userIds.split(","); String[] userIdsArray=userIds.split(",");
System.out.println("userIdsArray=============="+userIdsArray);
for(String oneuserId:userIdsArray){ for(String oneuserId:userIdsArray){
BO bo = new BO(); BO bo = new BO();
bo.set("TITLE", processExecutionContext.getProcessInstance().getTitle()); bo.set("TITLE", processExecutionContext.getProcessInstance().getTitle());
@ -406,7 +404,7 @@ public class ProcessEndAfterEvent_new extends ExecuteListener implements Execute
bo.set("TYPE", "批量推送"); bo.set("TYPE", "批量推送");
bo.set("RESULT", "待处理"); bo.set("RESULT", "待处理");
bo.set("PROCESSID", processExecutionContext.getProcessInstance().getId()); bo.set("PROCESSID", processExecutionContext.getProcessInstance().getId());
bo.set("DEPNAME", SDK.getORGAPI().getUser(userIds).getDepartmentId()); bo.set("DEPNAME", SDK.getORGAPI().getUser(oneuserId).getDepartmentId());
SDK.getBOAPI().create("BO_EU_READ_COUNT", bo, processExecutionContext.getProcessInstance().getId(), processExecutionContext.getProcessInstance().getCreateUser()); SDK.getBOAPI().create("BO_EU_READ_COUNT", bo, processExecutionContext.getProcessInstance().getId(), processExecutionContext.getProcessInstance().getCreateUser());
} }
return; return;
@ -441,8 +439,27 @@ public class ProcessEndAfterEvent_new extends ExecuteListener implements Execute
+ instanceById.getId() + "' AND RESULT = '待处理'"); + instanceById.getId() + "' AND RESULT = '待处理'");
if (List.size() != 0) { if (List.size() != 0) {
System.err.println(instanceById.getTitle() + "批量推送失败后执行二次推送=======>" + List.size()); System.err.println(instanceById.getTitle() + "批量推送失败后执行二次推送=======>" + List.size());
BO executiveTaskBO=SDK.getBOAPI().query("BO_ACT_EXECUTIVE_TASK").addQuery("TASKID=",processExecutionContext.getProcessInstance().getId()).addQuery("TASKSTATUS=",2).detail();
if(executiveTaskBO!=null){
for (RowMap rowMap : List) {
BO bo = new BO();
bo.set("TITLE", processExecutionContext.getProcessInstance().getTitle());
bo.set("NAME", rowMap.getString("NAME"));
bo.set("TYPE", "批量推送");
bo.set("RESULT", "待处理");
bo.set("PROCESSID", processExecutionContext.getProcessInstance().getId());
bo.set("DEPNAME", SDK.getORGAPI().getUser(rowMap.getString("NAME")).getDepartmentId());
SDK.getBOAPI().create("BO_EU_READ_COUNT", bo, processExecutionContext.getProcessInstance().getId(), processExecutionContext.getProcessInstance().getCreateUser());
}
return;
}
for (RowMap rowMap : List) { for (RowMap rowMap : List) {
try { try {
ArrayList<String> userList3 = new ArrayList<String>(); ArrayList<String> userList3 = new ArrayList<String>();
userList3.add(rowMap.getString("NAME")); userList3.add(rowMap.getString("NAME"));
System.err.println(instanceById.getTitle() + "二次推送账号=======>" + userList3); System.err.println(instanceById.getTitle() + "二次推送账号=======>" + userList3);
@ -807,6 +824,7 @@ public class ProcessEndAfterEvent_new extends ExecuteListener implements Execute
throws DocumentException { throws DocumentException {
String processInstId = processInstance.getId(); String processInstId = processInstance.getId();
System.out.println("流程实例id==============="+processInstId);
// System.err.println(processInstance.getTitle() + "开始发送:" + userId); // System.err.println(processInstance.getTitle() + "开始发送:" + userId);
/* /*
@ -863,7 +881,6 @@ public class ProcessEndAfterEvent_new extends ExecuteListener implements Execute
System.out.println("oa_real_time=========="+oa_real_time); System.out.println("oa_real_time=========="+oa_real_time);
System.out.println("sucount============="+sucount); System.out.println("sucount============="+sucount);
if(oa_real_time!=null){ if(oa_real_time!=null){
System.out.println("修改数量");
int r1 = DBSql.update("UPDATE BO_ACT_OA_REAL_TIME SET SENDNUMSJ='" + sucount + "'WHERE PROCESSID ='" + processInstance.getId() + "'"); int r1 = DBSql.update("UPDATE BO_ACT_OA_REAL_TIME SET SENDNUMSJ='" + sucount + "'WHERE PROCESSID ='" + processInstance.getId() + "'");
}else{ }else{
//插入实时更新人数表 //插入实时更新人数表
@ -896,7 +913,6 @@ public class ProcessEndAfterEvent_new extends ExecuteListener implements Execute
bo.set("DEPNAME", SDK.getORGAPI().getUser(userId).getDepartmentId()); bo.set("DEPNAME", SDK.getORGAPI().getUser(userId).getDepartmentId());
SDK.getBOAPI().create("BO_EU_READ_COUNT", bo, processInstance.getId(), processInstance.getCreateUser()); SDK.getBOAPI().create("BO_EU_READ_COUNT", bo, processInstance.getId(), processInstance.getCreateUser());
} catch (Exception e) { } catch (Exception e) {
System.out.println(processInstance.getTitle() + "待阅推送失败:" + userIds);
BO bo = new BO(); BO bo = new BO();
bo.set("TITLE", processInstance.getTitle()); bo.set("TITLE", processInstance.getTitle());
bo.set("NAME", userIds); bo.set("NAME", userIds);

View File

@ -0,0 +1,62 @@
<!DOCTYPE html>
<html>
<head>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<title>执行任务</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="renderer" content="webkit">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<script>
var userZoneOffset = 8.0;
var isSaaSModel = false;
var isYijingCloud = false;
var isDingDingDaRuntime = false;
var isAppStoreService = true;
var isHighSecurity = false;
var isDingDingAdmin = false;
</script>
[#AWSImport]
[#AWSUIImport]
<link rel='stylesheet' id='schemeCss' href='../apps/_bpm.platform/css/colorschemes/scheme_aws.css' name='schemeCss'/>
<link type='text/css' rel='stylesheet' id='themeCss' href='../apps/_bpm.platform/css/theme/theme.css' name='themeCss'/>
</head>
<body>
<form id="frmMain" name="frmMain" method="post">
<div id="aws-form-container" class="aws-form-ux-container" border="0">
<table id="aws-form-maintable" class="awsui-ux aws-form-ux-maintable" style="table-layout: auto;" align="center" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr id="aws-form-titlebg" class="aws-form-ux-titlebg">
<td id="aws-form-title" class="aws-form-ux-header">执行任务</td>
</tr>
<tr class="aws-form-ux-formcontent" id="aws-form-formcontent">
<td>
<table id="table_container" class="awsui-ux table-striped" style="padding: 0px;" width="100%" cellspacing="3" cellpadding="0"><colgroup><col class="awsui-ux-title" /><col style="width: 100.0%;" /></colgroup>
<tbody>
<tr>
<td class="awsui-ux-title"><label for="TASKID" class="aws-form-ux-label">任务ID</label></td>
<td class="aws-form-ux-content">[#TASKID]</td>
</tr>
<tr>
<td class="awsui-ux-title"><label for="TASKSTATUS" class="aws-form-ux-label">任务状态</label></td>
<td class="aws-form-ux-content">[#TASKSTATUS]</td>
</tr>
<tr>
<td class="awsui-ux-title"><label for="TASKTITLE" class="aws-form-ux-label">任务标题</label></td>
<td class="aws-form-ux-content">[#TASKTITLE]</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class="aws-form-bottom">
<td class="aws-form-ux-actionsoft">[#Actionsoft]</td>
</tr>
</tbody>
</table>
</div>
</form>
</body>
</html>

View File

@ -0,0 +1,55 @@
<!DOCTYPE html>
<html>
<head>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<title>执行任务</title>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />
<meta name="viewport" content="initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, width=device-width">
<script>
var userZoneOffset = 8.0;
var isSaaSModel = false;
var isYijingCloud = false;
var isDingDingDaRuntime = false;
var isAppStoreService = true;
var isHighSecurity = false;
var isDingDingAdmin = false;
</script>
<!--公共的js和css start-->
[#AWSImport]
[#AWSUIImport]
<!--配色方案-->
<link rel='stylesheet' id='schemeCss' href='../apps/_bpm.platform/css/colorschemes/scheme_aws.css' name='schemeCss'/>
<link type='text/css' rel='stylesheet' id='themeCss' href='../apps/_bpm.platform/css/theme/theme_m.css' name='themeCss'/>
</head>
<body>
<form id='frmMain' name='frmMain' method="post" >
<div id='aws-form-container' class="mui-scroll-wrapper mobile-main-form"><!--class="aws-form-ux-container"-->
<table id='aws-form-maintable' class="awsui-ux aws-form-ux-maintable" style="table-layout: auto;" align="center" border="0" cellpadding="0" cellspacing="0">
<!--每个模板必须含有 aws-form-titlebg 和 title样式 否则无法应用配色风格-->
<tr id='aws-form-titlebg' class='aws-form-ux-titlebg' style="display: none;">
<!--若自定义模板title的 id -->
<td id='aws-form-title' class='aws-form-ux-header'> 执行任务 </td>
</tr>
<tr class="aws-form-ux-formcontent" id='aws-form-formcontent'>
<td>
<table id='table_container' class="awsui-ux table-striped" style="padding: 0px;" width='100%' cellspacing='0' cellpadding='0'>
<colgroup>
<col style="width: 31%;">
<col style="width: 69%;">
</colgroup>
<tr><td class='awsui-ux-title'><label id='TASKIDLabel' for='TASKID'>任务ID</label></td><td class='aws-form-ux-content'>[#TASKID]</td></tr><tr><td class='awsui-ux-title'><label id='TASKSTATUSLabel' for='TASKSTATUS'>任务状态</label></td><td class='aws-form-ux-content'>[#TASKSTATUS]</td></tr><tr><td class='awsui-ux-title'><label id='TASKTITLELabel' for='TASKTITLE'>任务标题</label></td><td class='aws-form-ux-content'>[#TASKTITLE]</td></tr>
</table>
</td>
</tr>
<tr class="aws-form-bottom">
<td class="aws-form-ux-actionsoft" >[#Actionsoft]</td>
</tr>
</table>
</div>
</form>
</body>
</html>

View File

@ -438,10 +438,7 @@ function initPublishData(data, type, pageNumber, start){
// 初始化数据 // 初始化数据
function selectPublishData(data, type, pageNumber, start) { function selectPublishData(data, type, pageNumber, start) {
//渲染到前台的流程架构L1L2L3 //渲染到前台的流程架构L1L2L3
var param = { var param = {
cmd: 'com.actionsoft.apps.coe.pal.publisher_getPublishNameByJs', cmd: 'com.actionsoft.apps.coe.pal.publisher_getPublishNameByJs',
processInstId: processInstId, processInstId: processInstId,