付款申请自动下推:增加过滤、批量下推
This commit is contained in:
parent
e12d9ed338
commit
585d18afd8
|
|
@ -16,10 +16,7 @@ import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
import kd.bos.servicehelper.operation.OperationServiceHelper;
|
import kd.bos.servicehelper.operation.OperationServiceHelper;
|
||||||
import kd.sdk.plugin.Plugin;
|
import kd.sdk.plugin.Plugin;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Calendar;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 定时任务 付款申请定时生成付款单
|
* 定时任务 付款申请定时生成付款单
|
||||||
|
|
@ -36,7 +33,6 @@ public class PayApplyFukuanTask extends AbstractTask implements Plugin {
|
||||||
public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException {
|
public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException {
|
||||||
// 【单据状态】=已审核
|
// 【单据状态】=已审核
|
||||||
QFilter qFilter = new QFilter("billstatus", QCP.equals, "C");
|
QFilter qFilter = new QFilter("billstatus", QCP.equals, "C");
|
||||||
|
|
||||||
DynamicObject[] collection = BusinessDataServiceHelper.load(AP_PAYAPPLY, "id,billstatus", qFilter.toArray());
|
DynamicObject[] collection = BusinessDataServiceHelper.load(AP_PAYAPPLY, "id,billstatus", qFilter.toArray());
|
||||||
if (collection.length!=0){
|
if (collection.length!=0){
|
||||||
ArrayList<Long> ids = new ArrayList<>();
|
ArrayList<Long> ids = new ArrayList<>();
|
||||||
|
|
@ -53,6 +49,9 @@ public class PayApplyFukuanTask extends AbstractTask implements Plugin {
|
||||||
//operateOption.setVariableValue(OperateOptionConst.STRICTVALIDATION, String.valueOf(true));
|
//operateOption.setVariableValue(OperateOptionConst.STRICTVALIDATION, String.valueOf(true));
|
||||||
//同一个用户在多个界面操作同一张,也不允许操作
|
//同一个用户在多个界面操作同一张,也不允许操作
|
||||||
operateOption.setVariableValue(OperateOptionConst.MUTEX_ISSTRICT, String.valueOf(true));
|
operateOption.setVariableValue(OperateOptionConst.MUTEX_ISSTRICT, String.valueOf(true));
|
||||||
|
|
||||||
|
List<DynamicObject> qualifiedBills = new ArrayList<>();
|
||||||
|
|
||||||
for (DynamicObject dynamicObject : recBillMap.values()) {
|
for (DynamicObject dynamicObject : recBillMap.values()) {
|
||||||
// 注意:executeOperate 需要一个数组形式的 DynamicObject[]
|
// 注意:executeOperate 需要一个数组形式的 DynamicObject[]
|
||||||
DynamicObjectCollection entry = dynamicObject.getDynamicObjectCollection("entry");
|
DynamicObjectCollection entry = dynamicObject.getDynamicObjectCollection("entry");
|
||||||
|
|
@ -63,16 +62,25 @@ public class PayApplyFukuanTask extends AbstractTask implements Plugin {
|
||||||
//判断是否存在数据在下推期间范围(到期日是当前月月底前)
|
//判断是否存在数据在下推期间范围(到期日是当前月月底前)
|
||||||
boolean expirationDateFilter = expirationDateFilter(entry);
|
boolean expirationDateFilter = expirationDateFilter(entry);
|
||||||
if (!supplierFilter && expirationDateFilter){
|
if (!supplierFilter && expirationDateFilter){
|
||||||
DynamicObject[] billArray = new DynamicObject[]{dynamicObject};
|
qualifiedBills.add(dynamicObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!qualifiedBills.isEmpty()){
|
||||||
|
DynamicObject[] billArray = qualifiedBills.toArray(new DynamicObject[0]);
|
||||||
OperationResult operationResult = OperationServiceHelper.executeOperate("pushandsave", AP_PAYAPPLY, billArray, operateOption);
|
OperationResult operationResult = OperationServiceHelper.executeOperate("pushandsave", AP_PAYAPPLY, billArray, operateOption);
|
||||||
// 可以根据需要处理 operationResult,例如检查是否成功、获取返回值等
|
// 可以根据需要处理 operationResult,例如检查是否成功、获取返回值等
|
||||||
if (operationResult.isSuccess()) {
|
if (operationResult.isSuccess()) {
|
||||||
logger.info("执行 pay 成功,单据编号:" + dynamicObject.getPkValue());
|
logger.info("执行 pay 成功,共处理单据数量:" + qualifiedBills.size());
|
||||||
|
// Log individual successful bills if needed
|
||||||
|
for (DynamicObject bill : qualifiedBills) {
|
||||||
|
logger.info("成功单据编号:" + bill.getPkValue());
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
logger.error(operationResult.getMessage());
|
logger.error("批量下推失败:" + operationResult.getMessage());
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}else {
|
||||||
|
logger.info("没有符合条件的单据需要下推");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue