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 * *

定时扫描启用安全库存的物料,当前库存低于安全库存下限时自动生成草稿采购计划, * 满足「结合库存预警制定采购计划」的自动化诉求。 */ @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(); } } }