付款申请自动下推:增加过滤、批量下推
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.sdk.plugin.Plugin; | ||||
| 
 | ||||
| import java.util.ArrayList; | ||||
| import java.util.Calendar; | ||||
| import java.util.Date; | ||||
| import java.util.Map; | ||||
| import java.util.*; | ||||
| 
 | ||||
| /** | ||||
|  * 定时任务 付款申请定时生成付款单 | ||||
|  | @ -36,7 +33,6 @@ 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"); | ||||
| 
 | ||||
|         DynamicObject[] collection = BusinessDataServiceHelper.load(AP_PAYAPPLY, "id,billstatus", qFilter.toArray()); | ||||
|         if (collection.length!=0){ | ||||
|             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.MUTEX_ISSTRICT, String.valueOf(true)); | ||||
| 
 | ||||
|             List<DynamicObject> qualifiedBills = new ArrayList<>(); | ||||
| 
 | ||||
|             for (DynamicObject dynamicObject : recBillMap.values()) { | ||||
|                 // 注意:executeOperate 需要一个数组形式的 DynamicObject[] | ||||
|                 DynamicObjectCollection entry = dynamicObject.getDynamicObjectCollection("entry"); | ||||
|  | @ -63,17 +62,26 @@ public class PayApplyFukuanTask extends AbstractTask implements Plugin { | |||
|                     //判断是否存在数据在下推期间范围(到期日是当前月月底前) | ||||
|                     boolean expirationDateFilter = expirationDateFilter(entry); | ||||
|                     if (!supplierFilter && expirationDateFilter){ | ||||
|                         DynamicObject[] billArray = new DynamicObject[]{dynamicObject}; | ||||
|                         OperationResult operationResult = OperationServiceHelper.executeOperate("pushandsave", AP_PAYAPPLY, billArray, operateOption); | ||||
|                         // 可以根据需要处理 operationResult,例如检查是否成功、获取返回值等 | ||||
|                         if (operationResult.isSuccess()) { | ||||
|                             logger.info("执行 pay 成功,单据编号:" + dynamicObject.getPkValue()); | ||||
|                         } else { | ||||
|                             logger.error(operationResult.getMessage()); | ||||
|                         } | ||||
|                         qualifiedBills.add(dynamicObject); | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|             if (!qualifiedBills.isEmpty()){ | ||||
|                 DynamicObject[] billArray = qualifiedBills.toArray(new DynamicObject[0]); | ||||
|                 OperationResult operationResult = OperationServiceHelper.executeOperate("pushandsave", AP_PAYAPPLY, billArray, operateOption); | ||||
|                 // 可以根据需要处理 operationResult,例如检查是否成功、获取返回值等 | ||||
|                 if (operationResult.isSuccess()) { | ||||
|                     logger.info("执行 pay 成功,共处理单据数量:" + qualifiedBills.size()); | ||||
|                     // Log individual successful bills if needed | ||||
|                     for (DynamicObject bill : qualifiedBills) { | ||||
|                         logger.info("成功单据编号:" + bill.getPkValue()); | ||||
|                     } | ||||
|                 } else { | ||||
|                     logger.error("批量下推失败:" + operationResult.getMessage()); | ||||
|                 } | ||||
|             }else { | ||||
|                 logger.info("没有符合条件的单据需要下推"); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue