From 99991a3f52eb415f226537f4cda00a5fc20bc82f Mon Sep 17 00:00:00 2001
From: 懒羊羊 <15939171744@163.com>
Date: 星期一, 11 十二月 2023 13:53:02 +0800
Subject: [PATCH] 大屏

---
 guns-vip-main/src/main/java/cn/stylefeng/guns/modular/om/productionOrdeInfo/controller/ProductionOrdeInfoController.java                |  105 +++++++++++++++++++++++++++++------
 guns-vip-main/src/main/java/cn/stylefeng/guns/modular/cm/passingStationCollection/service/PassingStationCollectionService.java          |    4 +
 guns-vip-main/src/main/java/cn/stylefeng/guns/modular/cm/passingStationCollection/mapper/mapping/PassingStationCollectionMapper.xml     |   36 ++++++++++++
 guns-vip-main/src/main/java/cn/stylefeng/guns/modular/cm/passingStationCollection/mapper/PassingStationCollectionMapper.java            |    4 +
 guns-vip-main/src/main/java/cn/stylefeng/guns/modular/cm/passingStationCollection/model/result/PassingStationCollectionResult.java      |    2 
 guns-vip-main/src/main/java/cn/stylefeng/guns/modular/cm/passingStationCollection/service/impl/PassingStationCollectionServiceImpl.java |   10 +++
 6 files changed, 143 insertions(+), 18 deletions(-)

diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/cm/passingStationCollection/mapper/PassingStationCollectionMapper.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/cm/passingStationCollection/mapper/PassingStationCollectionMapper.java
index 0da87d1..936e290 100644
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/cm/passingStationCollection/mapper/PassingStationCollectionMapper.java
+++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/cm/passingStationCollection/mapper/PassingStationCollectionMapper.java
@@ -65,4 +65,8 @@
     Page<PassingStationCollectionResult> PassRate(@Param("page") Page page, @Param("paramCondition") PassingStationCollectionParam paramCondition);
 
     int bigCenterRightTable(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("qualifiedFlag") String qualifiedFlag, @Param("workOrderNo") String workOrderNo);
+
+    List<PassingStationCollectionResult> centerLeftData(@Param("workOrderNo") String str);
+
+    int getUnqualifiedQuantity(@Param("workOrderNo") String workOrderNo);
 }
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/cm/passingStationCollection/mapper/mapping/PassingStationCollectionMapper.xml b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/cm/passingStationCollection/mapper/mapping/PassingStationCollectionMapper.xml
index 9503484..57ef5ca 100644
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/cm/passingStationCollection/mapper/mapping/PassingStationCollectionMapper.xml
+++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/cm/passingStationCollection/mapper/mapping/PassingStationCollectionMapper.xml
@@ -147,4 +147,40 @@
         </if>
     </select>
 
+    <select id="centerLeftData" resultType="cn.stylefeng.guns.modular.cm.passingStationCollection.model.result.PassingStationCollectionResult">
+        SELECT ISNULL(C.num, '0') AS num, L.location_code
+        FROM (
+                 SELECT 'OP150' AS location_code
+                 UNION ALL
+                 SELECT 'OP100'
+                 UNION ALL
+                 SELECT 'OP140'
+                 UNION ALL
+                 SELECT 'OP070'
+                 UNION ALL
+                 SELECT 'EOP080'
+                 UNION ALL
+                 SELECT 'EOP090'
+             ) AS L
+                 LEFT JOIN (
+            SELECT COUNT(*) AS num, location_code
+            FROM cm_passing_station_collection
+            WHERE work_order_no = #{workOrderNo}
+              AND out_rs_sign = '2'
+            GROUP BY location_code
+
+        ) AS C ON L.location_code = C.location_code
+        ORDER BY C.num DESC
+    </select>
+
+    <select id="getUnqualifiedQuantity" resultType="Integer">
+        SELECT
+            COUNT(*)
+        FROM
+            cm_passing_station_collection
+        WHERE 1 = 1
+          AND location_code IN ( 'OP150', 'OP100', 'OP140', 'OP070', 'EOP080', 'EOP090' )
+          AND work_order_no = #{workOrderNo}
+          AND out_rs_sign = '2'
+    </select>
 </mapper>
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/cm/passingStationCollection/model/result/PassingStationCollectionResult.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/cm/passingStationCollection/model/result/PassingStationCollectionResult.java
index 17838d3..e374995 100644
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/cm/passingStationCollection/model/result/PassingStationCollectionResult.java
+++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/cm/passingStationCollection/model/result/PassingStationCollectionResult.java
@@ -33,6 +33,8 @@
      */
     private String beatTime;
 
