From c85976385cde4084d932e61c46d4b284fc705a34 Mon Sep 17 00:00:00 2001
From: ICEC <414933307@qq.com>
Date: Fri, 17 Jul 2020 13:29:49 +0800
Subject: [PATCH] =?UTF-8?q?=E8=BD=A6=E9=97=B4=E4=B8=AD=E9=97=B4=E5=A4=A7?=
 =?UTF-8?q?=E5=B1=8F=E6=98=BE=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ruoyi-ui/src/api/dashboard/fxdashboard.js     |  14 ++
 .../fx_dashboard/dashboard_current_show.vue   | 143 ++++++++++++++++--
 .../views/sd_dashboard/dashboard_current.vue  |   2 +-
 .../db/mssql/DB_Ajax_DashBoard_48102.java     |  73 ++++++++-
 .../controller/DashBoardController.java       |  11 ++
 5 files changed, 225 insertions(+), 18 deletions(-)

diff --git a/ruoyi-ui/src/api/dashboard/fxdashboard.js b/ruoyi-ui/src/api/dashboard/fxdashboard.js
index a3ef11650..dcc79dbcf 100644
--- a/ruoyi-ui/src/api/dashboard/fxdashboard.js
+++ b/ruoyi-ui/src/api/dashboard/fxdashboard.js
@@ -27,6 +27,20 @@ export function getcurrent() {
   })
 }
 
