收款处理自动推送费控定时任务
This commit is contained in:
		
							parent
							
								
									5a16032353
								
							
						
					
					
						commit
						e20d9c1415
					
				|  | @ -0,0 +1,78 @@ | |||
| package shjh.jhzj7.fi.fi.plugin.task; | ||||
| 
 | ||||
| import kd.bos.context.RequestContext; | ||||
| import kd.bos.dataentity.OperateOption; | ||||
| import kd.bos.dataentity.entity.DynamicObject; | ||||
| import kd.bos.entity.operate.OperateOptionConst; | ||||
| import kd.bos.entity.operate.result.OperationResult; | ||||
| import kd.bos.exception.KDException; | ||||
| import kd.bos.logging.Log; | ||||
| import kd.bos.logging.LogFactory; | ||||
| import kd.bos.orm.query.QCP; | ||||
| import kd.bos.orm.query.QFilter; | ||||
| import kd.bos.schedule.executor.AbstractTask; | ||||
| import kd.bos.servicehelper.BusinessDataServiceHelper; | ||||
| import kd.bos.servicehelper.operation.OperationServiceHelper; | ||||
| import kd.bos.servicehelper.operation.SaveServiceHelper; | ||||
| import kd.sdk.plugin.Plugin; | ||||
| import shjh.jhzj7.fi.fi.plugin.operate.PaymentPushSapOperation; | ||||
| 
 | ||||
| import java.util.ArrayList; | ||||
| import java.util.Map; | ||||
| 
 | ||||
| /** | ||||
|  * 后台任务插件 | ||||
|  * 收款处理自动推送费控定时任务 | ||||
|  * @author LiGuiQiang | ||||
|  */ | ||||
| public class RecPushFiTask extends AbstractTask implements Plugin { | ||||
| 
 | ||||
|     private final static Log logger = LogFactory.getLog(RecPushFiTask.class); | ||||
| 
 | ||||
|     private static final String KEY_RECEIVING_TYPE="receivingtype.number"; | ||||
| 
 | ||||
|     private static final String KEY_VOUCHER_NUM="shjh_vouchernum"; | ||||
| 
 | ||||
|     private static final String KEY_REC_BILL="cas_recbill"; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     @Override | ||||
|     public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException { | ||||
|         //获取所有符合要求的收款处理单 | ||||
|         ArrayList<String> typeList = new ArrayList<>(); | ||||
|         typeList.add("109"); | ||||
|         typeList.add("103"); | ||||
|         QFilter qFilter = new QFilter(KEY_RECEIVING_TYPE, QCP.in, typeList); | ||||
|         qFilter.and(new QFilter(KEY_VOUCHER_NUM,QCP.not_equals,"")); | ||||
|         DynamicObject[] recBillList = BusinessDataServiceHelper.load(KEY_REC_BILL, "id", qFilter.toArray()); | ||||
|         if (recBillList.length!=0){ | ||||
|             ArrayList<Long> ids = new ArrayList<>(); | ||||
|             for (DynamicObject dynamicObject : recBillList) { | ||||
|                 ids.add(dynamicObject.getLong("id")); | ||||
|             } | ||||
|             Map<Object, DynamicObject> recBillMap = BusinessDataServiceHelper.loadFromCache(ids.toArray(), KEY_REC_BILL); | ||||
|             OperateOption operateOption = OperateOption.create(); | ||||
|             // 不执行警告级别校验器 | ||||
|             operateOption.setVariableValue(OperateOptionConst.IGNOREWARN, String.valueOf(true)); | ||||
|             // 不显示交互提示,自动执行到底 | ||||
|             operateOption.setVariableValue(OperateOptionConst.IGNOREINTERACTION, String.valueOf(true)); | ||||
|             // 全部校验通过才保存 | ||||
|             operateOption.setVariableValue(OperateOptionConst.STRICTVALIDATION, String.valueOf(true)); | ||||
|             //同一个用户在多个界面操作同一张,也不允许操作 | ||||
|             operateOption.setVariableValue(OperateOptionConst.MUTEX_ISSTRICT, String.valueOf(true)); | ||||
|             for (DynamicObject dynamicObject : recBillMap.values()) { | ||||
|                 // 注意:executeOperate 需要一个数组形式的 DynamicObject[] | ||||
|                 DynamicObject[] billArray = new DynamicObject[]{dynamicObject}; | ||||
|                 String operationKey= "103".equals(dynamicObject.getString(KEY_RECEIVING_TYPE)) ? "pushpayment":"pushloan"; | ||||
|                 OperationResult operationResult = OperationServiceHelper.executeOperate(operationKey, KEY_REC_BILL, billArray, operateOption); | ||||
|                 // 可以根据需要处理 operationResult,例如检查是否成功、获取返回值等 | ||||
|                 if (operationResult.isSuccess()) { | ||||
|                     logger.info("执行 pushPayment 失败,单据编号:" + dynamicObject.getPkValue()); | ||||
|                 } else { | ||||
|                     logger.error(operationResult.getMessage()); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Loading…
	
		Reference in New Issue