From 520c384259ea19f67063cc27a8ae5377cfa5922a Mon Sep 17 00:00:00 2001 From: yujh Date: Fri, 21 Jun 2024 17:47:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E5=B8=83=E6=B5=81=E7=A8=8B=E5=A4=8D?= =?UTF-8?q?=E7=94=A8=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../event/ApplyTasAfterkComplete.java | 48 +++++++++++++------ 1 file changed, 33 insertions(+), 15 deletions(-) diff --git a/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/event/ApplyTasAfterkComplete.java b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/event/ApplyTasAfterkComplete.java index f2d60c9a..a64dbf40 100644 --- a/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/event/ApplyTasAfterkComplete.java +++ b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/event/ApplyTasAfterkComplete.java @@ -297,21 +297,39 @@ public class ApplyTasAfterkComplete extends ExecuteListener implements ExecuteLi * @param type */ public void addPublishHistory(ProcessExecutionContext ctx,BO sourceBo) { - BO bo = new BO(); - bo.set("SOURCEBINDID",ctx.getProcessInstance().getId()); - bo.set("SUBMITUID",sourceBo.getString("APPLYUSERID")); - bo.set("SUBMITNAME",sourceBo.getString("APPLYUSERNAME")); - bo.set("SEND_SCOPE_ORG",sourceBo.getString("SEND_SCOPE_ORG")); - bo.set("SEND_SCOPE_ORG_NAME", getSelectedOrg(sourceBo.getString("SEND_SCOPE_ORG"))); - bo.set("SEND_SCOPE_POST",sourceBo.getString("SEND_SCOPE_POST")); - bo.set("SEND_SCOPE_POST_NAME",getSelectedPost(sourceBo.getString("SEND_SCOPE_POST"))); - bo.set("SEND_SCOPE_LEVEL",sourceBo.getString("SEND_SCOPE_LEVEL")); - bo.set("SEND_SCOPE_LEVEL_NAME",getSelectedLevel(sourceBo.getString("SEND_SCOPE_LEVEL"))); - bo.set("MARKAR",sourceBo.getString("MARKAR")); - bo.set("PROCESS_TITLE",sourceBo.getString("PROCESS_TITLE")); - bo.set("PUBLICSTATUS",0); - ProcessInstance processInstance = SDK.getProcessAPI().createBOProcessInstance(PublisherConstant.PROCESSID_HIS_DATA, ctx.getUserContext().getUID(), ""); - int i = SDK.getBOAPI().create(PublisherConstant.BO_ACT_PUBLISH_HIS, bo, processInstance, ctx.getUserContext()); + //先查询是否存在历史数据 + BO detail = SDK.getBOAPI().query(PublisherConstant.BO_ACT_PUBLISH_HIS).addQuery("SOURCEBINDID=", ctx.getProcessInstance().getId()).detail(); + if(null!=detail){//存在,走更新逻辑 + detail.set("SUBMITUID",sourceBo.getString("APPLYUSERID")); + detail.set("SUBMITNAME",sourceBo.getString("APPLYUSERNAME")); + detail.set("SEND_SCOPE_ORG",sourceBo.getString("SEND_SCOPE_ORG")); + detail.set("SEND_SCOPE_ORG_NAME", getSelectedOrg(sourceBo.getString("SEND_SCOPE_ORG"))); + detail.set("SEND_SCOPE_POST",sourceBo.getString("SEND_SCOPE_POST")); + detail.set("SEND_SCOPE_POST_NAME",getSelectedPost(sourceBo.getString("SEND_SCOPE_POST"))); + detail.set("SEND_SCOPE_LEVEL",sourceBo.getString("SEND_SCOPE_LEVEL")); + detail.set("SEND_SCOPE_LEVEL_NAME",getSelectedLevel(sourceBo.getString("SEND_SCOPE_LEVEL"))); + detail.set("MARKAR",sourceBo.getString("MARKAR")); + detail.set("PROCESS_TITLE",sourceBo.getString("PROCESS_TITLE")); + detail.set("PUBLICSTATUS",0); + SDK.getBOAPI().update(PublisherConstant.BO_ACT_PUBLISH_HIS,detail); + }else{//不存在,走新增逻辑 + BO bo = new BO(); + bo.set("SOURCEBINDID",ctx.getProcessInstance().getId()); + bo.set("SUBMITUID",sourceBo.getString("APPLYUSERID")); + bo.set("SUBMITNAME",sourceBo.getString("APPLYUSERNAME")); + bo.set("SEND_SCOPE_ORG",sourceBo.getString("SEND_SCOPE_ORG")); + bo.set("SEND_SCOPE_ORG_NAME", getSelectedOrg(sourceBo.getString("SEND_SCOPE_ORG"))); + bo.set("SEND_SCOPE_POST",sourceBo.getString("SEND_SCOPE_POST")); + bo.set("SEND_SCOPE_POST_NAME",getSelectedPost(sourceBo.getString("SEND_SCOPE_POST"))); + bo.set("SEND_SCOPE_LEVEL",sourceBo.getString("SEND_SCOPE_LEVEL")); + bo.set("SEND_SCOPE_LEVEL_NAME",getSelectedLevel(sourceBo.getString("SEND_SCOPE_LEVEL"))); + bo.set("MARKAR",sourceBo.getString("MARKAR")); + bo.set("PROCESS_TITLE",sourceBo.getString("PROCESS_TITLE")); + bo.set("PUBLICSTATUS",0); + ProcessInstance processInstance = SDK.getProcessAPI().createBOProcessInstance(PublisherConstant.PROCESSID_HIS_DATA, ctx.getUserContext().getUID(), ""); + int i = SDK.getBOAPI().create(PublisherConstant.BO_ACT_PUBLISH_HIS, bo, processInstance, ctx.getUserContext()); + } + } /**