+export function DoGetLastGroupReporterData() {
+  return request({
+    url: '/fx_dashboard/DoGetLastGroupReporterData',
+    method: 'get'
+  })
+}
+
+export function currentBoxAndGroupMonitor() {
+  return request({
+    url: '/fx_dashboard/currentBoxAndGroupMonitor',
+    method: 'get'
+  })
+}
+
 export function getDateRange(fDateStart,fDateEnd) {
 
 
diff --git a/ruoyi-ui/src/views/fx_dashboard/dashboard_current_show.vue b/ruoyi-ui/src/views/fx_dashboard/dashboard_current_show.vue
index af29aa148..b7d2179c3 100644
--- a/ruoyi-ui/src/views/fx_dashboard/dashboard_current_show.vue
+++ b/ruoyi-ui/src/views/fx_dashboard/dashboard_current_show.vue
@@ -2,7 +2,6 @@
   <div class="dashboard-editor-container">
 
 
-
     <el-row :gutter="32">
       <el-col :xs="24" :sm="12" :lg="6">
         <div class="ibox">
@@ -30,6 +29,78 @@
       </el-col>
     </el-row>
 
+    <el-row style="background:#fff;padding:16px 16px 0;margin-bottom:32px;">
+      <el-col :xs="24" :sm="11" :lg="11">
+
+        <div class="ibox ">
+          <div class="ibox-title">
+            <b>当班信息</b>
+          </div>
+          <div class="ibox-content">
+            <el-table
+              :data="tableDataCurrentGroup"
+              stripe
+              border
+              style="width: 100%">
+              <el-table-column
+                prop="班长"
+                label="班长">
+              </el-table-column>
+              <el-table-column
+                prop="已完成箱数"
+                label="已完成箱数">
+              </el-table-column>
+
+
+
+            </el-table>
+          </div>
+        </div>
+      </el-col>
+      <el-col :xs="24" :sm="1" :lg="1">
+        <h1></h1>
+      </el-col>
+      <el-col :xs="24" :sm="11" :lg="11">
+
+        <div class="ibox ">
+          <div class="ibox-title">
+            <b>上个班组汇总 </b>
+          </div>
+          <div class="ibox-content">
+            <el-table
+              :data="tableDataLastGroup"
+              stripe
+              border
+              style="width: 100%">
+              <el-table-column
+                prop="班长"
+                label="班长">
+              </el-table-column>
+              <el-table-column
+                prop="已完成箱数"
+                label="完成箱数">
+              </el-table-column>
+              <el-table-column
+                prop="正品率"
+                label="正品率">
+              </el-table-column>
+              <el-table-column
+                prop="产能达标率"
+                label="产能达标率">
+              </el-table-column>
+              <el-table-column
+                prop="平均密度"
+                label="平均密度">
+              </el-table-column>
+
+
+            </el-table>
+          </div>
+        </div>
+      </el-col>
+    </el-row>
+
+
     <el-row style="background:#fff;padding:16px 16px 0;margin-bottom:32px;">
       <div class="ibox ">
         <div class="ibox-title">
@@ -48,10 +119,10 @@
             </el-table-column>
             <el-table-column
               prop="ChangeMould"
-              label="是否换模中">
+              label="状态">
               <template scope="scope">
                 <span v-if="scope.row.ChangeMould" style="color:red">换模中</span>
-                <span v-else style="color: #37B328">否</span>
+                <span v-else style="color: #37B328">量产</span>
               </template>
             </el-table-column>
             <el-table-column
@@ -112,7 +183,9 @@
 
   require('echarts/theme/macarons') // echarts theme
   import resize from '../dashboard/mixins/resize'
-  import {getcurrent} from '@/api/dashboard/fxdashboard'
+  import {getcurrent,DoGetLastGroupReporterData,currentBoxAndGroupMonitor} from '@/api/dashboard/fxdashboard'
+  import {getDensityGroup} from '@/api/dashboard/density'
+
 
   let lineChartData = {
     xAxisData: [],
@@ -124,7 +197,9 @@
     name: 'density30day',
     data() {
       return {
-        tableData: []
+        tableData: [],
+        tableDataCurrentGroup: [],
+        tableDataLastGroup: []
       }
     },
 
@@ -134,15 +209,19 @@
     },
     mounted() {
 
-
+this.Refresh()
     },
     methods: {
+      Refresh(){
+        setTimeout(function(){
+          window.location.reload(true);
+          },60000*10);   //这就是 一分钟
+      },
       getData() {
 
 
         getcurrent().then(response => {
-          console.log(response);
-          var j,k;
+          var j, k;
           var avg_zhengpin_avg = 0;
           var avg_density = 0;
           var avg_energy_avg = 0;
@@ -160,7 +239,6 @@
             lineChartData.xAxisData.push((response.data[i].time + '').replace(' 00:00:00.0', ''))
             lineChartData.actualData.push(parseFloat(response.data[i].density).toFixed(4))
 
-
             this.tableData.push({
               ChangeMould: response.data[i].ChangeMould,
               Line: response.data[i].Line,
@@ -190,9 +268,9 @@
               k = k + 1;
             }
 
-            avg_density = parseFloat(avg_density) + parseFloat(data_ajax[i].AvgDensity);
+            // avg_density = parseFloat(avg_density) + parseFloat(data_ajax[i].AvgDensity);
 
-            avg_energy_avg = avg_energy_avg + (data_ajax[i].CapacityStandardObtainedRate );
+            avg_energy_avg = avg_energy_avg + (data_ajax[i].CapacityStandardObtainedRate);
 
 
             sum_quantity = 2000;
@@ -203,16 +281,13 @@
 
           const chart_energy_avg = echarts.init(document.getElementById("chart_energy_avg"));
           const chart_zhengpin_avg = echarts.init(document.getElementById("chart_zhengpin_avg"));
-          const chart_density = echarts.init(document.getElementById("chart_density"));
+          // const chart_density = echarts.init(document.getElementById("chart_density"));
           const chart_change_moulding_time = echarts.init(document.getElementById("chart_change_moulding_time"));
 
 
           option_zhengpin_avg.series[0].data[0].value = (avg_zhengpin_avg / k * 100).toFixed(0);
           chart_zhengpin_avg.setOption(option_zhengpin_avg, true);
 
-          option_density.series[0].data[0].value = (avg_density / data_ajax.length).toFixed(3);
-          chart_density.setOption(option_density, true);
-
           option_change_moulding_time.series[0].data[0].value = (avg_chang_moulding_time / j).toFixed(0);
           chart_change_moulding_time.setOption(option_change_moulding_time, true);
 
@@ -220,6 +295,44 @@
           chart_energy_avg.setOption(option_energy_avg, true);
 
         })
+
+        getDensityGroup().then(response => {
+          let avg_density = 0;
+          const chart_density = echarts.init(document.getElementById("chart_density"));
+          for (let i = 0; i < response.data.length; i++) {
+            avg_density = avg_density + (response.data[i].density) * 1;
+          }
+          option_change_moulding_time.series[0].data[0].value = (avg_density / response.data.length).toFixed(3);
+          chart_density.setOption(option_change_moulding_time, true);
+        })
+
+
+        DoGetLastGroupReporterData().then(response => {
+          console.log(response)
+          for (var i = 0; i < response.data.length; i++) {
+            console.log(response)
+
+
+            this.tableDataLastGroup.push({
+              产能达标率: ((response.data[i].capacity)*1).toFixed(2)*100 + '%',
+              正品率: ((response.data[i].yield)*1).toFixed(2)*100 + '%',
+              平均密度: ((response.data[i].avg_density)*1).toFixed(2),
+              已完成箱数: response.data[i].SUMBOX,
+              班长: response.data[i].NAME,
+
+            })
+          }
+        })
+
+
+        currentBoxAndGroupMonitor().then(response => {
+          for (var i = 0; i < response.data.length; i++) {
+            this.tableDataCurrentGroup.push({
+              已完成箱数: response.data[i].SUMBOX,
+              班长: response.data[i].NAME,
+            })
+          }
+        })
       }
     }
 
diff --git a/ruoyi-ui/src/views/sd_dashboard/dashboard_current.vue b/ruoyi-ui/src/views/sd_dashboard/dashboard_current.vue
index 6ae3bbd25..959ced7ef 100644
--- a/ruoyi-ui/src/views/sd_dashboard/dashboard_current.vue
+++ b/ruoyi-ui/src/views/sd_dashboard/dashboard_current.vue
@@ -97,7 +97,7 @@
               label="是否换模中">
               <template scope="scope">
                 <span v-if="scope.row.ChangeMould" style="color:red">换模中</span>
-                <span v-else style="color: #37B328">否</span>
+                <span v-else style="color: #37B328">量产</span>
               </template>
             </el-table-column>
             <el-table-column
diff --git a/ruoyi/src/main/java/com/ruoyi/db/mssql/DB_Ajax_DashBoard_48102.java b/ruoyi/src/main/java/com/ruoyi/db/mssql/DB_Ajax_DashBoard_48102.java
index 6c1993668..674d6569b 100644
--- a/ruoyi/src/main/java/com/ruoyi/db/mssql/DB_Ajax_DashBoard_48102.java
+++ b/ruoyi/src/main/java/com/ruoyi/db/mssql/DB_Ajax_DashBoard_48102.java
@@ -204,6 +204,8 @@ public class DB_Ajax_DashBoard_48102 {
 		return jsonpath.toString();
 	}
 
+
+
 	public static List<HashMap<String,String>> DoGetLastDay() {
 		List<HashMap<String,String>> hashMapList = new ArrayList<>();
 		try {
@@ -243,6 +245,75 @@ public class DB_Ajax_DashBoard_48102 {
 		return hashMapList;
 	}
 
+
+
+	public static List<HashMap<String,String>> DoGetCurrentBoxAndGroupMonitor() {
+		List<HashMap<String,String>> hashMapList = new ArrayList<>();
+		try {
+			Connection conn = getSQLConnection();
+			String sql = "SELECT\n" +
+					"\t( SELECT SUM ( Quantity ) FROM MouldingDisplayBoardOperation WHERE deleted = 0 and OperateTime >= dbo.GetWorkShiftStartDate ( GETDATE( ) ) ) AS SUMBOX,\n" +
+					"\t( SELECT MAX ( OperatePersonName ) FROM MouldingDisplayBoardOperationPerson WHERE line = '班长#' AND OperateTime >= dbo.GetWorkShiftStartDate ( GETDATE( ) ) ) AS NAME";
+
+			Statement stmt = conn.createStatement();//
+
+			ResultSet rs = stmt.executeQuery(sql);
+			while (rs.next()) {
+
+				HashMap<String,String> map = new HashMap<>();
+				map.put("SUMBOX",rs.getString("SUMBOX"));
+				map.put("NAME",rs.getString("NAME"));
+				hashMapList.add(map);
+
+			}
+			rs.close();
+			stmt.close();
+			conn.close();
+		} catch (SQLException e) {
+			e.printStackTrace();
+
+		}
+		return hashMapList;
+	}
+
+
+
+	public static List<HashMap<String,String>> DoGetLastGroupReporterData() {
+		List<HashMap<String,String>> hashMapList = new ArrayList<>();
+		try {
+			Connection conn = getSQLConnection();
+			String sql = "SELECT\n" +
+					"\t( SELECT SUM ( avg_density ) / SUM ( CASE WHEN avg_density IS NOT NULL THEN 校验字段 ELSE 0 END ) FROM [V_chen_Dashboard_上个班组] ) AS avg_density,\n" +
+					"\t( SELECT AVG ( sum_box_meter / sum_device_meter * avg_currentcapacity / avg_normalcapacity ) FROM [V_chen_Dashboard_上个班组] ) AS capacity,\n" +
+					"\t( SELECT AVG ( sum_box_meter / sum_device_meter ) FROM [V_chen_Dashboard_上个班组] ) AS yield,\n" +
+					"\t( SELECT SUM ( Quantity ) FROM MouldingDisplayBoardOperation WHERE deleted = 0 AND OperateTime > dbo.GetWorkShiftStartDate ( GETDATE( ) - 0.5 ) AND OperateTime < dbo.GetWorkShiftendDate ( GETDATE( ) - 0.5 ) ) AS SUMBOX,\n" +
+					"\t( SELECT MAX ( OperatePersonName ) FROM MouldingDisplayBoardOperationPerson WHERE line = '班长#' AND OperateTime > dbo.GetWorkShiftStartDate ( GETDATE( ) - 0.5 ) AND OperateTime < dbo.GetWorkShiftendDate ( GETDATE( ) - 0.5 ) ) AS NAME";
+
+			Statement stmt = conn.createStatement();//
+
+			ResultSet rs = stmt.executeQuery(sql);
+			while (rs.next()) {
+
+				HashMap<String,String> map = new HashMap<>();
+				map.put("SUMBOX",rs.getString("SUMBOX"));
+				map.put("NAME",rs.getString("NAME"));
+				map.put("avg_density",rs.getString("avg_density"));
+				map.put("yield",rs.getString("yield"));
+				map.put("capacity",rs.getString("capacity"));
+				hashMapList.add(map);
+
+			}
+			rs.close();
+			stmt.close();
+			conn.close();
+		} catch (SQLException e) {
+			e.printStackTrace();
+
+		}
+		return hashMapList;
+	}
+
+
 	public static List<HashMap<String,String>> DoGet30Day() {
 		List<HashMap<String,String>> hashMapList = new ArrayList<>();
 		try {
@@ -255,8 +326,6 @@ public class DB_Ajax_DashBoard_48102 {
 
 			ResultSet rs = stmt.executeQuery(sql);
 			while (rs.next()) {
-				// 截面积(mm2)
-
 
 
 				HashMap<String,String> map = new HashMap<>();
diff --git a/ruoyi/src/main/java/com/ruoyi/project/fx_dashboard/controller/DashBoardController.java b/ruoyi/src/main/java/com/ruoyi/project/fx_dashboard/controller/DashBoardController.java
index 34b842930..0de208e82 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/fx_dashboard/controller/DashBoardController.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/fx_dashboard/controller/DashBoardController.java
@@ -44,6 +44,17 @@ public class DashBoardController extends BaseController
         return AjaxResult.success(DB_Ajax_DashBoard_48102.DoGetCurrent());
     }
 
+    @GetMapping("/currentBoxAndGroupMonitor")
+    public AjaxResult DoGetBoxAndGroupMonitor() throws Exception
+    {
+        return AjaxResult.success(DB_Ajax_DashBoard_48102.DoGetCurrentBoxAndGroupMonitor());
+    }
+
+    @GetMapping("/DoGetLastGroupReporterData")
+    public AjaxResult DoGetLastGroupReporterData() throws Exception
+    {
+        return AjaxResult.success(DB_Ajax_DashBoard_48102.DoGetLastGroupReporterData());
+    }
 
     @GetMapping("/daterange/{fDateStart}/{fDateEnd}")
     public AjaxResult getDateRange(@PathVariable String fDateStart, @PathVariable String fDateEnd) throws Exception