PDA拣货复核修改
This commit is contained in:
+28
-4
@@ -220,6 +220,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
AND IFNULL(pmd.PICKING_QUANTITY, 0) > 0
|
||||
</select>
|
||||
|
||||
<select id="selectOutUniqueIdsWithPickingByOutOrderNumber" resultType="java.lang.Long">
|
||||
SELECT DISTINCT pmd.OUT_UNIQUE_ID
|
||||
FROM picking_material_detail pmd
|
||||
INNER JOIN out_material_detail omd ON pmd.OUT_UNIQUE_ID = omd.UNIQUE_ID AND omd.DEL_FLAG = 1
|
||||
WHERE omd.OUT_ORDER_NUMBER = #{outOrderNumber}
|
||||
AND pmd.DEL_FLAG = 1
|
||||
AND IFNULL(pmd.PICKING_QUANTITY, 0) > 0
|
||||
</select>
|
||||
|
||||
<update id="addQuantity" parameterType="com.mhd.wms.domain.pickingMaterialDetail.repository.todo.PickingMaterialDetailDOByUpdate">
|
||||
UPDATE picking_material_detail
|
||||
<set>
|
||||
@@ -228,24 +237,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
WHEN #{item.uniqueId} THEN LEAST(picking_quantity + #{item.pickingQuantity}, quantity)
|
||||
</foreach>
|
||||
</trim>
|
||||
<!-- 净重、毛重、体积、面积:拣货填写值直接覆盖,不累加 -->
|
||||
<trim prefix="total_net_weight = CASE unique_id" suffix="END,">
|
||||
<foreach collection="pickingMaterialDetailList" item="item" index="index">
|
||||
WHEN #{item.uniqueId} THEN IFNULL(total_net_weight, 0) + IFNULL(#{item.totalNetWeight}, 0)
|
||||
WHEN #{item.uniqueId} THEN IFNULL(#{item.totalNetWeight}, total_net_weight)
|
||||
</foreach>
|
||||
</trim>
|
||||
<trim prefix="total_gross_weight = CASE unique_id" suffix="END,">
|
||||
<foreach collection="pickingMaterialDetailList" item="item" index="index">
|
||||
WHEN #{item.uniqueId} THEN IFNULL(total_gross_weight, 0) + IFNULL(#{item.totalGrossWeight}, 0)
|
||||
WHEN #{item.uniqueId} THEN IFNULL(#{item.totalGrossWeight}, total_gross_weight)
|
||||
</foreach>
|
||||
</trim>
|
||||
<trim prefix="total_volume = CASE unique_id" suffix="END,">
|
||||
<foreach collection="pickingMaterialDetailList" item="item" index="index">
|
||||
WHEN #{item.uniqueId} THEN IFNULL(total_volume, 0) + IFNULL(#{item.totalVolume}, 0)
|
||||
WHEN #{item.uniqueId} THEN IFNULL(#{item.totalVolume}, total_volume)
|
||||
</foreach>
|
||||
</trim>
|
||||
<trim prefix="total_area = CASE unique_id" suffix="END,">
|
||||
<foreach collection="pickingMaterialDetailList" item="item" index="index">
|
||||
WHEN #{item.uniqueId} THEN IFNULL(total_area, 0) + IFNULL(#{item.totalArea}, 0)
|
||||
WHEN #{item.uniqueId} THEN IFNULL(#{item.totalArea}, total_area)
|
||||
</foreach>
|
||||
</trim>
|
||||
update_by = #{updateBy},
|
||||
@@ -258,4 +268,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
#{item.uniqueId}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<!-- 复核提交时:先将该 out_unique_id 下所有行置0 -->
|
||||
<update id="resetWeightVolumeByOutUniqueId">
|
||||
UPDATE picking_material_detail SET total_net_weight = 0, total_gross_weight = 0, total_volume = 0, total_area = 0
|
||||
WHERE out_unique_id = #{outUniqueId} AND del_flag = 1
|
||||
</update>
|
||||
<!-- 复核提交时:将第一行设为复核值,保证 queryTotalsByOutNumberAndBaseId 汇总正确(first 为达梦保留字,改用 first_row) -->
|
||||
<update id="updateFirstRowWeightVolumeByOutUniqueId">
|
||||
UPDATE picking_material_detail pmd
|
||||
INNER JOIN (SELECT unique_id FROM picking_material_detail WHERE out_unique_id = #{outUniqueId} AND del_flag = 1 ORDER BY unique_id LIMIT 1) first_row ON pmd.unique_id = first_row.unique_id
|
||||
SET pmd.total_net_weight = #{totalNetWeight}, pmd.total_gross_weight = #{totalGrossWeight}, pmd.total_volume = #{totalVolume}, pmd.total_area = #{totalArea},
|
||||
pmd.update_by = #{updateBy}, pmd.update_by_name = #{updateByName}, pmd.update_time = #{updateTime}
|
||||
WHERE pmd.out_unique_id = #{outUniqueId} AND pmd.del_flag = 1
|
||||
</update>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user