Files
klp-oa/klp-wms/src/main/java/com/klp/controller/WmsDeliveryPlanController.java
Joshi 0b792edafd refactor(delivery): 移除重复的钢卷查询接口并优化查询逻辑
- 删除 IWmsDeliveryPlanService 中的 getCoilInfoByIds 方法定义
- 删除 WmsDeliveryPlanBo 中冗余的 coilIds 字段
- 移除 WmsDeliveryPlanController 中独立的 /coils 接口实现
- 删除 WmsDeliveryPlanServiceImpl 中 getCoilInfoByIds 的具体实现
- 在 WmsMaterialCoilBo 中重新添加 coilIds 字段用于批量查询
- 优化 WmsMaterialCoilServiceImpl 中对 coilIds 的解析与查询逻辑
- 增强 coilIds 解析健壮性,忽略无效 ID 并防止空值异常
2025-12-08 13:55:17 +08:00

132 lines
4.3 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.klp.controller;
import java.util.Date;
import java.util.List;
import java.util.Arrays;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.klp.domain.vo.*;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import com.klp.common.annotation.RepeatSubmit;
import com.klp.common.annotation.Log;
import com.klp.common.core.controller.BaseController;
import com.klp.common.core.domain.PageQuery;
import com.klp.common.core.domain.R;
import com.klp.common.core.validate.AddGroup;
import com.klp.common.core.validate.EditGroup;
import com.klp.common.enums.BusinessType;
import com.klp.common.utils.poi.ExcelUtil;
import com.klp.domain.bo.WmsDeliveryPlanBo;
import com.klp.service.IWmsDeliveryPlanService;
import com.klp.common.core.page.TableDataInfo;
/**
* 发货计划
*
* @author klp
* @date 2025-11-25
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/wms/deliveryPlan")
public class WmsDeliveryPlanController extends BaseController {
private final IWmsDeliveryPlanService iWmsDeliveryPlanService;
/**
* 查询发货计划列表
*/
@GetMapping("/list")
public TableDataInfo<WmsDeliveryPlanVo> list(WmsDeliveryPlanBo bo, PageQuery pageQuery) {
return iWmsDeliveryPlanService.queryPageList(bo, pageQuery);
}
/**
* 导出发货计划列表
*/
@Log(title = "发货计划", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(WmsDeliveryPlanBo bo, HttpServletResponse response) {
List<WmsDeliveryPlanVo> list = iWmsDeliveryPlanService.queryList(bo);
ExcelUtil.exportExcel(list, "发货计划", WmsDeliveryPlanVo.class, response);
}
/**
* 获取发货计划详细信息
*
* @param planId 主键
*/
@GetMapping("/{planId}")
public R<WmsDeliveryPlanVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long planId) {
return R.ok(iWmsDeliveryPlanService.queryById(planId));
}
/**
* 新增发货计划
*/
@Log(title = "发货计划", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody WmsDeliveryPlanBo bo) {
return toAjax(iWmsDeliveryPlanService.insertByBo(bo));
}
/**
* 修改发货计划
*/
@Log(title = "发货计划", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody WmsDeliveryPlanBo bo) {
return toAjax(iWmsDeliveryPlanService.updateByBo(bo));
}
/**
* 删除发货计划
*
* @param planIds 主键串
*/
@Log(title = "发货计划", businessType = BusinessType.DELETE)
@DeleteMapping("/{planIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] planIds) {
return toAjax(iWmsDeliveryPlanService.deleteWithValidByIds(Arrays.asList(planIds), true));
}
/**
* 获取发货计划统计信息
*
* @param planId 计划ID可选
*/
@GetMapping("/statistics")
public R<List<WmsDeliveryPlanStatisticsVo>> getStatistics(@RequestParam(required = false) Long planId) {
List<WmsDeliveryPlanStatisticsVo> statistics = iWmsDeliveryPlanService.getDeliveryPlanStatistics(planId);
return R.ok(statistics);
}
/**
* 获取发货报表统计信息
*
* @param startTime 开始时间
* @param endTime 结束时间
*/
@GetMapping("/report")
public R<WmsDeliveryReportResultVo> getDeliveryReport(
@RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date startTime,
@RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date endTime) {
WmsDeliveryReportResultVo report = iWmsDeliveryPlanService.getDeliveryReport(startTime, endTime);
return R.ok(report);
}
}