feat(wms/coil): 为钢卷物料新增理论厚度与镀铬卷号字段并实现自动计算

1. 在钢卷物料实体类、业务对象、值对象及导出VO中新增理论厚度(theoreticalThickness)和镀铬卷号(chromePlateCoilNo)字段
2. 在映射文件中补充新增字段的数据库映射关系
3. 在服务实现类中添加理论厚度自动计算逻辑:根据净重、实测长度和物品规格宽度,使用公式“理论厚度 = 净重(吨) × 1000 / (7.85 × 实测长度(mm) × 宽度(mm))”自动计算并保留3位小数
4. 新增工具方法用于从物品规格中提取厚度和宽度信息
5. 在新增、修改、分卷、批量分卷等业务方法中调用理论厚度计算逻辑
6. 在分卷和批量分卷时增加子卷净重和规格厚度不超过母卷的业务校验
This commit is contained in:
2026-06-01 13:50:48 +08:00
parent c5ce33f71a
commit c8fe545950
6 changed files with 212 additions and 0 deletions

View File

@@ -42,6 +42,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="transferType" column="transfer_type"/>
<result property="specId" column="spec_id"/>
<result property="versionId" column="version_id"/>
<result property="theoreticalThickness" column="theoretical_thickness"/>
<result property="chromePlateCoilNo" column="chrome_plate_coil_no"/>
</resultMap>
@@ -128,6 +130,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
mc.is_related_to_order,
mc.exclusive_status,
mc.transfer_type,
mc.theoretical_thickness,
mc.chrome_plate_coil_no,
mc.sale_name AS saleName,
w.warehouse_name AS warehouseName,
nw.warehouse_name AS nextWarehouseName,
@@ -225,6 +229,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
mc.is_related_to_order,
mc.exclusive_status,
mc.transfer_type,
mc.theoretical_thickness,
mc.chrome_plate_coil_no,
mc.sale_name AS saleName,
su.nick_name AS saleNickName,
w.warehouse_name AS warehouseName,
@@ -554,6 +560,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
mc.sale_name AS saleName,
-- 调拨类型
mc.transfer_type AS transferType,
-- 理论厚度
mc.theoretical_thickness AS theoreticalThickness,
-- 镀铬卷号
mc.chrome_plate_coil_no AS chromePlateCoilNo,
-- 库存状态(中文显示)
CASE
WHEN mc.status = 0 THEN '在库'
@@ -641,6 +651,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
mc.packing_status AS packingStatus,
mc.sale_name AS saleName,
mc.transfer_type AS transferType,
mc.theoretical_thickness AS theoreticalThickness,
mc.chrome_plate_coil_no AS chromePlateCoilNo,
CASE
WHEN mc.status = 0 THEN '在库'
WHEN mc.status = 1 THEN '已发货'
@@ -759,6 +771,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
mc.packing_status AS packingStatus,
mc.sale_name AS saleName,
mc.transfer_type AS transferType,
mc.theoretical_thickness AS theoreticalThickness,
mc.chrome_plate_coil_no AS chromePlateCoilNo,
CASE
WHEN mc.status = 0 THEN '在库'
WHEN mc.status = 1 THEN '已发货'