司库付款校验功能关闭
This commit is contained in:
parent
0ec46b3a82
commit
0d74173d41
|
@ -64,9 +64,9 @@ public class TaskApproveFormCkPlugin extends AbstractFormPlugin {
|
||||||
Long billtypeid = 0L;
|
Long billtypeid = 0L;
|
||||||
Long tasktypeid = 0L;
|
Long tasktypeid = 0L;
|
||||||
Long sscid = 0L;
|
Long sscid = 0L;
|
||||||
String billnumber = "";
|
String entityName = "";
|
||||||
String billid = "";
|
String billid = "";
|
||||||
String billNo = null;
|
String billnumber = null;
|
||||||
if (customParams != null) {
|
if (customParams != null) {
|
||||||
log.info("TaskApproveFormCkPlugin:"+customParams.toString());
|
log.info("TaskApproveFormCkPlugin:"+customParams.toString());
|
||||||
log.info("TaskApproveFormCkPlugin:billtypeid "+customParams.get("billtypeid"));
|
log.info("TaskApproveFormCkPlugin:billtypeid "+customParams.get("billtypeid"));
|
||||||
|
@ -82,11 +82,11 @@ public class TaskApproveFormCkPlugin extends AbstractFormPlugin {
|
||||||
}else if(sscidObj instanceof String) {
|
}else if(sscidObj instanceof String) {
|
||||||
sscid = Long.valueOf((String)customParams.get("sscid"));//任务类型id
|
sscid = Long.valueOf((String)customParams.get("sscid"));//任务类型id
|
||||||
}
|
}
|
||||||
billnumber = (String)customParams.get("billnumber");//单据编码(单据标识 entityName)
|
entityName = (String)customParams.get("billnumber");//单据编码(单据标识 entityName)
|
||||||
billid = (String)customParams.get("billid");//业务单据id
|
billid = (String)customParams.get("billid");//业务单据id
|
||||||
billNo = VoucherUtil.getTaskBillNo(billid);//业务单据编号
|
billnumber = VoucherUtil.getTaskBillNo(billid);//业务单据编号
|
||||||
|
|
||||||
if(billTypes.contains(billnumber)){
|
if(billTypes.contains(entityName)){
|
||||||
IDataModel model = this.getModel();
|
IDataModel model = this.getModel();
|
||||||
String operation = (String)model.getValue("operationgroupfield");
|
String operation = (String)model.getValue("operationgroupfield");
|
||||||
if ("1".equals(operation)) { //如果审批操作是通过
|
if ("1".equals(operation)) { //如果审批操作是通过
|
||||||
|
@ -96,64 +96,77 @@ public class TaskApproveFormCkPlugin extends AbstractFormPlugin {
|
||||||
if(tasktypeArray != null && tasktypeArray.length > 0){
|
if(tasktypeArray != null && tasktypeArray.length > 0){
|
||||||
DynamicObject tasktype = tasktypeArray[0];
|
DynamicObject tasktype = tasktypeArray[0];
|
||||||
if(tasktypeid == tasktype.getLong("id")) {
|
if(tasktypeid == tasktype.getLong("id")) {
|
||||||
if(StringUtils.isNotBlank(billNo) && StringUtils.isNotBlank(billid) && StringUtils.isNotBlank(billnumber) ) {
|
if(StringUtils.isNotBlank(billnumber) && StringUtils.isNotBlank(billid) && StringUtils.isNotBlank(entityName) ) {
|
||||||
QFilter accountTableFilter = new QFilter("id", QCP.equals,Long.valueOf(billid));
|
QFilter accountTableFilter = new QFilter("id", QCP.equals,Long.valueOf(billid));
|
||||||
DynamicObject sourceBillObject = BusinessDataServiceHelper.loadSingle(billnumber, new QFilter[]{accountTableFilter});
|
DynamicObject sourceBillObject = BusinessDataServiceHelper.loadSingle(entityName, new QFilter[]{accountTableFilter});
|
||||||
String billstatus = sourceBillObject.getString("billstatus");
|
String billstatus = sourceBillObject.getString("billstatus");
|
||||||
|
|
||||||
boolean success = true;
|
/*if("er_publicreimbursebill".equals(entityName) || "er_prepaybill".equals(entityName) || "er_dailyreimbursebill".equals(entityName) || "er_tripreimbursebill".equals(entityName)) {
|
||||||
//er_dailyreimbursebill。er_publicreimbursebill,er_tripreimbursebill,er_prepaybill
|
boolean success = false;
|
||||||
//判断是否有司库付款,通过付款单的结算方式
|
boolean isSk = false; //是否司库付款
|
||||||
//获取下推的付款单,判断付款单司库付款状态 提交司库状态:cnbm_tbskstatus:success, 司库付款状态:cnbm_skpayresult:payed
|
boolean settletypeNotNull = true;//付款方式不能为空
|
||||||
//cas_paybill
|
//er_dailyreimbursebill。er_publicreimbursebill,er_tripreimbursebill,er_prepaybill
|
||||||
|
//判断是否有司库付款,通过付款单的结算方式
|
||||||
|
//获取下推的付款单,判断付款单司库付款状态 提交司库状态:cnbm_tbskstatus:success, 司库付款状态:cnbm_skpayresult:payed
|
||||||
DynamicObject[] dynamicObjectOrg = null;
|
//cas_paybill
|
||||||
if("er_publicreimbursebill".equals(billnumber) || "er_prepaybill".equals(billnumber)) {//对公报销单,预付单,查询付款处理单
|
DynamicObject[] dynamicObjectOrg = null;
|
||||||
QFilter billTypeFilter = new QFilter("sourcebilltype",QCP.equals,billnumber);
|
if("er_publicreimbursebill".equals(entityName) || "er_prepaybill".equals(entityName)) {//对公报销单,预付单,查询付款处理单
|
||||||
QFilter billIdFilter = new QFilter("sourcebillid",QCP.equals,Long.valueOf(billid));
|
QFilter billTypeFilter = new QFilter("sourcebilltype",QCP.equals,entityName);
|
||||||
//提交司库状态 cnbm_tbskstatus,司库付款状态:cnbm_skpayresult
|
QFilter billIdFilter = new QFilter("sourcebillid",QCP.equals,Long.valueOf(billid));
|
||||||
dynamicObjectOrg = BusinessDataServiceHelper.load("cas_paybill", "number,cnbm_tbskstatus,cnbm_skpayresult", new QFilter[]{billTypeFilter,billIdFilter});
|
//QFilter settletypeFilter = new QFilter("settletype.number",QCP.in,new String[]{"001","002"});
|
||||||
} else if ("er_dailyreimbursebill".equals(billnumber) || "er_tripreimbursebill".equals(billnumber)){//差旅报销单、费用报销单,查询代发处理单
|
//提交司库状态 cnbm_tbskstatus,司库付款状态:cnbm_skpayresult
|
||||||
//代发处理 cas_agentpaybill
|
dynamicObjectOrg = BusinessDataServiceHelper.load("cas_paybill", "number,cnbm_tbskstatus,cnbm_skpayresult,settletype", new QFilter[]{billTypeFilter,billIdFilter});
|
||||||
//提交司库状态:cnbm_tbskstatus ,司库付款状态:cnbm_skpayresult
|
} else //if ("er_dailyreimbursebill".equals(entityName) || "er_tripreimbursebill".equals(entityName))
|
||||||
//提交司库状态 cnbm_tbskstatus,司库付款状态:cnbm_skpayresult
|
{//差旅报销单、费用报销单,查询代发处理单
|
||||||
QFilter billTypeFilter = new QFilter("sourcebilltype",QCP.equals,billnumber);
|
//代发处理 cas_agentpaybill
|
||||||
QFilter billNumberFilter = new QFilter("sourcebillnumber",QCP.equals,billNo);
|
//提交司库状态:cnbm_tbskstatus ,司库付款状态:cnbm_skpayresult
|
||||||
dynamicObjectOrg = BusinessDataServiceHelper.load("cas_agentpaybill", "number,cnbm_tbskstatus,cnbm_skpayresult", new QFilter[]{billTypeFilter,billNumberFilter});
|
//提交司库状态 cnbm_tbskstatus,司库付款状态:cnbm_skpayresult
|
||||||
}
|
QFilter billTypeFilter = new QFilter("sourcebilltype",QCP.equals,entityName);
|
||||||
|
QFilter billNumberFilter = new QFilter("sourcebillnumber",QCP.equals,billnumber);
|
||||||
if (dynamicObjectOrg != null && dynamicObjectOrg.length > 0) {
|
// QFilter settletypeFilter = new QFilter("settletype.number",QCP.in,new String[]{"001","002"});
|
||||||
for (DynamicObject dynamicObject : dynamicObjectOrg) {
|
dynamicObjectOrg = BusinessDataServiceHelper.load("cas_agentpaybill", "number,cnbm_tbskstatus,cnbm_skpayresult,settletype", new QFilter[]{billTypeFilter,billNumberFilter});
|
||||||
String tbskstatus = dynamicObject.getString("cnbm_tbskstatus");
|
|
||||||
String skpayresult = dynamicObject.getString("cnbm_skpayresult");
|
|
||||||
if(!"success".equals(tbskstatus) || !"payed".equals(skpayresult)) {
|
|
||||||
success = false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}else{
|
|
||||||
this.getView().showErrorNotification(String.format("没有下游付款处理或代发处理单,无法进行审批。"));
|
|
||||||
evt.setCancel(true);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if(!success){
|
|
||||||
this.getView().showErrorNotification(String.format("付款处理或代发处理单提交司库状态为同步成功或司库付款状态为已付款时,才能审批通过。"));
|
|
||||||
evt.setCancel(true);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (dynamicObjectOrg != null && dynamicObjectOrg.length > 0) {
|
||||||
|
for (DynamicObject dynamicObject : dynamicObjectOrg) {
|
||||||
|
String tbskstatus = dynamicObject.getString("cnbm_tbskstatus");
|
||||||
|
String skpayresult = dynamicObject.getString("cnbm_skpayresult");
|
||||||
|
DynamicObject settletype = dynamicObject.getDynamicObject("settletype");
|
||||||
|
if(settletype !=null){
|
||||||
|
String settletypeNumber = settletype.getString("number");
|
||||||
|
if("001".equals(settletypeNumber) || "002".equals(settletypeNumber)) {
|
||||||
|
isSk = true;
|
||||||
|
if("success".equals(tbskstatus) || "payed".equals(skpayresult)) {
|
||||||
|
success = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
settletypeNotNull = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else if(settletypeNotNull){
|
||||||
|
this.getView().showErrorNotification(String.format("没有下推付款处理或代发处理单,无法进行审批。"));
|
||||||
|
evt.setCancel(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(isSk && !success && settletypeNotNull){
|
||||||
|
this.getView().showErrorNotification(String.format("付款处理单或代发处理单提交司库状态为同步成功或司库付款状态为已付款时,才能审批通过。"));
|
||||||
|
evt.setCancel(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}*/
|
||||||
if(!"G".equals(billstatus)) {
|
if(!"G".equals(billstatus)) {
|
||||||
if("er_repaymentbill".equals(billnumber)) {
|
if("er_repaymentbill".equals(entityName)) {
|
||||||
this.getView().showErrorNotification(String.format("审批结算任务:当前单据的收款未完成,请完成收款后提交。"));
|
this.getView().showErrorNotification(String.format("审批结算任务:当前单据的收款未完成,请完成收款后提交。"));
|
||||||
evt.setCancel(true);
|
evt.setCancel(true);
|
||||||
}else if(
|
}else if(
|
||||||
"er_dailyreimbursebill".equals(billnumber) || //费用报销单
|
"er_dailyreimbursebill".equals(entityName) || //费用报销单
|
||||||
"er_publicreimbursebill".equals(billnumber) || //对公报销的呢
|
"er_publicreimbursebill".equals(entityName) || //对公报销的呢
|
||||||
"er_tripreimbursebill".equals(billnumber) || //差旅报销单
|
"er_tripreimbursebill".equals(entityName) || //差旅报销单
|
||||||
"er_dailyloanbill".equals(billnumber) || //借款单
|
"er_dailyloanbill".equals(entityName) || //借款单
|
||||||
"er_prepaybill".equals(billnumber) || //预付单
|
"er_prepaybill".equals(entityName) || //预付单
|
||||||
"er_applypaybill".equals(billnumber) || //付款申请单
|
"er_applypaybill".equals(entityName) || //付款申请单
|
||||||
"cas_paybill".equals(billnumber) //付款处理单
|
"cas_paybill".equals(entityName) //付款处理单
|
||||||
){
|
){
|
||||||
this.getView().showErrorNotification(String.format("审批结算任务:当前单据的付款未完成,请完成付款后提交。"));
|
this.getView().showErrorNotification(String.format("审批结算任务:当前单据的付款未完成,请完成付款后提交。"));
|
||||||
evt.setCancel(true);
|
evt.setCancel(true);
|
||||||
|
|
|
@ -81,9 +81,58 @@ public class TaskListPayStatusCkOp extends AbstractOperationServicePlugIn {
|
||||||
QFilter accountTableFilter = new QFilter("id", QCP.equals,billid);
|
QFilter accountTableFilter = new QFilter("id", QCP.equals,billid);
|
||||||
DynamicObject sourceBillObject = BusinessDataServiceHelper.loadSingle(entityName, new QFilter[]{accountTableFilter});
|
DynamicObject sourceBillObject = BusinessDataServiceHelper.loadSingle(entityName, new QFilter[]{accountTableFilter});
|
||||||
String billstatus = sourceBillObject.getString("billstatus");
|
String billstatus = sourceBillObject.getString("billstatus");
|
||||||
|
//String billNo = sourceBillObject.getString("billno");
|
||||||
|
|
||||||
|
/*if("er_publicreimbursebill".equals(entityName) || "er_prepaybill".equals(entityName) || "er_dailyreimbursebill".equals(entityName) || "er_tripreimbursebill".equals(entityName)){
|
||||||
|
boolean success = false;
|
||||||
|
boolean isSk = false; //是否司库付款
|
||||||
|
boolean settletypeNotNull = true;//付款方式不能为空
|
||||||
|
DynamicObject[] dynamicObjectOrg = null;
|
||||||
|
if("er_publicreimbursebill".equals(entityName) || "er_prepaybill".equals(entityName) ) {//对公报销单,预付单,付款申请单,查询付款处理单
|
||||||
|
QFilter billTypeFilter = new QFilter("sourcebilltype",QCP.equals,entityName);
|
||||||
|
QFilter billIdFilter = new QFilter("sourcebillid",QCP.equals,Long.valueOf(billid));
|
||||||
|
//提交司库状态 cnbm_tbskstatus,司库付款状态:cnbm_skpayresult
|
||||||
|
dynamicObjectOrg = BusinessDataServiceHelper.load("cas_paybill", "number,cnbm_tbskstatus,cnbm_skpayresult,settletype", new QFilter[]{billTypeFilter,billIdFilter});
|
||||||
|
} else //if ("er_dailyreimbursebill".equals(entityName) || "er_tripreimbursebill".equals(entityName))
|
||||||
|
{//差旅报销单、费用报销单,查询代发处理单
|
||||||
|
//代发处理 cas_agentpaybill
|
||||||
|
//提交司库状态:cnbm_tbskstatus ,司库付款状态:cnbm_skpayresult
|
||||||
|
//提交司库状态 cnbm_tbskstatus,司库付款状态:cnbm_skpayresult
|
||||||
|
QFilter billTypeFilter = new QFilter("sourcebilltype",QCP.equals,entityName);
|
||||||
|
QFilter billNumberFilter = new QFilter("sourcebillnumber",QCP.equals,billnumber);
|
||||||
|
dynamicObjectOrg = BusinessDataServiceHelper.load("cas_agentpaybill", "number,cnbm_tbskstatus,cnbm_skpayresult,settletype", new QFilter[]{billTypeFilter,billNumberFilter});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dynamicObjectOrg != null && dynamicObjectOrg.length > 0) {
|
||||||
|
for (DynamicObject dynamicObject : dynamicObjectOrg) {
|
||||||
|
String tbskstatus = dynamicObject.getString("cnbm_tbskstatus");
|
||||||
|
String skpayresult = dynamicObject.getString("cnbm_skpayresult");
|
||||||
|
DynamicObject settletype = dynamicObject.getDynamicObject("settletype");
|
||||||
|
if (settletype != null) {//没有选择结算方式,则跳过校验
|
||||||
|
String settletypeNumber = settletype.getString("number");
|
||||||
|
if("success".equals(tbskstatus) || "payed".equals(skpayresult)) {
|
||||||
|
success = true;
|
||||||
|
}
|
||||||
|
if("001".equals(settletypeNumber) || "002".equals(settletypeNumber)) {
|
||||||
|
isSk = true;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
settletypeNotNull = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else if(settletypeNotNull){
|
||||||
|
//this.getView().showErrorNotification(String.format("没有下游付款处理或代发处理单,无法进行审批。"));
|
||||||
|
this.addFatalErrorMessage(extendedDataEntity, String.format("审批结算任务:【%s】没有下推付款处理或代发处理单,无法进行审批。",subject));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(isSk && !success && settletypeNotNull){
|
||||||
|
this.addFatalErrorMessage(extendedDataEntity, String.format("审批结算任务:【%s】付款处理单或代发处理单提交司库状态为同步成功或司库付款状态为已付款时,才能审批通过。",subject));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}*/
|
||||||
if(!"G".equals(billstatus)) {
|
if(!"G".equals(billstatus)) {
|
||||||
if("er_repaymentbill".equals(entityName)) {
|
if("er_repaymentbill".equals(entityName)) {
|
||||||
this.addFatalErrorMessage(extendedDataEntity, String.format("审批结算任务:【%s-%s】的收款未完成,请完成收款后操作。",billnumber,subject));
|
this.addFatalErrorMessage(extendedDataEntity, String.format("审批结算任务:【%s】的收款未完成,请完成收款后操作。",subject));
|
||||||
}else if(
|
}else if(
|
||||||
"er_dailyreimbursebill".equals(entityName) || //费用报销单
|
"er_dailyreimbursebill".equals(entityName) || //费用报销单
|
||||||
"er_publicreimbursebill".equals(entityName) || //对公报销的呢
|
"er_publicreimbursebill".equals(entityName) || //对公报销的呢
|
||||||
|
@ -93,7 +142,7 @@ public class TaskListPayStatusCkOp extends AbstractOperationServicePlugIn {
|
||||||
"er_applypaybill".equals(entityName) || //付款申请单
|
"er_applypaybill".equals(entityName) || //付款申请单
|
||||||
"cas_paybill".equals(entityName) //付款处理单
|
"cas_paybill".equals(entityName) //付款处理单
|
||||||
) {
|
) {
|
||||||
this.addFatalErrorMessage(extendedDataEntity, String.format("审批结算任务:【%s-%s】的付款未完成,请完成付款后操作。",billnumber,subject));
|
this.addFatalErrorMessage(extendedDataEntity, String.format("审批结算任务:【%s】的付款未完成,请完成付款后操作。",subject));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue