| | |
| | | import cn.iocoder.yudao.module.erp.api.sale.ErpSaleOrderApi; |
| | | import cn.iocoder.yudao.module.erp.api.sale.dto.ErpSaleOrderItemRespDTO; |
| | | import cn.iocoder.yudao.module.erp.api.sale.dto.ErpSaleOrderRespDTO; |
| | | import cn.iocoder.yudao.module.erp.api.sale.enums.ErpSaleOrderOutStatusEnum; |
| | | import jakarta.annotation.Resource; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void submitSalesNotice(Long id) { |
| | | // 1.1 校验存在 + 草稿状态 |
| | | validateSalesNoticeExistsAndDraft(id); |
| | | MesWmSalesNoticeDO notice = validateSalesNoticeExistsAndDraft(id); |
| | | // 1.2 检查是否有行项目 |
| | | List<MesWmSalesNoticeLineDO> lines = salesNoticeLineService.getSalesNoticeLineListByNoticeId(id); |
| | | if (CollUtil.isEmpty(lines)) { |
| | |
| | | // 2. 更新状态:草稿 → 待出库 |
| | | salesNoticeMapper.updateById(new MesWmSalesNoticeDO() |
| | | .setId(id).setStatus(APPROVED.getStatus())); |
| | | |
| | | // 3. 回写 ERP 销售订单出库状态为"已预留" |
| | | if (notice.getSaleOrderId() != null) { |
| | | saleOrderApi.updateOrderOutStatusTo(notice.getSaleOrderId(), |
| | | ErpSaleOrderOutStatusEnum.RESERVED.getStatus()); |
| | | } |
| | | } |
| | | |
| | | @Override |