付款申请下推付款单增加过滤

This commit is contained in:
李贵强 2025-07-07 18:03:15 +08:00
parent 7b2ed5b7c1
commit 85ea8f066f
1 changed files with 12 additions and 6 deletions

View File

@ -33,6 +33,7 @@ public class PayApplyFukuanTask extends AbstractTask implements Plugin {
public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException {
// 单据状态=已审核
QFilter qFilter = new QFilter("billstatus", QCP.equals, "C");
//qFilter.and(new QFilter("billno",QCP.equals,"FKSQ2507070002"));//测试用
DynamicObject[] collection = BusinessDataServiceHelper.load(AP_PAYAPPLY, "id,billstatus", qFilter.toArray());
if (collection.length!=0){
ArrayList<Long> ids = new ArrayList<>();
@ -56,9 +57,9 @@ public class PayApplyFukuanTask extends AbstractTask implements Plugin {
// 注意executeOperate 需要一个数组形式的 DynamicObject[]
DynamicObjectCollection entry = dynamicObject.getDynamicObjectCollection("entry");
if (entry!=null && entry.size()!=0){
//判断是否集团内-境内外供应商
DynamicObject dynamicObject1 = entry.get(0);
boolean supplierFilter = supplierFilter(dynamicObject1);
//判断是否集团内-境内外供应商(外部系统单据类型=I,返回false)
DynamicObject entryObj = entry.get(0);
boolean supplierFilter = supplierFilter(dynamicObject,entryObj);
//判断是否存在数据在下推期间范围到期日是当前月月底前
boolean expirationDateFilter = expirationDateFilter(entry);
if (!supplierFilter && expirationDateFilter){
@ -85,11 +86,16 @@ public class PayApplyFukuanTask extends AbstractTask implements Plugin {
}
}
private boolean supplierFilter(DynamicObject dynamicObject){
private boolean supplierFilter(DynamicObject dynamicObject,DynamicObject entry){
boolean isFilterSupplier = false;
String asstacttype = dynamicObject.getString("e_asstacttype");
//如果外部系统单据类型=I,直接返回false
String billType = dynamicObject.getString("shjh_externalsystemdocume");
if ("I".equals(billType)){
return false;
}
String asstacttype = entry.getString("e_asstacttype");
if ("bd_supplier".equals(asstacttype)){
DynamicObject asstact = dynamicObject.getDynamicObject("e_asstact");
DynamicObject asstact = entry.getDynamicObject("e_asstact");
if (asstact!=null){
//获取供应商分类映射
QFilter qFilter1 = new QFilter("supplier.id", QCP.equals, asstact.getPkValue());