diff --git a/deviceboard/target/deviceboard-0.0.1-SNAPSHOT.jar b/deviceboard/target/deviceboard-0.0.1-SNAPSHOT.jar
index 42f6c91..3f2e5c4 100644
Binary files a/deviceboard/target/deviceboard-0.0.1-SNAPSHOT.jar and b/deviceboard/target/deviceboard-0.0.1-SNAPSHOT.jar differ
diff --git a/deviceboard/target/deviceboard-0.0.1-SNAPSHOT.jar.original b/deviceboard/target/deviceboard-0.0.1-SNAPSHOT.jar.original
index f160a8a..7c50e2b 100644
Binary files a/deviceboard/target/deviceboard-0.0.1-SNAPSHOT.jar.original and b/deviceboard/target/deviceboard-0.0.1-SNAPSHOT.jar.original differ
diff --git a/productionboard/src/main/resources/static/css/common/ondutyplan.css b/productionboard/src/main/resources/static/css/common/ondutyplan.css
index 53e49cc..c565020 100644
--- a/productionboard/src/main/resources/static/css/common/ondutyplan.css
+++ b/productionboard/src/main/resources/static/css/common/ondutyplan.css
@@ -15,7 +15,7 @@
.display-blocks span {
margin-top: 5%;
- margin-right: 16%;
+ margin-right: 15%;
}
.display-blocks span:last-child {
diff --git a/productionboard/src/main/resources/static/js/adsorptionTank/index.js b/productionboard/src/main/resources/static/js/adsorptionTank/index.js
index 5503ca3..ec84e0d 100644
--- a/productionboard/src/main/resources/static/js/adsorptionTank/index.js
+++ b/productionboard/src/main/resources/static/js/adsorptionTank/index.js
@@ -1,17 +1,23 @@
-$(()=>{
- onDutyPlan(1234,1202,33);
-
+$(() => {
+ // onDutyPlan(1234,1202,33);
+ $.getJSON('/adsorptionTank/getTeamStatisticsJson', function (result) {
+ storageStatistics(result.className, result.planAmount, result.actualAmount, result.differenceAmount,)
+ });
+
//按型号统计产量
- $.getJSON('/tankShell/getStatisticalOutputByModel', function (result) {
- horizontalBarChart(result,document.getElementById("statisticalOutputByModel"));
+ $.getJSON('/adsorptionTank/getMaterialProdutionJson', function (result) {
+ horizontalBarChart(result, document.getElementById("statisticalOutputByModel"));
});
//小时产量
- brokenLineAreaDiagram(null,document.getElementById("hourlyOutputStatistics"));
+ $.getJSON('/adsorptionTank/getHourProdutionJson', function (result) {
+ brokenLineAreaDiagram(result, document.getElementById("hourlyOutputStatistics"));
+ });
+
//库存统计
- $.getJSON('/tankShell/getInventoryStatistics', function (result) {
- threeDimensionalCylindrical(result,document.getElementById("inventoryStatistics"));
+ $.getJSON('/adsorptionTank/getMaterialStoreJson', function (result) {
+ threeDimensionalCylindrical(result, document.getElementById("inventoryStatistics"));
});
})
diff --git a/productionboard/src/main/resources/static/js/aluminumLiner/index.js b/productionboard/src/main/resources/static/js/aluminumLiner/index.js
index b11bfc0..b83f33a 100644
--- a/productionboard/src/main/resources/static/js/aluminumLiner/index.js
+++ b/productionboard/src/main/resources/static/js/aluminumLiner/index.js
@@ -4,7 +4,7 @@ $(() => {
$.getJSON('/aluminumLiner/getDataInformation', function (result) {
const statusArray = [1, 0, 0, 0, 0];
if (result.length > 0) {
- statusArray[0] = result[0].deviceStatus == "正常" ? 0 : 1;
+ statusArray[0] = result[0].deviceStatus == "正常" ? 1 : 0;
statusArray[1] = result[0].devicePower;
statusArray[2] = result[0].deviceEnergy;
}
diff --git a/productionboard/src/main/resources/static/js/aluminumTank/index.js b/productionboard/src/main/resources/static/js/aluminumTank/index.js
index e089ea3..133dc3b 100644
--- a/productionboard/src/main/resources/static/js/aluminumTank/index.js
+++ b/productionboard/src/main/resources/static/js/aluminumTank/index.js
@@ -1,17 +1,21 @@
$(()=>{
//班组统计
- onDutyPlan(1234,1202,33);
+ $.getJSON('/aluminumTank/getTeamStatisticsJson', function (result) {
+ storageStatistics(result.className, result.planAmount, result.actualAmount, result.differenceAmount,)
+ });
//按型号统计产量
- $.getJSON('/aluminumTank/getStatisticalOutputByModel', function (result) {
+ $.getJSON('/aluminumTank/getMaterialProdutionJson', function (result) {
horizontalBarChart(result,document.getElementById("statisticalOutputByModel"));
});
//小时产量
- bluePolygonHistogram(null,document.getElementById("hourlyOutputStatistics"));
+ $.getJSON('/aluminumTank/getHourProdutionJson', function (result) {
+ bluePolygonHistogram(result, document.getElementById("hourlyOutputStatistics"));
+ });
//库存统计
- $.getJSON('/aluminumTank/getInventoryStatistics', function (result) {
+ $.getJSON('/aluminumTank/getMaterialStoreJson', function (result) {
multipleThreeDimensionalCylindrical(result,document.getElementById("inventoryStatistics"));
});
})
diff --git a/productionboard/src/main/resources/static/js/common/echarts.common.js b/productionboard/src/main/resources/static/js/common/echarts.common.js
index 9f1a8ce..fb6f6c6 100644
--- a/productionboard/src/main/resources/static/js/common/echarts.common.js
+++ b/productionboard/src/main/resources/static/js/common/echarts.common.js
@@ -13,27 +13,12 @@
const horizontalBarChart = (res, ids) => {
let mycharts = echarts.init(ids);
+ const xValue = res.map(val => val.xValue)
+ const yValue = res.map(val => val.yValue)
//参考:https://www.makeapie.com/editor.html?c=xqjNqqjc_U
- let datas = [
- { ranking: 1, station: "SC227", value: 199999 },
- { ranking: 2, station: "SC228", value: 104970 },
- { ranking: 3, station: "SC229", value: 29034 },
- { ranking: 4, station: "SC223", value: 23489 },
- { ranking: 5, station: "SC224", value: 18203 },
- ];
let seriesName = "产量";
- function contains(arr, dst) {
- var i = arr.length;
- while ((i -= 1)) {
- if (arr[i] == dst) {
- return i;
- }
- }
- return false;
- }
-
let attackSourcesColor = [
new echarts.graphic.LinearGradient(0, 1, 1, 1, [
{ offset: 0, color: "#EB3B5A" },
@@ -69,10 +54,10 @@ const horizontalBarChart = (res, ids) => {
let stationData = [];
let values = [];
- res.datas.forEach(function (it, index) {
- stationData.push(it.station);
- values.push(it.value);
- });
+ // res.forEach(function (it, index) {
+ // stationData.push(it.station);
+ // values.push(it.value);
+ // });
function dataFormat(data) {
let arr = [];
@@ -127,7 +112,7 @@ const horizontalBarChart = (res, ids) => {
axisTick: {
show: false,
},
- data: stationData,
+ data: xValue,
axisLabel: {
margin: 30,
fontSize: 10,
@@ -152,7 +137,7 @@ const horizontalBarChart = (res, ids) => {
fontSize: "12",
},
},
- data: dataFormat(values),
+ data: dataFormat(yValue),
},
{
@@ -171,7 +156,7 @@ const horizontalBarChart = (res, ids) => {
lineHeight: 32,
fontSize: 12,
},
- data: dataFormat(stationData),
+ data: dataFormat(xValue),
},
],
series: [
@@ -180,7 +165,7 @@ const horizontalBarChart = (res, ids) => {
name: seriesName,
type: "bar",
barWidth: 15,
- data: dataFormat(values),
+ data: dataFormat(yValue),
align: "center",
itemStyle: {
normal: {
@@ -219,6 +204,8 @@ const horizontalBarChart = (res, ids) => {
//折线面积图
const brokenLineAreaDiagram = (res, ids) => {
+ const xValue = res.map(val => val.xValue)
+ const yValue = res.map(val => val.yValue)
let mycharts = echarts.init(ids);
let option = {
@@ -259,15 +246,7 @@ const brokenLineAreaDiagram = (res, ids) => {
axisTick: {
show: false,
},
- data: [
- "07",
- "08",
- "09",
- "10",
- "11",
- "12",
- "13",
- ],
+ data: xValue,
},
],
yAxis: [
@@ -351,7 +330,7 @@ const brokenLineAreaDiagram = (res, ids) => {
shadowBlur: 20, //shadowBlur设图形阴影的模糊大小。配合shadowColor,shadowOffsetX/Y, 设置图形的阴影效果。
},
},
- data: [100, 120, 110, 60, 70, 130, 150],
+ data: yValue,
}
],
};
@@ -363,20 +342,13 @@ const brokenLineAreaDiagram = (res, ids) => {
//立体柱状图
const threeDimensionalCylindrical = (res, ids) => {
let mycharts = echarts.init(ids);
-
- let xAxisData = [];
- let seriesData1 = [];
- let sum = 0;
+ const xValue = res.map(val => val.materialName)
+ const yValue = res.map(val => val.lineStoreAmount)
let barTopColor = ["#02c3f1"];
let barBottomColor = [
"rgba(2,195,241,0.1)",
];
- res.datas.forEach((item) => {
- xAxisData.push(item.name);
- seriesData1.push(item.value);
- sum += item.value;
- });
let option = {
grid: {
@@ -384,7 +356,7 @@ const threeDimensionalCylindrical = (res, ids) => {
bottom: "25%",
},
xAxis: {
- data: xAxisData,
+ data: xValue,
axisTick: {
show: false,
},
@@ -449,7 +421,7 @@ const threeDimensionalCylindrical = (res, ids) => {
},
},
symbolPosition: "end",
- data: seriesData1,
+ data: yValue,
},
{
name: "柱底部",
@@ -464,7 +436,7 @@ const threeDimensionalCylindrical = (res, ids) => {
},
},
},
- data: seriesData1,
+ data: yValue,
},
{
name: "第一圈",
@@ -479,7 +451,7 @@ const threeDimensionalCylindrical = (res, ids) => {
borderWidth: 4,
},
},
- data: [seriesData1[0], "", ""],
+ data: [yValue[0], "", ""],
},
{
name: "第一圈",
@@ -494,7 +466,7 @@ const threeDimensionalCylindrical = (res, ids) => {
borderWidth: 4,
},
},
- data: ["", seriesData1[1], ""],
+ data: ["", yValue[1], ""],
},
{
name: "第一圈",
@@ -509,7 +481,7 @@ const threeDimensionalCylindrical = (res, ids) => {
borderWidth: 4,
},
},
- data: ["", "", seriesData1[2]],
+ data: ["", "", yValue[2]],
},
{
name: "第二圈",
@@ -524,7 +496,7 @@ const threeDimensionalCylindrical = (res, ids) => {
borderWidth: 4,
},
},
- data: [seriesData1[0], "", ""],
+ data: [yValue[0], "", ""],
},
{
name: "第二圈",
@@ -539,7 +511,7 @@ const threeDimensionalCylindrical = (res, ids) => {
borderWidth: 4,
},
},
- data: ["", seriesData1[1], ""],
+ data: ["", yValue[1], ""],
},
{
name: "第二圈",
@@ -554,7 +526,7 @@ const threeDimensionalCylindrical = (res, ids) => {
borderWidth: 4,
},
},
- data: ["", "", seriesData1[2]],
+ data: ["", "", yValue[2]],
},
{
@@ -580,7 +552,7 @@ const threeDimensionalCylindrical = (res, ids) => {
silent: true,
barWidth: 26,
barGap: "-100%", // Make series be overlap
- data: seriesData1,
+ data: yValue,
},
],
};
@@ -847,7 +819,15 @@ const multipleBrokenLineAreaDiagram = (res, ids) => {
//绿色多边形柱状图
const greenPolygonalHistogram = (res, ids) => {
let mycharts = echarts.init(ids);
-
+ const xValue = res.map(val => val.xValue)
+ const yValue = res.map(val => val.yValue)
+ const maxNum = Math.max(...yValue)
+ const maxArr = []
+ const minArr = []
+ yValue.forEach(val => {
+ maxArr.push(maxNum)
+ minArr.push(1)
+ })
let option = {
color: [
"#68E683",
@@ -899,16 +879,7 @@ const greenPolygonalHistogram = (res, ids) => {
},
show: true,
},
- data: [
- "7点",
- "8点",
- "9点",
- "10点",
- "11点",
- "12点",
- "13点",
- "14点",
- ],
+ data: xValue,
type: "category",
},
yAxis: {
@@ -943,7 +914,7 @@ const greenPolygonalHistogram = (res, ids) => {
},
series: [
{
- data: [200, 85, 112, 275, 305, 415, 741, 405],
+ data: yValue,
type: "bar",
barMaxWidth: "auto",
barWidth: 30,
@@ -975,7 +946,7 @@ const greenPolygonalHistogram = (res, ids) => {
},
},
{
- data: [1, 1, 1, 1, 1, 1, 1, 1],
+ data: minArr,
type: "pictorialBar",
barMaxWidth: "20",
symbol: "diamond",
@@ -983,7 +954,7 @@ const greenPolygonalHistogram = (res, ids) => {
symbolSize: [30, 15],
},
{
- data: [200, 85, 112, 275, 305, 415, 741, 405],
+ data: yValue,
type: "pictorialBar",
barMaxWidth: "20",
symbolPosition: "end",
@@ -993,7 +964,7 @@ const greenPolygonalHistogram = (res, ids) => {
zlevel: 2,
},
{
- data: [741, 741, 741, 741, 741, 741, 741, 741],
+ data: maxArr,
type: "bar",
barMaxWidth: "auto",
barWidth: 30,
@@ -1001,7 +972,7 @@ const greenPolygonalHistogram = (res, ids) => {
zlevel: -1,
},
{
- data: [1, 1, 1, 1, 1, 1, 1, 1],
+ data: minArr,
type: "pictorialBar",
barMaxWidth: "20",
symbol: "diamond",
@@ -1010,7 +981,7 @@ const greenPolygonalHistogram = (res, ids) => {
zlevel: -2,
},
{
- data: [741, 741, 741, 741, 741, 741, 741, 741],
+ data: maxArr,
type: "pictorialBar",
barMaxWidth: "20",
symbolPosition: "end",
@@ -1033,6 +1004,15 @@ const greenPolygonalHistogram = (res, ids) => {
//蓝色多边形柱状图
const bluePolygonHistogram = (res, ids) => {
let mycharts = echarts.init(ids);
+ const xValue = res.map(val => val.xValue)
+ const yValue = res.map(val => val.yValue)
+ const maxNum = Math.max(...yValue)
+ const maxArr = []
+ const minArr = []
+ yValue.forEach(val => {
+ maxArr.push(maxNum)
+ minArr.push(1)
+ })
let option = {
color: [
@@ -1085,16 +1065,7 @@ const bluePolygonHistogram = (res, ids) => {
},
show: true,
},
- data: [
- "7点",
- "8点",
- "9点",
- "10点",
- "11点",
- "12点",
- "13点",
- "14点",
- ],
+ data: xValue,
type: "category",
},
yAxis: {
@@ -1129,7 +1100,7 @@ const bluePolygonHistogram = (res, ids) => {
},
series: [
{
- data: [200, 85, 112, 275, 305, 415, 741, 405],
+ data:yValue,
type: "bar",
barMaxWidth: "auto",
barWidth: 30,
@@ -1161,7 +1132,7 @@ const bluePolygonHistogram = (res, ids) => {
},
},
{
- data: [1, 1, 1, 1, 1, 1, 1, 1],
+ data: minArr,
type: "pictorialBar",
barMaxWidth: "20",
symbol: "diamond",
@@ -1169,7 +1140,7 @@ const bluePolygonHistogram = (res, ids) => {
symbolSize: [30, 15],
},
{
- data: [200, 85, 112, 275, 305, 415, 741, 405],
+ data: yValue,
type: "pictorialBar",
barMaxWidth: "20",
symbolPosition: "end",
@@ -1179,7 +1150,7 @@ const bluePolygonHistogram = (res, ids) => {
zlevel: 2,
},
{
- data: [741, 741, 741, 741, 741, 741, 741, 741],
+ data: maxArr,
type: "bar",
barMaxWidth: "auto",
barWidth: 30,
@@ -1187,7 +1158,7 @@ const bluePolygonHistogram = (res, ids) => {
zlevel: -1,
},
{
- data: [1, 1, 1, 1, 1, 1, 1, 1],
+ data: minArr,
type: "pictorialBar",
barMaxWidth: "20",
symbol: "diamond",
@@ -1196,7 +1167,7 @@ const bluePolygonHistogram = (res, ids) => {
zlevel: -2,
},
{
- data: [741, 741, 741, 741, 741, 741, 741, 741],
+ data: maxArr,
type: "pictorialBar",
barMaxWidth: "20",
symbolPosition: "end",
@@ -1220,6 +1191,10 @@ const bluePolygonHistogram = (res, ids) => {
//多个立体柱状图
const multipleThreeDimensionalCylindrical = (res, ids) => {
let mycharts = echarts.init(ids);
+ console.log(res);
+ const xValue = res.map(val => val.materialName)
+ const lineStoreAmount = res.map(val => val.lineStoreAmount)
+ const hullStoreAmount = res.map(val => val.hullStoreAmount)
let lineColor = "#406A92";
let labelColor = "#fff";
let fontSize = "12";
@@ -1281,7 +1256,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => {
color: "#197584",
},
},
- data: ["SC329", "SC528"],
+ data: xValue,
},
],
yAxis: [
@@ -1346,7 +1321,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => {
},
},
color: "#26B2E8",
- data: [99.9, 99.9],
+ data:hullStoreAmount,
},
{
name: "",
@@ -1366,7 +1341,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => {
borderWidth: 20,
},
},
- data: [99.9, 99.9],
+ data: lineStoreAmount,
},
{
name: "",
@@ -1385,7 +1360,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => {
borderWidth: 20,
},
},
- data: [99.9, 99.9],
+ data: lineStoreAmount,
},
{
name: "",
@@ -1397,7 +1372,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => {
symbolOffset: [-39, 5],
z: 12,
color: "#26B2E8",
- data: [99.9, 99.9],
+ data:lineStoreAmount,
},
{
type: "bar",
@@ -1412,7 +1387,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => {
fontSize: fontSize,
color: "#fff",
opacity: 1,
- formatter: "{c}%",
+ formatter: "{c}",
offset: [0, -20],
},
},
@@ -1422,7 +1397,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => {
opacity: 1,
},
},
- data: [99.9, 99.9],
+ data:hullStoreAmount,
},
{
name: "",
@@ -1443,7 +1418,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => {
},
},
color: "#20D3AB",
- data: [99.9, 99.9],
+ data: lineStoreAmount,
},
{
name: "",
@@ -1462,7 +1437,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => {
borderWidth: 20,
},
},
- data: [99.9, 99.9],
+ data: lineStoreAmount,
},
{
name: "",
@@ -1481,7 +1456,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => {
borderWidth: 20,
},
},
- data: [99.9, 99.9],
+ data: lineStoreAmount,
},
{
name: "",
@@ -1493,7 +1468,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => {
symbolOffset: [39, 5],
z: 12,
color: "#20D3AB",
- data: [99.9, 99.9],
+ data:lineStoreAmount,
},
{
type: "bar",
@@ -1507,7 +1482,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => {
position: "top",
fontSize: fontSize,
color: "#fff",
- formatter: "{c}%",
+ formatter: "{c}",
offset: [0, -20],
},
},
@@ -1517,7 +1492,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => {
opacity: 1,
},
},
- data: [99.9, 99.9],
+ data: lineStoreAmount,
},
],
};
@@ -2311,7 +2286,6 @@ const equipmentFailure = (res, ids) => {
// 设备产量能耗对比
const energyConsumption = (res, ids) => {
- console.log(res);
let mycharts = echarts.init(ids);
let xAxisData = res.xValueArray;// x
let yAxisDataOne = res.productionArray;// 产量
diff --git a/productionboard/src/main/resources/static/js/common/synthetic.js b/productionboard/src/main/resources/static/js/common/synthetic.js
index b74a383..2074927 100644
--- a/productionboard/src/main/resources/static/js/common/synthetic.js
+++ b/productionboard/src/main/resources/static/js/common/synthetic.js
@@ -36,8 +36,8 @@ const synthetic = (statusArray) => {
|
- ${statusArray[8] || 0}
- ${statusArray[9] || 0}
+ ${statusArray[8] || 0}
+ ${statusArray[9] || 0}
`;
$("#synthetic").append(info);
}
diff --git a/productionboard/src/main/resources/static/js/common/update-split-blocks.js b/productionboard/src/main/resources/static/js/common/update-split-blocks.js
index 0c8fc27..f8b3756 100644
--- a/productionboard/src/main/resources/static/js/common/update-split-blocks.js
+++ b/productionboard/src/main/resources/static/js/common/update-split-blocks.js
@@ -6,12 +6,18 @@ function updateSplitBlocks(num, selectors) {
}
function numberPad(num, length, abs = false) {
- if (isNaN(num)) {
- num = 0
- }
+ // if (isNaN(num)) {
+ // num = 0
+ // }
const negative = num < 0 && !abs
- const outStr = Math.abs(num).toString().padStart(length, '0')
+ // const outStr = Math.abs(num).toString().padStart(length, '0')
+ if (isNaN(num)) {
+ var outStr = num.toString().padStart(length, '-')
+ } else {
+ var outStr = num.toString().padStart(length, '0')
+ }
+ // const outStr = num.toString().padStart(length, '0')
if (negative) {
return '-' + outStr
}
diff --git a/productionboard/src/main/resources/static/js/preassemble/index.js b/productionboard/src/main/resources/static/js/preassemble/index.js
index eea9c3e..cae72bd 100644
--- a/productionboard/src/main/resources/static/js/preassemble/index.js
+++ b/productionboard/src/main/resources/static/js/preassemble/index.js
@@ -1,16 +1,20 @@
$(()=>{
- onDutyPlan(1234,1202,33);
+ // onDutyPlan(1234,1202,33);
+ $.getJSON('/preassemble/getTeamStatisticsJson', function (result) {
+ storageStatistics(result.className, result.planAmount, result.actualAmount, result.differenceAmount,)
+ });
//按型号统计产量
- $.getJSON('/tankShell/getStatisticalOutputByModel', function (result) {
- console.log(result);
+ $.getJSON('/preassemble/getMaterialProdutionJson', function (result) {
horizontalBarChart(result,document.getElementById("statisticalOutputByModel"));
});
//小时产量
- greenPolygonalHistogram(null,document.getElementById("hourlyOutputStatistics"));
+ $.getJSON('/preassemble/getHourProdutionJson', function (result) {
+ greenPolygonalHistogram(result, document.getElementById("hourlyOutputStatistics"));
+ });
//库存统计
- $.getJSON('/tankShell/getInventoryStatistics', function (result) {
+ $.getJSON('/preassemble/getMaterialStoreJson', function (result) {
threeDimensionalCylindrical(result,document.getElementById("inventoryStatistics"));
});
diff --git a/productionboard/src/main/resources/static/js/tankShell/index.js b/productionboard/src/main/resources/static/js/tankShell/index.js
index 03ae958..7ba7fed 100644
--- a/productionboard/src/main/resources/static/js/tankShell/index.js
+++ b/productionboard/src/main/resources/static/js/tankShell/index.js
@@ -1,17 +1,22 @@
$(()=>{
//班组统计
- onDutyPlan(1234,1202,33);
+ // onDutyPlan(1234,1202,33);
+ $.getJSON('/tankShell/getTeamStatisticsJson', function (result) {
+ storageStatistics(result.className, result.planAmount, result.actualAmount, result.differenceAmount,)
+ });
//按型号统计产量
- $.getJSON('/tankShell/getStatisticalOutputByModel', function (result) {
+ $.getJSON('/tankShell/getMaterialProdutionJson', function (result) {
horizontalBarChart(result,document.getElementById("statisticalOutputByModel"));
});
//小时产量
- brokenLineAreaDiagram(null,document.getElementById("hourlyOutputStatistics"));
+ $.getJSON('/tankShell/getHourProdutionJson', function (result) {
+ brokenLineAreaDiagram(result, document.getElementById("hourlyOutputStatistics"));
+ });
//库存统计
- $.getJSON('/tankShell/getInventoryStatistics', function (result) {
+ $.getJSON('/tankShell/getMaterialStoreJson', function (result) {
multipleThreeDimensionalCylindrical(result,document.getElementById("inventoryStatistics"));
});
})
diff --git a/productionboard/target/classes/com/productionboard/controller/AdsorptionTankController.class b/productionboard/target/classes/com/productionboard/controller/AdsorptionTankController.class
index b2c9cc1..a14f7f6 100644
Binary files a/productionboard/target/classes/com/productionboard/controller/AdsorptionTankController.class and b/productionboard/target/classes/com/productionboard/controller/AdsorptionTankController.class differ
diff --git a/productionboard/target/classes/com/productionboard/controller/AluminumTtankController.class b/productionboard/target/classes/com/productionboard/controller/AluminumTtankController.class
index a5e04f0..85f4c74 100644
Binary files a/productionboard/target/classes/com/productionboard/controller/AluminumTtankController.class and b/productionboard/target/classes/com/productionboard/controller/AluminumTtankController.class differ
diff --git a/productionboard/target/classes/com/productionboard/controller/FoamBoxController.class b/productionboard/target/classes/com/productionboard/controller/FoamBoxController.class
index 6c7a0fa..5ce13a4 100644
Binary files a/productionboard/target/classes/com/productionboard/controller/FoamBoxController.class and b/productionboard/target/classes/com/productionboard/controller/FoamBoxController.class differ
diff --git a/productionboard/target/classes/com/productionboard/controller/PreassembleController.class b/productionboard/target/classes/com/productionboard/controller/PreassembleController.class
index 226c541..cd4196e 100644
Binary files a/productionboard/target/classes/com/productionboard/controller/PreassembleController.class and b/productionboard/target/classes/com/productionboard/controller/PreassembleController.class differ
diff --git a/productionboard/target/classes/com/productionboard/controller/TankShellController.class b/productionboard/target/classes/com/productionboard/controller/TankShellController.class
index 5aa04e7..b237e27 100644
Binary files a/productionboard/target/classes/com/productionboard/controller/TankShellController.class and b/productionboard/target/classes/com/productionboard/controller/TankShellController.class differ
diff --git a/productionboard/target/classes/com/productionboard/entity/MesProduction/MesHourProdutionStatistics.class b/productionboard/target/classes/com/productionboard/entity/MesProduction/MesHourProdutionStatistics.class
index 4cb9880..7241034 100644
Binary files a/productionboard/target/classes/com/productionboard/entity/MesProduction/MesHourProdutionStatistics.class and b/productionboard/target/classes/com/productionboard/entity/MesProduction/MesHourProdutionStatistics.class differ
diff --git a/productionboard/target/classes/com/productionboard/entity/MesProduction/MesMaterialProductionStatistics.class b/productionboard/target/classes/com/productionboard/entity/MesProduction/MesMaterialProductionStatistics.class
index f970c2b..1f0f6e8 100644
Binary files a/productionboard/target/classes/com/productionboard/entity/MesProduction/MesMaterialProductionStatistics.class and b/productionboard/target/classes/com/productionboard/entity/MesProduction/MesMaterialProductionStatistics.class differ
diff --git a/productionboard/target/classes/com/productionboard/entity/MesProduction/MesMaterialStoreStatistics.class b/productionboard/target/classes/com/productionboard/entity/MesProduction/MesMaterialStoreStatistics.class
index 44615c4..87db1b4 100644
Binary files a/productionboard/target/classes/com/productionboard/entity/MesProduction/MesMaterialStoreStatistics.class and b/productionboard/target/classes/com/productionboard/entity/MesProduction/MesMaterialStoreStatistics.class differ
diff --git a/productionboard/target/classes/com/productionboard/entity/MesProduction/MesTeamStatistics.class b/productionboard/target/classes/com/productionboard/entity/MesProduction/MesTeamStatistics.class
index 815c989..ef8ad20 100644
Binary files a/productionboard/target/classes/com/productionboard/entity/MesProduction/MesTeamStatistics.class and b/productionboard/target/classes/com/productionboard/entity/MesProduction/MesTeamStatistics.class differ
diff --git a/productionboard/target/classes/com/productionboard/mapper/MesHourProdutionStatisticsMapper.class b/productionboard/target/classes/com/productionboard/mapper/MesHourProdutionStatisticsMapper.class
index 8839703..7b483c7 100644
Binary files a/productionboard/target/classes/com/productionboard/mapper/MesHourProdutionStatisticsMapper.class and b/productionboard/target/classes/com/productionboard/mapper/MesHourProdutionStatisticsMapper.class differ
diff --git a/productionboard/target/classes/com/productionboard/mapper/MesMaterialProductionStatisticsMapper.class b/productionboard/target/classes/com/productionboard/mapper/MesMaterialProductionStatisticsMapper.class
index f680f05..aeba075 100644
Binary files a/productionboard/target/classes/com/productionboard/mapper/MesMaterialProductionStatisticsMapper.class and b/productionboard/target/classes/com/productionboard/mapper/MesMaterialProductionStatisticsMapper.class differ
diff --git a/productionboard/target/classes/com/productionboard/mapper/MesMaterialStoreStatisticsMapper.class b/productionboard/target/classes/com/productionboard/mapper/MesMaterialStoreStatisticsMapper.class
index 5b711b2..35b6a30 100644
Binary files a/productionboard/target/classes/com/productionboard/mapper/MesMaterialStoreStatisticsMapper.class and b/productionboard/target/classes/com/productionboard/mapper/MesMaterialStoreStatisticsMapper.class differ
diff --git a/productionboard/target/classes/com/productionboard/mapper/MesTeamStatisticsMapper.class b/productionboard/target/classes/com/productionboard/mapper/MesTeamStatisticsMapper.class
index b266a07..e96c840 100644
Binary files a/productionboard/target/classes/com/productionboard/mapper/MesTeamStatisticsMapper.class and b/productionboard/target/classes/com/productionboard/mapper/MesTeamStatisticsMapper.class differ
diff --git a/productionboard/target/classes/com/productionboard/service/IMesProductionDataService.class b/productionboard/target/classes/com/productionboard/service/IMesProductionDataService.class
index e42f6cf..200ce87 100644
Binary files a/productionboard/target/classes/com/productionboard/service/IMesProductionDataService.class and b/productionboard/target/classes/com/productionboard/service/IMesProductionDataService.class differ
diff --git a/productionboard/target/classes/com/productionboard/service/impl/MesProductionDataServiceImpl.class b/productionboard/target/classes/com/productionboard/service/impl/MesProductionDataServiceImpl.class
index 75d074d..cc3c077 100644
Binary files a/productionboard/target/classes/com/productionboard/service/impl/MesProductionDataServiceImpl.class and b/productionboard/target/classes/com/productionboard/service/impl/MesProductionDataServiceImpl.class differ
diff --git a/productionboard/target/classes/static/css/common/ondutyplan.css b/productionboard/target/classes/static/css/common/ondutyplan.css
index 53e49cc..c565020 100644
--- a/productionboard/target/classes/static/css/common/ondutyplan.css
+++ b/productionboard/target/classes/static/css/common/ondutyplan.css
@@ -15,7 +15,7 @@
.display-blocks span {
margin-top: 5%;
- margin-right: 16%;
+ margin-right: 15%;
}
.display-blocks span:last-child {
diff --git a/productionboard/target/classes/static/js/adsorptionTank/index.js b/productionboard/target/classes/static/js/adsorptionTank/index.js
index 5503ca3..ec84e0d 100644
--- a/productionboard/target/classes/static/js/adsorptionTank/index.js
+++ b/productionboard/target/classes/static/js/adsorptionTank/index.js
@@ -1,17 +1,23 @@
-$(()=>{
- onDutyPlan(1234,1202,33);
-
+$(() => {
+ // onDutyPlan(1234,1202,33);
+ $.getJSON('/adsorptionTank/getTeamStatisticsJson', function (result) {
+ storageStatistics(result.className, result.planAmount, result.actualAmount, result.differenceAmount,)
+ });
+
//按型号统计产量
- $.getJSON('/tankShell/getStatisticalOutputByModel', function (result) {
- horizontalBarChart(result,document.getElementById("statisticalOutputByModel"));
+ $.getJSON('/adsorptionTank/getMaterialProdutionJson', function (result) {
+ horizontalBarChart(result, document.getElementById("statisticalOutputByModel"));
});
//小时产量
- brokenLineAreaDiagram(null,document.getElementById("hourlyOutputStatistics"));
+ $.getJSON('/adsorptionTank/getHourProdutionJson', function (result) {
+ brokenLineAreaDiagram(result, document.getElementById("hourlyOutputStatistics"));
+ });
+
//库存统计
- $.getJSON('/tankShell/getInventoryStatistics', function (result) {
- threeDimensionalCylindrical(result,document.getElementById("inventoryStatistics"));
+ $.getJSON('/adsorptionTank/getMaterialStoreJson', function (result) {
+ threeDimensionalCylindrical(result, document.getElementById("inventoryStatistics"));
});
})
diff --git a/productionboard/target/classes/static/js/aluminumLiner/index.js b/productionboard/target/classes/static/js/aluminumLiner/index.js
index b11bfc0..b83f33a 100644
--- a/productionboard/target/classes/static/js/aluminumLiner/index.js
+++ b/productionboard/target/classes/static/js/aluminumLiner/index.js
@@ -4,7 +4,7 @@ $(() => {
$.getJSON('/aluminumLiner/getDataInformation', function (result) {
const statusArray = [1, 0, 0, 0, 0];
if (result.length > 0) {
- statusArray[0] = result[0].deviceStatus == "正常" ? 0 : 1;
+ statusArray[0] = result[0].deviceStatus == "正常" ? 1 : 0;
statusArray[1] = result[0].devicePower;
statusArray[2] = result[0].deviceEnergy;
}
diff --git a/productionboard/target/classes/static/js/aluminumTank/index.js b/productionboard/target/classes/static/js/aluminumTank/index.js
index e089ea3..133dc3b 100644
--- a/productionboard/target/classes/static/js/aluminumTank/index.js
+++ b/productionboard/target/classes/static/js/aluminumTank/index.js
@@ -1,17 +1,21 @@
$(()=>{
//班组统计
- onDutyPlan(1234,1202,33);
+ $.getJSON('/aluminumTank/getTeamStatisticsJson', function (result) {
+ storageStatistics(result.className, result.planAmount, result.actualAmount, result.differenceAmount,)
+ });
//按型号统计产量
- $.getJSON('/aluminumTank/getStatisticalOutputByModel', function (result) {
+ $.getJSON('/aluminumTank/getMaterialProdutionJson', function (result) {
horizontalBarChart(result,document.getElementById("statisticalOutputByModel"));
});
//小时产量
- bluePolygonHistogram(null,document.getElementById("hourlyOutputStatistics"));
+ $.getJSON('/aluminumTank/getHourProdutionJson', function (result) {
+ bluePolygonHistogram(result, document.getElementById("hourlyOutputStatistics"));
+ });
//库存统计
- $.getJSON('/aluminumTank/getInventoryStatistics', function (result) {
+ $.getJSON('/aluminumTank/getMaterialStoreJson', function (result) {
multipleThreeDimensionalCylindrical(result,document.getElementById("inventoryStatistics"));
});
})
diff --git a/productionboard/target/classes/static/js/common/echarts.common.js b/productionboard/target/classes/static/js/common/echarts.common.js
index 9f1a8ce..fb6f6c6 100644
--- a/productionboard/target/classes/static/js/common/echarts.common.js
+++ b/productionboard/target/classes/static/js/common/echarts.common.js
@@ -13,27 +13,12 @@
const horizontalBarChart = (res, ids) => {
let mycharts = echarts.init(ids);
+ const xValue = res.map(val => val.xValue)
+ const yValue = res.map(val => val.yValue)
//参考:https://www.makeapie.com/editor.html?c=xqjNqqjc_U
- let datas = [
- { ranking: 1, station: "SC227", value: 199999 },
- { ranking: 2, station: "SC228", value: 104970 },
- { ranking: 3, station: "SC229", value: 29034 },
- { ranking: 4, station: "SC223", value: 23489 },
- { ranking: 5, station: "SC224", value: 18203 },
- ];
let seriesName = "产量";
- function contains(arr, dst) {
- var i = arr.length;
- while ((i -= 1)) {
- if (arr[i] == dst) {
- return i;
- }
- }
- return false;
- }
-
let attackSourcesColor = [
new echarts.graphic.LinearGradient(0, 1, 1, 1, [
{ offset: 0, color: "#EB3B5A" },
@@ -69,10 +54,10 @@ const horizontalBarChart = (res, ids) => {
let stationData = [];
let values = [];
- res.datas.forEach(function (it, index) {
- stationData.push(it.station);
- values.push(it.value);
- });
+ // res.forEach(function (it, index) {
+ // stationData.push(it.station);
+ // values.push(it.value);
+ // });
function dataFormat(data) {
let arr = [];
@@ -127,7 +112,7 @@ const horizontalBarChart = (res, ids) => {
axisTick: {
show: false,
},
- data: stationData,
+ data: xValue,
axisLabel: {
margin: 30,
fontSize: 10,
@@ -152,7 +137,7 @@ const horizontalBarChart = (res, ids) => {
fontSize: "12",
},
},
- data: dataFormat(values),
+ data: dataFormat(yValue),
},
{
@@ -171,7 +156,7 @@ const horizontalBarChart = (res, ids) => {
lineHeight: 32,
fontSize: 12,
},
- data: dataFormat(stationData),
+ data: dataFormat(xValue),
},
],
series: [
@@ -180,7 +165,7 @@ const horizontalBarChart = (res, ids) => {
name: seriesName,
type: "bar",
barWidth: 15,
- data: dataFormat(values),
+ data: dataFormat(yValue),
align: "center",
itemStyle: {
normal: {
@@ -219,6 +204,8 @@ const horizontalBarChart = (res, ids) => {
//折线面积图
const brokenLineAreaDiagram = (res, ids) => {
+ const xValue = res.map(val => val.xValue)
+ const yValue = res.map(val => val.yValue)
let mycharts = echarts.init(ids);
let option = {
@@ -259,15 +246,7 @@ const brokenLineAreaDiagram = (res, ids) => {
axisTick: {
show: false,
},
- data: [
- "07",
- "08",
- "09",
- "10",
- "11",
- "12",
- "13",
- ],
+ data: xValue,
},
],
yAxis: [
@@ -351,7 +330,7 @@ const brokenLineAreaDiagram = (res, ids) => {
shadowBlur: 20, //shadowBlur设图形阴影的模糊大小。配合shadowColor,shadowOffsetX/Y, 设置图形的阴影效果。
},
},
- data: [100, 120, 110, 60, 70, 130, 150],
+ data: yValue,
}
],
};
@@ -363,20 +342,13 @@ const brokenLineAreaDiagram = (res, ids) => {
//立体柱状图
const threeDimensionalCylindrical = (res, ids) => {
let mycharts = echarts.init(ids);
-
- let xAxisData = [];
- let seriesData1 = [];
- let sum = 0;
+ const xValue = res.map(val => val.materialName)
+ const yValue = res.map(val => val.lineStoreAmount)
let barTopColor = ["#02c3f1"];
let barBottomColor = [
"rgba(2,195,241,0.1)",
];
- res.datas.forEach((item) => {
- xAxisData.push(item.name);
- seriesData1.push(item.value);
- sum += item.value;
- });
let option = {
grid: {
@@ -384,7 +356,7 @@ const threeDimensionalCylindrical = (res, ids) => {
bottom: "25%",
},
xAxis: {
- data: xAxisData,
+ data: xValue,
axisTick: {
show: false,
},
@@ -449,7 +421,7 @@ const threeDimensionalCylindrical = (res, ids) => {
},
},
symbolPosition: "end",
- data: seriesData1,
+ data: yValue,
},
{
name: "柱底部",
@@ -464,7 +436,7 @@ const threeDimensionalCylindrical = (res, ids) => {
},
},
},
- data: seriesData1,
+ data: yValue,
},
{
name: "第一圈",
@@ -479,7 +451,7 @@ const threeDimensionalCylindrical = (res, ids) => {
borderWidth: 4,
},
},
- data: [seriesData1[0], "", ""],
+ data: [yValue[0], "", ""],
},
{
name: "第一圈",
@@ -494,7 +466,7 @@ const threeDimensionalCylindrical = (res, ids) => {
borderWidth: 4,
},
},
- data: ["", seriesData1[1], ""],
+ data: ["", yValue[1], ""],
},
{
name: "第一圈",
@@ -509,7 +481,7 @@ const threeDimensionalCylindrical = (res, ids) => {
borderWidth: 4,
},
},
- data: ["", "", seriesData1[2]],
+ data: ["", "", yValue[2]],
},
{
name: "第二圈",
@@ -524,7 +496,7 @@ const threeDimensionalCylindrical = (res, ids) => {
borderWidth: 4,
},
},
- data: [seriesData1[0], "", ""],
+ data: [yValue[0], "", ""],
},
{
name: "第二圈",
@@ -539,7 +511,7 @@ const threeDimensionalCylindrical = (res, ids) => {
borderWidth: 4,
},
},
- data: ["", seriesData1[1], ""],
+ data: ["", yValue[1], ""],
},
{
name: "第二圈",
@@ -554,7 +526,7 @@ const threeDimensionalCylindrical = (res, ids) => {
borderWidth: 4,
},
},
- data: ["", "", seriesData1[2]],
+ data: ["", "", yValue[2]],
},
{
@@ -580,7 +552,7 @@ const threeDimensionalCylindrical = (res, ids) => {
silent: true,
barWidth: 26,
barGap: "-100%", // Make series be overlap
- data: seriesData1,
+ data: yValue,
},
],
};
@@ -847,7 +819,15 @@ const multipleBrokenLineAreaDiagram = (res, ids) => {
//绿色多边形柱状图
const greenPolygonalHistogram = (res, ids) => {
let mycharts = echarts.init(ids);
-
+ const xValue = res.map(val => val.xValue)
+ const yValue = res.map(val => val.yValue)
+ const maxNum = Math.max(...yValue)
+ const maxArr = []
+ const minArr = []
+ yValue.forEach(val => {
+ maxArr.push(maxNum)
+ minArr.push(1)
+ })
let option = {
color: [
"#68E683",
@@ -899,16 +879,7 @@ const greenPolygonalHistogram = (res, ids) => {
},
show: true,
},
- data: [
- "7点",
- "8点",
- "9点",
- "10点",
- "11点",
- "12点",
- "13点",
- "14点",
- ],
+ data: xValue,
type: "category",
},
yAxis: {
@@ -943,7 +914,7 @@ const greenPolygonalHistogram = (res, ids) => {
},
series: [
{
- data: [200, 85, 112, 275, 305, 415, 741, 405],
+ data: yValue,
type: "bar",
barMaxWidth: "auto",
barWidth: 30,
@@ -975,7 +946,7 @@ const greenPolygonalHistogram = (res, ids) => {
},
},
{
- data: [1, 1, 1, 1, 1, 1, 1, 1],
+ data: minArr,
type: "pictorialBar",
barMaxWidth: "20",
symbol: "diamond",
@@ -983,7 +954,7 @@ const greenPolygonalHistogram = (res, ids) => {
symbolSize: [30, 15],
},
{
- data: [200, 85, 112, 275, 305, 415, 741, 405],
+ data: yValue,
type: "pictorialBar",
barMaxWidth: "20",
symbolPosition: "end",
@@ -993,7 +964,7 @@ const greenPolygonalHistogram = (res, ids) => {
zlevel: 2,
},
{
- data: [741, 741, 741, 741, 741, 741, 741, 741],
+ data: maxArr,
type: "bar",
barMaxWidth: "auto",
barWidth: 30,
@@ -1001,7 +972,7 @@ const greenPolygonalHistogram = (res, ids) => {
zlevel: -1,
},
{
- data: [1, 1, 1, 1, 1, 1, 1, 1],
+ data: minArr,
type: "pictorialBar",
barMaxWidth: "20",
symbol: "diamond",
@@ -1010,7 +981,7 @@ const greenPolygonalHistogram = (res, ids) => {
zlevel: -2,
},
{
- data: [741, 741, 741, 741, 741, 741, 741, 741],
+ data: maxArr,
type: "pictorialBar",
barMaxWidth: "20",
symbolPosition: "end",
@@ -1033,6 +1004,15 @@ const greenPolygonalHistogram = (res, ids) => {
//蓝色多边形柱状图
const bluePolygonHistogram = (res, ids) => {
let mycharts = echarts.init(ids);
+ const xValue = res.map(val => val.xValue)
+ const yValue = res.map(val => val.yValue)
+ const maxNum = Math.max(...yValue)
+ const maxArr = []
+ const minArr = []
+ yValue.forEach(val => {
+ maxArr.push(maxNum)
+ minArr.push(1)
+ })
let option = {
color: [
@@ -1085,16 +1065,7 @@ const bluePolygonHistogram = (res, ids) => {
},
show: true,
},
- data: [
- "7点",
- "8点",
- "9点",
- "10点",
- "11点",
- "12点",
- "13点",
- "14点",
- ],
+ data: xValue,
type: "category",
},
yAxis: {
@@ -1129,7 +1100,7 @@ const bluePolygonHistogram = (res, ids) => {
},
series: [
{
- data: [200, 85, 112, 275, 305, 415, 741, 405],
+ data:yValue,
type: "bar",
barMaxWidth: "auto",
barWidth: 30,
@@ -1161,7 +1132,7 @@ const bluePolygonHistogram = (res, ids) => {
},
},
{
- data: [1, 1, 1, 1, 1, 1, 1, 1],
+ data: minArr,
type: "pictorialBar",
barMaxWidth: "20",
symbol: "diamond",
@@ -1169,7 +1140,7 @@ const bluePolygonHistogram = (res, ids) => {
symbolSize: [30, 15],
},
{
- data: [200, 85, 112, 275, 305, 415, 741, 405],
+ data: yValue,
type: "pictorialBar",
barMaxWidth: "20",
symbolPosition: "end",
@@ -1179,7 +1150,7 @@ const bluePolygonHistogram = (res, ids) => {
zlevel: 2,
},
{
- data: [741, 741, 741, 741, 741, 741, 741, 741],
+ data: maxArr,
type: "bar",
barMaxWidth: "auto",
barWidth: 30,
@@ -1187,7 +1158,7 @@ const bluePolygonHistogram = (res, ids) => {
zlevel: -1,
},
{
- data: [1, 1, 1, 1, 1, 1, 1, 1],
+ data: minArr,
type: "pictorialBar",
barMaxWidth: "20",
symbol: "diamond",
@@ -1196,7 +1167,7 @@ const bluePolygonHistogram = (res, ids) => {
zlevel: -2,
},
{
- data: [741, 741, 741, 741, 741, 741, 741, 741],
+ data: maxArr,
type: "pictorialBar",
barMaxWidth: "20",
symbolPosition: "end",
@@ -1220,6 +1191,10 @@ const bluePolygonHistogram = (res, ids) => {
//多个立体柱状图
const multipleThreeDimensionalCylindrical = (res, ids) => {
let mycharts = echarts.init(ids);
+ console.log(res);
+ const xValue = res.map(val => val.materialName)
+ const lineStoreAmount = res.map(val => val.lineStoreAmount)
+ const hullStoreAmount = res.map(val => val.hullStoreAmount)
let lineColor = "#406A92";
let labelColor = "#fff";
let fontSize = "12";
@@ -1281,7 +1256,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => {
color: "#197584",
},
},
- data: ["SC329", "SC528"],
+ data: xValue,
},
],
yAxis: [
@@ -1346,7 +1321,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => {
},
},
color: "#26B2E8",
- data: [99.9, 99.9],
+ data:hullStoreAmount,
},
{
name: "",
@@ -1366,7 +1341,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => {
borderWidth: 20,
},
},
- data: [99.9, 99.9],
+ data: lineStoreAmount,
},
{
name: "",
@@ -1385,7 +1360,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => {
borderWidth: 20,
},
},
- data: [99.9, 99.9],
+ data: lineStoreAmount,
},
{
name: "",
@@ -1397,7 +1372,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => {
symbolOffset: [-39, 5],
z: 12,
color: "#26B2E8",
- data: [99.9, 99.9],
+ data:lineStoreAmount,
},
{
type: "bar",
@@ -1412,7 +1387,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => {
fontSize: fontSize,
color: "#fff",
opacity: 1,
- formatter: "{c}%",
+ formatter: "{c}",
offset: [0, -20],
},
},
@@ -1422,7 +1397,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => {
opacity: 1,
},
},
- data: [99.9, 99.9],
+ data:hullStoreAmount,
},
{
name: "",
@@ -1443,7 +1418,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => {
},
},
color: "#20D3AB",
- data: [99.9, 99.9],
+ data: lineStoreAmount,
},
{
name: "",
@@ -1462,7 +1437,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => {
borderWidth: 20,
},
},
- data: [99.9, 99.9],
+ data: lineStoreAmount,
},
{
name: "",
@@ -1481,7 +1456,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => {
borderWidth: 20,
},
},
- data: [99.9, 99.9],
+ data: lineStoreAmount,
},
{
name: "",
@@ -1493,7 +1468,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => {
symbolOffset: [39, 5],
z: 12,
color: "#20D3AB",
- data: [99.9, 99.9],
+ data:lineStoreAmount,
},
{
type: "bar",
@@ -1507,7 +1482,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => {
position: "top",
fontSize: fontSize,
color: "#fff",
- formatter: "{c}%",
+ formatter: "{c}",
offset: [0, -20],
},
},
@@ -1517,7 +1492,7 @@ const multipleThreeDimensionalCylindrical = (res, ids) => {
opacity: 1,
},
},
- data: [99.9, 99.9],
+ data: lineStoreAmount,
},
],
};
@@ -2311,7 +2286,6 @@ const equipmentFailure = (res, ids) => {
// 设备产量能耗对比
const energyConsumption = (res, ids) => {
- console.log(res);
let mycharts = echarts.init(ids);
let xAxisData = res.xValueArray;// x
let yAxisDataOne = res.productionArray;// 产量
diff --git a/productionboard/target/classes/static/js/common/synthetic.js b/productionboard/target/classes/static/js/common/synthetic.js
index b74a383..2074927 100644
--- a/productionboard/target/classes/static/js/common/synthetic.js
+++ b/productionboard/target/classes/static/js/common/synthetic.js
@@ -36,8 +36,8 @@ const synthetic = (statusArray) => {
|
- ${statusArray[8] || 0}
- ${statusArray[9] || 0}
+ ${statusArray[8] || 0}
+ ${statusArray[9] || 0}
`;
$("#synthetic").append(info);
}
diff --git a/productionboard/target/classes/static/js/common/update-split-blocks.js b/productionboard/target/classes/static/js/common/update-split-blocks.js
index 0c8fc27..f8b3756 100644
--- a/productionboard/target/classes/static/js/common/update-split-blocks.js
+++ b/productionboard/target/classes/static/js/common/update-split-blocks.js
@@ -6,12 +6,18 @@ function updateSplitBlocks(num, selectors) {
}
function numberPad(num, length, abs = false) {
- if (isNaN(num)) {
- num = 0
- }
+ // if (isNaN(num)) {
+ // num = 0
+ // }
const negative = num < 0 && !abs
- const outStr = Math.abs(num).toString().padStart(length, '0')
+ // const outStr = Math.abs(num).toString().padStart(length, '0')
+ if (isNaN(num)) {
+ var outStr = num.toString().padStart(length, '-')
+ } else {
+ var outStr = num.toString().padStart(length, '0')
+ }
+ // const outStr = num.toString().padStart(length, '0')
if (negative) {
return '-' + outStr
}
diff --git a/productionboard/target/classes/static/js/preassemble/index.js b/productionboard/target/classes/static/js/preassemble/index.js
index eea9c3e..cae72bd 100644
--- a/productionboard/target/classes/static/js/preassemble/index.js
+++ b/productionboard/target/classes/static/js/preassemble/index.js
@@ -1,16 +1,20 @@
$(()=>{
- onDutyPlan(1234,1202,33);
+ // onDutyPlan(1234,1202,33);
+ $.getJSON('/preassemble/getTeamStatisticsJson', function (result) {
+ storageStatistics(result.className, result.planAmount, result.actualAmount, result.differenceAmount,)
+ });
//按型号统计产量
- $.getJSON('/tankShell/getStatisticalOutputByModel', function (result) {
- console.log(result);
+ $.getJSON('/preassemble/getMaterialProdutionJson', function (result) {
horizontalBarChart(result,document.getElementById("statisticalOutputByModel"));
});
//小时产量
- greenPolygonalHistogram(null,document.getElementById("hourlyOutputStatistics"));
+ $.getJSON('/preassemble/getHourProdutionJson', function (result) {
+ greenPolygonalHistogram(result, document.getElementById("hourlyOutputStatistics"));
+ });
//库存统计
- $.getJSON('/tankShell/getInventoryStatistics', function (result) {
+ $.getJSON('/preassemble/getMaterialStoreJson', function (result) {
threeDimensionalCylindrical(result,document.getElementById("inventoryStatistics"));
});
diff --git a/productionboard/target/classes/static/js/tankShell/index.js b/productionboard/target/classes/static/js/tankShell/index.js
index 03ae958..7ba7fed 100644
--- a/productionboard/target/classes/static/js/tankShell/index.js
+++ b/productionboard/target/classes/static/js/tankShell/index.js
@@ -1,17 +1,22 @@
$(()=>{
//班组统计
- onDutyPlan(1234,1202,33);
+ // onDutyPlan(1234,1202,33);
+ $.getJSON('/tankShell/getTeamStatisticsJson', function (result) {
+ storageStatistics(result.className, result.planAmount, result.actualAmount, result.differenceAmount,)
+ });
//按型号统计产量
- $.getJSON('/tankShell/getStatisticalOutputByModel', function (result) {
+ $.getJSON('/tankShell/getMaterialProdutionJson', function (result) {
horizontalBarChart(result,document.getElementById("statisticalOutputByModel"));
});
//小时产量
- brokenLineAreaDiagram(null,document.getElementById("hourlyOutputStatistics"));
+ $.getJSON('/tankShell/getHourProdutionJson', function (result) {
+ brokenLineAreaDiagram(result, document.getElementById("hourlyOutputStatistics"));
+ });
//库存统计
- $.getJSON('/tankShell/getInventoryStatistics', function (result) {
+ $.getJSON('/tankShell/getMaterialStoreJson', function (result) {
multipleThreeDimensionalCylindrical(result,document.getElementById("inventoryStatistics"));
});
})
diff --git a/productionboard/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/productionboard/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
index 95c425b..18c3a13 100644
--- a/productionboard/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ b/productionboard/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -1,41 +1,51 @@
-com\productionboard\mapper\AluminumLossStatisticsMapper.class
com\productionboard\common\CodeGenerator.class
+com\productionboard\entity\MesProduction\MesMaterialStoreStatistics.class
+com\productionboard\mapper\MesHourProdutionStatisticsMapper.class
com\productionboard\common\CodeGenerator$1.class
com\productionboard\service\impl\AluminumDeviceInfoServiceImpl.class
-com\productionboard\entity\BasicScadaDeviceinfo.class
com\productionboard\controller\FoamBoxController.class
com\productionboard\mapper\TankShellDeviceDataInformationMapper.class
com\productionboard\service\IAluminumDeviceInfoService.class
-com\productionboard\service\impl\BasicScadaDeviceinfoServiceImpl.class
-com\productionboard\controller\StorageController.class
-com\productionboard\mapper\AluminumYesterdayEnergyMapper.class
-com\productionboard\entity\AluminumDevice\AluminumThisMonthEnergy.class
-com\productionboard\common\CodeGenerator$2.class
+com\productionboard\service\IMesProductionDataService.class
com\productionboard\entity\TankShellDevice\TankShellEnergyConsumption.class
-com\productionboard\entity\AluminumDevice\AluminumDeviceDataInformation.class
com\productionboard\mapper\BasicScadaDeviceinfoMapper.class
com\productionboard\controller\TankShellDeviceController.class
com\productionboard\service\ITankShellDeviceInfoService.class
com\productionboard\config\MybatisPlusConfig.class
-com\productionboard\entity\TankShellDevice\TankShellDevicePrameterValue.class
-com\productionboard\mapper\TankShellOeeStatisticsMapper.class
com\productionboard\entity\AluminumDevice\AluminumYesterdayEnergy.class
-com\productionboard\mapper\TankShellEnergyConsumptionMapper.class
com\productionboard\controller\AluminumLinerkController.class
com\productionboard\controller\PreassembleController.class
-com\productionboard\service\BasicScadaDeviceinfoService.class
-com\productionboard\entity\TankShellDevice\TankShellDeviceDataInformation.class
-com\productionboard\mapper\AluminumDeviceDataInformationMapper.class
com\productionboard\ProductionBoardApplication.class
com\productionboard\entity\TankShellDevice\TankShellOeeStatistics.class
com\productionboard\mapper\AluminumThisMonthEnergyMapper.class
-com\productionboard\service\impl\TankShellDeviceInfoServiceImpl.class
+com\productionboard\mapper\MesMaterialProductionStatisticsMapper.class
com\productionboard\mapper\AluminumOeeStatisticsMapper.class
-com\productionboard\entity\AluminumDevice\AluminumOeeStatistics.class
com\productionboard\mapper\TankShellDevicePrameterValueMapper.class
com\productionboard\mapper\TankShellThisMonthEnergyMapper.class
-com\productionboard\controller\TankShellController.class
com\productionboard\entity\TankShellDevice\TankShellThisMonthEnergy.class
-com\productionboard\entity\AluminumDevice\AluminumLossStatistics.class
+com\productionboard\service\impl\MesProductionDataServiceImpl.class
com\productionboard\controller\AluminumTtankController.class
+com\productionboard\mapper\AluminumLossStatisticsMapper.class
+com\productionboard\mapper\MesMaterialStoreStatisticsMapper.class
+com\productionboard\entity\BasicScadaDeviceinfo.class
+com\productionboard\entity\MesProduction\MesHourProdutionStatistics.class
+com\productionboard\service\impl\BasicScadaDeviceinfoServiceImpl.class
+com\productionboard\controller\StorageController.class
+com\productionboard\mapper\AluminumYesterdayEnergyMapper.class
+com\productionboard\entity\AluminumDevice\AluminumThisMonthEnergy.class
+com\productionboard\common\CodeGenerator$2.class
+com\productionboard\entity\AluminumDevice\AluminumDeviceDataInformation.class
+com\productionboard\entity\TankShellDevice\TankShellDevicePrameterValue.class
+com\productionboard\mapper\MesTeamStatisticsMapper.class
+com\productionboard\mapper\TankShellOeeStatisticsMapper.class
+com\productionboard\entity\MesProduction\MesMaterialProductionStatistics.class
+com\productionboard\entity\MesProduction\MesTeamStatistics.class
+com\productionboard\mapper\TankShellEnergyConsumptionMapper.class
+com\productionboard\service\BasicScadaDeviceinfoService.class
+com\productionboard\entity\TankShellDevice\TankShellDeviceDataInformation.class
+com\productionboard\mapper\AluminumDeviceDataInformationMapper.class
+com\productionboard\service\impl\TankShellDeviceInfoServiceImpl.class
+com\productionboard\entity\AluminumDevice\AluminumOeeStatistics.class
+com\productionboard\controller\TankShellController.class
+com\productionboard\entity\AluminumDevice\AluminumLossStatistics.class
com\productionboard\controller\AdsorptionTankController.class
diff --git a/productionboard/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/productionboard/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
index 8359d6e..a9e68ce 100644
--- a/productionboard/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ b/productionboard/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -1,39 +1,49 @@
C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\mapper\BasicScadaDeviceinfoMapper.java
-C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\mapper\TankShellEnergyConsumptionMapper.java
-C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\service\impl\BasicScadaDeviceinfoServiceImpl.java
C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\mapper\AluminumLossStatisticsMapper.java
-C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\mapper\TankShellThisMonthEnergyMapper.java
C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\config\MybatisPlusConfig.java
C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\entity\AluminumDevice\AluminumLossStatistics.java
C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\service\impl\TankShellDeviceInfoServiceImpl.java
C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\controller\PreassembleController.java
C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\entity\TankShellDevice\TankShellThisMonthEnergy.java
C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\controller\AluminumLinerkController.java
-C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\entity\AluminumDevice\AluminumYesterdayEnergy.java
-C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\controller\TankShellDeviceController.java
+C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\mapper\MesTeamStatisticsMapper.java
C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\entity\AluminumDevice\AluminumOeeStatistics.java
C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\mapper\AluminumThisMonthEnergyMapper.java
C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\ProductionBoardApplication.java
+C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\mapper\MesMaterialProductionStatisticsMapper.java
C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\entity\AluminumDevice\AluminumThisMonthEnergy.java
-C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\controller\FoamBoxController.java
-C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\controller\AluminumTtankController.java
-C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\service\IAluminumDeviceInfoService.java
-C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\mapper\AluminumDeviceDataInformationMapper.java
C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\common\CodeGenerator.java
-C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\entity\TankShellDevice\TankShellOeeStatistics.java
-C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\entity\TankShellDevice\TankShellEnergyConsumption.java
C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\mapper\AluminumYesterdayEnergyMapper.java
C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\mapper\TankShellDevicePrameterValueMapper.java
C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\mapper\TankShellDeviceDataInformationMapper.java
-C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\service\BasicScadaDeviceinfoService.java
-C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\service\impl\AluminumDeviceInfoServiceImpl.java
C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\entity\BasicScadaDeviceinfo.java
C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\entity\AluminumDevice\AluminumDeviceDataInformation.java
C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\entity\TankShellDevice\TankShellDeviceDataInformation.java
C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\service\ITankShellDeviceInfoService.java
-C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\controller\TankShellController.java
C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\controller\StorageController.java
C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\controller\AdsorptionTankController.java
C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\mapper\TankShellOeeStatisticsMapper.java
-C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\entity\TankShellDevice\TankShellDevicePrameterValue.java
C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\mapper\AluminumOeeStatisticsMapper.java
+C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\mapper\MesMaterialStoreStatisticsMapper.java
+C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\entity\MesProduction\MesMaterialStoreStatistics.java
+C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\mapper\TankShellEnergyConsumptionMapper.java
+C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\service\impl\BasicScadaDeviceinfoServiceImpl.java
+C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\mapper\TankShellThisMonthEnergyMapper.java
+C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\service\IMesProductionDataService.java
+C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\entity\MesProduction\MesHourProdutionStatistics.java
+C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\entity\AluminumDevice\AluminumYesterdayEnergy.java
+C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\controller\TankShellDeviceController.java
+C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\service\impl\MesProductionDataServiceImpl.java
+C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\controller\FoamBoxController.java
+C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\controller\AluminumTtankController.java
+C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\service\IAluminumDeviceInfoService.java
+C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\entity\MesProduction\MesMaterialProductionStatistics.java
+C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\mapper\AluminumDeviceDataInformationMapper.java
+C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\entity\TankShellDevice\TankShellOeeStatistics.java
+C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\entity\TankShellDevice\TankShellEnergyConsumption.java
+C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\entity\MesProduction\MesTeamStatistics.java
+C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\service\BasicScadaDeviceinfoService.java
+C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\service\impl\AluminumDeviceInfoServiceImpl.java
+C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\mapper\MesHourProdutionStatisticsMapper.java
+C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\controller\TankShellController.java
+C:\Users\ADMIN\Desktop\½ļ (4)\scada-visual-board\productionboard\src\main\java\com\productionboard\entity\TankShellDevice\TankShellDevicePrameterValue.java
diff --git a/productionboard/target/productionboard-0.0.1-SNAPSHOT.jar b/productionboard/target/productionboard-0.0.1-SNAPSHOT.jar
index d583c9b..28d92b3 100644
Binary files a/productionboard/target/productionboard-0.0.1-SNAPSHOT.jar and b/productionboard/target/productionboard-0.0.1-SNAPSHOT.jar differ
diff --git a/productionboard/target/productionboard-0.0.1-SNAPSHOT.jar.original b/productionboard/target/productionboard-0.0.1-SNAPSHOT.jar.original
index 5e860e2..5e9c62b 100644
Binary files a/productionboard/target/productionboard-0.0.1-SNAPSHOT.jar.original and b/productionboard/target/productionboard-0.0.1-SNAPSHOT.jar.original differ