diff --git a/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java b/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java index 8399381f..2e5808c9 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java @@ -132,6 +132,17 @@ public class WmsMaterialCoilController extends BaseController { ExcelUtil.exportExcel(list, "发货报表", WmsMaterialCoilDeliveryExportVo.class, response); } + /** + * 导出退火报表(按 coilIds,联查退火计划/目标炉/逻辑库区) + * 前端仍使用 POST 传参(建议在 body 中传 coilIds,避免 URL 限制) + */ + @Log(title = "钢卷物料表-退火报表", businessType = BusinessType.EXPORT) + @PostMapping("/exportAnneal") + public void exportAnneal(WmsMaterialCoilBo bo, HttpServletResponse response) { + List list = iWmsMaterialCoilService.queryAnnealExportList(bo); + ExcelUtil.exportExcel(list, "退火报表", WmsMaterialCoilAnnealExportVo.class, response); + } + /** * 查询钢卷物料表列表(POST请求,支持大量coilIds查询) * 功能与GET /list相同,但使用POST请求体传递参数,避免URL长度限制 diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilAnnealExportVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilAnnealExportVo.java new file mode 100644 index 00000000..44631ed6 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilAnnealExportVo.java @@ -0,0 +1,48 @@ +package com.klp.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +@Data +@ExcelIgnoreUnannotated +@EqualsAndHashCode(callSuper = true) +public class WmsMaterialCoilAnnealExportVo extends WmsMaterialCoilExportVo { + + private Long coilId; + + @ExcelProperty(value = "计划号") + private String planNo; + + @ExcelProperty(value = "计划开始时间") + private Date planStartTime; + + @ExcelProperty(value = "实际开始时间") + private Date actualStartTime; + + @ExcelProperty(value = "结束时间") + private Date endTime; + + @ExcelProperty(value = "目标炉子ID") + private Long targetFurnaceId; + + @ExcelProperty(value = "目标炉子名称") + private String targetFurnaceName; + + @ExcelProperty(value = "计划状态") + private Integer status; + + @ExcelProperty(value = "计划备注") + private String remark; + + private Long logicWarehouseId; + + @ExcelProperty(value = "目标逻辑库区") + private String logicWarehouseName; + + @ExcelProperty(value = "炉火层级") + private Integer furnaceLevel; +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsMaterialCoilMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsMaterialCoilMapper.java index 2fa6272b..1aab252c 100644 --- a/klp-wms/src/main/java/com/klp/mapper/WmsMaterialCoilMapper.java +++ b/klp-wms/src/main/java/com/klp/mapper/WmsMaterialCoilMapper.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.metadata.IPage; import com.klp.domain.WmsMaterialCoil; +import com.klp.domain.vo.WmsMaterialCoilAnnealExportVo; import com.klp.domain.vo.WmsMaterialCoilDeliveryExportVo; import com.klp.domain.vo.WmsMaterialCoilVo; import com.klp.common.core.mapper.BaseMapperPlus; @@ -89,6 +90,14 @@ public interface WmsMaterialCoilMapper extends BaseMapperPlus selectDeliveryExportListByCoilIds(@Param("coilIds") java.util.Collection coilIds); + /** + * 退火报表导出:按钢卷ID列表联查(钢卷 + 退火计划 + 退火计划钢卷关系) + * + * @param coilIds 钢卷ID集合 + * @return 退火报表导出数据 + */ + List selectAnnealExportListByCoilIds(@Param("coilIds") java.util.Collection coilIds); + List selectCoilTrimStatistics(); List selectCategoryWidthStatistics(); diff --git a/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java b/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java index c7c009fa..146cbc5e 100644 --- a/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java +++ b/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java @@ -296,5 +296,13 @@ public interface IWmsMaterialCoilService { * @return 修复结果 */ Boolean fixMaterialMismatchCoils(Long coilId); + + /** + * 退火报表导出数据列表(按 coilIds) + * + * @param bo 查询条件(前端通过 POST 传 coilIds) + * @return 退火报表导出数据列表 + */ + List queryAnnealExportList(WmsMaterialCoilBo bo); } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java index 85500f53..cc011675 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java @@ -2809,6 +2809,18 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { return wmsMaterialCoilDeliveryExportVos; } + /** + * 退火报表导出:按 coilIds 查询钢卷 + 退火计划联查数据 + */ + @Override + public List queryAnnealExportList(WmsMaterialCoilBo bo) { + List coilIds = parseCsvLongs(bo == null ? null : bo.getCoilIds()); + if (coilIds.isEmpty()) { + return Collections.emptyList(); + } + return baseMapper.selectAnnealExportListByCoilIds(coilIds); + } + private List parseCsvLongs(String csv) { if (StringUtils.isBlank(csv)) { return Collections.emptyList(); diff --git a/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml index 1433324c..86b6adaf 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml @@ -710,6 +710,105 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ORDER BY mc.create_time DESC + + + + - +