添加仅针对矿山下组织下的逻辑

This commit is contained in:
xuhaihui 2025-07-15 18:15:34 +08:00
parent 32ee5602e9
commit a15bdb2293
1 changed files with 21 additions and 13 deletions

View File

@ -7,6 +7,7 @@ import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
import kd.bos.entity.plugin.AddValidatorsEventArgs; import kd.bos.entity.plugin.AddValidatorsEventArgs;
import kd.bos.entity.plugin.PreparePropertysEventArgs; import kd.bos.entity.plugin.PreparePropertysEventArgs;
import kd.bos.entity.validate.AbstractValidator; import kd.bos.entity.validate.AbstractValidator;
import zcgj.zcdev.zcdev.fs.utils.OrgCheckUtils;
/* /*
对公报销单提交校验插件校验往来单位与开票公司是否一致不一致需填写特殊说明 对公报销单提交校验插件校验往来单位与开票公司是否一致不一致需填写特殊说明
@ -34,21 +35,28 @@ public class PublicReimburPayeriOp extends AbstractOperationServicePlugIn {
ExtendedDataEntity[] extendedDataEntities = this.getDataEntities(); ExtendedDataEntity[] extendedDataEntities = this.getDataEntities();
for (ExtendedDataEntity extendedDataEntity : extendedDataEntities) { for (ExtendedDataEntity extendedDataEntity : extendedDataEntities) {
DynamicObject dataEntity = extendedDataEntity.getDataEntity(); DynamicObject dataEntity = extendedDataEntity.getDataEntity();
DynamicObjectCollection invoiceEntryCollection = dataEntity.getDynamicObjectCollection("invoiceentry");//发票信息 DynamicObject costCompany = dataEntity.getDynamicObject("costcompany");//费用承担公司
if (invoiceEntryCollection.size() > 0) { if (costCompany != null) {
DynamicObject billPayerId = dataEntity.getDynamicObject("billpayerid");//往来单位 Long companyId = costCompany.getLong("id");
String zcgj_invoiceremark = dataEntity.getString("zcgj_invoiceremark");//特殊说明 if (OrgCheckUtils.isKS(companyId)) {
if (billPayerId != null) { //仅针对矿山下组织下的逻辑
String billPayerIdName = billPayerId.getString("name"); DynamicObjectCollection invoiceEntryCollection = dataEntity.getDynamicObjectCollection("invoiceentry");//发票信息
for (DynamicObject invoiceEntry : invoiceEntryCollection) { if (invoiceEntryCollection.size() > 0) {
String makeOutCompName = invoiceEntry.getString("makeoutcompname");//开票公司 DynamicObject billPayerId = dataEntity.getDynamicObject("billpayerid");//往来单位
if (!makeOutCompName.equals(billPayerIdName) && "".equals(zcgj_invoiceremark)) { String zcgj_invoiceremark = dataEntity.getString("zcgj_invoiceremark");//特殊说明
//开票公司与往来单位名称不一致且特殊说明为空 if (billPayerId != null) {
this.addFatalErrorMessage(extendedDataEntity, "开票公司与往来单位存在不一致!请填写特殊说明!"); 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, "往来单位为空");
} }
} }
} else {
this.addFatalErrorMessage(extendedDataEntity, "往来单位为空");
} }
} }
} }