首节已办发送

This commit is contained in:
fang 2025-07-02 15:13:26 +08:00
parent 950f2f595d
commit 3d9e628f2a
1 changed files with 298 additions and 54 deletions

View File

@ -1,7 +1,13 @@
package shkd.sys.sys.midservice.servicehandler; package shkd.sys.sys.midservice.servicehandler;
import kd.bos.algo.DataSet;
import kd.bos.algo.Row;
import kd.bos.cache.CacheFactory;
import kd.bos.cache.DistributeSessionlessCache;
import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.db.DB;
import kd.bos.db.DBRoute;
import kd.bos.exception.ErrorCode; import kd.bos.exception.ErrorCode;
import kd.bos.exception.KDException; import kd.bos.exception.KDException;
import kd.bos.logging.Log; import kd.bos.logging.Log;
@ -12,12 +18,14 @@ import kd.bos.servicehelper.parameter.SystemParamServiceHelper;
import kd.bos.workflow.engine.msg.ctx.MessageContext; import kd.bos.workflow.engine.msg.ctx.MessageContext;
import kd.bos.workflow.engine.msg.handler.AbstractServiceHandler; import kd.bos.workflow.engine.msg.handler.AbstractServiceHandler;
import kd.bos.workflow.engine.msg.info.ToDoInfo; import kd.bos.workflow.engine.msg.info.ToDoInfo;
import kd.hr.hdm.common.transfer.util.ObjectUtils;
import shkd.sys.sys.midservice.handler.CreateToDoHandler; import shkd.sys.sys.midservice.handler.CreateToDoHandler;
import shkd.sys.sys.midservice.handler.DealToDoHandler; import shkd.sys.sys.midservice.handler.DealToDoHandler;
import shkd.sys.sys.midservice.handler.deleteToDoHandler; import shkd.sys.sys.midservice.handler.deleteToDoHandler;
import shkd.sys.sys.midservice.utils.GetUrlUtils; import shkd.sys.sys.midservice.utils.GetUrlUtils;
import shkd.sys.sys.utils.AesUtils; import shkd.sys.sys.utils.AesUtils;
import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
@ -36,26 +44,36 @@ public class BacklogServiceHandle extends AbstractServiceHandler {
public static final String TYPE = "todo"; public static final String TYPE = "todo";
private static final Log logger = LogFactory.getLog(BacklogServiceHandle.class); private static final Log logger = LogFactory.getLog(BacklogServiceHandle.class);
private static final DistributeSessionlessCache cache = CacheFactory.getCommonCacheFactory().getDistributeSessionlessCache();
public void createToDo(MessageContext ctx, ToDoInfo todoInfo) { public void createToDo(MessageContext ctx, ToDoInfo todoInfo) {
logger.info("###创建待办_createToDo"); logger.info("###创建待办_createToDo");
//判断是否需要发送待办链接true为不推送false为推送
boolean b = allowMobApprove(ctx, todoInfo); boolean b = allowMobApprove(ctx, todoInfo);
logger.info("###推送结果为:"+b+"(true为不推送false为推送)"); logger.info("###推送结果为:" + b + "(true为不推送false为推送)");
if(!b){ if (!b) {
Object shkd_type = SystemParamServiceHelper.getPublicParameter("shkd_type"); Object shkd_type = SystemParamServiceHelper.getPublicParameter("shkd_type");
if(Objects.equals(shkd_type,"0")){ if (Objects.equals(shkd_type, "0")) {
// eoss 环境 // eoss 环境
getToDoFormal(ctx,todoInfo); getToDoFormal(ctx, todoInfo);
}else if(Objects.equals(shkd_type,"1")){ } else if (Objects.equals(shkd_type, "1")) {
//新eoss 环境 //新eoss 环境
getToDoNew(ctx,todoInfo); getToDoNew(ctx, todoInfo);
}else if(Objects.equals(shkd_type,"2")){ } else if (Objects.equals(shkd_type, "2")) {
//二套环境 //二套环境
getToDoNew(ctx,todoInfo); getToDoNew(ctx, todoInfo);
getToDoFormal(ctx,todoInfo); getToDoFormal(ctx, todoInfo);
} }
logger.info("###结束待办_createToDo"); logger.info("###结束待办_createToDo");
try {
String s = cache.get(ctx.getBusinessKey());
if (Objects.equals(s, "true")) {
return;
}
// 发送首节的已办
sendToDo(ctx);
} catch (Exception e) {
logger.info("获得缓存失败,发送首节的已办失败:" + e.getMessage());
}
} }
/* //几个待办 /* //几个待办
List<Long> userIds = todoInfo.getUserIds(); List<Long> userIds = todoInfo.getUserIds();
@ -111,44 +129,268 @@ public class BacklogServiceHandle extends AbstractServiceHandler {
} }
logger.info("###结束待办_createToDo");*/ logger.info("###结束待办_createToDo");*/
} }
/***
* 首节已办数据发送
* @param ctx 信息
*/
private void sendToDo(MessageContext ctx) {
String accountId = System.getProperty("backlog-accountid");
Object shkd_type = SystemParamServiceHelper.getPublicParameter("shkd_type");
StringBuilder cwbSql1 = new StringBuilder();
cwbSql1.append("SELECT ");
cwbSql1.append("b.FID,");
cwbSql1.append("b.FPROCDEFID,");
cwbSql1.append("b.FTASKDEFKEY,");
cwbSql1.append("b.FPROCINSTID,");
cwbSql1.append("b.FEXECUTIONID,");
cwbSql1.append("b.FPARENTTASKID,");
cwbSql1.append("b.FOWNER,");
cwbSql1.append("b.FASSIGNEE,");
cwbSql1.append("b.FCLAIMTIME,");
cwbSql1.append("b.FENDTIME,");
cwbSql1.append("b.FDURATION,");
cwbSql1.append("b.FPRIORITY,");
cwbSql1.append("b.FDUEDATE,");
cwbSql1.append("b.FFORMKEY,");
cwbSql1.append("b.FCATEGORY,");
cwbSql1.append("b.FISDISPLAY,");
cwbSql1.append("b.FSTARTERID,");
cwbSql1.append("b.FENTITYNUMBER,");
cwbSql1.append("b.FCREATEDATE,");
cwbSql1.append("b.FMODIFYDATE,");
cwbSql1.append("b.FASSIGNEEID,");
cwbSql1.append("b.FOWNERID,");
cwbSql1.append("b.FEXECUTIONTYPE,");
cwbSql1.append("b.FBUSINESSKEY,");
cwbSql1.append("b.FYZJGROUPID,");
cwbSql1.append("b.FPROCESSINGPAGE,");
cwbSql1.append("b.FHANDLESTATE,");
cwbSql1.append("b.FMOBILEFORMKEY,");
cwbSql1.append("b.FDELEGATION,");
cwbSql1.append("b.FBILLNO,");
cwbSql1.append("b.FPROCESSINGMOBILEPAGE,");
cwbSql1.append("b.FENDTYPE,");
cwbSql1.append("b.FSOURCE,");
cwbSql1.append("b.FVALIDATEOPERATION,");
cwbSql1.append("b.FNAME,");
cwbSql1.append("b.FSUBACTIVITYNAME,");
cwbSql1.append("b.FDESCRIPTION,");
cwbSql1.append("b.FSUBJECT,");
cwbSql1.append("b.FENTITYNAME,");
cwbSql1.append("b.FSENDERNAME,");
cwbSql1.append("b.FSTARTNAME,");
cwbSql1.append("b.FPARTICIPANTNAME,");
cwbSql1.append("b.FGROUPNUMBER,");
cwbSql1.append("b.FREALDURATION,");
cwbSql1.append("b.FBATCHOP,");
cwbSql1.append("b.FBILLTYPE,");
cwbSql1.append("b.FBIZTRACENO,");
cwbSql1.append("b.FSENDERNAMEFORMAT,");
cwbSql1.append("b.FSTARTNAMEFORMAT,");
cwbSql1.append("b.FPRESENTASSIGNEE,");
cwbSql1.append("b.FORGUNITID,");
cwbSql1.append("b.FORGVIEWID,");
cwbSql1.append("b.FPROCESSTYPE,");
cwbSql1.append("b.FSENDERID,");
cwbSql1.append("b.FCONTROL,");
cwbSql1.append("b.FEXTENDDATE,");
cwbSql1.append("b.FEXTENDNUMBER,");
cwbSql1.append("b.FEXTENDSTR1,");
cwbSql1.append("b.FEXTENDSTR2,");
cwbSql1.append("b.FDELETEREASON,");
cwbSql1.append("b.FEXTENDFORMAT,");
cwbSql1.append("b.FEXTENDMULSTR1,");
cwbSql1.append("b.FEXTENDMULSTR2,");
cwbSql1.append("a.FCREATEDATE fstarttime,");
cwbSql1.append("c.FID as factivityId,");
cwbSql1.append("d.FUSERID freceiveuserid,");
cwbSql1.append("d.FUSERNAME freceiveusername,");
cwbSql1.append("d.FCREATEDATE freceivetime,");
cwbSql1.append("d.FENDTIME fcompletetime,");
cwbSql1.append("d.FMODIFYDATE flastmodifytime ");
cwbSql1.append("from t_wf_hitaskinst b ");
cwbSql1.append("INNER JOIN t_wf_hiparticipant d on d.FTASKID=b.FID ");
cwbSql1.append("INNER JOIN t_wf_hiactinst c on c.FTASKID=b.FID ");
cwbSql1.append("INNER JOIN t_wf_hiprocinst a on a.FID=b.FPROCINSTID ");
cwbSql1.append("where b.fbusinesskey = ?");
cwbSql1.append(" and b.FDELETEREASON ='first_usertask_skip");
cwbSql1.append(" and b.FENDTIME is not null and d.FENDTIME is not null");
cwbSql1.append(" ORDER BY b.FMODIFYDATE,b.FID");
DataSet cwbAmount1 = DB.queryDataSet(this.getClass().getName(), DBRoute.of("sys"), cwbSql1.toString(), new Object[]{ctx.getBusinessKey()});
Iterator<Row> iterator = cwbAmount1.iterator();
logger.info("开始第一个节点已办数据拼接");
try {
while (iterator.hasNext()) {
Row next = iterator.next();
//接收人手机号
DynamicObject dynamicObject = QueryServiceHelper.queryOne("bos_user", "number,name," +
"phone,username", new QFilter[]{new QFilter("id", "=", next.getString("freceiveuserid"))});
String userName1 = dynamicObject.getString("username");
String userName;
try {
userName = AesUtils.aesEncryptString(dynamicObject.getString("username"));
logger.info("AES加密后user" + userName);
} catch (Exception e) {
ErrorCode errorCode = new ErrorCode("error_code", "AES加密出现异常请联系运维人员排查");
throw new KDException(errorCode, e);
}
//判断是否移动端
boolean allowMobApprove = allowMobApprove(next.get("fid"));
if (allowMobApprove) {
continue;
}
//标题
String title = next.getString("fsubject");
//PC地址
String pcUrl = GetUrlUtils.getInstance().getPcUrl(next.getString("fprocessingpage"),
next.getString("fprocessingmobilepage"),
next.getString("fsource"),
accountId,
next.getString("factivityId"),
next.getString("fbusinesskey"),
next.getString("fid"));
StringBuilder form = new StringBuilder();
form.append("{");
form.append("\"title\":");
form.append("\"").append(title).append("\",");
form.append("\"bName\":");
form.append("\"").append("司库").append("\",");
form.append("\"bussinessCode\":");
form.append("\"").append("EOSS").append("\",");
form.append("\"urGency\":");
form.append("\"0\",");
form.append("\"currentStepName\":");
form.append("\"").append(next.getString("fname")).append("\",");
form.append("\"sendUserName\":");
form.append("\"").append(next.getString("fstartname")).append("\",");
form.append("\"receiveUsersysName\":");
form.append("\"").append(userName1).append("\",");
form.append("\"receiveUserId\":");
form.append("\"").append(userName1).append("\",");
form.append("\"handleUrl\":");
form.append("\"").append(pcUrl).append("&userName=").append(userName).append("\",");
form.append("\"appHandleUrl\":");
form.append("\"").append(pcUrl).append("&userName=").append(userName).append("\",");
// appUrl移动端查看模式
form.append("\"appViewUrl\":");
form.append("\"").append(pcUrl).append("&userName=").append(userName).append("&ado=view").append("\",");
form.append("\"appName\":");
form.append("\"").append(next.getString("fentityname")).append("\",");
//pc端查看模式
form.append("\"viewUrl\":");
form.append("\"").append(pcUrl).append("&userName=").append(userName).append("&ado=view").append("\",");
form.append("\"pendingId\":");
form.append("\"").append(next.getLong("fid")).append("\",");
form.append("\"pendingAttr\":");
form.append("\"0\"");
form.append("}");
Object shkd_cache = SystemParamServiceHelper.getPublicParameter("shkd_cache");
Integer z = 0;
if (Objects.equals(shkd_type, "0")) {
// eoss 环境
boolean b = CreateToDoHandler.get_CreateToDoHandler().sendCreateToDo(form.toString(), title, next.getLong("fid").toString(), userName, next.getString("fbillno"));
if(ObjectUtils.isEmpty(shkd_cache)){
z = 604800;
}else{
z = Integer.valueOf(shkd_cache.toString());
}
cache.put(ctx.getBusinessKey(),String.valueOf(b),z);
} else if (Objects.equals(shkd_type, "1")) {
// eoss 环境
boolean b = CreateToDoHandler.get_CreateToDoHandler().sendCreateToDoNew(form.toString(), title, next.getLong("fid").toString(), userName, next.getString("fbillno"));
if(ObjectUtils.isEmpty(shkd_cache)){
z = 604800;
}else{
z = Integer.valueOf(shkd_cache.toString());
}
cache.put(ctx.getBusinessKey(),String.valueOf(b),z);
} else if (Objects.equals(shkd_type, "2")) {
//二套环境
boolean b = CreateToDoHandler.get_CreateToDoHandler().sendCreateToDo(form.toString(), title, next.getLong("fid").toString(), userName, next.getString("fbillno"));
CreateToDoHandler.get_CreateToDoHandler().sendCreateToDoNew(form.toString(), title, next.getLong("fid").toString(), userName, next.getString("fbillno"));
if(ObjectUtils.isEmpty(shkd_cache)){
z = 604800;
}else{
z = Integer.valueOf(shkd_cache.toString());
}
cache.put(ctx.getBusinessKey(),String.valueOf(b),z);
}
if (Objects.equals(shkd_type, "0")) {
// eoss 环境
boolean b = DealToDoHandler.get_DealToDoHandler().sendDealToDo(next.getLong("fid"), userName, next.getString("fbillno"));
if(ObjectUtils.isEmpty(shkd_cache)){
z = 604800;
}else{
z = Integer.valueOf(shkd_cache.toString());
}
cache.put(ctx.getBusinessKey(),String.valueOf(b),z);
} else if (Objects.equals(shkd_type, "1")) {
// eoss 环境
boolean b = DealToDoHandler.get_DealToDoHandler().sendDealToDoNew(next.getLong("fid"), userName, next.getString("fbillno"));
if(ObjectUtils.isEmpty(shkd_cache)){
z = 604800;
}else{
z = Integer.valueOf(shkd_cache.toString());
}
cache.put(ctx.getBusinessKey(),String.valueOf(b),z);
} else if (Objects.equals(shkd_type, "2")) {
//二套环境
boolean b = DealToDoHandler.get_DealToDoHandler().sendDealToDo(next.getLong("fid"), userName, next.getString("fbillno"));
DealToDoHandler.get_DealToDoHandler().sendDealToDoNew(next.getLong("fid"), userName, next.getString("fbillno"));
if(ObjectUtils.isEmpty(shkd_cache)){
z = 604800;
}else{
z = Integer.valueOf(shkd_cache.toString());
}
cache.put(ctx.getBusinessKey(),String.valueOf(b),z);
}
}
} catch (Exception e) {
logger.error("###首节已办数据拼接、发送失败,具体原因:", e.getMessage(), e);
}
logger.info("首节已办数据拼接和发送完成");
}
//已办 //已办
public void dealToDo(MessageContext ctx, ToDoInfo info){ public void dealToDo(MessageContext ctx, ToDoInfo info) {
logger.info("###创建已办_dealToDo"); logger.info("###创建已办_dealToDo");
boolean b = allowMobApprove(ctx, info); boolean b = allowMobApprove(ctx, info);
logger.info("###推送结果为:"+b+"(true为不推送false为推送)"); logger.info("###推送结果为:" + b + "(true为不推送false为推送)");
if(!b){ if (!b) {
Object shkd_type = SystemParamServiceHelper.getPublicParameter("shkd_type"); Object shkd_type = SystemParamServiceHelper.getPublicParameter("shkd_type");
if(Objects.equals(shkd_type,"0")){ if (Objects.equals(shkd_type, "0")) {
// eoss 环境 // eoss 环境
getDealFormal(ctx,info); getDealFormal(ctx, info);
}else if(Objects.equals(shkd_type,"1")){ } else if (Objects.equals(shkd_type, "1")) {
// eoss 环境 // eoss 环境
getDealNew(ctx,info); getDealNew(ctx, info);
}else if(Objects.equals(shkd_type,"2")){ } else if (Objects.equals(shkd_type, "2")) {
//二套环境 //二套环境
getDealNew(ctx,info); getDealNew(ctx, info);
getDealFormal(ctx,info); getDealFormal(ctx, info);
} }
logger.info("###结束已办_dealToDo"); logger.info("###结束已办_dealToDo");
} }
} }
//撤销 //撤销
public void deleteToDo(MessageContext ctx, ToDoInfo info){ public void deleteToDo(MessageContext ctx, ToDoInfo info) {
logger.info("###创建撤销_deleteToDo"); logger.info("###创建撤销_deleteToDo");
boolean b = allowMobApprove(ctx, info); boolean b = allowMobApprove(ctx, info);
logger.info("###推送结果为:"+b+"(true为不推送false为推送)"); logger.info("###推送结果为:" + b + "(true为不推送false为推送)");
if(!b){ if (!b) {
Object shkd_type = SystemParamServiceHelper.getPublicParameter("shkd_type"); Object shkd_type = SystemParamServiceHelper.getPublicParameter("shkd_type");
if(Objects.equals(shkd_type,"0")){ if (Objects.equals(shkd_type, "0")) {
// eoss 环境 // eoss 环境
getDeleteFormal(ctx,info); getDeleteFormal(ctx, info);
}else if(Objects.equals(shkd_type,"1")){ } else if (Objects.equals(shkd_type, "1")) {
// eoss 环境 // eoss 环境
getDeleteNew(ctx,info); getDeleteNew(ctx, info);
}else if(Objects.equals(shkd_type,"2")){ } else if (Objects.equals(shkd_type, "2")) {
//二套环境 //二套环境
getDeleteNew(ctx,info); getDeleteNew(ctx, info);
getDeleteFormal(ctx,info); getDeleteFormal(ctx, info);
} }
/* List<Long> userIds = info.getUserIds(); /* List<Long> userIds = info.getUserIds();
DynamicObjectCollection query = QueryServiceHelper.query("bos_user", "id,name,phone,username", new QFilter[]{new QFilter("id", "in", userIds)}); DynamicObjectCollection query = QueryServiceHelper.query("bos_user", "id,name,phone,username", new QFilter[]{new QFilter("id", "in", userIds)});
@ -269,6 +511,7 @@ public class BacklogServiceHandle extends AbstractServiceHandler {
todoInfo.getTaskId().toString(), query_one.getString("username"), dynamicObject.getString("billno")); todoInfo.getTaskId().toString(), query_one.getString("username"), dynamicObject.getString("billno"));
} }
} }
/*** /***
* 测试环境待办 * 测试环境待办
*/ */
@ -338,40 +581,41 @@ public class BacklogServiceHandle extends AbstractServiceHandler {
/*** /***
* 正式环境已办办 * 正式环境已办办
*/ */
public void getDealFormal(MessageContext ctx, ToDoInfo info){ public void getDealFormal(MessageContext ctx, ToDoInfo info) {
//几个已办 //几个已办
List<Long> userIds = info.getUserIds(); List<Long> userIds = info.getUserIds();
logger.info("####已办taskid:"+info.getTaskId()); logger.info("####已办taskid:" + info.getTaskId());
DynamicObjectCollection query = QueryServiceHelper.query("bos_user", "id,name,phone,username", new QFilter[]{new QFilter("id", "in", userIds)}); DynamicObjectCollection query = QueryServiceHelper.query("bos_user", "id,name,phone,username", new QFilter[]{new QFilter("id", "in", userIds)});
DynamicObject dynamicObject = QueryServiceHelper.queryOne("wf_hitaskinst", "billno", DynamicObject dynamicObject = QueryServiceHelper.queryOne("wf_hitaskinst", "billno",
new QFilter[]{new QFilter("id", "=", info.getTaskId())}); new QFilter[]{new QFilter("id", "=", info.getTaskId())});
//业务id //业务id
Long taskId = ctx.getTaskId(); Long taskId = ctx.getTaskId();
for (DynamicObject queryOne : query) { for (DynamicObject queryOne : query) {
if(dynamicObject != null){ if (dynamicObject != null) {
DealToDoHandler.get_DealToDoHandler().sendDealToDo(taskId,queryOne.getString("username"),dynamicObject.getString("billno")); DealToDoHandler.get_DealToDoHandler().sendDealToDo(taskId, queryOne.getString("username"), dynamicObject.getString("billno"));
}else{ } else {
DealToDoHandler.get_DealToDoHandler().sendDealToDo(taskId,queryOne.getString("username"),""); DealToDoHandler.get_DealToDoHandler().sendDealToDo(taskId, queryOne.getString("username"), "");
} }
} }
} }
/*** /***
* 测试环境已办 * 测试环境已办
*/ */
public void getDealNew(MessageContext ctx, ToDoInfo info){ public void getDealNew(MessageContext ctx, ToDoInfo info) {
//几个已办 //几个已办
List<Long> userIds = info.getUserIds(); List<Long> userIds = info.getUserIds();
logger.info("####已办taskid:"+info.getTaskId()); logger.info("####已办taskid:" + info.getTaskId());
DynamicObjectCollection query = QueryServiceHelper.query("bos_user", "id,name,phone,username", new QFilter[]{new QFilter("id", "in", userIds)}); DynamicObjectCollection query = QueryServiceHelper.query("bos_user", "id,name,phone,username", new QFilter[]{new QFilter("id", "in", userIds)});
DynamicObject dynamicObject = QueryServiceHelper.queryOne("wf_hitaskinst", "billno", DynamicObject dynamicObject = QueryServiceHelper.queryOne("wf_hitaskinst", "billno",
new QFilter[]{new QFilter("id", "=", info.getTaskId())}); new QFilter[]{new QFilter("id", "=", info.getTaskId())});
//业务id //业务id
Long taskId = ctx.getTaskId(); Long taskId = ctx.getTaskId();
for (DynamicObject queryOne : query) { for (DynamicObject queryOne : query) {
if(dynamicObject != null){ if (dynamicObject != null) {
DealToDoHandler.get_DealToDoHandler().sendDealToDoNew(taskId,queryOne.getString("username"),dynamicObject.getString("billno")); DealToDoHandler.get_DealToDoHandler().sendDealToDoNew(taskId, queryOne.getString("username"), dynamicObject.getString("billno"));
}else{ } else {
DealToDoHandler.get_DealToDoHandler().sendDealToDoNew(taskId,queryOne.getString("username"),""); DealToDoHandler.get_DealToDoHandler().sendDealToDoNew(taskId, queryOne.getString("username"), "");
} }
} }
} }
@ -379,19 +623,19 @@ public class BacklogServiceHandle extends AbstractServiceHandler {
/*** /***
* 测试环境撤销 * 测试环境撤销
*/ */
public void getDeleteFormal(MessageContext ctx, ToDoInfo info){ public void getDeleteFormal(MessageContext ctx, ToDoInfo info) {
List<Long> userIds = info.getUserIds(); List<Long> userIds = info.getUserIds();
DynamicObjectCollection query = QueryServiceHelper.query("bos_user", "id,name,phone,username", new QFilter[]{new QFilter("id", "in", userIds)}); DynamicObjectCollection query = QueryServiceHelper.query("bos_user", "id,name,phone,username", new QFilter[]{new QFilter("id", "in", userIds)});
DynamicObject dynamicObject = QueryServiceHelper.queryOne("wf_hitaskinst", "billno", DynamicObject dynamicObject = QueryServiceHelper.queryOne("wf_hitaskinst", "billno",
new QFilter[]{new QFilter("id", "=", info.getTaskId())}); new QFilter[]{new QFilter("id", "=", info.getTaskId())});
//业务id //业务id
Long taskId = ctx.getTaskId(); Long taskId = ctx.getTaskId();
logger.info("####撤销taskid:"+info.getTaskId()); logger.info("####撤销taskid:" + info.getTaskId());
for (DynamicObject queryOne : query) { for (DynamicObject queryOne : query) {
if(dynamicObject != null){ if (dynamicObject != null) {
deleteToDoHandler.get_deleteToDoHandler().sendDeleteToDo(taskId,queryOne.getString("username"),dynamicObject.getString("billno")); deleteToDoHandler.get_deleteToDoHandler().sendDeleteToDo(taskId, queryOne.getString("username"), dynamicObject.getString("billno"));
}else{ } else {
deleteToDoHandler.get_deleteToDoHandler().sendDeleteToDo(taskId,queryOne.getString("username"),""); deleteToDoHandler.get_deleteToDoHandler().sendDeleteToDo(taskId, queryOne.getString("username"), "");
} }
} }
} }
@ -399,19 +643,19 @@ public class BacklogServiceHandle extends AbstractServiceHandler {
/*** /***
* 测试环境撤销 * 测试环境撤销
*/ */
public void getDeleteNew(MessageContext ctx, ToDoInfo info){ public void getDeleteNew(MessageContext ctx, ToDoInfo info) {
List<Long> userIds = info.getUserIds(); List<Long> userIds = info.getUserIds();
DynamicObjectCollection query = QueryServiceHelper.query("bos_user", "id,name,phone,username", new QFilter[]{new QFilter("id", "in", userIds)}); DynamicObjectCollection query = QueryServiceHelper.query("bos_user", "id,name,phone,username", new QFilter[]{new QFilter("id", "in", userIds)});
DynamicObject dynamicObject = QueryServiceHelper.queryOne("wf_hitaskinst", "billno", DynamicObject dynamicObject = QueryServiceHelper.queryOne("wf_hitaskinst", "billno",
new QFilter[]{new QFilter("id", "=", info.getTaskId())}); new QFilter[]{new QFilter("id", "=", info.getTaskId())});
//业务id //业务id
Long taskId = ctx.getTaskId(); Long taskId = ctx.getTaskId();
logger.info("####撤销taskid:"+info.getTaskId()); logger.info("####撤销taskid:" + info.getTaskId());
for (DynamicObject queryOne : query) { for (DynamicObject queryOne : query) {
if(dynamicObject != null){ if (dynamicObject != null) {
deleteToDoHandler.get_deleteToDoHandler().sendDeleteToDoNew(taskId,queryOne.getString("username"),dynamicObject.getString("billno")); deleteToDoHandler.get_deleteToDoHandler().sendDeleteToDoNew(taskId, queryOne.getString("username"), dynamicObject.getString("billno"));
}else{ } else {
deleteToDoHandler.get_deleteToDoHandler().sendDeleteToDoNew(taskId,queryOne.getString("username"),""); deleteToDoHandler.get_deleteToDoHandler().sendDeleteToDoNew(taskId, queryOne.getString("username"), "");
} }
} }
} }