凭证传输接口-增加已审核凭证过滤

This commit is contained in:
李贵强 2025-04-18 16:02:41 +08:00
parent 5e98e9e32c
commit 422181dec0
1 changed files with 17 additions and 13 deletions

View File

@ -8,6 +8,7 @@ import kd.bos.dataentity.utils.StringUtils;
import kd.bos.entity.ExtendedDataEntity; import kd.bos.entity.ExtendedDataEntity;
import kd.bos.entity.formula.RowDataModel; import kd.bos.entity.formula.RowDataModel;
import kd.bos.entity.operate.result.OperateErrorInfo; import kd.bos.entity.operate.result.OperateErrorInfo;
import kd.bos.entity.operate.result.OperationResult;
import kd.bos.entity.plugin.AbstractOperationServicePlugIn; 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;
@ -20,6 +21,7 @@ import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter; import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.operation.SaveServiceHelper; import kd.bos.servicehelper.operation.SaveServiceHelper;
import kd.fi.cas.helper.VoucherBookHelper;
import kd.sdk.plugin.Plugin; import kd.sdk.plugin.Plugin;
import shjh.jhzj7.fi.fi.plugin.form.info.RecFieldsInfo; import shjh.jhzj7.fi.fi.plugin.form.info.RecFieldsInfo;
import shjh.jhzj7.fi.fi.utils.ApiUtils; import shjh.jhzj7.fi.fi.utils.ApiUtils;
@ -146,6 +148,13 @@ public class RecPushVoucherOperation extends AbstractOperationServicePlugIn impl
//抬头参考IS_HEADER //抬头参考IS_HEADER
data.put("IS_HEADER", getIS_HEADER(recBill)); data.put("IS_HEADER", getIS_HEADER(recBill));
//详细参考IT_ITEM //详细参考IT_ITEM
JSONArray itItem = getIT_ITEM(recBill);
if (itItem==null){
this.getOperationResult().setSuccess(false);//成功true;失败false
this.getOperationResult().setMessage("凭证不存在或未审核"); // 提示内容
this.getOperationResult().setShowMessage(true); // 是否显示提示消息
continue;
}
data.put("IT_ITEM", getIT_ITEM(recBill)); data.put("IT_ITEM", getIT_ITEM(recBill));
//收款类型=推预付款员工还款需要传清账数据 //收款类型=推预付款员工还款需要传清账数据
String receivingType = recBill.getString("receivingtype.number"); String receivingType = recBill.getString("receivingtype.number");
@ -286,27 +295,18 @@ public class RecPushVoucherOperation extends AbstractOperationServicePlugIn impl
PRCTR = shjhPc.getString("number"); PRCTR = shjhPc.getString("number");
} }
// 5. 查询关联的凭证信息 // 5. 查询关联的凭证信息凭证必传
QFilter voucherFilters = new QFilter("sourcebill", QCP.equals, recBill.getPkValue());
voucherFilters.and(new QFilter("billstatus",QCP.equals,"C"));//已审核
DynamicObject gl_voucher = BusinessDataServiceHelper.loadSingle("gl_voucher", DynamicObject gl_voucher = BusinessDataServiceHelper.loadSingle("gl_voucher",
"id,sourcebill,entries,entries.account,entries.debitlocal,entries.creditlocal,entries.entrydc", "id,sourcebill,entries,entries.account,entries.debitlocal,entries.creditlocal,entries.entrydc",
new QFilter("sourcebill", QCP.equals, recBill.getPkValue()).toArray()); voucherFilters.toArray());
if (gl_voucher != null) { if (gl_voucher != null) {
DynamicObjectCollection entries = gl_voucher.getDynamicObjectCollection("entries"); DynamicObjectCollection entries = gl_voucher.getDynamicObjectCollection("entries");
if (entries != null && !entries.isEmpty()) { if (entries != null && !entries.isEmpty()) {
for (DynamicObject entry : entries) { for (DynamicObject entry : entries) {
JSONObject IT_ITEMS = new JSONObject(); JSONObject IT_ITEMS = new JSONObject();
// // 设置客户/供应商编号
// switch (payerType) {
// case "bd_customer":
// IT_ITEMS.put("KUNNR", cusOrSupNumber);
// break;
// case "bd_supplier":
// IT_ITEMS.put("LIFNR", cusOrSupNumber);
// break;
// }
// 设置科目 // 设置科目
DynamicObject account = entry.getDynamicObject("account"); DynamicObject account = entry.getDynamicObject("account");
if (account != null) { if (account != null) {
@ -385,6 +385,10 @@ public class RecPushVoucherOperation extends AbstractOperationServicePlugIn impl
IT_ITEM.add(IT_ITEMS); IT_ITEM.add(IT_ITEMS);
} }
} }
}else {
String billNo = recBill.getString("billno");
logger.error("无法获取收款单[" + billNo + "]关联的凭证信息,凭证不存在或未审核");
return null;
} }
return IT_ITEM; return IT_ITEM;