云
2026-10-26 0857cf1830039d60ce73005f386f284cf575e511
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/sale/listener/ProductionFinishedListener.java
@@ -2,6 +2,7 @@
import cn.iocoder.yudao.module.erp.dal.dataobject.sale.ErpSaleOrderDO;
import cn.iocoder.yudao.module.erp.dal.mysql.sale.ErpSaleOrderMapper;
import cn.iocoder.yudao.module.erp.enums.ErpSaleOrderProductionStatusEnum;
import cn.iocoder.yudao.module.mes.api.event.ProductionFinishedEvent;
import cn.iocoder.yudao.module.mes.api.event.ProductionCanceledEvent;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -46,9 +47,9 @@
        // 使用显式 update wrapper 才能把已存在的完成时间真正更新为 NULL
        saleOrderMapper.update(null, new LambdaUpdateWrapper<ErpSaleOrderDO>()
                .eq(ErpSaleOrderDO::getId, event.getSaleOrderId())
                .set(ErpSaleOrderDO::getProductionStatus, 0)
                .set(ErpSaleOrderDO::getProductionStatus, ErpSaleOrderProductionStatusEnum.CANCELED.getStatus())
                .set(ErpSaleOrderDO::getProductionFinishTime, null));
        log.info("[onProductionCanceled] 销售订单 {} 生产状态已恢复为未完成", event.getSaleOrderId());
        log.info("[onProductionCanceled] 销售订单 {} 生产状态已更新为已取消", event.getSaleOrderId());
    }
}