费用报销单提交校验逻辑:申请人需与个人的收款信息中的收款人一致
This commit is contained in:
parent
a15bdb2293
commit
ee55e6dd24
|
@ -0,0 +1,64 @@
|
||||||
|
package zcgj.zcdev.zcdev.fs.plugin.operate;
|
||||||
|
|
||||||
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||||
|
import kd.bos.entity.ExtendedDataEntity;
|
||||||
|
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
|
||||||
|
import kd.bos.entity.plugin.AddValidatorsEventArgs;
|
||||||
|
import kd.bos.entity.plugin.PreparePropertysEventArgs;
|
||||||
|
import kd.bos.entity.validate.AbstractValidator;
|
||||||
|
import zcgj.zcdev.zcdev.fs.utils.OrgCheckUtils;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 费用报销单提交校验逻辑:申请人需与个人的收款信息中的收款人一致
|
||||||
|
*/
|
||||||
|
public class DailyReimbursSubOp extends AbstractOperationServicePlugIn {
|
||||||
|
@Override
|
||||||
|
public void onPreparePropertys(PreparePropertysEventArgs e) {
|
||||||
|
super.onPreparePropertys(e);
|
||||||
|
e.getFieldKeys().add("costcompany");
|
||||||
|
e.getFieldKeys().add("applier");
|
||||||
|
e.getFieldKeys().add("zcgj_invoiceremark");
|
||||||
|
e.getFieldKeys().add("accountentry");
|
||||||
|
e.getFieldKeys().add("payertype");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onAddValidators(AddValidatorsEventArgs e) {
|
||||||
|
super.onAddValidators(e);
|
||||||
|
e.getValidators().add(new ValidatorExt());
|
||||||
|
}
|
||||||
|
|
||||||
|
class ValidatorExt extends AbstractValidator {
|
||||||
|
@Override
|
||||||
|
public void validate() {
|
||||||
|
ExtendedDataEntity[] extendedDataEntities = this.getDataEntities();
|
||||||
|
for (ExtendedDataEntity extendedDataEntity : extendedDataEntities) {
|
||||||
|
DynamicObject dataEntity = extendedDataEntity.getDataEntity();
|
||||||
|
DynamicObject costCompany = dataEntity.getDynamicObject("costcompany");//费用承担公司
|
||||||
|
if (costCompany != null) {
|
||||||
|
Long companyId = costCompany.getLong("id");
|
||||||
|
if (OrgCheckUtils.isKS(companyId)) {
|
||||||
|
//仅针对矿山下组织下的逻辑
|
||||||
|
DynamicObject applier = dataEntity.getDynamicObject("applier");//申请人
|
||||||
|
String zcgj_invoiceremark = dataEntity.getString("zcgj_invoiceremark");//特殊说明
|
||||||
|
DynamicObjectCollection accountEntryCollection = dataEntity.getDynamicObjectCollection("accountentry");//收款信息
|
||||||
|
if (accountEntryCollection.size() > 0) {
|
||||||
|
for (int i = 0; i < accountEntryCollection.size(); i++) {
|
||||||
|
DynamicObject accountEntry = accountEntryCollection.get(i);
|
||||||
|
String payerType = accountEntry.getString("payertype");//收款人类型
|
||||||
|
if (payerType.equals("er_payeer")) {
|
||||||
|
DynamicObject payer = accountEntry.getDynamicObject("payer");//收款人(个人
|
||||||
|
if (payer != null && applier != null && !applier.getString("number").equals(payer.getString("number")) && "".equals(zcgj_invoiceremark)) {
|
||||||
|
//申请人和收款人不一致
|
||||||
|
this.addFatalErrorMessage(extendedDataEntity, "收款人与申请人不一致!请填写特殊说明!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -12,7 +12,7 @@ import zcgj.zcdev.zcdev.fs.utils.OrgCheckUtils;
|
||||||
/*
|
/*
|
||||||
对公报销单提交校验插件:校验往来单位与开票公司是否一致,不一致需填写特殊说明
|
对公报销单提交校验插件:校验往来单位与开票公司是否一致,不一致需填写特殊说明
|
||||||
*/
|
*/
|
||||||
public class PublicReimburPayeriOp extends AbstractOperationServicePlugIn {
|
public class PublicReimburPayerSubOp extends AbstractOperationServicePlugIn {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPreparePropertys(PreparePropertysEventArgs e) {
|
public void onPreparePropertys(PreparePropertysEventArgs e) {
|
||||||
|
@ -21,6 +21,7 @@ public class PublicReimburPayeriOp extends AbstractOperationServicePlugIn {
|
||||||
e.getFieldKeys().add("billpayerid");
|
e.getFieldKeys().add("billpayerid");
|
||||||
e.getFieldKeys().add("zcgj_invoiceremark");
|
e.getFieldKeys().add("zcgj_invoiceremark");
|
||||||
e.getFieldKeys().add("makeoutcompname");
|
e.getFieldKeys().add("makeoutcompname");
|
||||||
|
e.getFieldKeys().add("costcompany");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
Loading…
Reference in New Issue