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