历史待办点击报错修复

This commit is contained in:
ptt 2025-04-16 15:50:02 +08:00
parent 7b9acc1627
commit 698b9a7930
1 changed files with 61 additions and 3 deletions

View File

@ -1,12 +1,70 @@
package shkd.wfs.wf.plugin.form; 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 kd.sdk.plugin.Plugin;
import java.util.EventObject; 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 @Override
public void afterCreateNewData(EventObject evt) { 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<IApprovalRecordGroup> approvalRecordItems = ApprovalPluginUtil.getApprovalRecordItems(taskService, processInstanceId, businesskey, curTaskId, isNewApprovalRecord);
ApprovalRecord approvalRecord = (ApprovalRecord)this.getControl("approvalrecordap");
approvalRecord.setYzjParameter(businesskey, String.valueOf(processInstanceId), "wf_taskCenter");
Map<String, Object> 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<String, Object> 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;
} }
} }