| | |
| | | </trim> |
| | | order by id desc |
| | | </select> |
| | | <select id="queryStatisticOrder" resultType="cn.hutool.json.JSONObject"> |
| | | SELECT |
| | | count(1) AS total, |
| | | SUM(CASE WHEN delivery_date >= DATE_SUB(CURDATE(), INTERVAL 1 YEAR) THEN 1 ELSE 0 END) AS year_total, |
| | | SUM(CASE WHEN complete = 'complete' THEN 1 ELSE 0 END) AS complete, |
| | | SUM(CASE WHEN complete = 'uncomplete' THEN 1 ELSE 0 END) AS uncomplete |
| | | FROM( |
| | | SELECT po.id,po.delivery_date, CASE WHEN po.`status`= -1 OR poi.complete ='complete' THEN 'complete' ELSE 'uncomplete' END AS complete FROM |
| | | (SELECT id,`name`, `status`,delivery_date FROM pr_order WHERE deleted = 0) po |
| | | LEFT JOIN ( |
| | | SELECT pr.order_id ,CASE WHEN COUNT(pr.order_id) - SUM(pr.flag) = 0 THEN 'complete' ELSE 'uncomplete' END AS complete |
| | | FROM |
| | | (SELECT item.order_id,item.pro_id,CASE WHEN item.complete_number - item.number >= 0 THEN 1 ELSE 0 END AS flag FROM |
| | | (SELECT order_id,pro_id, SUM(number) number,SUM(IFNULL(complete_number,0)) complete_number FROM pr_order_item GROUP BY order_id,pro_id) item |
| | | ) pr GROUP BY pr.order_id) poi |
| | | ON po.id = poi.order_id) statistic |
| | | </select> |
| | | <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> |
| | | delete from pr_order |
| | | where id = #{id,jdbcType=BIGINT} |