| | |
| | | </select> |
| | | |
| | | <select id="selectDailyStockInCounts" resultType="java.util.Map"> |
| | | WITH RECURSIVE get_root AS (SELECT id, |
| | | parent_id, |
| | | id AS root_id |
| | | FROM product |
| | | WHERE parent_id IS NULL |
| | | UNION ALL |
| | | SELECT p.id, |
| | | p.parent_id, |
| | | gr.root_id |
| | | FROM product p |
| | | INNER JOIN get_root gr ON p.parent_id = gr.id) |
| | | SELECT DATE(sir.create_time) AS date, |
| | | SUM(sir.stock_in_num) AS count |
| | | FROM stock_in_record sir |
| | | JOIN product_model pm ON sir.product_model_id = pm.id |
| | | JOIN product p ON pm.product_id = p.id |
| | | WHERE (p.parent_id = #{rootCategoryId} OR p.id = #{rootCategoryId}) |
| | | AND sir.create_time >= #{startDate} |
| | | AND sir.create_time <= #{endDate} |
| | | JOIN get_root gr ON gr.id = p.id |
| | | JOIN product rp ON rp.id = gr.root_id |
| | | WHERE |
| | | <choose> |
| | | <when test="productScope == '成品'">rp.product_type = '成品'</when> |
| | | <when test="productScope == '半成品'">rp.product_type = '半成品'</when> |
| | | <otherwise>(rp.product_type IS NULL |
| | | OR (rp.product_type != '成品' AND rp.product_type != '半成品'))</otherwise> |
| | | </choose> |
| | | AND sir.create_time >= #{startDate} |
| | | AND sir.create_time <= #{endDate} |
| | | GROUP BY DATE(sir.create_time) |
| | | ORDER BY DATE(sir.create_time) ASC |
| | | </select> |
| | | |
| | | <select id="selectDailyStockOutCounts" resultType="java.util.Map"> |
| | | WITH RECURSIVE get_root AS (SELECT id, |
| | | parent_id, |
| | | id AS root_id |
| | | FROM product |
| | | WHERE parent_id IS NULL |
| | | UNION ALL |
| | | SELECT p.id, |
| | | p.parent_id, |
| | | gr.root_id |
| | | FROM product p |
| | | INNER JOIN get_root gr ON p.parent_id = gr.id) |
| | | SELECT DATE(sor.create_time) AS date, |
| | | SUM(sor.stock_out_num) AS count |
| | | FROM stock_out_record sor |
| | | JOIN product_model pm ON sor.product_model_id = pm.id |
| | | JOIN product p ON pm.product_id = p.id |
| | | WHERE (p.parent_id = #{rootCategoryId} OR p.id = #{rootCategoryId}) |
| | | AND sor.create_time >= #{startDate} |
| | | AND sor.create_time <= #{endDate} |
| | | JOIN get_root gr ON gr.id = p.id |
| | | JOIN product rp ON rp.id = gr.root_id |
| | | WHERE |
| | | <choose> |
| | | <when test="productScope == '成品'">rp.product_type = '成品'</when> |
| | | <when test="productScope == '半成品'">rp.product_type = '半成品'</when> |
| | | <otherwise>(rp.product_type IS NULL |
| | | OR (rp.product_type != '成品' AND rp.product_type != '半成品'))</otherwise> |
| | | </choose> |
| | | AND sor.create_time >= #{startDate} |
| | | AND sor.create_time <= #{endDate} |
| | | GROUP BY DATE(sor.create_time) |
| | | ORDER BY DATE(sor.create_time) ASC |
| | | </select> |