|
@@ -169,6 +169,7 @@ public class UserHandler extends SimpleChannelInboundHandler<String> {
|
|
// 本次运行周期内的开合模次数
|
|
// 本次运行周期内的开合模次数
|
|
int periodCnt = (end - start * 2) / 24;
|
|
int periodCnt = (end - start * 2) / 24;
|
|
logger.info("本次开合模次数==" + periodCnt);
|
|
logger.info("本次开合模次数==" + periodCnt);
|
|
|
|
+ long aHeadOpenTimeLongVal = 0L;
|
|
for (int pos = 0; pos < periodCnt; pos++) {
|
|
for (int pos = 0; pos < periodCnt; pos++) {
|
|
// 合模时间
|
|
// 合模时间
|
|
MouldHistoryTime time = new MouldHistoryTime();
|
|
MouldHistoryTime time = new MouldHistoryTime();
|
|
@@ -180,10 +181,16 @@ public class UserHandler extends SimpleChannelInboundHandler<String> {
|
|
// 开模时间
|
|
// 开模时间
|
|
Date openTime = parseDate(input, start, pos, 6);
|
|
Date openTime = parseDate(input, start, pos, 6);
|
|
time.setOpenTime(openTime);
|
|
time.setOpenTime(openTime);
|
|
- int timeCost = (int) (openTime.getTime() - closeTime.getTime());
|
|
|
|
- time.setTimeCost(timeCost);
|
|
|
|
|
|
+ if(pos==0){
|
|
|
|
+ time.setTimeCost(0);
|
|
|
|
+ }else{
|
|
|
|
+ logger.info("本次开合周期--"+(openTime.getTime() - aHeadOpenTimeLongVal));
|
|
|
|
+ time.setTimeCost((int)(openTime.getTime() - aHeadOpenTimeLongVal));
|
|
|
|
+ }
|
|
mouldHistoryTimeMapper.insertSelective(time);
|
|
mouldHistoryTimeMapper.insertSelective(time);
|
|
logger.info("mouldHistoryTime数据添加完毕");
|
|
logger.info("mouldHistoryTime数据添加完毕");
|
|
|
|
+ aHeadOpenTimeLongVal = openTime.getTime();
|
|
|
|
+ logger.info("上一包数据的开合时间戳--"+aHeadOpenTimeLongVal);
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
logger.info("本次开合模次数==0");
|
|
logger.info("本次开合模次数==0");
|
|
@@ -206,16 +213,16 @@ public class UserHandler extends SimpleChannelInboundHandler<String> {
|
|
List<MouldHistoryTime> historyList = mouldHistoryTimeMapper.selectByExample(mtExp);
|
|
List<MouldHistoryTime> historyList = mouldHistoryTimeMapper.selectByExample(mtExp);
|
|
int avgTime = 0;
|
|
int avgTime = 0;
|
|
int totalTime = 0;
|
|
int totalTime = 0;
|
|
- if (historyList.size() == 1) {
|
|
|
|
- // 证明盒子动了,找寻上一条记录
|
|
|
|
- if (newList.size() > 0) {
|
|
|
|
- MouldHistoryTime now = historyList.get(0);
|
|
|
|
- MouldHistoryTime last = mouldHistoryTimeMapper.getDateByHistory(newList.get(0).getId());
|
|
|
|
- if (null != now && null != last) {
|
|
|
|
- avgTime = (int)((now.getOpenTime().getTime()) - (last.getOpenTime().getTime()));
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
|
|
+// if (historyList.size() == 1) {
|
|
|
|
+// // 证明盒子动了,找寻上一条记录
|
|
|
|
+// if (newList.size() > 0) {
|
|
|
|
+// MouldHistoryTime now = historyList.get(0);
|
|
|
|
+// MouldHistoryTime last = mouldHistoryTimeMapper.getDateByHistory(newList.get(0).getId());
|
|
|
|
+// if (null != now && null != last) {
|
|
|
|
+// avgTime = (int)((now.getOpenTime().getTime()) - (last.getOpenTime().getTime()));
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// } else {
|
|
if (historyList.size() > 1) {
|
|
if (historyList.size() > 1) {
|
|
for (int j = 0; j < historyList.size() - 1; j++) {
|
|
for (int j = 0; j < historyList.size() - 1; j++) {
|
|
totalTime += (historyList.get(j + 1).getOpenTime().getTime()
|
|
totalTime += (historyList.get(j + 1).getOpenTime().getTime()
|
|
@@ -224,7 +231,7 @@ public class UserHandler extends SimpleChannelInboundHandler<String> {
|
|
logger.info("totalTime" + totalTime);
|
|
logger.info("totalTime" + totalTime);
|
|
avgTime = (int)(totalTime / (historyList.size() - 1));
|
|
avgTime = (int)(totalTime / (historyList.size() - 1));
|
|
}
|
|
}
|
|
- }
|
|
|
|
|
|
+// }
|
|
logger.info("avgTime-->" + avgTime);
|
|
logger.info("avgTime-->" + avgTime);
|
|
|
|
|
|
handleModLogic(item, avgTime);
|
|
handleModLogic(item, avgTime);
|
|
@@ -278,12 +285,14 @@ public class UserHandler extends SimpleChannelInboundHandler<String> {
|
|
|
|
|
|
private void handleModLogic(MouldHistory item, int avgTime) {
|
|
private void handleModLogic(MouldHistory item, int avgTime) {
|
|
logger.info("进了handleModLogic逻辑--");
|
|
logger.info("进了handleModLogic逻辑--");
|
|
|
|
+ logger.info("item==>"+item);
|
|
TbMouldEquipmentExample meqExp = new TbMouldEquipmentExample();
|
|
TbMouldEquipmentExample meqExp = new TbMouldEquipmentExample();
|
|
meqExp.createCriteria().andEquipmentNoEqualTo(item.getEquipmentNo());
|
|
meqExp.createCriteria().andEquipmentNoEqualTo(item.getEquipmentNo());
|
|
if (tbMouldEquipmentMapper.countByExample(meqExp) > 0) {
|
|
if (tbMouldEquipmentMapper.countByExample(meqExp) > 0) {
|
|
TbMouldEquipment me = tbMouldEquipmentMapper.selectByExample(meqExp).get(0);
|
|
TbMouldEquipment me = tbMouldEquipmentMapper.selectByExample(meqExp).get(0);
|
|
me.setHillNumber(item.getBattery() + "");
|
|
me.setHillNumber(item.getBattery() + "");
|
|
if (item.getLng() != null) {
|
|
if (item.getLng() != null) {
|
|
|
|
+ logger.info("更新经纬度:");
|
|
me.setLng(Double.parseDouble(item.getLng()));
|
|
me.setLng(Double.parseDouble(item.getLng()));
|
|
me.setLat(Double.parseDouble(item.getLat()));
|
|
me.setLat(Double.parseDouble(item.getLat()));
|
|
}
|
|
}
|
|
@@ -306,10 +315,12 @@ public class UserHandler extends SimpleChannelInboundHandler<String> {
|
|
|
|
|
|
}
|
|
}
|
|
tbMouldEquipmentMapper.updateByPrimaryKeySelective(me);
|
|
tbMouldEquipmentMapper.updateByPrimaryKeySelective(me);
|
|
|
|
+ logger.info("更新完了tbMouldEquipment的状态和温度以及经纬度");
|
|
TbMouldExample tExp = new TbMouldExample();
|
|
TbMouldExample tExp = new TbMouldExample();
|
|
tExp.setOrderByClause("id desc limit 1");
|
|
tExp.setOrderByClause("id desc limit 1");
|
|
tExp.createCriteria().andEquipmentIdEqualTo(me.getId());
|
|
tExp.createCriteria().andEquipmentIdEqualTo(me.getId());
|
|
if (tbMouldMapper.countByExample(tExp) > 0) {
|
|
if (tbMouldMapper.countByExample(tExp) > 0) {
|
|
|
|
+ logger.info("准备更新运行次数:");
|
|
TbMould tm = tbMouldMapper.selectByExample(tExp).get(0);
|
|
TbMould tm = tbMouldMapper.selectByExample(tExp).get(0);
|
|
tm.setState(item.getStatus());
|
|
tm.setState(item.getStatus());
|
|
// 云模盒运行次数+模具的历史运行次数
|
|
// 云模盒运行次数+模具的历史运行次数
|
|
@@ -342,14 +353,15 @@ public class UserHandler extends SimpleChannelInboundHandler<String> {
|
|
}
|
|
}
|
|
|
|
|
|
private static Date parseDate(String input, int start, int pos, int dateStartPos) {
|
|
private static Date parseDate(String input, int start, int pos, int dateStartPos) {
|
|
- String year = input.substring((start + pos * 6 + dateStartPos) * 2, (start + pos * 6 + 1 + dateStartPos) * 2);
|
|
|
|
- String month = input.substring((start + pos * 6 + 1 + dateStartPos) * 2,
|
|
|
|
- (start + pos * 6 + 2 + dateStartPos) * 2);
|
|
|
|
- String day = input.substring((start + pos * 6 + 2 + dateStartPos) * 2,
|
|
|
|
- (start + pos * 6 + 3 + dateStartPos) * 2);
|
|
|
|
- String hh = input.substring((start + pos * 6 + 3 + dateStartPos) * 2, (start + pos * 6 + 4 + dateStartPos) * 2);
|
|
|
|
- String mm = input.substring((start + pos * 6 + 4 + dateStartPos) * 2, (start + pos * 6 + 5 + dateStartPos) * 2);
|
|
|
|
- String ss = input.substring((start + pos * 6 + 5 + dateStartPos) * 2, (start + pos * 6 + 6 + dateStartPos) * 2);
|
|
|
|
|
|
+ //pos为开合的一组的下标,一个开合时间占位是12*2
|
|
|
|
+ String year = input.substring((start + pos * 12 + dateStartPos) * 2, (start + pos * 12 + 1 + dateStartPos) * 2);
|
|
|
|
+ String month = input.substring((start + pos * 12 + 1 + dateStartPos) * 2,
|
|
|
|
+ (start + pos * 12 + 2 + dateStartPos) * 2);
|
|
|
|
+ String day = input.substring((start + pos * 12 + 2 + dateStartPos) * 2,
|
|
|
|
+ (start + pos * 12 + 3 + dateStartPos) * 2);
|
|
|
|
+ String hh = input.substring((start + pos * 12 + 3 + dateStartPos) * 2, (start + pos * 12 + 4 + dateStartPos) * 2);
|
|
|
|
+ String mm = input.substring((start + pos * 12 + 4 + dateStartPos) * 2, (start + pos * 12 + 5 + dateStartPos) * 2);
|
|
|
|
+ String ss = input.substring((start + pos * 12 + 5 + dateStartPos) * 2, (start + pos * 12 + 6 + dateStartPos) * 2);
|
|
StringBuilder sb = new StringBuilder();
|
|
StringBuilder sb = new StringBuilder();
|
|
int yearInt = Integer.parseInt(year, 16);
|
|
int yearInt = Integer.parseInt(year, 16);
|
|
if (yearInt == 0) {
|
|
if (yearInt == 0) {
|
|
@@ -374,7 +386,7 @@ public class UserHandler extends SimpleChannelInboundHandler<String> {
|
|
}
|
|
}
|
|
return parseDate;
|
|
return parseDate;
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
private static String getStringFromHexStr(String hexStr) {
|
|
private static String getStringFromHexStr(String hexStr) {
|
|
StringBuilder sb = new StringBuilder();
|
|
StringBuilder sb = new StringBuilder();
|
|
for (int i = 0; i < hexStr.length() / 2; i++) {
|
|
for (int i = 0; i < hexStr.length() / 2; i++) {
|
|
@@ -524,7 +536,9 @@ public class UserHandler extends SimpleChannelInboundHandler<String> {
|
|
// System.out.println("reverseParseHex-----"+reverseParseHex);
|
|
// System.out.println("reverseParseHex-----"+reverseParseHex);
|
|
|
|
|
|
// String str = "1F51";
|
|
// String str = "1F51";
|
|
- String input = "FAAF530000000000000000000000003137333030303239343310010000000000000000000000000000000000000000001F51E85F00000000000045004A54000100110000001308160F171F1308160F2D188FCA";
|
|
|
|
|
|
+ String input = "FAAF530000000000000000000000003137333030303239343310010000000000000000000"
|
|
|
|
+ + "000000000000000000000001F51E85F00000000000045004A"
|
|
|
|
+ + "54000100110000001308160F171F1308160F2D188FCA";
|
|
// String temp = "0x"+str;
|
|
// String temp = "0x"+str;
|
|
// int i = Integer.decode(temp);
|
|
// int i = Integer.decode(temp);
|
|
// System.out.println(i);
|
|
// System.out.println(i);
|