feat(wms): 新增发货报表统计功能
- 在IWmsDeliveryPlanService接口中新增getDeliveryReport方法 - 在WmsDeliveryPlanController中添加/report接口用于获取发货报表 - 在WmsDeliveryPlanMapper中新增selectDeliveryReport方法 - 在WmsDeliveryPlanMapper.xml中编写发货报表查询SQL - 在WmsDeliveryPlanServiceImpl中实现发货报表统计逻辑 - 新增WmsDeliveryReportVo类用于封装发货报表数据
This commit is contained in:
@@ -56,6 +56,40 @@
|
||||
ORDER BY dp.create_time DESC
|
||||
</select>
|
||||
|
||||
<select id="selectDeliveryReport" resultType="com.klp.domain.vo.WmsDeliveryReportVo">
|
||||
SELECT
|
||||
dwd.product_name as productName,
|
||||
COUNT(DISTINCT dw.waybill_id) as waybillCount,
|
||||
SUM(dwd.quantity) as coilCount,
|
||||
SUM(dwd.weight) as totalWeight,
|
||||
CASE
|
||||
WHEN #{startTime} IS NOT NULL AND #{endTime} IS NOT NULL THEN
|
||||
ROUND(COUNT(DISTINCT dw.waybill_id) / (DATEDIFF(#{endTime}, #{startTime}) + 1), 2)
|
||||
ELSE 0
|
||||
END as dailyWaybillCount,
|
||||
CASE
|
||||
WHEN #{startTime} IS NOT NULL AND #{endTime} IS NOT NULL THEN
|
||||
ROUND(SUM(dwd.quantity) / (DATEDIFF(#{endTime}, #{startTime}) + 1), 2)
|
||||
ELSE 0
|
||||
END as dailyCoilCount,
|
||||
CASE
|
||||
WHEN #{startTime} IS NOT NULL AND #{endTime} IS NOT NULL THEN
|
||||
ROUND(SUM(dwd.weight) / (DATEDIFF(#{endTime}, #{startTime}) + 1), 2)
|
||||
ELSE 0
|
||||
END as dailyWeight
|
||||
FROM wms_delivery_waybill_detail dwd
|
||||
LEFT JOIN wms_delivery_waybill dw ON dwd.waybill_id = dw.waybill_id AND dw.del_flag = 0
|
||||
WHERE dwd.del_flag = 0
|
||||
<if test="startTime != null">
|
||||
AND dw.create_time >= #{startTime}
|
||||
</if>
|
||||
<if test="endTime != null">
|
||||
AND dw.create_time <= #{endTime}
|
||||
</if>
|
||||
GROUP BY dwd.product_name
|
||||
ORDER BY totalWeight DESC
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user