对公报销单提交校验插件:校验往来单位与开票公司是否一致,不一致需填写特殊说明
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