From c488d63b58458ea0dee56ffbb4c5b66b2141d4f1 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期五, 30 五月 2025 09:59:30 +0800
Subject: [PATCH] 去除画蛇添足代码

---
 pms-parent/pms-global/src/main/resources/mapper/PrOrderMapper.xml |   19 ++++++++++++++++++-
 1 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/pms-parent/pms-global/src/main/resources/mapper/PrOrderMapper.xml b/pms-parent/pms-global/src/main/resources/mapper/PrOrderMapper.xml
index 6335d2f..be6909b 100644
--- a/pms-parent/pms-global/src/main/resources/mapper/PrOrderMapper.xml
+++ b/pms-parent/pms-global/src/main/resources/mapper/PrOrderMapper.xml
@@ -144,6 +144,23 @@
         </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} 
@@ -152,7 +169,7 @@
         update pr_order set deleted = 1
         where id = #{id}
     </update>
-    <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.dy.pmsGlobal.pojoPr.PrOrder" useGeneratedKeys="true">
+    <insert id="insertSelective" parameterType="com.dy.pmsGlobal.pojoPr.PrOrder">
         insert into pr_order
         <trim prefix="(" suffix=")" suffixOverrides=",">
                 <if test="id != null">id,</if>

--
Gitblit v1.8.0