From 939d5f3d5e17e5ca0bfeec9c23c7c926b4cb1684 Mon Sep 17 00:00:00 2001
From: Fancy <Fancy.fx@outlook.com>
Date: 星期二, 10 九月 2024 15:47:33 +0800
Subject: [PATCH] plan rate

---
 pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportSv.java    |   40 ++++++++++++++++++++
 pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoPr/PrAssemblyPlanMapper.java |    3 +
 pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportCtrl.java  |   15 +++++--
 pms-parent/pms-global/src/main/resources/mapper/PrAssemblyPlanMapper.xml             |    7 +++
 4 files changed, 61 insertions(+), 4 deletions(-)

diff --git a/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoPr/PrAssemblyPlanMapper.java b/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoPr/PrAssemblyPlanMapper.java
index 6d4ea68..b0ff8ec 100644
--- a/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoPr/PrAssemblyPlanMapper.java
+++ b/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoPr/PrAssemblyPlanMapper.java
@@ -40,8 +40,11 @@
     PrAssemblyPlan selectByDeviceNo(@Param("proCode") String proCode,@Param("batchNumber") String batchNumber);
 
     Long countByPlanIdAndNodeId(@Param("planId") Long planId,@Param("nodeId") Long nodeId);
+
     List<JSONObject> selectByPlanName(@Param("planName") String planName);
 
+    List<JSONObject> queryPlanList();
+
     List<PrAssemblyPlan> selectAssyPlanList(PrAssemblyPlan params);
 
     List<PrAssemblyPlan> selectAssyPlanSimplify(PrAssemblyPlan params);
diff --git a/pms-parent/pms-global/src/main/resources/mapper/PrAssemblyPlanMapper.xml b/pms-parent/pms-global/src/main/resources/mapper/PrAssemblyPlanMapper.xml
index 1d84692..cf7ee7f 100644
--- a/pms-parent/pms-global/src/main/resources/mapper/PrAssemblyPlanMapper.xml
+++ b/pms-parent/pms-global/src/main/resources/mapper/PrAssemblyPlanMapper.xml
@@ -423,6 +423,13 @@
         </if>
     </select>
 
+    <select id="queryPlanList" resultType="cn.hutool.json.JSONObject">
+        select pp.`name` as pro_name, p.`name` ,p.number, p.output_number, concat(round(((p.output_number/p.number) * 100 ),0), '%') as complete_rate ,p.end_date
+        from (SELECT * FROM pr_assembly_plan WHERE  STATUS = 1 and deleted = 0)  p
+        LEFT JOIN plt_product pp
+        on p.pro_id = pp.id
+        ORDER BY end_date
+    </select>
 
 
 </mapper>
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 21a3cbf..8ddcc73 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
@@ -1,5 +1,6 @@
 package com.dy.pmsOther.screen;
 
+import cn.hutool.json.JSONObject;
 import com.dy.common.aop.SsoPowerAop;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
@@ -44,7 +45,13 @@
         List<StaDeviceProductionLog> log = sv.queryDeviceLog(startTime,endTime);
         return BaseResponseUtils.buildSuccess(log);
     }
-}
-
-
-
+    /**
+     * 浠诲姟鐪嬫澘  鏌ヨ鍦ㄤ骇浠诲姟鐪嬫澘
+     * */
+    @GetMapping(path="queryPlanList")
+    @Log("鏌ヨ鍦ㄤ骇浠诲姟鐪嬫澘")
+    public BaseResponse<List<JSONObject>> queryPlanList(){
+        List<JSONObject> list = sv.queryPlanList();
+        return BaseResponseUtils.buildSuccess(list);
+    }
+}
\ 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 7d13209..1150855 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
@@ -1,7 +1,10 @@
 package com.dy.pmsOther.screen;
 
 
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.dy.pmsGlobal.daoPr.PrAssemblyPlanMapper;
 import com.dy.pmsGlobal.daoSta.*;
 import com.dy.pmsGlobal.pojoSta.*;
 import lombok.extern.slf4j.Slf4j;
@@ -18,6 +21,8 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.stream.Collectors;
 
 @Slf4j
 @Service
@@ -27,6 +32,7 @@
     private StaWipSnExMapper wipSnExDao;
     private StaDeviceProductionLogMapper deviceProductionLogDao;
     private StaRepairInfoMapper repairInfoDao;
+    private PrAssemblyPlanMapper assemblyPlanDao;
     @Autowired
     public void setDeviceLastDao(StaDeviceLastMapper deviceLastDao) {
         this.deviceLastDao = deviceLastDao;
@@ -45,6 +51,11 @@
     @Autowired
     public void setDeviceProductionLogDao(StaDeviceProductionLogMapper deviceProductionLogDao) {
         this.deviceProductionLogDao = deviceProductionLogDao;
+    }
+
+    @Autowired
+    public void setAssemblyPlanDao(PrAssemblyPlanMapper assemblyPlanDao) {
+        this.assemblyPlanDao = assemblyPlanDao;
     }
 
     @Autowired
@@ -98,4 +109,33 @@
         Date date = Date.from(dt.atZone(ZoneId.systemDefault()).toInstant());
         return date;
     }
+
+    public List<JSONObject> queryPlanList() {
+        List<JSONObject> list = assemblyPlanDao.queryPlanList();
+        Map<String, JSONObject> map = new ConcurrentHashMap<>(); // 浣跨敤骞跺彂瀹夊叏鐨凪ap
+        for(JSONObject item:list){
+            String planId = String.valueOf(item.getObj("planId"));
+            JSONObject innerObject = new JSONObject()
+                    .set("nodeId", String.valueOf(item.getObj("nodeId")))
+                    .set("content", item.getObj("content"));
+            if(map.containsKey(planId)){
+                JSONArray array = (JSONArray)map.get(planId).get("nodes");
+                array.add(innerObject);
+            }else{
+                JSONArray array = new JSONArray();
+                array.add(innerObject);
+                JSONObject outObject= new JSONObject()
+                        .set("planId", planId)
+                        .set("planName", item.getObj("planName"))
+                        .set("nodes", array);
+                map.put(planId,outObject);
+            }
+        }
+        return map.values().stream().collect(Collectors.toList());
+    }
+
+
+
+
+
 }

--
Gitblit v1.8.0