package cn.iocoder.yudao.module.erp.job.purchase;
|
|
import cn.iocoder.yudao.framework.quartz.core.handler.JobHandler;
|
import cn.iocoder.yudao.framework.tenant.core.job.TenantJob;
|
import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchasePlanDO;
|
import cn.iocoder.yudao.module.erp.service.purchase.ErpPurchasePlanService;
|
import jakarta.annotation.Resource;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Component;
|
|
/**
|
* 库存预警自动生成采购计划 Job
|
*
|
* <p>定时扫描启用安全库存的物料,当前库存低于安全库存下限时自动生成草稿采购计划,
|
* 满足「结合库存预警制定采购计划」的自动化诉求。
|
*/
|
@Component
|
@Slf4j
|
public class ErpPurchasePlanStockAlertJob implements JobHandler {
|
|
@Resource
|
private ErpPurchasePlanService purchasePlanService;
|
|
@Override
|
@TenantJob
|
public String execute(String param) {
|
try {
|
ErpPurchasePlanDO plan = purchasePlanService.generatePlanFromStockAlert("库存预警自动生成", null);
|
return plan == null ? "库存预警自动生成采购计划:无缺量物料,跳过"
|
: String.format("库存预警自动生成采购计划成功,计划编号:%s", plan.getId());
|
} catch (Exception e) {
|
log.warn("[execute][库存预警自动生成采购计划跳过/失败,原因:{}]", e.getMessage());
|
return "库存预警自动生成采购计划跳过:" + e.getMessage();
|
}
|
}
|
|
}
|