收款处理自动推送费控定时任务
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