Files
xgy-oa/klp-wms/src/main/resources/mapper/klp/WmsDeliveryWaybillDetailMapper.xml
Joshi ad74b9df01 feat(delivery): 新增钢卷绑定信息查询功能并优化发货单明细校验
- 在 WmsDeliveryWaybillDetailMapper 中新增按钢卷ID批量查询和单个查询绑定来源信息的方法
- 在 Mapper XML 文件中新增 WmsCoilBindInfoResult 结果映射和两个查询SQL
- 在 WmsDeliveryWaybillDetailServiceImpl 的数据校验方法中实现钢卷重复绑定检查
- 新增 WmsCoilBindInfoVo 类用于封装钢卷绑定信息
- 在 WmsMaterialCoilBo 中新增 excludeBound 和 includeBindInfo 参数控制绑定逻辑
- 在 WmsMaterialCoilServiceImpl 中实现钢卷列表的绑定信息查询和排除逻辑
- 在 WmsMaterialCoilVo 中新增绑定相关字段用于前端显示
- 优化发货单明细保存前的数据校验,防止钢卷重复绑定并提供详细的绑定来源提示
2026-01-27 14:47:31 +08:00

80 lines
3.3 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.klp.mapper.WmsDeliveryWaybillDetailMapper">
<resultMap type="com.klp.domain.WmsDeliveryWaybillDetail" id="WmsDeliveryWaybillDetailResult">
<result property="detailId" column="detail_id"/>
<result property="waybillId" column="waybill_id"/>
<result property="coilId" column="coil_id"/>
<result property="productName" column="product_name"/>
<result property="edgeType" column="edge_type"/>
<result property="packaging" column="packaging"/>
<result property="settlementType" column="settlement_type"/>
<result property="rawMaterialFactory" column="raw_material_factory"/>
<result property="coilNo" column="coil_no"/>
<result property="specification" column="specification"/>
<result property="material" column="material"/>
<result property="quantity" column="quantity"/>
<result property="weight" column="weight"/>
<result property="unitPrice" column="unit_price"/>
<result property="remark" column="remark"/>
<result property="delFlag" column="del_flag"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/>
</resultMap>
<resultMap type="com.klp.domain.vo.WmsCoilBindInfoVo" id="WmsCoilBindInfoResult">
<result property="coilId" column="coil_id"/>
<result property="detailId" column="detail_id"/>
<result property="waybillId" column="waybill_id"/>
<result property="waybillNo" column="waybill_no"/>
<result property="waybillName" column="waybill_name"/>
<result property="planId" column="plan_id"/>
<result property="planName" column="plan_name"/>
<result property="planDate" column="plan_date"/>
</resultMap>
<select id="selectBindInfoByCoilIds" resultMap="WmsCoilBindInfoResult">
SELECT
d.coil_id,
d.detail_id,
w.waybill_id,
w.waybill_no,
w.waybill_name,
p.plan_id,
p.plan_name,
p.plan_date
FROM wms_delivery_waybill_detail d
INNER JOIN wms_delivery_waybill w ON w.waybill_id = d.waybill_id AND w.del_flag = 0
INNER JOIN wms_delivery_plan p ON p.plan_id = w.plan_id AND p.del_flag = 0
WHERE d.del_flag = 0
AND d.coil_id IN
<foreach collection="coilIds" item="id" open="(" close=")" separator=",">
#{id}
</foreach>
</select>
<select id="selectBindInfoByCoilId" resultMap="WmsCoilBindInfoResult">
SELECT
d.coil_id,
d.detail_id,
w.waybill_id,
w.waybill_no,
w.waybill_name,
p.plan_id,
p.plan_name,
p.plan_date
FROM wms_delivery_waybill_detail d
INNER JOIN wms_delivery_waybill w ON w.waybill_id = d.waybill_id AND w.del_flag = 0
INNER JOIN wms_delivery_plan p ON p.plan_id = w.plan_id AND p.del_flag = 0
WHERE d.del_flag = 0
AND d.coil_id = #{coilId}
LIMIT 1
</select>
</mapper>