feat(wms): 添加钢卷发货状态批量更新功能

- 在 IWmsMaterialCoilService 接口中新增 batchUpdateDeliveryStatus 方法
- 在 WmsMaterialCoilController 中添加批量更新接口 /batchUpdateDeliveryStatus
- 实现 WmsMaterialCoilServiceImpl 中的批量更新逻辑
- 支持将钢卷状态更新为在库、在途或已出库
- 更新在途状态时自动设置出库时间
- 添加参数校验和异常处理机制
This commit is contained in:
2025-12-08 13:14:11 +08:00
parent cab68adde8
commit 04a1480ec6
3 changed files with 59 additions and 0 deletions

View File

@@ -3,6 +3,7 @@ package com.klp.controller;
import java.util.List;
import java.util.Map;
import java.util.Arrays;
import java.util.stream.Collectors;
import com.klp.domain.vo.WmsMaterialCoilExportVo;
import lombok.RequiredArgsConstructor;
@@ -195,5 +196,30 @@ public class WmsMaterialCoilController extends BaseController {
public TableDataInfo<WmsMaterialCoilVo> getAvailableCoilsForDelivery(WmsMaterialCoilBo bo, PageQuery pageQuery) {
return iWmsMaterialCoilService.queryAvailableForDelivery(bo, pageQuery);
}
/**
* 批量更新钢卷发货状态
*
* @param coilIds 钢卷ID多个ID用逗号分隔
* @param status 目标状态 (0=在库, 1=在途, 2=已出库)
* @return 操作结果
*/
@Log(title = "钢卷物料表", businessType = BusinessType.UPDATE)
@PutMapping("/batchUpdateDeliveryStatus")
public R<Void> batchUpdateDeliveryStatus(
@RequestParam String coilIds,
@RequestParam Integer status) {
// 解析钢卷ID列表
List<Long> coilIdList = Arrays.stream(coilIds.split(","))
.map(String::trim)
.filter(s -> !s.isEmpty())
.map(Long::valueOf)
.collect(Collectors.toList());
Boolean result = iWmsMaterialCoilService.batchUpdateDeliveryStatus(coilIdList, status);
return result ? R.ok() : R.fail("批量更新失败");
}
}