+    private String num;
+
     private String outRsSignState;
 
     private String stateTpls;
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/cm/passingStationCollection/service/PassingStationCollectionService.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/cm/passingStationCollection/service/PassingStationCollectionService.java
index dd0ee05..fd421fb 100644
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/cm/passingStationCollection/service/PassingStationCollectionService.java
+++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/cm/passingStationCollection/service/PassingStationCollectionService.java
@@ -81,4 +81,8 @@
     LayuiPageInfo PassRate(PassingStationCollectionParam param);
 
     int bigCenterRightTable(String startTime,String endTime,String qualifiedFlag,String workOrderNo);
+
+    List<PassingStationCollectionResult> centerLeftData(String str);
+
+    int getUnqualifiedQuantity(String workOrderNo);
 }
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/cm/passingStationCollection/service/impl/PassingStationCollectionServiceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/cm/passingStationCollection/service/impl/PassingStationCollectionServiceImpl.java
index 7dfafde..6efcdbc 100644
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/cm/passingStationCollection/service/impl/PassingStationCollectionServiceImpl.java
+++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/cm/passingStationCollection/service/impl/PassingStationCollectionServiceImpl.java
@@ -106,6 +106,16 @@
     }
 
     @Override
+    public List<PassingStationCollectionResult> centerLeftData(String str) {
+        return baseMapper.centerLeftData(str);
+    }
+
+    @Override
+    public int getUnqualifiedQuantity(String workOrderNo) {
+        return baseMapper.getUnqualifiedQuantity(workOrderNo);
+    }
+
+    @Override
     public Integer getRepairQty() {
         return baseMapper.getRepairQty();
     }
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/om/productionOrdeInfo/controller/ProductionOrdeInfoController.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/om/productionOrdeInfo/controller/ProductionOrdeInfoController.java
index c8244c7..6a19b39 100644
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/om/productionOrdeInfo/controller/ProductionOrdeInfoController.java
+++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/om/productionOrdeInfo/controller/ProductionOrdeInfoController.java
@@ -11,6 +11,7 @@
 import cn.stylefeng.guns.modular.bs.materialInfo.entity.MaterialInfo;
 import cn.stylefeng.guns.modular.bs.materialInfo.service.MaterialInfoService;
 import cn.stylefeng.guns.modular.cm.passingStationCollection.entity.PassingStationCollection;
+import cn.stylefeng.guns.modular.cm.passingStationCollection.model.result.PassingStationCollectionResult;
 import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
 import cn.stylefeng.guns.modular.om.productionOrdeInfo.entity.ProductionOrdeInfo;
 import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.params.ProductionOrdeInfoParam;
@@ -604,6 +605,8 @@
         List categoryList = new ArrayList();
         List lineDataList = new ArrayList();
         List barDataList = new ArrayList();
+        List percentageList = new ArrayList();
+        percentageList.add(0);
 
         ProductionOrdeInfo result = null;
         //浣嗗墠宸ュ崟
@@ -618,25 +621,64 @@
             List<ProductionOrdeInfo> workOrderNo = productionOrdeInfoService.list(new QueryWrapper<ProductionOrdeInfo>().eq("work_order_no", results.get(0).getWorkOrderNo()));
             result = workOrderNo.get(0);
         }
-        for (String o : getLocationList()) {
-            List<PassingStationCollection> list = passingStationCollectionService.list(new QueryWrapper<PassingStationCollection>()
-                    .eq("location_code", o)
-                    .eq("out_rs_sign", "2")
-                    .eq("work_order_no",result.getWorkOrderNo())
-            );
-            List<PassingStationCollection> lineList = passingStationCollectionService.list(new QueryWrapper<PassingStationCollection>()
-                    .eq("location_code", o)
-                    .eq("work_order_no",result.getWorkOrderNo())
-            );
-            categoryList.add(o);
-            barDataList.add(list.size());
-            lineDataList.add(lineList.size());
-        }
-        map.put("category",categoryList);
-        map.put("barData",barDataList);
-        map.put("lineData",lineDataList);
+        List<PassingStationCollectionResult> resultList = passingStationCollectionService.centerLeftData(productionOrdeInfoParam.getWorkOrderNo());
+        int unQuantity = passingStationCollectionService.getUnqualifiedQuantity(productionOrdeInfoParam.getWorkOrderNo());
+        int variableInt = 0;
+        if(unQuantity == 0){
+            map.put("category",getLocationList());
+            map.put("barData",getZeroList());
+            map.put("percentage",getPercentageList());
 
+        }else {
+            for (int i = 0; i < resultList.size(); i++) {
+                categoryList.add(resultList.get(i).getLocationCode());
+                barDataList.add(resultList.get(i).getNum());
+                variableInt+=Integer.valueOf(resultList.get(i).getNum());
+                percentageList.add(Math.round((float) variableInt / unQuantity * 100));
+            }
+            map.put("category",categoryList);
+            map.put("barData",barDataList);
+            map.put("lineData",lineDataList);
+            map.put("percentage",percentageList);
+        }
         return ResponseData.success(map);
