共享任务校验逻辑调整
This commit is contained in:
parent
2f45abf406
commit
594a86c755
|
@ -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<String, Object> 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue