| | |
| | | |
| | | 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; |
| | |
| | | // 使用显式 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()); |
| | | } |
| | | |
| | | } |