75 lines
2.9 KiB
Java
75 lines
2.9 KiB
Java
package tqq9.lc123.cloud.app.plugin.task;
|
|
|
|
import kd.bos.context.RequestContext;
|
|
import kd.bos.dataentity.OperateOption;
|
|
import kd.bos.dataentity.entity.DynamicObject;
|
|
import kd.bos.entity.operate.result.OperationResult;
|
|
import kd.bos.exception.KDBizException;
|
|
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.scmc.conm.business.service.cooperate.impl.CooperateServiceExecutor;
|
|
import kd.scmc.conm.business.service.cooperate.pojo.CooperateResponse;
|
|
import kd.sdk.plugin.Plugin;
|
|
import tqq9.lc123.cloud.app.plugin.operate.conm.PurconmAuditToFLOp;
|
|
|
|
import java.time.LocalDate;
|
|
import java.time.LocalDateTime;
|
|
import java.util.Arrays;
|
|
import java.util.Date;
|
|
import java.util.Map;
|
|
|
|
|
|
/**
|
|
* 后台任务插件
|
|
* 处理合同定时生效
|
|
*/
|
|
public class ContractScheduledEffTask extends AbstractTask implements Plugin {
|
|
private final static Log logger = LogFactory.getLog(ContractScheduledEffTask.class);
|
|
|
|
@Override
|
|
public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException {
|
|
//获取未生效、为作废,已审核、起始日期等于当天的采购合同
|
|
//1.未作废
|
|
QFilter f1 = new QFilter("cancelstatus", QCP.equals, "A");
|
|
//2.未生效
|
|
QFilter f2 = new QFilter("validstatus", QCP.equals, "A");
|
|
//3.已审核
|
|
QFilter f3 = new QFilter("billstatus", QCP.equals, "C");
|
|
//4.起始日期等于当前日期
|
|
LocalDateTime now = LocalDateTime.now();
|
|
LocalDate today = now.toLocalDate();
|
|
QFilter f4 = new QFilter("biztimebegin", QCP.equals, today);
|
|
//查询这类过滤条件下的采购合同
|
|
QFilter[] filters = new QFilter[]{f1, f2, f3, f4};
|
|
DynamicObject[] purcontracts = BusinessDataServiceHelper.load("conm_purcontract", "id,billno,validstatus", filters);
|
|
if (purcontracts == null || purcontracts.length == 0) {
|
|
return;
|
|
}
|
|
OperateOption option = OperateOption.create();
|
|
for (int i = 0; i < purcontracts.length; i++) {
|
|
DynamicObject purcontract = purcontracts[i];
|
|
purcontract = BusinessDataServiceHelper.loadSingle(purcontract.getPkValue(), purcontract.getDynamicObjectType().getName());
|
|
purcontracts[i] = purcontract;
|
|
}
|
|
OperationResult result = OperationServiceHelper.executeOperate("bizvalid",
|
|
"conm_purcontract",
|
|
purcontracts,
|
|
option);
|
|
|
|
if (result.isSuccess()) {
|
|
logger.info("合同定时生效执行成功");
|
|
} else {
|
|
logger.info("合同定时生效执行失败");
|
|
}
|
|
|
|
|
|
}
|
|
} |