对公报销单提交校验插件:校验往来单位与开票公司是否一致,不一致需填写特殊说明
This commit is contained in:
parent
327e0259ff
commit
89f4fd31a5
|
@ -0,0 +1,57 @@
|
||||||
|
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;
|
||||||
|
|
||||||
|
/*
|
||||||
|
对公报销单提交校验插件:校验往来单位与开票公司是否一致,不一致需填写特殊说明
|
||||||
|
*/
|
||||||
|
public class PublicReimburPayeriOp extends AbstractOperationServicePlugIn {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPreparePropertys(PreparePropertysEventArgs e) {
|
||||||
|
super.onPreparePropertys(e);
|
||||||
|
e.getFieldKeys().add("invoiceentry");
|
||||||
|
e.getFieldKeys().add("billpayerid");
|
||||||
|
e.getFieldKeys().add("zcgj_invoiceremark");
|
||||||
|
e.getFieldKeys().add("makeoutcompname");
|
||||||
|
}
|
||||||
|
|
||||||
|
@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();
|
||||||
|
DynamicObjectCollection invoiceEntryCollection = dataEntity.getDynamicObjectCollection("invoiceentry");//发票信息
|
||||||
|
if (invoiceEntryCollection.size() > 0) {
|
||||||
|
DynamicObject billPayerId = dataEntity.getDynamicObject("billpayerid");//往来单位
|
||||||
|
String zcgj_invoiceremark = dataEntity.getString("zcgj_invoiceremark");//特殊说明
|
||||||
|
if (billPayerId != null) {
|
||||||
|
String billPayerIdName = billPayerId.getString("name");
|
||||||
|
for (DynamicObject invoiceEntry : invoiceEntryCollection) {
|
||||||
|
String makeOutCompName = invoiceEntry.getString("makeoutcompname");//开票公司
|
||||||
|
if (!makeOutCompName.equals(billPayerIdName) && "".equals(zcgj_invoiceremark)) {
|
||||||
|
//开票公司与往来单位名称不一致,且特殊说明为空
|
||||||
|
this.addFatalErrorMessage(extendedDataEntity, "开票公司与往来单位存在不一致!请填写特殊说明!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.addFatalErrorMessage(extendedDataEntity, "往来单位为空");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue