From 698b9a7930ef75517d0215f02f4d8b46779272aa Mon Sep 17 00:00:00 2001 From: ptt <2403326863@qq.com> Date: Wed, 16 Apr 2025 15:50:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=86=E5=8F=B2=E5=BE=85=E5=8A=9E=E7=82=B9?= =?UTF-8?q?=E5=87=BB=E6=8A=A5=E9=94=99=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/ApprovalPagePluginNewDemo.java | 64 ++++++++++++++++++- 1 file changed, 61 insertions(+), 3 deletions(-) diff --git a/main/java/shkd/wfs/wf/plugin/form/ApprovalPagePluginNewDemo.java b/main/java/shkd/wfs/wf/plugin/form/ApprovalPagePluginNewDemo.java index a8c9350..f81d440 100644 --- a/main/java/shkd/wfs/wf/plugin/form/ApprovalPagePluginNewDemo.java +++ b/main/java/shkd/wfs/wf/plugin/form/ApprovalPagePluginNewDemo.java @@ -1,12 +1,70 @@ package shkd.wfs.wf.plugin.form; -import kd.bos.workflow.taskcenter.plugin.ApprovalPagePluginNew; +import kd.bos.dataentity.serialization.SerializationUtils; +import kd.bos.form.plugin.AbstractFormPlugin; +import kd.bos.workflow.component.ApprovalRecord; +import kd.bos.workflow.component.approvalrecord.IApprovalRecordGroup; +import kd.bos.workflow.engine.TaskService; +import kd.bos.workflow.engine.WfUtils; +import kd.bos.workflow.service.WorkflowService; +import kd.bos.workflow.service.impl.ServiceFactory; +import kd.bos.workflow.taskcenter.plugin.util.ApprovalPluginUtil; import kd.sdk.plugin.Plugin; import java.util.EventObject; +import java.util.HashMap; +import java.util.List; +import java.util.Map; -public class ApprovalPagePluginNewDemo extends ApprovalPagePluginNew implements Plugin{ + +public class ApprovalPagePluginNewDemo extends AbstractFormPlugin implements Plugin{ @Override public void afterCreateNewData(EventObject evt) { - super.showApprovalRecord(this.ISPCSHOWVALUE,Boolean.FALSE,super.isHideYzj(),Boolean.FALSE); + showApprovalRecord(true, Boolean.FALSE, false, Boolean.FALSE); + } + + + protected void showApprovalRecord(Boolean isPCShow, Boolean approvalIsNew, Boolean hideChat, Boolean isNewApprovalRecord) { + boolean isTaskExist = Boolean.parseBoolean(super.getPageCache().get("isTaskExist")); + if (isTaskExist) { + Long processInstanceId = WfUtils.normalizeId(super.getPageCache().get("processInstanceId")); + String businesskey = super.getPageCache().get("businesskey"); + String curTaskId = this.getPageCache().get("taskid"); + + + WorkflowService wfService = (WorkflowService) ServiceFactory.getService(WorkflowService.class); + TaskService taskService = wfService.getTaskService(); + + List approvalRecordItems = ApprovalPluginUtil.getApprovalRecordItems(taskService, processInstanceId, businesskey, curTaskId, isNewApprovalRecord); + ApprovalRecord approvalRecord = (ApprovalRecord)this.getControl("approvalrecordap"); + approvalRecord.setYzjParameter(businesskey, String.valueOf(processInstanceId), "wf_taskCenter"); + Map parameters = new HashMap(); + parameters.put("hideMoreChat", isPCShow && !hideChat ? "" : "true"); + parameters.put("hideChat", hideChat ? "true" : ""); + parameters.put("isPC", isPCShow.toString()); + parameters.put("approvalIsNew", approvalIsNew); + String billPageId = this.getPageCache().get("billPageId"); + parameters.put("pageId", billPageId); + boolean isDDOrQYWX = this.isNotFromYZJ(); + parameters.put("isDDOrQYWX", isDDOrQYWX); + parameters.put("procInstId", processInstanceId); + approvalRecord.setParameters(parameters); + approvalRecord.setArData(approvalRecordItems); + List openIds = ApprovalPluginUtil.getOpenIdsForApprovalRecord(approvalRecordItems); + if (WfUtils.isNotEmptyForCollection(openIds)) { + this.getPageCache().put("approvalRecordItems", SerializationUtils.toJsonString(openIds)); + } + + } + } + + public boolean isNotFromYZJ() { + Map customParams = this.getView().getFormShowParameter().getCustomParams(); + if (WfUtils.isNotEmptyForMap(customParams)) { + Object fromyzj = customParams.get("fromyzj"); + if (WfUtils.isNotEmptyString(fromyzj) && Boolean.parseBoolean(fromyzj.toString())) { + return false; + } + } + return true; } }