From 594a86c75519edc986564483056703be6620ae09 Mon Sep 17 00:00:00 2001 From: zhangzhiguo Date: Thu, 26 Jun 2025 16:00:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=B1=E4=BA=AB=E4=BB=BB=E5=8A=A1=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C=E9=80=BB=E8=BE=91=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/form/TaskApproveFormCkPlugin.java | 41 ++++++++++++++----- .../plugin/operate/TaskListPayStatusCkOp.java | 12 +++++- 2 files changed, 40 insertions(+), 13 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TaskApproveFormCkPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TaskApproveFormCkPlugin.java index ccbf805..4c01644 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TaskApproveFormCkPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TaskApproveFormCkPlugin.java @@ -15,6 +15,7 @@ import kd.ssc.task.formplugin.util.VoucherUtil; import java.util.EventObject; import java.util.Map; +import java.util.Set; /** * 我的共享,任务审批时增加付款完成校验 @@ -42,12 +43,14 @@ public class TaskApproveFormCkPlugin extends AbstractFormPlugin { Map customParams = view.getFormShowParameter().getCustomParams(); Long billtypeid = 0L; Long tasktypeid = 0L; + Long sscid = 0L; String billnumber = ""; String billid = ""; String billNo = null; if (customParams != null) { billtypeid = (Long)customParams.get("billtypeid");//单据类型id tasktypeid = (Long)customParams.get("tasktypeid");//任务类型id + sscid = (Long)customParams.get("sscid");//任务类型id billnumber = (String)customParams.get("billnumber");//单据编码(单据标识 entityName) billid = (String)customParams.get("billid");//业务单据id billNo = VoucherUtil.getTaskBillNo(billid);//业务单据编号 @@ -55,17 +58,33 @@ public class TaskApproveFormCkPlugin extends AbstractFormPlugin { IDataModel model = this.getModel(); String operation = (String)model.getValue("operationgroupfield"); if ("1".equals(operation)) { //如果审批操作是通过 - if(StringUtils.isNotBlank(billNo) && StringUtils.isNotBlank(billid) && StringUtils.isNotBlank(billnumber) ) { - QFilter accountTableFilter = new QFilter("id", QCP.equals,Long.valueOf(billid)); - DynamicObject sourceBillObject = BusinessDataServiceHelper.loadSingle(billnumber, new QFilter[]{accountTableFilter}); - String billstatus = sourceBillObject.getString("billstatus"); - if(!"G".equals(billstatus)) { - if("er_repaymentbill".equals(billnumber)) { - this.getView().showErrorNotification(String.format("审批结算任务:当前单据的收款未完成,请完成收款后提交。")); - evt.setCancel(true); - }else{ - this.getView().showErrorNotification(String.format("审批结算任务:当前单据的付款未完成,请完成付款后提交。")); - evt.setCancel(true); + QFilter tasktypeFilter = new QFilter("orgfield.id", QCP.equals,sscid); + tasktypeFilter.and(new QFilter("tasklevel", QCP.equals,"2"));//任务类型为:结算时 + DynamicObject[] tasktypeArray = BusinessDataServiceHelper.load("task_tasktype", "id", new QFilter[]{tasktypeFilter}); + if(tasktypeArray != null && tasktypeArray.length > 0){ + DynamicObject tasktype = tasktypeArray[0]; + if(tasktypeid.getLong("id") == tasktype.getLong("id")) { + if(StringUtils.isNotBlank(billNo) && StringUtils.isNotBlank(billid) && StringUtils.isNotBlank(billnumber) ) { + QFilter accountTableFilter = new QFilter("id", QCP.equals,Long.valueOf(billid)); + DynamicObject sourceBillObject = BusinessDataServiceHelper.loadSingle(billnumber, new QFilter[]{accountTableFilter}); + String billstatus = sourceBillObject.getString("billstatus"); + if(!"G".equals(billstatus)) { + if("er_repaymentbill".equals(billnumber)) { + this.getView().showErrorNotification(String.format("审批结算任务:当前单据的收款未完成,请完成收款后提交。")); + evt.setCancel(true); + }else if( + "er_dailyreimbursebill".equals(billnumber) || //费用报销单 + "er_publicreimbursebill".equals(billnumber) || //对公报销的呢 + "er_tripreimbursebill".equals(billnumber) || //差旅报销单 + "er_dailyloanbill".equals(billnumber) || //借款单 + "er_prepaybill".equals(billnumber) || //预付单 + "er_applypaybill".equals(billnumber) || //付款申请单 + "cas_paybill".equals(billnumber) //付款处理单 + ){ + this.getView().showErrorNotification(String.format("审批结算任务:当前单据的付款未完成,请完成付款后提交。")); + evt.setCancel(true); + } + } } } } diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/TaskListPayStatusCkOp.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/TaskListPayStatusCkOp.java index 09800b3..4e1b335 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/TaskListPayStatusCkOp.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/TaskListPayStatusCkOp.java @@ -69,7 +69,7 @@ public class TaskListPayStatusCkOp extends AbstractOperationServicePlugIn { DynamicObject tasktypeid = dataEntity.getDynamicObject("tasktypeid"); DynamicObject sscid = dataEntity.getDynamicObject("sscid"); QFilter tasktypeFilter = new QFilter("orgfield.id", QCP.equals,sscid.getLong("id")); - tasktypeFilter.and(new QFilter("tasklevel", QCP.equals,"2")); + tasktypeFilter.and(new QFilter("tasklevel", QCP.equals,"2"));//任务类型为:结算时 DynamicObject[] tasktypeArray = BusinessDataServiceHelper.load("task_tasktype", "id", new QFilter[]{tasktypeFilter}); if(tasktypeArray != null && tasktypeArray.length > 0){ DynamicObject tasktype = tasktypeArray[0]; @@ -84,7 +84,15 @@ public class TaskListPayStatusCkOp extends AbstractOperationServicePlugIn { if(!"G".equals(billstatus)) { if("er_repaymentbill".equals(entityName)) { this.addFatalErrorMessage(extendedDataEntity, String.format("审批结算任务:【%s-%s】的收款未完成,请完成收款后操作。",billnumber,subject)); - }else{ + }else if( + "er_dailyreimbursebill".equals(entityName) || //费用报销单 + "er_publicreimbursebill".equals(entityName) || //对公报销的呢 + "er_tripreimbursebill".equals(entityName) || //差旅报销单 + "er_dailyloanbill".equals(entityName) || //借款单 + "er_prepaybill".equals(entityName) || //预付单 + "er_applypaybill".equals(entityName) || //付款申请单 + "cas_paybill".equals(entityName) //付款处理单 + ) { this.addFatalErrorMessage(extendedDataEntity, String.format("审批结算任务:【%s-%s】的付款未完成,请完成付款后操作。",billnumber,subject)); } }