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