对公报销单和无合同付款申请单校验
This commit is contained in:
parent
c7ea54355d
commit
67778668f7
|
@ -24,12 +24,16 @@ public class PublicBillRecAccountCkOp extends AbstractOperationServicePlugIn {
|
|||
@Override
|
||||
public void onPreparePropertys(PreparePropertysEventArgs e) {
|
||||
super.onPreparePropertys(e);
|
||||
e.getFieldKeys().add("zcgj_isec");//工程单据 ,如果是工程单据则需要判断付款方式为DG才需要判断账户一致性
|
||||
e.getFieldKeys().add("costcompany");
|
||||
e.getFieldKeys().add("accountentry");
|
||||
|
||||
e.getFieldKeys().add("billpayerid");//往来单位
|
||||
e.getFieldKeys().add("zcgj_ecpaytype");//付款方式
|
||||
e.getFieldKeys().add("zcgj_prepay");//冲销预付
|
||||
e.getFieldKeys().add("writeoffmoney");//冲销预付
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -57,6 +61,13 @@ public class PublicBillRecAccountCkOp extends AbstractOperationServicePlugIn {
|
|||
|
||||
for (ExtendedDataEntity extendedDataEntity : extendedDataEntities) {
|
||||
DynamicObject dataEntity = extendedDataEntity.getDataEntity();
|
||||
DynamicObject billPayerId = dataEntity.getDynamicObject("billpayerid");//往来单位
|
||||
String ecpaytype = dataEntity.getString("zcgj_ecpaytype");//付款方式
|
||||
boolean isec = dataEntity.getBoolean("zcgj_isec");//付款方式
|
||||
boolean ckType = true;
|
||||
if(isec){
|
||||
ckType = "DG".equals(ecpaytype); //如果是无合同付款中的付款方式为 对公,则需要校验
|
||||
}
|
||||
long aLong = dataEntity.getLong("id");
|
||||
//获取报销人
|
||||
DynamicObject applier = dataEntity.getDynamicObject("applier");
|
||||
|
@ -84,7 +95,12 @@ public class PublicBillRecAccountCkOp extends AbstractOperationServicePlugIn {
|
|||
continue;
|
||||
}
|
||||
String name = supplier.getString("name");
|
||||
if(ckType){
|
||||
String billPayerIdName = billPayerId.getString("name");
|
||||
isOk = payeraccountname.equals(name) && payeraccountname.equals(billPayerIdName);
|
||||
}else{
|
||||
isOk = payeraccountname.equals(name);
|
||||
}
|
||||
}else if("bd_customer".equals(payertype)){ //客户
|
||||
DynamicObject customer = dynamicObject.getDynamicObject("customer");
|
||||
if(customer ==null){
|
||||
|
@ -92,11 +108,29 @@ public class PublicBillRecAccountCkOp extends AbstractOperationServicePlugIn {
|
|||
continue;
|
||||
}
|
||||
String name = customer.getString("name");
|
||||
if(ckType){
|
||||
String billPayerIdName = billPayerId.getString("name");
|
||||
isOk = payeraccountname.equals(name) && payeraccountname.equals(billPayerIdName);
|
||||
}else{
|
||||
isOk = payeraccountname.equals(name);
|
||||
}
|
||||
}else if("er_payeer".equals(payertype)){ //职员
|
||||
DynamicObject payer = dynamicObject.getDynamicObject("payer");
|
||||
if(payer ==null){
|
||||
this.addFatalErrorMessage(extendedDataEntity, String.format("收款信息第%d行,收款人不能为空!",i));
|
||||
continue;
|
||||
}
|
||||
String name = payer.getString("name");
|
||||
isOk = payeraccountname.equals(name);
|
||||
}
|
||||
|
||||
if(!isOk && accountTxt.isEmpty()){
|
||||
if(ckType){//带往来单位
|
||||
this.addFatalErrorMessage(extendedDataEntity, String.format("收款信息第%d行,往来单位与收款人名称和账户名称不一致!请在当前行填写账户不一致说明!",i));
|
||||
}else{
|
||||
this.addFatalErrorMessage(extendedDataEntity, String.format("收款信息第%d行,收款人名称和账户名称不一致!请在当前行填写账户不一致说明!",i));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -22,6 +22,9 @@ public class PublicReimburPayerSubOp extends AbstractOperationServicePlugIn {
|
|||
e.getFieldKeys().add("zcgj_invoiceremark");
|
||||
e.getFieldKeys().add("makeoutcompname");
|
||||
e.getFieldKeys().add("costcompany");
|
||||
//无合同付款相关
|
||||
e.getFieldKeys().add("zcgj_isec");//工程单据
|
||||
//e.getFieldKeys().add("zcgj_ecpaytype");//付款方式
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -37,7 +40,8 @@ public class PublicReimburPayerSubOp extends AbstractOperationServicePlugIn {
|
|||
for (ExtendedDataEntity extendedDataEntity : extendedDataEntities) {
|
||||
DynamicObject dataEntity = extendedDataEntity.getDataEntity();
|
||||
DynamicObject costCompany = dataEntity.getDynamicObject("costcompany");//费用承担公司
|
||||
if (costCompany != null) {
|
||||
boolean isec = dataEntity.getBoolean("zcgj_isec");
|
||||
if (costCompany != null && !isec) {
|
||||
Long companyId = costCompany.getLong("id");
|
||||
if (OrgCheckUtils.isKS(companyId)) {
|
||||
//仅针对矿山下组织下的逻辑
|
||||
|
|
Loading…
Reference in New Issue