From 146d1ace94c518db7705ce2cd055f4f035ab8bbe Mon Sep 17 00:00:00 2001 From: wenjy Date: Sun, 11 Dec 2022 20:39:50 +0800 Subject: [PATCH] =?UTF-8?q?change=20-=202022-12-11=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AluminumLinerkController.java | 15 +++- .../controller/FoamBoxController.java | 53 ----------- .../AluminumDeviceDataInformation.java | 6 ++ .../TankShellDeviceDataInformation.java | 6 ++ .../TankShellDeviceDataInformationMapper.java | 2 +- .../impl/AluminumDeviceInfoServiceImpl.java | 4 +- .../impl/FoamBoxDeviceInfoServiceImpl.java | 14 +-- .../impl/MesProductionDataServiceImpl.java | 7 +- .../impl/TankShellDeviceInfoServiceImpl.java | 54 ++++++++++- .../static/js/aluminumLiner/index.js | 14 ++- .../resources/static/js/tankShell/device.js | 14 +-- .../controller/AluminumLinerkController.class | Bin 6513 -> 6985 bytes .../controller/FoamBoxController.class | Bin 5253 -> 5257 bytes .../controller/PreassembleController.class | Bin 3750 -> 3754 bytes .../AluminumDeviceDataInformation.class | Bin 6688 -> 7579 bytes .../TankShellDeviceDataInformation.class | Bin 6574 -> 7495 bytes ...TankShellDeviceDataInformationMapper.class | Bin 1115 -> 1051 bytes .../impl/AluminumDeviceInfoServiceImpl.class | Bin 5292 -> 5405 bytes .../impl/FoamBoxDeviceInfoServiceImpl$1.class | Bin 1042 -> 1042 bytes .../impl/FoamBoxDeviceInfoServiceImpl$2.class | Bin 1042 -> 1042 bytes .../impl/FoamBoxDeviceInfoServiceImpl.class | Bin 10710 -> 10764 bytes .../impl/MesProductionDataServiceImpl.class | Bin 10046 -> 10089 bytes .../impl/TankShellDeviceInfoServiceImpl.class | Bin 9385 -> 10262 bytes .../classes/static/js/adsorptionTank/index.js | 37 ++++---- .../classes/static/js/aluminumLiner/index.js | 14 ++- .../static/js/common/echarts.common.js | 2 +- .../classes/static/js/common/ondutyplan.js | 6 +- .../target/classes/static/js/storage/index.js | 85 ++++++++++-------- .../classes/static/js/tankShell/device.js | 83 +++++++++-------- .../classes/static/js/tankShell/index.js | 2 +- 30 files changed, 241 insertions(+), 177 deletions(-) diff --git a/productionboard/src/main/java/com/productionboard/controller/AluminumLinerkController.java b/productionboard/src/main/java/com/productionboard/controller/AluminumLinerkController.java index fa5661c..a0d2157 100644 --- a/productionboard/src/main/java/com/productionboard/controller/AluminumLinerkController.java +++ b/productionboard/src/main/java/com/productionboard/controller/AluminumLinerkController.java @@ -55,13 +55,26 @@ public class AluminumLinerkController { @ResponseBody public String getDataInformation(){ List dataInformationList = aluminumDeviceInfoService.getDataInformationList(); - if(dataInformationList.size() > 0 && dataInformationList.get(0) == null){ + if(dataInformationList.get(0) == null){ dataInformationList.remove(0); AluminumDeviceDataInformation aluminumDeviceDataInformation = new AluminumDeviceDataInformation(); aluminumDeviceDataInformation.setDeviceStatus("0"); aluminumDeviceDataInformation.setDevicePower("0"); aluminumDeviceDataInformation.setDeviceEnergy("0"); + aluminumDeviceDataInformation.setCount(0); dataInformationList.add(aluminumDeviceDataInformation); + }else{ + for(AluminumDeviceDataInformation item : dataInformationList){ + if(item.getDeviceStatus() == null){ + item.setDeviceStatus("0"); + } + if(item.getDevicePower() == null){ + item.setDevicePower("0"); + } + if(item.getDeviceEnergy() == null){ + item.setDeviceEnergy("0"); + } + } } String s = JSONArray.toJSONString(dataInformationList); return s; diff --git a/productionboard/src/main/java/com/productionboard/controller/FoamBoxController.java b/productionboard/src/main/java/com/productionboard/controller/FoamBoxController.java index 5750831..83910ee 100644 --- a/productionboard/src/main/java/com/productionboard/controller/FoamBoxController.java +++ b/productionboard/src/main/java/com/productionboard/controller/FoamBoxController.java @@ -185,57 +185,4 @@ public class FoamBoxController { return JSONArray.toJSONString(mesMaterialStoreStatisticsList); } -// /** -// * 根据型号统计产量 -// * -// * @author WenJY -// * @date 2022/4/20 10:15 -// * @return java.lang.String -// */ -// @GetMapping("/getStatisticalOutputByModel") -// @ResponseBody -// public String getStatisticalOutputByModel() { -// String info = -// "{\n" -// + "\t\"datas\":[\n" -// + " {\"ranking\": 1,\"station\":\"SC227\",\"value\": 199999},\n" -// + " {\"ranking\": 2,\"station\":\"SC228\",\"value\": 104970},\n" -// + " {\"ranking\": 3,\"station\":\"SC229\",\"value\": 29034},\n" -// + " {\"ranking\": 4,\"station\":\"SC223\",\"value\": 23489},\n" -// + " {\"ranking\": 5,\"station\":\"SC224\",\"value\": 18203}\n" -// + " ],\n" -// + "\t\"plan\":[290000, 290000, 290000, 290000, 290000, 290000]\n" -// + "}"; -// return info; -// } - -// /** -// * 库存 统计 -// * -// * @author WenJY -// * @date 2022/4/20 10:16 -// * @return java.lang.String -// */ -// @GetMapping("/getInventoryStatistics") -// @ResponseBody -// public String getInventoryStatistics() { -// String info = -// "{\n" -// + "\t\"datas\":[\n" -// + " {\n" -// + " \"name\": \"SC528\",\n" -// + " \"value\": 175.17\n" -// + " },\n" -// + " {\n" -// + " \"name\": \"SC529\",\n" -// + " \"value\": 148.35\n" -// + " },\n" -// + " {\n" -// + " \"name\": \"SC327\",\n" -// + " \"value\": 95.36\n" -// + " }\n" -// + " ]\n" -// + "}"; -// return info; -// } } diff --git a/productionboard/src/main/java/com/productionboard/entity/AluminumDevice/AluminumDeviceDataInformation.java b/productionboard/src/main/java/com/productionboard/entity/AluminumDevice/AluminumDeviceDataInformation.java index 7808f35..6a23de1 100644 --- a/productionboard/src/main/java/com/productionboard/entity/AluminumDevice/AluminumDeviceDataInformation.java +++ b/productionboard/src/main/java/com/productionboard/entity/AluminumDevice/AluminumDeviceDataInformation.java @@ -66,4 +66,10 @@ public class AluminumDeviceDataInformation implements Serializable { /** 采集时间 */ @TableField("COLLECTTIME") private Date collectTime; + + @TableField("count") + private int count; + + @TableField("lossTime") + private String lossTime; } diff --git a/productionboard/src/main/java/com/productionboard/entity/TankShellDevice/TankShellDeviceDataInformation.java b/productionboard/src/main/java/com/productionboard/entity/TankShellDevice/TankShellDeviceDataInformation.java index 9e79c75..af55211 100644 --- a/productionboard/src/main/java/com/productionboard/entity/TankShellDevice/TankShellDeviceDataInformation.java +++ b/productionboard/src/main/java/com/productionboard/entity/TankShellDevice/TankShellDeviceDataInformation.java @@ -59,4 +59,10 @@ public class TankShellDeviceDataInformation implements Serializable { @TableField("COLLECTTIME") private Date collectTime; + @TableField("COUNT") + private int alarmCount; + + @TableField("lossTime") + private String lossTime; + } diff --git a/productionboard/src/main/java/com/productionboard/mapper/TankShellDeviceDataInformationMapper.java b/productionboard/src/main/java/com/productionboard/mapper/TankShellDeviceDataInformationMapper.java index 8d8738f..4d28d6e 100644 --- a/productionboard/src/main/java/com/productionboard/mapper/TankShellDeviceDataInformationMapper.java +++ b/productionboard/src/main/java/com/productionboard/mapper/TankShellDeviceDataInformationMapper.java @@ -20,7 +20,7 @@ public interface TankShellDeviceDataInformationMapper extends BaseMapper getTankShellDeviceDataInformations(@Param("in_id") Integer in_id); /** diff --git a/productionboard/src/main/java/com/productionboard/service/impl/AluminumDeviceInfoServiceImpl.java b/productionboard/src/main/java/com/productionboard/service/impl/AluminumDeviceInfoServiceImpl.java index 0be9e43..89f875c 100644 --- a/productionboard/src/main/java/com/productionboard/service/impl/AluminumDeviceInfoServiceImpl.java +++ b/productionboard/src/main/java/com/productionboard/service/impl/AluminumDeviceInfoServiceImpl.java @@ -74,8 +74,8 @@ public class AluminumDeviceInfoServiceImpl implements IAluminumDeviceInfoService result[4] = aluminumDeviceDataInformation.getRunTime(); result[5] = aluminumDeviceDataInformation.getStopTime(); result[6] = aluminumDeviceDataInformation.getDeviceOee(); - result[7] = "0"; - result[8] = aluminumDeviceDataInformation.getRunTime(); + result[7] = aluminumDeviceDataInformation.getCount()+""; + result[8] = aluminumDeviceDataInformation.getLossTime(); result[9] = aluminumDeviceDataInformation.getDeviceTakt(); }else{ result[4] = "0"; diff --git a/productionboard/src/main/java/com/productionboard/service/impl/FoamBoxDeviceInfoServiceImpl.java b/productionboard/src/main/java/com/productionboard/service/impl/FoamBoxDeviceInfoServiceImpl.java index 9df923f..b425bdb 100644 --- a/productionboard/src/main/java/com/productionboard/service/impl/FoamBoxDeviceInfoServiceImpl.java +++ b/productionboard/src/main/java/com/productionboard/service/impl/FoamBoxDeviceInfoServiceImpl.java @@ -20,6 +20,7 @@ import org.springframework.stereotype.Service; import java.lang.reflect.Array; import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -42,6 +43,8 @@ public class FoamBoxDeviceInfoServiceImpl implements IFoamBoxDeviceInfoService { private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss"); + private SimpleDateFormat minimumDateFormat = new SimpleDateFormat("HH"); + @Value("${in_id}") private int in_id; @@ -124,7 +127,6 @@ public class FoamBoxDeviceInfoServiceImpl implements IFoamBoxDeviceInfoService { break; } -// List foamBoxParamTemperatures = foamBoxParamTemperatureMapper.selectList(wrapper); String DEVICEID = "HF202009858"; if ("1".equals(ids)){ DEVICEID = "HF202009857"; @@ -158,11 +160,11 @@ public class FoamBoxDeviceInfoServiceImpl implements IFoamBoxDeviceInfoService { String[] polArray1 = new String[15]; String[] polArray2 = new String[15]; for (int i = 0;i<15;i++){ - xAxisArray[i] = 0+i+""; - isoArray1[i] = 1+i+""; - isoArray2[i] = 2+i+""; - polArray1[i] = 1+i+""; - polArray2[i] = 2+i+""; + xAxisArray[i] = minimumDateFormat.format(new Date())+":"+i; + isoArray1[i] = "23"; + isoArray2[i] = "21"; + polArray1[i] = "22"; + polArray2[i] = "23"; } result.put("xAxisArray",xAxisArray); result.put("isoArray1",isoArray1); diff --git a/productionboard/src/main/java/com/productionboard/service/impl/MesProductionDataServiceImpl.java b/productionboard/src/main/java/com/productionboard/service/impl/MesProductionDataServiceImpl.java index 22648bb..cff6b30 100644 --- a/productionboard/src/main/java/com/productionboard/service/impl/MesProductionDataServiceImpl.java +++ b/productionboard/src/main/java/com/productionboard/service/impl/MesProductionDataServiceImpl.java @@ -221,7 +221,12 @@ public class MesProductionDataServiceImpl implements IMesProductionDataService { planInfo.setCha((oq -aq)+""); //map.put("17",String.format("%.1f%%", ((double)actualQtuitem / (double)planQtyItem * 100))); - planInfo.setRound(String.format("%.1f%%", ((double)aq / (double)oq * 100))); + if(oq == 0){ + planInfo.setRound("0.00%"); + }else { + planInfo.setRound(String.format("%.1f%%", ((double)aq / (double)oq * 100))); + } + } return aluminumLinerMesPlan; } diff --git a/productionboard/src/main/java/com/productionboard/service/impl/TankShellDeviceInfoServiceImpl.java b/productionboard/src/main/java/com/productionboard/service/impl/TankShellDeviceInfoServiceImpl.java index f8d1f83..2034f5e 100644 --- a/productionboard/src/main/java/com/productionboard/service/impl/TankShellDeviceInfoServiceImpl.java +++ b/productionboard/src/main/java/com/productionboard/service/impl/TankShellDeviceInfoServiceImpl.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.productionboard.entity.AluminumDevice.AluminumDeviceDataInformation; import com.productionboard.entity.TankShellDevice.*; import com.productionboard.mapper.*; import com.productionboard.service.ITankShellDeviceInfoService; @@ -57,15 +58,43 @@ public class TankShellDeviceInfoServiceImpl implements ITankShellDeviceInfoServi // List tankShellDeviceDataInformations = tankShellDeviceDataInformationMapper.selectList(null); List tankShellDeviceDataInformations = tankShellDeviceDataInformationMapper.getTankShellDeviceDataInformations(in_id); - if(tankShellDeviceDataInformations.size() > 0 && tankShellDeviceDataInformations.get(0) == null){ - tankShellDeviceDataInformations.remove(0); + if(tankShellDeviceDataInformations == null || tankShellDeviceDataInformations.size() ==0){ TankShellDeviceDataInformation tankShellDeviceDataInformation = new TankShellDeviceDataInformation(); tankShellDeviceDataInformation.setDeviceStatus("0"); tankShellDeviceDataInformation.setDevicePower("0"); tankShellDeviceDataInformation.setDeviceEnergy("0"); + tankShellDeviceDataInformation.setAlarmCount(0); tankShellDeviceDataInformations.add(tankShellDeviceDataInformation); + }else{ + if(tankShellDeviceDataInformations.get(0) == null){ + TankShellDeviceDataInformation tankShellDeviceDataInformation = new TankShellDeviceDataInformation(); + tankShellDeviceDataInformation.setDeviceStatus("0"); + tankShellDeviceDataInformation.setDevicePower("0"); + tankShellDeviceDataInformation.setDeviceEnergy("0"); + tankShellDeviceDataInformation.setAlarmCount(0); + tankShellDeviceDataInformations.add(tankShellDeviceDataInformation); + }else{ + for(TankShellDeviceDataInformation item : tankShellDeviceDataInformations){ + if(item.getDeviceStatus().equals("正常")){ + item.setDeviceStatus("1"); + }else { + item.setDeviceStatus("0"); + } + if(item.getDeviceStatus() == null){ + item.setDeviceStatus("0"); + } + if(item.getDevicePower() == null){ + item.setDevicePower("0"); + } + if(item.getDeviceEnergy() == null){ + item.setDeviceEnergy("0"); + } + } + } } + + return JSONArray.toJSONString(tankShellDeviceDataInformations); } @@ -99,9 +128,10 @@ public class TankShellDeviceInfoServiceImpl implements ITankShellDeviceInfoServi result[4] = tankShellDeviceDataInformation.getRunTime(); result[5] = tankShellDeviceDataInformation.getStopTime(); result[6] = tankShellDeviceDataInformation.getDeviceOee(); - result[7] = "0"; - result[8] = tankShellDeviceDataInformation.getStopTime(); + result[7] = tankShellDeviceDataInformation.getAlarmCount()+""; + result[8] = tankShellDeviceDataInformation.getLossTime(); result[9] = tankShellDeviceDataInformation.getDeviceTakt(); + }else { result[4] = "0"; result[5] = "0"; @@ -111,13 +141,29 @@ public class TankShellDeviceInfoServiceImpl implements ITankShellDeviceInfoServi result[9] = "0"; } + }else { + result[4] = "0"; + result[5] = "0"; + result[6] = "0"; + result[7] = "0"; + result[8] = "0"; + result[9] = "0"; } + for (int i = 0; i < result.length; i++) { + // + if(result[i] == null){ + result[i] = "0"; + } + } + + }catch (Exception e){ System.out.println("箱壳设备看板getRunParameters方法异常:"+e.getMessage()); result[0] = "-"; } + return JSONArray.toJSONString(result); } diff --git a/productionboard/src/main/resources/static/js/aluminumLiner/index.js b/productionboard/src/main/resources/static/js/aluminumLiner/index.js index ff02b37..2ee8c56 100644 --- a/productionboard/src/main/resources/static/js/aluminumLiner/index.js +++ b/productionboard/src/main/resources/static/js/aluminumLiner/index.js @@ -5,9 +5,10 @@ $(() => { $.getJSON('/aluminumLiner/getDataInformation', function (result) { const statusArray = [1, 0, 0, 0, 0]; if (result.length > 0) { - statusArray[0] = result[0].deviceStatus; - statusArray[1] = result[0].devicePower; - statusArray[2] = result[0].deviceEnergy; + statusArray[0] = result[0].deviceStatus == "正常" ? "1" : "0"; + statusArray[1] = test(result[0].devicePower,100); + statusArray[2] = test(result[0].deviceEnergy,1000); + //statusArray[3] = result[0].count; } dataInformationFunction(statusArray); }); @@ -77,4 +78,9 @@ $(() => { } fun2() tableAnimation('#productionPlan') -}) \ No newline at end of file +}) + +const test = (number,flag) =>{ + var info = Math.floor(number / flag); + return info.toFixed(2); +} \ No newline at end of file diff --git a/productionboard/src/main/resources/static/js/tankShell/device.js b/productionboard/src/main/resources/static/js/tankShell/device.js index f177a17..cc159da 100644 --- a/productionboard/src/main/resources/static/js/tankShell/device.js +++ b/productionboard/src/main/resources/static/js/tankShell/device.js @@ -32,9 +32,6 @@ $(() => { $("#meterParam").text(result[9]); }); - $.getJSON('/tankShellDevice/getRunParameters', function (result) { - runParamStatisticsFunction(result) - }); return setTimeout(fun,10000) } fun() @@ -86,16 +83,22 @@ const dataInformationFunction = (statusArray) => { let info = ` - + - +
${res.deviceStatus == 1 ? `正常` : `异常`} ${res.devicePower}kW ${test(res.devicePower,1000)} kW
${res.deviceEnergy}kW·h ${test(res.deviceEnergy,100)}kW·h 0
`; $("#dataInformation").html(info); + +} + +const test = (number,flag) =>{ + var info = Math.floor(number / flag); + return info.toFixed(2); } /*能耗产量统计*/ @@ -113,6 +116,7 @@ const energyProductionStatisticsFunction = (statusArray) => { } const runParamStatisticsFunction = (statusArray) => { + console.log(statusArray) let info = `
${statusArray[4]}
${statusArray[5]}
diff --git a/productionboard/target/classes/com/productionboard/controller/AluminumLinerkController.class b/productionboard/target/classes/com/productionboard/controller/AluminumLinerkController.class index b45c2b635fb8873cb4852297b3679266c5405153..d521e153b992de4a500e6ac8f4542cfdf27d7d5e 100644 GIT binary patch delta 2710 zcmZ`)33yc175?v=Oy1<>CYhPUu&DtJWSN9O5*MJAB4P*-Ktv+oHoyoIAfYo8Ot3h( z;=VmZ+;>r25giy%v`sC=YFnzUORKh8t*v!$>lU^Dd2g~{@cZUF@7#0GJ?B6FIrq*d zwR?|DKKJd;-2m!UwuO4E^Woea)Zsi6=lgJhg)Ces>x)FJ&&9>KBo~+BG7*=XxWa;# zGgr#@DiK$UxJJaa;$w^0kc;cEQN;DKu}Q=YB5t&hya_i;*jq&0D&DsR3FjWs?iJf+ z6ZcsdfptMBJRmS0^x>ggJd8&~JSt+ViN`Ed2$F3U9>){1Nck{N7TYcCKw2u@V8-*?Pm96-`7|+8v&hx!c6ktZ!RQ*85)1MEt})#2V~5 z0!P|MTcsl>;u(z};~0$z_>qa9Yy1LTCU$H563=S<3ePGu*kf~Q?H$&zH~e_Bz{Fqu=+yWd-qLs*f7f^iU6U0GTf(cuHSLM$ikeBW zSh#aWG@js@cm4Q>IKQWH6pmKN8armp5hnhr@h`lu@oy0;(WOvgzwRv=O^4R-%7}>% zG(HqWAK_z-PXy?v8lT}m8vn)rG(N`{3P;%iRb;O<4!1wd9aS9c1JIa=#KMWTn8HDJ zAW&pi=ob5S{bYeJ9!X4YYi~^`%qVZHu=jZy?FD(mlRma2bD+4qV#dHg6BNv4;rPr* z2akHnD;5Y&XHnGSzareav}V?#mdN4+y$hB`630bWM;Av5?k7-a40z#VsFTs8)W==bWOxb)@b2Nd}W`JHz=FKR)?=`EB^tr4&4e<%2`9* zwvX~V4gWV9-zr0+L%Q=*#O#hhy`i$~hXe0Bek@o!y^fa$)30Jad;l3VnBjOa-h23VQ=Pe545S=S7_`Bq@p~T%%X7J$d;fmQ8>;cBp~lCtzSb2+4EGtj*GyROg<3~j2C>av{b=AelBIMOqo z+5{X-f=hYDLnO79gpMPn6G=}4y{D0bC9Hipsf*FliK$pe>v~Mbm1x2>n1zj)?J$+B zhnIm4=k|2cu>_TvK~4IxDMO#-9GXe$Hqv7jyKeBX+aY)F1n$kDWf-!%G0nt@-N-gE zw;RJvoRs$!_%oaV3GzFY&hr*R#nFtDk(8G3`QV21ww^0#qvdvFn8NoPd`iCtTm2fm zf9M4aEs+=YM!tX<4BATF$OlWW(>Nrla4QNzl{;}LkVc6CVZM*|Ao&NDk@qMH(ZV5Z zbpRB*!Fnkgic=sI^${bMQ)v-md{EseAu$73NXBtm2J7j)Shq8{q#f;I9ZsyfFoIKf zSd(COAy@5W*IdX|ggmpl5A;x824D?A{|rH_Wna!g87@Q>E^@$Ey3qwZ`KMbc&T!BN zIagt723_4&dz^}-TGwk4D{{RS(v*1D*42PLMc?GP|f#kG}RhWD>JX# zR=T=RZ87-=uda{JN+HhW)j1ENaK3|axbt?DIb%d8&RrY{BJ%O-v|}|RoJDJnfw13? zxIYQMA^$oVOpQG4%tnZum_#rpg|R8rHuoiWM`JnsSkaG^p3&e~G2t2}lr;S3iu>gW xJ(~-Ix1nb`)^dFgo#xd#FHurCj}8srDG${lxSb9%^>+}^ooxTz8SQ>-`9J<&&=vpy delta 2291 zcmZ`(X;@Tc6n^g=#=$$E%rLltDJ~$(41!B)+Jak#GJ-{tk|GMZiwcrUc3Vu_x2v|P zSy@(^VG=r!W@U@EXM0)M>htugKmF)2pWbutFpNq+?z!hX-}%mY&wI}I9UK1F5cBxi zmcsys;k1D~G$i82&In%6!brWd#1RuQ*}xZQ*G2D-?>JLJDX z#6}T!%Jy9b?#4ZG?p_i11(?c`jZL!L>_OQU18HaoK*M8_FL>~x2fO$Ey-T-tx|*~-`zsUvbh}345-V)< zbPYnjHQ&g{8i|(_hGT?c*%y1TSK(zeday@fA6`+|k0ymz(PZs4O3RvYK;fW>h=>-n zdhnXUAskjHL7~FyXw={zTU%RSSHGfaS-7Tter{=@rKWXH~pwpcne1r-o`r$ z@1oIK=S|Ie&yQnbKdw-K!5R_<7Zec8`wAc6Lxqn-%%$%kZ!q&?g-;~cr}#|a1PVR) zT;U6RsqhuPR`>?rY8YXi(z;qZ^a0j*HPAAZ=}o9xu%Ad`sISXs%){oAap`nj;#G7iJNGj`Z;5&T(KaSH3HtD1_&9~bV!VelI zWLwJvL#@)}r2R$yMY{h-g`e=N!cr-E9_Cv|1H*LuZv7KD?ZzJ(GOf~-9@g2EA(KNK zH?VO!*cNKK(7-VmLcJ6JLv0%ybb*bXZF z!y!SHV57=qL14KCq4%aGllbz8YZ%KK&7w?!Gl`%|FwTaa%Y%7z9f$FRM{Lm|3{1oX zT*(4TXrD+HbX>)K;mO%6qBe<^L}+I)$%DyuPXhEC!=2&^Xmto<3Oyu7lueUJ96Ak$ zgl-zn=d>h_QzMSkb3>O#Lr-lBjrB||C1f~}yT{S%3+A?<2M{sQQ-_e&PFa8q02Qq2 zdZb_`=c396(A^0Z<0B1M+kCXMAeL+5SxE1gg|aBrYf)%2s0`Hs{w3`o2Wu*^wjz!F z?iFqu312YOf{Tb*AcqKfN?tqYG|nHegrI8?z%um0a%5o@Z{6xxTNynDJ_FNi@MeG^ z%c(LXKk2K>?yFR5K-{ilMUK~W+N8t0L;oU+wRK$HjA(fku})O*pmZXc)%6bai6C9) zs0-^RtuA{~4clV_2Wn#+-N{kJ3U0PT#;=WT$1;-^xnJkb!mKEQ${2#m^AYrQ5SVu3 z9R$uZu!&4=CWr xrR7}cMBFwVbzIle$$5xY;uo$BWNJ8t-|#b1aX$?*^$!rxgLnuJN3}=r=zog|EL9kTiMr@hPgG za7s=Y?oxvT-7l;}K^ZHiDsn`?=vo9_`L`dO8V(o4xg(Us_)f0iKgJowAjuHTpu!M4*mD%|PBh$%#PqlYmZ{3^ZX1(88$<4h+*6Tp4CeULbUscL~srr3?}b%NXPsR!lAs TUctGQfsJ7sQ1|x9iXs^ReLgJy diff --git a/productionboard/target/classes/com/productionboard/controller/PreassembleController.class b/productionboard/target/classes/com/productionboard/controller/PreassembleController.class index f8a09d906137245c23a07af30daaf13d8032a6ad..890e7bc5778546a2779e7bf3faa3ef566d2c5103 100644 GIT binary patch delta 31 ncmZ1`yGnM003T!gWI;Zq$?JI8IMW!|7}6Pd7&0c?@nrx2gklGH delta 33 pcmZ1_yG(Y203T!YWI;Y9ZY~BU1_p*S1|Ej=$$NRlCr9!H0swvV2RHx# diff --git a/productionboard/target/classes/com/productionboard/entity/AluminumDevice/AluminumDeviceDataInformation.class b/productionboard/target/classes/com/productionboard/entity/AluminumDevice/AluminumDeviceDataInformation.class index a9a06ba2021989fa826ada220eefc884ad881870..7eab79059d345b6f584961de699cc82794a3344c 100644 GIT binary patch literal 7579 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 literal 6688 zcmcIoS$G>)6+UB2nvpcJWyN+pt_e=+rruJeG?a9*5XV-6TW{D(N>WNXwkNR?S#o75 zZCZ9p8`h?5fdXZ3SOQ&W9J)|imhyc(^8_#O#v9LkP{M!a-WiRgN#cj_eaW3O=ltiN zJ7>Ei|LMQ4yiP63ft;OR1YP*Fm9N-%>{#aT_-JN)Od(zDU=Fkukm|xRmmSF-no}qytXb<+ z88^a~9l0k9isFi0$YN^{r)M%#+40GYLTafZmFnyvsnb@=#TAL1%TCV-WK=Lu+aPG3 z&cHV=G&9AA>=N$8!)B)M&CGhc%oOa>i8J0VGgFz_gGYc}DCYC_LRmZ{DFRt3=kn<> zt8C-F~pV!qbRMGR?G? zzZmXNXCiuRn)4E-dyY<`TD)7CrRt;H)G%b!pN^Ef$(n?$`rqUJpa9&!0JnNi^8(^& zWI%B53kdG20l|$gAfBTLh? z1vWi@60Ndp;HW}Mv3Bf86Xry*yu?kI;9~C+eaQva;^=*fHXp!^ZORXFm90LY2zk;E z6Dskz>R^$Nt15Jd#hWn+K~cST%++xt{e24GE}ZU=Oa(={*d zDg|H7fRcPQxXaB9+8amEY|44e>{tP55l!%2j=WUVfVNrkaBjvUR*IwMzs94XnW zl{`jt)R&utl-(4><-Le?w67Xgt%``YmC^#v zojfM%mfCq(Hvn(rV^5*<`cJbdj6;mg&biT%v5{jFqx+A^<811{^s(D@%FqFw-bLGV z8s=pOFL&~?lNXbh-MsAOWgjp5X;h(&_2=*YN-n?1ZE))~U!dRZk3BlQNx#);il#Ay zhkJ!ygdesURwrCFX93Fhvob#1>m~!LSysh{du2|bnUf$lHBe<)rMqOv5OjxF*W&7& zL_vF)wcc(-zM#HWf_-U&_5*Z;U*dO|4FftIXUswV%D4dsolc*kC7n+2@)&&@$6Gbt zV({QVb5yxvdd|k7o6kMM2QSLoTESt3`LiwXps4bQ$tUxM5~;zvgRkMpbn&zqA8CW6 z&=AF_iHisFZTQBFOz`dan1Du=co%;fv(Xau|p?c^3KxedefOELs zc{tD+Qy{=OQt!My&>8b0z*((#-Vx}G!4lxC)jRJDbjJJ%aE{hH?+$dvlnQW;)jRJC zbjC0XaE{kIj|Dm(rTb7yTw&aGT)-+9Z}VWidz<4fs#f)?R+ZyJR_!n)v6T-7b2hD; zv#t}E^ZsDY(7HLr(31Py;q3E6!JOfBbBcKa(wse&jMGQY~xLI=DtjTvBa9PO-c}$n7k52)UExjY95X z*${F!%Qp$Rhvjz&c@xX;6ml=in}xh(jc!i$L0+RPDPFx&%S;fx68EK;34Gkzi1Z1SJe4%G-F4*$PmPnKW7%l$4-W18MX?o6I(V zHkm1-jX^01YBP{u57cXJ0I1h&H#RV+U4k|kNW2HyVs-$u#q2aX7}P029R?~wfI=5h zQ_apti8%CA&OrW$$dx;gm2;G%lc>KAhVzfqop)#a6y+(hg3M8HWN|)#~ zqy+t)o}-5#wV(yg(Zi5hl?Z*7&Ok~kw_s0?Kx$Kl(1VXcN-1~a)9J&IHYhXrhWiMl zcBP1K)Q>{yP%8Lj`WU26`Z(VIVcM)}|DhI@KJhkns`N?x)0DTVONi0`n@FLgX3>wqMceod+>+x2mhFmXM?D(AYOphXpb T*%>Zh@qVa(6*Z0@>RZ9@%hkTgvQk7~>l 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 literal 6574 zcmcInS$G>)6+UBY8A&5cR&2+Un&2dE@RlmHp`??AI<^wrIJU8rlmtpD+ml#{tZ`*2 zZCZ9p8`h>QEfgqw10~Rf#-R(Pg^%)mJogD+;Egw)`JjaV%)K)jNs~km;rr}+&pqcq zXYM`Qz54TiUwNH~cF-T9G)zxKXe&L*!?$?&HV;qn@Esn$%ft70c$$ar^YDW({V+-z zJ)zQ%c>Zw|%%7pF`Q|aeCKdaI&c)qC8FM0lzO3(59yh<tXtxLh7PXEmaE3=8?i`VZLaNl}c76Uny9nRfV=sEm+Ix`MkAUShT9?<+JmUtgaNR ztLeOpOXu>?+g~t?i!c{FlP^|He0CypWO6(+IiZjyc94bHDvWAElFg0f4rdjL3TZBX zx`Ks}<;D)?V8U84OF3)}QyXs)8|{|liT=!W_&dC06RS&Osza(>yYm}LYe;cmh8lFN}^!rJ2{ ztZH7u!s8`ZQFzH+I$m-au9v{6^U^)i1vMw#SO=&TOY{nbLgszdd=Vb#_PTv${uByh z*U&MA6sx|;ND;b%RaxSai*srZh$`ef?6CPBMyChhcsJz*In0CyD4d@3!URivuGU86 z=V}biw&He_xG+&$+u~Ytk@_BnXBTz^6W&eOoTLXLquS{OIXn-{iFMt<9j35X*N&vU zI$j)(S~z_uzhXBPTo1Sp&_@^Yr3?oVt6E;bEmK4v-O|wg z8oJ#re9I}6ZvFC_Ms1@Aesjv6=<9L4agy7Q7DvBw(}P{SY82n+113fJAK;?1BKv+bq}v0TQ}d z@Bs*rWL=|B?fV1K*H`6{EHe3S!?%Kg5|s5~F#V59PYuQH0%M>*7}Jm{;8 za`sUUH!6?%Dx>awl+{M%?Y_!r4?fC~M&%v8%4i}!%F#yUoxaNGH9pF*M&;eU${(hq z$V1LBE{QhG;o*@>)Hd9xE)ujyKxBdfENlB16oU#DNo?gK{x;iNwkg_zw0Wy-^P~PY z11;MW9YxyQVcWdN-)697o1z&>o44CGKjv>U)Ur*{$E3}jw$0=IHp4C36fIENG;Evq z`rA}nwkf)&w7J{1nfJFDY1yV|ywc`g+vdE#&1lOuMbDNt@3d_$(4t??$6B^2+P$>7 z&$fvxUKZhtu+44$+^eJ=y-e{`#~LMu*C>f8)hXx{)9VD?#dNozdzfA?=w7CEL2qFC zCPDWx{VqXoWcuBL?q_p?x_0d*N+fVvD-4>L%Wps=obKs`nTpdKTtM;H{9pokvzfO?G>K)r^h z#~7qZ5GW65gAoU4gVCYK8Pp*`aUFqjH{NF?0O~W6dV)bo2}vn zN=ZouWN-1~Yf%Filb;>LrSRV(~rC4}Cegagt zQl*>dlc0L&Q#k(vv?;9qhdRRa>366nOrOD@s=PzJf{gs%NRq|Agklfy^IH@P-2qqg zr5WTZ;Rt!(bRt6H$_zRYg3nLkJc?uSl-)k?j0X$XaDdA%j`B+-ckK@Bv5TxPxoZg} zrY1)&PWWaBLaWb+*dkP=)QUKwjYiZKMO_hURcQ4aF-jt zTh!-Y01pdqN%yuZ3Hm%e0$&D|I6VrgjiQQ5=iu^o+Cu-NFMtZ*iT^f|k_+G{y-Z&M z6+$XMOMNjBdKTsMRZtQ7BO3f;prZ6Q{A@W7Dn|cC@jVVo4l8I;mfOD5iy+h{Jr$Y?v+hfzkbBrz{L zzBnT_Cnr87wJb9^b#et`^<-~G`^}#jzcVrlPJYcSEh@wy3^a;~L4<(|NV738GKexT F006*J85jTn diff --git a/productionboard/target/classes/com/productionboard/service/impl/AluminumDeviceInfoServiceImpl.class b/productionboard/target/classes/com/productionboard/service/impl/AluminumDeviceInfoServiceImpl.class index 60fd12d89ca616138f2e8e73cbbf63c520c11ab3..33ada1a9fe931ed186c1fab658707176f855f57f 100644 GIT binary patch delta 1738 zcmb`HYgbfd6vuzh+|F?3u$ln^Ni-o#t`TS#yp^D(HY5m|fM^8cgu+0~pmrU}%IsdJ zd)fU$r3qmJNSWQN>`fn_W$_t$(W|2UFa##LRxes>X7By{pS|~g?|t?;hYJoB#!vrs z`~VOre;F7F{OY-07o-s6k94y*_rcM_YS++{N8K?%`f7?lZXGB$c?AeOmV! zJYW(au7w=-n`H2y77uChu)zV7Idtkn(<9nE=;cwZAJgJ-jX$BqlLk+v@HEeOdDbKs z+vGW(_ws_ti@c;OdD+J+ysE9&d>rC+gEtJ`G=V-ivRTiaOWwDIq2JcwB%X!>j;KG&h?GofqtwuZW6?OhRrFDy>* zrQK)dm7S!<;46!-`9{hqG5FTvJ5E_FW{JV~7C-2=Dp+dpqs3|Zht8M>9cA8dC|1?g z8;L1AE#2LrNSh)je_cUvhA%mvsZy8OM^no)y|Jz&s_;pIU{^F+-`;7rrLOjwa;^?V zqb=dk&>yKQRlHahPjMw49Qt{PT_zjp5nV3Yq3fH4$@FJo@_1%p(#|YQ9`_XH6TPBF z#L6hw;}%1fLS&`zmWq~P<1QRV4NewPB~q6K>8uuMB^_A9jdD`l#9Ar0(sub5Hfdi| zPDo<`Nv8cXC(r3q{sB3yW4*-PEO$Cr5($b`Er^3##M*$aPYQCb$0h8jR(rpHEPY?L z%Q=eW;3OGK-P!I_1nt^DPQe&+8ivWvb|<(b!Q8Z*1oINiuPgFE)%!n1Phbi2`(>krd?52G{T|*q4%f?wOn367ghGJfy%g&+LVtCDvMf`!$y@$ zomxb_Dq)ja%w|^wyJGxpPay2WVz(SQp-jecb3YdPA1?WUj?Wa%PH^3 zfyt@3BsP~#Y?fQ;d1_`J)y%ELw@6KTXbU7DnWSMlN#k^qpw!zWUgKC3RN*q%YS3)3 zO@27UR1=ct->_4|2HPi?d(O>S0r9gF{ilfkCE!o?OcsAzd_qPe_2_n>(x4?*8o52W zebR8V3`1{Tdf_qhbQhE2#LAl nyqty8oJHs3>=DlB1vtaAIK$kbIVUOGg?1t2vO+;Es1eaYOOSAsi4a5rw2Rerzu)NT zUKZVNnjkiSnEI-<>I3w))d#2-wN|ex+J|A0gs#<#)|%P-fA%?h|M%W!pXYGNk!7jx z|2laZSjkz3Wwd9pl)YATICQcvL>K!t-PUqfh#q<^>I-pzgCXwb9xLwE+~<(Zp&<8L z{eb2{hX{wPkVVQNmxru)*osH2cvSOP7LT*>3C)uZ3uq7Wl+{l=f!#H+lfd0q2{=FOoWvIAkk4Vt$kTcMQj!@mUDDO;kwUx*FdfL0%3|FyI^S5yR)i6l#Ux3kxzkzhpH2HKz?{Y+03( zT&}w>6m$o@MZ@buH6B;bsnUT&cXzU@)jgG6G0$mB_H9b`_9ohrieTUVO!>p{Ih884 zR7OEjLI98Lo#5p%BLUG@i1t|GSvKj^ESt1)mQC`UWs|F!vV}xnTQ6cwFW2E0AQvdI zQh3WnE7AUv5!BFRB5Ot3v>=CdB2DH1RaDDLv7QZ*Zl${`T-;>OI&T{7fCcvsroAqBL8TA+Dk{s64i*#cWr_G>b!{T1u1J zz)n?5%Ve=NXuhL~P2%rozRG5^6zh@a^au5Vyd0MoZX4he-$J&q)wV~~O|>VWYKW6+ zkeqCP3dA83WZQI*?bAVOB;Q-*)K8cRxdxx+Hq8!Aqx|p)R1*?srrB%Fnx+YP{WEvY zaY&sT=s$V9x)0|7r$JryCy%*rzGmCQ% Vt(J3=GAXooKv-1U^!MOS_#3=9^0fc} diff --git a/productionboard/target/classes/com/productionboard/service/impl/FoamBoxDeviceInfoServiceImpl$1.class b/productionboard/target/classes/com/productionboard/service/impl/FoamBoxDeviceInfoServiceImpl$1.class index 5ecce211da74cda49c00f755b2b58dd977e6a414..aaeb4514254ccbdb0b00c71919a7296836677bb5 100644 GIT binary patch delta 29 lcmbQlF^OZtWM;u*415eH7(^LPGRQNWW>8}|J9!Cn9squy2#Wv! delta 29 lcmbQlF^OZtWM;u5415g77(^M4GsrWXWKd%`J$VUp9sqtF2!Q|q diff --git a/productionboard/target/classes/com/productionboard/service/impl/FoamBoxDeviceInfoServiceImpl$2.class b/productionboard/target/classes/com/productionboard/service/impl/FoamBoxDeviceInfoServiceImpl$2.class index 30b5495444504de98ceb1096f64421d72f7df91e..cac3c11d92c465fef9a525392a26156c06ee88ae 100644 GIT binary patch delta 29 lcmbQlF^OZtWM;w3415e%8AKVbF~~FAU{GVYHF*hh9sq&t2+RNg delta 29 lcmbQlF^OZtWM;vO415fi8AKVbFvv4pV^CwbF?k7d9sq%A2*LmW diff --git a/productionboard/target/classes/com/productionboard/service/impl/FoamBoxDeviceInfoServiceImpl.class b/productionboard/target/classes/com/productionboard/service/impl/FoamBoxDeviceInfoServiceImpl.class index 4dc9519cc72f02934df8fad02036988b40272a28..bffb61b5dcc9ea18de9a4743e8c24aa37d09ced1 100644 GIT binary patch literal 10764 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 Gr0P$m0a&B} literal 10710 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 C$ef@6 diff --git a/productionboard/target/classes/com/productionboard/service/impl/TankShellDeviceInfoServiceImpl.class b/productionboard/target/classes/com/productionboard/service/impl/TankShellDeviceInfoServiceImpl.class index f20fea233000df1ce1bc1f41fdcc78d61bd804ea..5e3c188aa5e40dbd34ba6e00b1dd3216de22c4a4 100644 GIT binary patch literal 10262 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 delta 3583 zcmbtW3wV>|6@E|BkT{~XH_cXkulziV2#t-mAJI3H; z4L`DD6i%wck2U;6tv}W9Gdpr)%%3Z-Ua`Z2Unt%$ZTOX1U)AtyJMxvi-zbUSs>AP; z_TM}32mDdP1v@6=HAOCJ_>&!_>QIV{%K7l?%CkQ!@)t$^s>mA}-b}{d@OK;jVaH7T z(~f`P-!}Y5X?@FqxABhJ{nvqa@t!jBzJ`7~7Aij{3v4*TgNO}BZ8%0rF*(F6NiIO_ z%z-%Uq6-ummaIvNCaIb@d(KH~l8iRaS#pdO)T#WpCT!Kjt;=vp*Ca!iOv%zD zO&5=h&?Q?&>M}}33aX8{wo;?Woo*DRSi?CoT9+}3j8!C8#%VHMmpqxkn6?Hw1I5jO z*2dzxPt}F9Tz|KF%Y3RKe zX2N1`FH!{e!{;^kBGrWFQKEKEW~dKot4_h?FL1dd7+xP;!s)R!quyK4i%d#+Pb2Gb zs!oD(Z32=>eROLk#$y(pnN9SXgBh5Ma?C?DX)P+F?v9~Lr9{!4*hTl~T-@u-X#^ea5bi?9u*Ljn!a6dJEZ((AiPvR~Z__{QL zX|da|*ZPsy(_`0kW$<~+=#J*m;@Y-(v;lQ#KAXq(9Ll_!#}>iWbzUALxTenQw5pAd z8%=rYOz@Kxe@0z5!g=24l`VR2jncSmbe~MxjXeKx%!;ShHJfQHh+s}En-R?QnqBki zVr3(+N|)TiVu_W{ot%-tBKD*onW#ZFma?R3Sw_o9mt%F9Exe7*+r`#B$hJMprhSEN z`!?2#0~;hA0m;QinTSnNj0Pz~kRZ5O7NAjTutnBjt8BnF38GoHp+#;$tL#LZbYUmm z2+3~jkb^|YBdkExQkyyXa%n@=s12DC-i%vVnkHn+M(oBXSi-eZfLn1JBUmlt@JW0M z7Id)@KTSC+oodJJ+-X!j7I)xIRqE0mFLkRN#%Hi6Uh4VOktxc;XDJoa_PK<%y-Hg+ zs_rIe%m8E(^nTn6O~YLp?q)-1_`C)~!xvO@n8=fU>b}CgS>02-pFMa5k;_zsKV)N2 zNA~}$;QK{e8&t%hil@_2}!~U_%!x!--=2hY0I<5+G+-#WgME_PO zJXBa_j$)Y_6X1iU@kv!JWbhp3Hwl*9v-@avf5NOX9!2#q*%rd}rRb?|E}1Ept&Tm^Cb;#E#~RgbZhKv9LRHoIVNI=R_96LMLO|rfHk$wV@bEtq~#KJ zHG#G6Hmh{^_Y}Am5jn5r7+I`PRBikoOLTL|B$8;_2!?U$LK|^392&u1*#-t_?V&m4C6Sn!tsWa z1jk-@aV8q9ny1v92x24?p@Q(z=2r<&LxWIvkHlk$j?)S38xDQ`dZL^v*J^50<(lTD zo0>O*WqiX3>gu29AlEdcLn3hE)R0n5i+jLt`4ErO$`ky;B6!TH;y51tyeIM7>jZ%; ZNS+-co1{@1;1Ts29Q { - // onDutyPlan(1234,1202,33); - $.getJSON('/adsorptionTank/getTeamStatisticsJson', function (result) { - // alert(result.actualAmount+"\t"+ result.differenceAmount) - storageStatistics(result.className, result.planAmount, result.actualAmount, result.differenceAmount,) - }); + let fun = () => { + $.getJSON('/adsorptionTank/getTeamStatisticsJson', function (result) { + // alert(result.actualAmount+"\t"+ result.differenceAmount) + storageStatistics(result.className, result.planAmount, result.actualAmount, result.differenceAmount,) + }); - //按型号统计产量 - $.getJSON('/adsorptionTank/getMaterialProdutionJson', function (result) { - horizontalBarChart(result, document.getElementById("statisticalOutputByModel")); - }); + //按型号统计产量 + $.getJSON('/adsorptionTank/getMaterialProdutionJson', function (result) { + horizontalBarChart(result, document.getElementById("statisticalOutputByModel")); + }); - //小时产量 - $.getJSON('/adsorptionTank/getHourProdutionJson', function (result) { - brokenLineAreaDiagram(result, document.getElementById("hourlyOutputStatistics")); - }); + //小时产量 + $.getJSON('/adsorptionTank/getHourProdutionJson', function (result) { + brokenLineAreaDiagram(result, document.getElementById("hourlyOutputStatistics")); + }); - //库存统计 - $.getJSON('/adsorptionTank/getMaterialStoreJson', function (result) { - threeDimensionalCylindrical(result, document.getElementById("inventoryStatistics")); - }); + //库存统计 + $.getJSON('/adsorptionTank/getMaterialStoreJson', function (result) { + threeDimensionalCylindrical(result, document.getElementById("inventoryStatistics")); + }); + setTimeout(fun, 10000) + } + fun() }) diff --git a/productionboard/target/classes/static/js/aluminumLiner/index.js b/productionboard/target/classes/static/js/aluminumLiner/index.js index ff02b37..2ee8c56 100644 --- a/productionboard/target/classes/static/js/aluminumLiner/index.js +++ b/productionboard/target/classes/static/js/aluminumLiner/index.js @@ -5,9 +5,10 @@ $(() => { $.getJSON('/aluminumLiner/getDataInformation', function (result) { const statusArray = [1, 0, 0, 0, 0]; if (result.length > 0) { - statusArray[0] = result[0].deviceStatus; - statusArray[1] = result[0].devicePower; - statusArray[2] = result[0].deviceEnergy; + statusArray[0] = result[0].deviceStatus == "正常" ? "1" : "0"; + statusArray[1] = test(result[0].devicePower,100); + statusArray[2] = test(result[0].deviceEnergy,1000); + //statusArray[3] = result[0].count; } dataInformationFunction(statusArray); }); @@ -77,4 +78,9 @@ $(() => { } fun2() tableAnimation('#productionPlan') -}) \ No newline at end of file +}) + +const test = (number,flag) =>{ + var info = Math.floor(number / flag); + return info.toFixed(2); +} \ No newline at end of file diff --git a/productionboard/target/classes/static/js/common/echarts.common.js b/productionboard/target/classes/static/js/common/echarts.common.js index 08e24c3..b214ccc 100644 --- a/productionboard/target/classes/static/js/common/echarts.common.js +++ b/productionboard/target/classes/static/js/common/echarts.common.js @@ -1226,7 +1226,7 @@ const multipleThreeDimensionalCylindrical = (res, ids, type = 1) => { color: "#fff", fontSize: fontSize, }, - data: ["箱壳库", "内胆库"], + data: ["内胆库", "箱壳库"], }, xAxis: [ { diff --git a/productionboard/target/classes/static/js/common/ondutyplan.js b/productionboard/target/classes/static/js/common/ondutyplan.js index 3ddb2cc..2dc8164 100644 --- a/productionboard/target/classes/static/js/common/ondutyplan.js +++ b/productionboard/target/classes/static/js/common/ondutyplan.js @@ -42,9 +42,9 @@ let onDutyPlan = (scheduledProductionNumber, actualOutPutNumber, differenceValue differenceValue.push(`#differenceValue :nth-child(${i})`); } - updateSplitBlocks(scheduledProductionNumber, scheduledProduction); - updateSplitBlocks(actualOutPutNumber, actualOutPut); - updateSplitBlocks(differenceValueNumber, differenceValue); + updateSplitBlocks(scheduledProductionNumber || 0, scheduledProduction); + updateSplitBlocks(actualOutPutNumber || 0, actualOutPut); + updateSplitBlocks(differenceValueNumber || 0, differenceValue); } let storageStatistics = (leftInStoreNumber, leftOutStoreNumber, rightInStoreNumber, rightOutStoreNumber) => { diff --git a/productionboard/target/classes/static/js/storage/index.js b/productionboard/target/classes/static/js/storage/index.js index 1ea15cb..41e9952 100644 --- a/productionboard/target/classes/static/js/storage/index.js +++ b/productionboard/target/classes/static/js/storage/index.js @@ -33,48 +33,63 @@ $(() => { let fun = () => { //当前库存统计 - $.getJSON(`/storage/getStoreStatistics?ids=${ids}`, function (result) { - multipleThreeDimensionalCylindrical(result, document.getElementById("theCurrentInventory"), 2); - }); + // $.getJSON(`/storage/getStoreStatistics?ids=${ids}`, function (result) { + // multipleThreeDimensionalCylindrical(result, document.getElementById("theCurrentInventory"), 2); + // }); //库位参数 $.getJSON(`/storage/getParamJson?ids=${ids}`, function (result) { - //单日出入库统计 - storageStatistics(result[0] == null ? 0 : result[0], result[1] == null ? 0 : result[1], result[2] == null ? 0 : result[2], result[3] == null ? 0 : result[3]); - //当前库存统计 - $.getJSON('/tankShell/getMaterialStoreJson', function (result) { - multipleThreeDimensionalCylindrical(result, document.getElementById("theCurrentInventory")); - }); + //单日出入库统计 + storageStatistics(result[0] == null ? 0 : result[0], result[1] == null ? 0 : result[1], result[2] == null ? 0 : result[2], result[3] == null ? 0 : result[3]); - //库位参数 - $.getJSON(`/storage/getParamJson?ids=${ids}`, function (result) { + }) + //当前库存统计 + $.getJSON('/tankShell/getMaterialStoreJson', function (result) { + multipleThreeDimensionalCylindrical(result, document.getElementById("theCurrentInventory")); + }); - console.log(result); + //库位参数 + $.getJSON(`/storage/getParamJson?ids=${ids}`, function (result) { - //单日出入库统计 - storageStatistics(result.inStoreLeftCount, result.outStoreLeftCount, result.inStoreRightCount, result.outStoreRightCount); + console.log(result); - //库存统计 - $("#emptyLocation-left").text(result.freeStoreLeftCount); - $("#haveUsedLocation-left").text(result.useStoreLeftCount); - $("#emptyLocation-right").text(result.freeStoreRightCount); - $("#haveUsedLocation-right").text(result.useStoreRightCount); + //单日出入库统计 + storageStatistics(result.inStoreLeftCount, result.outStoreLeftCount, result.inStoreRightCount, result.outStoreRightCount); - //库位占比 - $("#emptyLocationNumber").text(result.freeStoreCount); - $("#emptyLocationRatio").text(GetPercent(result.freeStoreCount, 312)); - $("#haveUsedLocationNumber").text(result.useStoreCount); - $("#haveUsedLocationRatio").text(GetPercent(result.useStoreCount, 312)); - }); + //库存统计 + // $("#emptyLocation-left").text(result[4] == null ? 0 : result[4]); + // $("#haveUsedLocation-left").text(result[6] == null ? 0 : result[5]); + // $("#emptyLocation-right").text(result[5] == null ? 0 : result[6]); + // $("#haveUsedLocation-right").text(result[7] == null ? 0 : result[7]); + //库存统计 + $("#emptyLocation-left").text(result.freeStoreLeftCount); + $("#haveUsedLocation-left").text(result.useStoreLeftCount); + $("#emptyLocation-right").text(result.freeStoreRightCount); + $("#haveUsedLocation-right").text(result.useStoreRightCount); - //百分比 - function GetPercent(num, total) { - num = parseFloat(num); - total = parseFloat(total); - if (isNaN(num) || isNaN(total)) { - return "-"; - } - return total <= 0 ? "0%" : (Math.round(num / total * 10000) / 100.00) + "%"; - } + //库位占比 + // $("#emptyLocationNumber").text(result[8] == null ? 0 : result[8]); + // $("#emptyLocationRatio").text(result[9] == null ? 0 : result[9]); + // $("#haveUsedLocationNumber").text(result[10] == null ? 0 : result[10]); + // $("#haveUsedLocationRatio").text(result[11] == null ? 0 : result[11]); + //库位占比 + $("#emptyLocationNumber").text(result.freeStoreCount); + $("#emptyLocationRatio").text(GetPercent(result.freeStoreCount, 312)); + $("#haveUsedLocationNumber").text(result.useStoreCount); + $("#haveUsedLocationRatio").text(GetPercent(result.useStoreCount, 312)); +//百分比 + function GetPercent(num, total) { + num = parseFloat(num); + total = parseFloat(total); + if (isNaN(num) || isNaN(total)) { + return "-"; + } + return total <= 0 ? "0%" : (Math.round(num / total * 10000) / 100.00) + "%"; } - ) \ No newline at end of file + }); + setTimeout(fun, 10000) + } + fun() + + +}) \ No newline at end of file diff --git a/productionboard/target/classes/static/js/tankShell/device.js b/productionboard/target/classes/static/js/tankShell/device.js index 979066f..cc159da 100644 --- a/productionboard/target/classes/static/js/tankShell/device.js +++ b/productionboard/target/classes/static/js/tankShell/device.js @@ -1,27 +1,40 @@ $(() => { + let fun = () => { + //设备OEE统计 + $.getJSON('/tankShellDevice/getOeeStatistics', function (result) { + OEEStatistics(result, document.getElementById("OEEStatistics")); + }); - //设备OEE统计 - $.getJSON('/tankShellDevice/getOeeStatistics', function (result) { - OEEStatistics(result, document.getElementById("OEEStatistics")); - }); - setInterval(() => { - // OEEStatistics(result, document.getElementById("OEEStatistics")); - }, 1000); + //设备故障排名 + $.getJSON('/tankShellDevice/getStatisticalOutputByModel', function (result) { + equipmentFailure(result, document.getElementById("equipmentFailure")); + }); - //设备故障排名 - $.getJSON('/tankShellDevice/getStatisticalOutputByModel', function (result) { - equipmentFailure(result, document.getElementById("equipmentFailure")); - }); + //loss + $.getJSON('/tankShellDevice/getLossStatistics', function (result) { + loss(result, document.getElementById("loss")); + }); - //loss - $.getJSON('/tankShellDevice/getLossStatistics', function (result) { - loss(result, document.getElementById("loss")); - }); + //设备产量能耗对比 + $.getJSON('/tankShellDevice/getEnergyConsumption', function (result) { + energyConsumption(result, document.getElementById("energyConsumption")); + }); - //设备产量能耗对比 - $.getJSON('/tankShellDevice/getEnergyConsumption', function (result) { - energyConsumption(result, document.getElementById("energyConsumption")); - }); + /*数据信息*/ + $.getJSON('/tankShellDevice/getDataInformation', function (result) { + dataInformationFunction(result) + }); + $.getJSON('/tankShellDevice/getRunParameters', function (result) { + console.log(result); + energyProductionStatisticsFunction(result) + runParamStatisticsFunction(result) + $("#lossParam").text(result[8]); + + $("#meterParam").text(result[9]); + }); + return setTimeout(fun,10000) + } + fun() const tableRes = {} //设备信息 @@ -61,21 +74,6 @@ $(() => { getTable() }, 10000); tableAnimation('#productionPlan') - /*数据信息*/ - $.getJSON('/tankShellDevice/getDataInformation', function (result) { - dataInformationFunction(result) - }); - $.getJSON('/tankShellDevice/getRunParameters', function (result) { - console.log(result); - energyProductionStatisticsFunction(result) - runParamStatisticsFunction(result) - $("#lossParam").text(result[8]); - - $("#meterParam").text(result[9]); - }); - $.getJSON('/tankShellDevice/getRunParameters', function (result) { - runParamStatisticsFunction(result) - }); }) /*数据信息*/ @@ -85,16 +83,22 @@ const dataInformationFunction = (statusArray) => { let info = ` - + - - + +
${res.deviceStatus == 1 ? `正常` : `异常`} ${res.devicePower}kW ${test(res.devicePower,1000)} kW
${res.deviceEnergy}kW·h2 ${test(res.deviceEnergy,100)}kW·h0
`; - $("#dataInformation").append(info); + $("#dataInformation").html(info); + +} + +const test = (number,flag) =>{ + var info = Math.floor(number / flag); + return info.toFixed(2); } /*能耗产量统计*/ @@ -108,10 +112,11 @@ const energyProductionStatisticsFunction = (statusArray) => { `; - $("#energyProductionStatistics").append(info); + $("#energyProductionStatistics").html(info); } const runParamStatisticsFunction = (statusArray) => { + console.log(statusArray) let info = `
${statusArray[4]}
${statusArray[5]}
diff --git a/productionboard/target/classes/static/js/tankShell/index.js b/productionboard/target/classes/static/js/tankShell/index.js index e795fce..ea1d8e3 100644 --- a/productionboard/target/classes/static/js/tankShell/index.js +++ b/productionboard/target/classes/static/js/tankShell/index.js @@ -18,7 +18,7 @@ $(() => { //库存统计 $.getJSON('/tankShell/getMaterialStoreJson', function (result) { - multipleThreeDimensionalCylindrical(result, document.getElementById("inventoryStatistics")); + multipleThreeDimensionalCylindrical(result, document.getElementById("inventoryStatistics"),); }); setTimeout(fun, 10000) }