+//        Map map = new HashMap<String,String>();
+//        List categoryList = new ArrayList();
+//        List lineDataList = new ArrayList();
+//        List barDataList = new ArrayList();
+//
+//        ProductionOrdeInfo result = null;
+//        //浣嗗墠宸ュ崟
+//        List<ProductionOrdeInfo> orderStatus = productionOrdeInfoService.list(new QueryWrapper<ProductionOrdeInfo>().eq("order_status", "3"));
+//        if(productionOrdeInfoParam.getWorkOrderNo() != null && !productionOrdeInfoParam.getWorkOrderNo().equals("")){
+//            List<ProductionOrdeInfo> workOrderNo = productionOrdeInfoService.list(new QueryWrapper<ProductionOrdeInfo>().eq("work_order_no", productionOrdeInfoParam.getWorkOrderNo()));
+//            result = workOrderNo.get(0);
+//        }else if(orderStatus.size()!=0){
+//            result = orderStatus.get(0);
+//        }else {
+//            List<ProductionOrdeInfoResult> results = productionOrdeInfoService.orderDescListFive();
+//            List<ProductionOrdeInfo> workOrderNo = productionOrdeInfoService.list(new QueryWrapper<ProductionOrdeInfo>().eq("work_order_no", results.get(0).getWorkOrderNo()));
+//            result = workOrderNo.get(0);
+//        }
+//        for (String o : getLocationList()) {
+//            List<PassingStationCollection> list = passingStationCollectionService.list(new QueryWrapper<PassingStationCollection>()
+//                    .eq("location_code", o)
+//                    .eq("out_rs_sign", "2")
+//                    .eq("work_order_no",result.getWorkOrderNo())
+//            );
+//            List<PassingStationCollection> lineList = passingStationCollectionService.list(new QueryWrapper<PassingStationCollection>()
+//                    .eq("location_code", o)
+//                    .eq("work_order_no",result.getWorkOrderNo())
+//            );
+//            categoryList.add(o);
+//            barDataList.add(list.size());
+//            lineDataList.add(lineList.size());
+//        }
+//        map.put("category",categoryList);
+//        map.put("barData",barDataList);
+//        map.put("lineData",lineDataList);
+//
+//        return ResponseData.success(map);
     }
 
     @ResponseBody
@@ -668,8 +710,12 @@
                     .eq("out_rs_sign", "2")
                     .eq("work_order_no",result.getWorkOrderNo())
             );
+            List<PassingStationCollection> list1 = passingStationCollectionService.list(new QueryWrapper<PassingStationCollection>()
+                    .eq("location_code", o)
+                    .eq("work_order_no",result.getWorkOrderNo())
+            );
             Integer unqualified = list.size();
-            Integer qualified = result.getActualQty()-list.size();
+            Integer qualified = list1.size()-list.size();
             unqualifiedList.add(unqualified);
             qualifiedList.add(qualified);
             if(unqualified == 0){
@@ -756,6 +802,29 @@
         return locationList;
     }
 
+    public static List<String> getZeroList(){
+        List<String> locationList = new ArrayList<>();
+        locationList.add("0");
+        locationList.add("0");
+        locationList.add("0");
+        locationList.add("0");
+        locationList.add("0");
+        locationList.add("0");
+        return locationList;
+    }
+
+    public static List<String> getPercentageList(){
+        List<String> locationList = new ArrayList<>();
+        locationList.add("100");
+        locationList.add("100");
+        locationList.add("100");
+        locationList.add("100");
+        locationList.add("100");
+        locationList.add("100");
+        return locationList;
+    }
+
+
     public static List<String> getCenterRightSpit(){
         List<String> locationList = new ArrayList<>();
         locationList.add("8:00");

--
Gitblit v1.9.3