feat(wms): 添加钢卷环比报表功能

- 在 IWmsMaterialCoilService 中新增 queryPeriodComparisonList 方法
- 在 WmsMaterialCoilController 中新增 /listForPeriodComparison 接口
- 在 WmsMaterialCoilMapper 中新增 selectPeriodComparisonList 查询方法
- 修改原 selectPageReportList 为 selectReportList 并调整相关调用
- 新增 WmsMaterialCoilPeriodComparisonVo 数据传输对象
- 添加环比报表专用的 SQL 查询语句,包含实际长度、理论长度、理论厚度字段
This commit is contained in:
2026-06-17 08:21:42 +08:00
parent e7f1e584eb
commit 931fc74ed7
6 changed files with 96 additions and 7 deletions

View File

@@ -71,6 +71,15 @@ public class WmsMaterialCoilController extends BaseController {
return iWmsMaterialCoilService.queryReportList(bo);
}
/**
* 查询钢卷物料表列表环比报表专用轻量级返回coilId、netWeight、warehouseId、qualityStatus、team、实际长度、理论长度、理论厚度
* 使用与list相同的查询条件但额外返回长度与厚度字段用于环比计算
*/
@PostMapping("/listForPeriodComparison")
public List<WmsMaterialCoilPeriodComparisonVo> listForPeriodComparison(@RequestBody WmsMaterialCoilBo bo) {
return iWmsMaterialCoilService.queryPeriodComparisonList(bo);
}
/**
* 查询钢卷物料表列表(包含发货绑定增强字段)
*/

View File

@@ -0,0 +1,35 @@
package com.klp.domain.vo;
import lombok.Data;
import java.math.BigDecimal;
/**
* 钢卷物料环比报表VO轻量级返回报表展示所需字段含实际长度、理论长度、理论厚度
*
* @author Joshi
* @date 2025-07-18
*/
@Data
public class WmsMaterialCoilPeriodComparisonVo {
// 钢卷ID
private Long coilId;
// 净重
private BigDecimal netWeight;
// 实际库区ID
private Long warehouseId;
// 质量状态
private String qualityStatus;
// 班组
private String team;
// 创建时间
private String createTime;
// 实际长度
private Long actualLength;
// 理论长度
private BigDecimal theoreticalLength;
// 理论厚度
private BigDecimal theoreticalThickness;
}

View File

@@ -5,10 +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.WmsMaterialCoilReportVo;
import com.klp.domain.vo.WmsMaterialCoilVo;
import com.klp.domain.vo.*;
import com.klp.common.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Param;
import com.klp.domain.vo.dashboard.CoilTrimRawVo;
@@ -112,7 +109,15 @@ public interface WmsMaterialCoilMapper extends BaseMapperPlus<WmsMaterialCoilMap
* @param lqw 查询条件
* @return 分页报表数据
*/
List<WmsMaterialCoilReportVo> selectPageReportList(@Param("ew") QueryWrapper<WmsMaterialCoil> lqw);
List<WmsMaterialCoilReportVo> selectReportList(@Param("ew") QueryWrapper<WmsMaterialCoil> lqw);
/**
* 分页查询钢卷环比报表数据(轻量级,包含实际长度、理论长度、理论厚度)
*
* @param lqw 查询条件
* @return 环比报表数据
*/
List<WmsMaterialCoilPeriodComparisonVo> selectPeriodComparisonList(@Param("ew") QueryWrapper<WmsMaterialCoil> lqw);
List<CoilTrimRawVo> selectCoilTrimStatistics();

View File

@@ -356,6 +356,15 @@ public interface IWmsMaterialCoilService {
*/
List<WmsMaterialCoilReportVo> queryReportList(WmsMaterialCoilBo bo);
/**
* 查询钢卷环比报表数据(轻量级,包含实际长度、理论长度、理论厚度)
* 使用与分页列表相同的查询条件
*
* @param bo 查询条件
* @return 环比报表数据
*/
List<WmsMaterialCoilPeriodComparisonVo> queryPeriodComparisonList(WmsMaterialCoilBo bo);
/**
* 退火报表导出数据列表(按 coilIds
*

View File

@@ -3465,7 +3465,18 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
@Transactional(readOnly = true)
public List<WmsMaterialCoilReportVo> queryReportList(WmsMaterialCoilBo bo) {
QueryWrapper<WmsMaterialCoil> lqw = buildQueryWrapperPlus(bo);
return baseMapper.selectPageReportList(lqw);
return baseMapper.selectReportList(lqw);
}
/**
* 查询钢卷环比报表数据(轻量级,包含实际长度、理论长度、理论厚度)
* 使用与分页列表相同的查询条件
*/
@Override
@Transactional(readOnly = true)
public List<WmsMaterialCoilPeriodComparisonVo> queryPeriodComparisonList(WmsMaterialCoilBo bo) {
QueryWrapper<WmsMaterialCoil> lqw = buildQueryWrapperPlus(bo);
return baseMapper.selectPeriodComparisonList(lqw);
}
/**

View File

@@ -409,7 +409,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<!-- 查询钢卷报表数据:轻量级,仅返回必要字段 -->
<select id="selectPageReportList" resultType="com.klp.domain.vo.WmsMaterialCoilReportVo">
<select id="selectReportList" resultType="com.klp.domain.vo.WmsMaterialCoilReportVo">
SELECT
mc.coil_id AS coilId,
mc.net_weight AS netWeight,
@@ -425,6 +425,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
${ew.customSqlSegment}
</select>
<!-- 查询钢卷环比报表数据:轻量级,包含实际长度、理论长度、理论厚度 -->
<select id="selectPeriodComparisonList" resultType="com.klp.domain.vo.WmsMaterialCoilPeriodComparisonVo">
SELECT
mc.coil_id AS coilId,
mc.net_weight AS netWeight,
mc.warehouse_id AS warehouseId,
mc.quality_status AS qualityStatus,
mc.team AS team,
mc.create_time AS createTime,
mc.actual_length AS actualLength,
mc.theoretical_length AS theoreticalLength,
mc.theoretical_thickness AS theoreticalThickness
FROM wms_material_coil mc
LEFT JOIN wms_raw_material rm ON mc.item_type = 'raw_material' AND mc.item_id = rm.raw_material_id
LEFT JOIN wms_product p ON mc.item_type = 'product' AND mc.item_id = p.product_id
LEFT JOIN wms_warehouse w ON mc.warehouse_id = w.warehouse_id
LEFT JOIN wms_actual_warehouse aw ON mc.actual_warehouse_id = aw.actual_warehouse_id
${ew.customSqlSegment}
</select>
<!-- 导出查询:包含所有需要的字段 -->
<select id="selectExportList" resultType="com.klp.domain.vo.WmsMaterialCoilExportVo">
SELECT