From 057d4df78bcc5b34ca7c6897918946c4a9e65d18 Mon Sep 17 00:00:00 2001
From: Fancy <Fancy.fx@outlook.com>
Date: 星期二, 14 一月 2025 13:52:06 +0800
Subject: [PATCH] queryStatisticOrder
---
pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoPr/PrOrderMapper.java | 3 +++
pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportSv.java | 13 +++++++++++++
pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportCtrl.java | 18 ++++++++----------
pms-parent/pms-global/src/main/resources/mapper/PrOrderMapper.xml | 17 +++++++++++++++++
4 files changed, 41 insertions(+), 10 deletions(-)
diff --git a/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoPr/PrOrderMapper.java b/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoPr/PrOrderMapper.java
index 86c2365..8b6c38e 100644
--- a/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoPr/PrOrderMapper.java
+++ b/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoPr/PrOrderMapper.java
@@ -1,5 +1,6 @@
package com.dy.pmsGlobal.daoPr;
+import cn.hutool.json.JSONObject;
import com.dy.pmsGlobal.pojoPlt.PltProduct;
import com.dy.pmsGlobal.pojoPr.PrOrder;
import org.apache.ibatis.annotations.Mapper;
@@ -34,4 +35,6 @@
boolean exists(@Param("name") String name, @Param("id") Long id);
int updateByPrimaryKeySelective(PrOrder record);
+
+ List<JSONObject> queryStatisticOrder();
}
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..3a63783 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}
diff --git a/pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportCtrl.java b/pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportCtrl.java
index 6fced61..732820c 100644
--- a/pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportCtrl.java
+++ b/pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportCtrl.java
@@ -73,27 +73,19 @@
List<JSONObject> list = sv.queryTopError();
return BaseResponseUtils.buildSuccess(list);
}
- /**
- * 浠诲姟鐪嬫澘 鏌ヨ鍦ㄤ骇浠诲姟鐪嬫澘
- * */
@GetMapping(path="queryAttendUser")
@Log("鏌ヨ浜哄憳鍑哄嫟鐜�")
public BaseResponse<JSONObject> queryAttendUser(){
JSONObject obj = sv.queryAttendUser();
return BaseResponseUtils.buildSuccess(obj);
}
- /**
- * 浠诲姟鐪嬫澘 鏌ヨ鍦ㄤ骇浠诲姟鐪嬫澘
- * */
@GetMapping(path="queryStatisticWork")
- @Log("鏌ヨ璁㈠崟鐪嬫澘")
+ @Log("鏌ヨ缁熻浜哄憳宸ヤ綔閲�")
public BaseResponse<List<JSONObject>> queryStatisticWork(){
List<JSONObject> list = sv.queryStatisticWork();
return BaseResponseUtils.buildSuccess(list);
}
- /**
- * 浠诲姟鐪嬫澘 鏌ヨ鍦ㄤ骇浠诲姟鐪嬫澘
- * */
+
@GetMapping(path="queryOrderList")
@Log("鏌ヨ璁㈠崟鐪嬫澘")
public BaseResponse<List<JSONObject>> queryOrderList(){
@@ -101,4 +93,10 @@
return BaseResponseUtils.buildSuccess(list);
}
+ @GetMapping(path="queryOrderStatistic")
+ @Log("鏌ヨ缁熻璁㈠崟鏁伴噺")
+ public BaseResponse<JSONObject> queryOrderStatistic(){
+ JSONObject obj = sv.queryStatisticOrder();
+ return BaseResponseUtils.buildSuccess(obj);
+ }
}
\ No newline at end of file
diff --git a/pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportSv.java b/pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportSv.java
index 36a8150..34cfb76 100644
--- a/pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportSv.java
+++ b/pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportSv.java
@@ -177,6 +177,7 @@
return list;
}
+ //娌″啓瀹�
public List<JSONObject> queryOrderList() {
List<JSONObject> list = assemblyPlanDao.queryPlanList();
/* Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize();
@@ -239,4 +240,16 @@
List<JSONObject> list = statisticWorkDao.queryStatisticWork(startDt, endDt);
return list;
}
+ public JSONObject queryStatisticOrder() {
+ List<JSONObject> list = orderDao.queryStatisticOrder();
+ if(list.size() == 0){
+ JSONObject obj = new JSONObject();
+ obj.set("total", "0");
+ obj.set("year_total", "0");
+ obj.set("complete", "0");
+ obj.set("uncomplete", "0");
+ return obj;
+ }
+ return list.get(0);
+ }
}
--
Gitblit v1.8.0