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