共享任务中心审批检查

This commit is contained in:
zhangzhiguo 2025-06-28 18:14:43 +08:00
parent 3ab1d6815d
commit d3e6c72bab
1 changed files with 54 additions and 34 deletions

View File

@ -8,20 +8,37 @@ import kd.bos.form.control.Control;
import kd.bos.form.control.events.BeforeClickEvent; import kd.bos.form.control.events.BeforeClickEvent;
import kd.bos.form.control.events.BeforeItemClickEvent; import kd.bos.form.control.events.BeforeItemClickEvent;
import kd.bos.form.plugin.AbstractFormPlugin; import kd.bos.form.plugin.AbstractFormPlugin;
import kd.bos.logging.Log;
import kd.bos.logging.LogFactory;
import kd.bos.orm.query.QCP; import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter; import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.ssc.task.formplugin.util.VoucherUtil; import kd.ssc.task.formplugin.util.VoucherUtil;
import java.util.EventObject; import java.util.EventObject;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
/** /**
* 我的共享任务审批时增加付款完成校验 * 我的共享任务审批时增加付款完成校验
*/ */
public class TaskApproveFormCkPlugin extends AbstractFormPlugin { public class TaskApproveFormCkPlugin extends AbstractFormPlugin {
private static final Log log = LogFactory.getLog(TaskApproveFormCkPlugin.class);
private static Set<String> billTypes = new HashSet<String>();
static {
billTypes.add("er_repaymentbill");
billTypes.add("er_dailyreimbursebill");
billTypes.add("er_publicreimbursebill");
billTypes.add("er_tripreimbursebill");
billTypes.add("er_dailyloanbill");
billTypes.add("er_prepaybill");
billTypes.add("er_applypaybill");
billTypes.add("cas_paybill");
}
// //
public void registerListener(EventObject evt) { public void registerListener(EventObject evt) {
this.addClickListeners(new String[]{"submit", "submitandnext"}); this.addClickListeners(new String[]{"submit", "submitandnext"});
@ -48,41 +65,49 @@ public class TaskApproveFormCkPlugin extends AbstractFormPlugin {
String billid = ""; String billid = "";
String billNo = null; String billNo = null;
if (customParams != null) { if (customParams != null) {
log.info("TaskApproveFormCkPlugin"+customParams.toString());
log.info("TaskApproveFormCkPluginbilltypeid "+customParams.get("billtypeid"));
log.info("TaskApproveFormCkPlugintasktypeid "+customParams.get("tasktypeid"));
log.info("TaskApproveFormCkPluginsscid "+customParams.get("sscid"));
log.info("TaskApproveFormCkPluginbillnumber "+customParams.get("billnumber"));
log.info("TaskApproveFormCkPluginbillid "+customParams.get("billid"));
billtypeid = (Long)customParams.get("billtypeid");//单据类型id billtypeid = (Long)customParams.get("billtypeid");//单据类型id
tasktypeid = (Long)customParams.get("tasktypeid");//任务类型id tasktypeid = (Long)customParams.get("tasktypeid");//任务类型id
sscid = (Long)customParams.get("sscid");//任务类型id sscid = Long.valueOf((String)customParams.get("sscid"));//任务类型id
billnumber = (String)customParams.get("billnumber");//单据编码单据标识 entityName billnumber = (String)customParams.get("billnumber");//单据编码单据标识 entityName
billid = (String)customParams.get("billid");//业务单据id billid = (String)customParams.get("billid");//业务单据id
billNo = VoucherUtil.getTaskBillNo(billid);//业务单据编号 billNo = VoucherUtil.getTaskBillNo(billid);//业务单据编号
IDataModel model = this.getModel(); if(billTypes.contains(billnumber)){
String operation = (String)model.getValue("operationgroupfield"); IDataModel model = this.getModel();
if ("1".equals(operation)) { //如果审批操作是通过 String operation = (String)model.getValue("operationgroupfield");
QFilter tasktypeFilter = new QFilter("orgfield.id", QCP.equals,sscid); if ("1".equals(operation)) { //如果审批操作是通过
tasktypeFilter.and(new QFilter("tasklevel", QCP.equals,"2"));//任务类型为结算时 QFilter tasktypeFilter = new QFilter("orgfield.id", QCP.equals,sscid);
DynamicObject[] tasktypeArray = BusinessDataServiceHelper.load("task_tasktype", "id", new QFilter[]{tasktypeFilter}); tasktypeFilter.and(new QFilter("tasklevel", QCP.equals,"2"));//任务类型为结算时
if(tasktypeArray != null && tasktypeArray.length > 0){ DynamicObject[] tasktypeArray = BusinessDataServiceHelper.load("task_tasktype", "id", new QFilter[]{tasktypeFilter});
DynamicObject tasktype = tasktypeArray[0]; if(tasktypeArray != null && tasktypeArray.length > 0){
if(tasktypeid.getLong("id") == tasktype.getLong("id")) { DynamicObject tasktype = tasktypeArray[0];
if(StringUtils.isNotBlank(billNo) && StringUtils.isNotBlank(billid) && StringUtils.isNotBlank(billnumber) ) { if(tasktypeid == tasktype.getLong("id")) {
QFilter accountTableFilter = new QFilter("id", QCP.equals,Long.valueOf(billid)); if(StringUtils.isNotBlank(billNo) && StringUtils.isNotBlank(billid) && StringUtils.isNotBlank(billnumber) ) {
DynamicObject sourceBillObject = BusinessDataServiceHelper.loadSingle(billnumber, new QFilter[]{accountTableFilter}); QFilter accountTableFilter = new QFilter("id", QCP.equals,Long.valueOf(billid));
String billstatus = sourceBillObject.getString("billstatus"); DynamicObject sourceBillObject = BusinessDataServiceHelper.loadSingle(billnumber, new QFilter[]{accountTableFilter});
if(!"G".equals(billstatus)) { String billstatus = sourceBillObject.getString("billstatus");
if("er_repaymentbill".equals(billnumber)) { if(!"G".equals(billstatus)) {
this.getView().showErrorNotification(String.format("审批结算任务:当前单据的收款未完成,请完成收款后提交。")); if("er_repaymentbill".equals(billnumber)) {
evt.setCancel(true); this.getView().showErrorNotification(String.format("审批结算任务:当前单据的收款未完成,请完成收款后提交。"));
}else if( evt.setCancel(true);
"er_dailyreimbursebill".equals(billnumber) || //费用报销单 }else if(
"er_publicreimbursebill".equals(billnumber) || //对公报销的呢 "er_dailyreimbursebill".equals(billnumber) || //费用报销单
"er_tripreimbursebill".equals(billnumber) || //差旅报销单 "er_publicreimbursebill".equals(billnumber) || //对公报销的呢
"er_dailyloanbill".equals(billnumber) || //借款单 "er_tripreimbursebill".equals(billnumber) || //差旅报销单
"er_prepaybill".equals(billnumber) || //预付单 "er_dailyloanbill".equals(billnumber) || //借款单
"er_applypaybill".equals(billnumber) || //付款申请单 "er_prepaybill".equals(billnumber) || //预付单
"cas_paybill".equals(billnumber) //付款处理单 "er_applypaybill".equals(billnumber) || //付款申请单
){ "cas_paybill".equals(billnumber) //付款处理单
this.getView().showErrorNotification(String.format("审批结算任务:当前单据的付款未完成,请完成付款后提交。")); ){
evt.setCancel(true); this.getView().showErrorNotification(String.format("审批结算任务:当前单据的付款未完成,请完成付款后提交。"));
evt.setCancel(true);
}
} }
} }
} }
@ -91,11 +116,6 @@ public class TaskApproveFormCkPlugin extends AbstractFormPlugin {
} }
} }
//System.out.println(billtypeid);
//System.out.println(tasktypeid);
//System.out.println(billnumber);
//System.out.println(billid);
//System.out.println(billNo);
} }
} }