|
|
|
|
<?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="cn.iocoder.yudao.module.flow.dal.mysql.outbound.OutboundMapper">
|
|
|
|
|
|
|
|
|
|
<!--
|
|
|
|
|
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
|
|
|
|
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
|
|
|
|
|
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
|
|
|
|
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
|
|
|
|
-->
|
|
|
|
|
|
|
|
|
|
<select id="getDatasGroupByGoodsId"
|
|
|
|
|
resultType="cn.iocoder.yudao.module.flow.controller.admin.outbound.vo.OutboundStatisticsDataRespVO">
|
|
|
|
|
SELECT
|
|
|
|
|
b.goods_id AS goodsId,
|
|
|
|
|
b.goods_name AS goodsName,
|
|
|
|
|
SUM(b.goods_num) AS goodsNum,
|
|
|
|
|
SUM(b.goods_weight) AS goodsWeight,
|
|
|
|
|
(
|
|
|
|
|
SELECT SUM(g.goods_num * g.goods_weight)
|
|
|
|
|
FROM flow_outbound a
|
|
|
|
|
LEFT JOIN flow_outbound_goods g ON g.out_bound_id = a.out_bound_id
|
|
|
|
|
WHERE
|
|
|
|
|
MONTH(a.out_bound_time) = MONTH(NOW())
|
|
|
|
|
AND g.goods_id = b.goods_id
|
|
|
|
|
) AS sumNum
|
|
|
|
|
FROM
|
|
|
|
|
flow_outbound a
|
|
|
|
|
LEFT JOIN
|
|
|
|
|
flow_outbound_goods b ON b.out_bound_id = a.out_bound_id
|
|
|
|
|
WHERE
|
|
|
|
|
MONTH(a.out_bound_time) = MONTH(NOW())
|
|
|
|
|
GROUP BY
|
|
|
|
|
b.goods_id, b.goods_name
|
|
|
|
|
</select>
|
|
|
|
|
<select id="getSixDatasByGoodsId"
|
|
|
|
|
resultType="cn.iocoder.yudao.module.flow.controller.admin.outbound.vo.OutboundStatisticsDataRespVO">
|
|
|
|
|
SELECT
|
|
|
|
|
DATE(a.out_bound_time) AS date,
|
|
|
|
|
SUM(b.goods_num) AS goodsNum,
|
|
|
|
|
SUM(b.goods_weight) AS goodsWeight,
|
|
|
|
|
SUM(b.goods_num * b.goods_weight) AS sumNum
|
|
|
|
|
FROM
|
|
|
|
|
flow_outbound a
|
|
|
|
|
LEFT JOIN
|
|
|
|
|
flow_outbound_goods b ON b.out_bound_id = a.out_bound_id
|
|
|
|
|
WHERE
|
|
|
|
|
a.out_bound_time >= CURDATE() - INTERVAL 6 DAY
|
|
|
|
|
AND a.out_bound_time < CURDATE()
|
|
|
|
|
GROUP BY
|
|
|
|
|
DATE(a.out_bound_time)
|
|
|
|
|
ORDER BY
|
|
|
|
|
DATE(a.out_bound_time);
|
|
|
|
|
</select>
|
|
|
|
|
<select id="getTodayOutboundCount" resultType="java.math.BigDecimal">
|
|
|
|
|
SELECT SUM(sumNum) AS totalQuantity
|
|
|
|
|
FROM (
|
|
|
|
|
SELECT b.goods_id AS goodsId,
|
|
|
|
|
b.goods_name AS goodsName,
|
|
|
|
|
SUM(b.goods_num * b.goods_weight) AS sumNum
|
|
|
|
|
FROM flow_outbound a
|
|
|
|
|
LEFT JOIN flow_outbound_goods b ON b.out_bound_id = a.out_bound_id
|
|
|
|
|
WHERE MONTH(a.out_bound_time) = MONTH(NOW())
|
|
|
|
|
GROUP BY b.goods_id, b.goods_name
|
|
|
|
|
) AS subquery
|
|
|
|
|
</select>
|
|
|
|
|
</mapper>
|