| 
					
				 | 
			
			
				@@ -169,6 +169,7 @@ public class UserHandler extends SimpleChannelInboundHandler<String> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			// 本次运行周期内的开合模次数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			int periodCnt = (end - start * 2) / 24; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			logger.info("本次开合模次数==" + periodCnt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			long  aHeadOpenTimeLongVal = 0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			for (int pos = 0; pos < periodCnt; pos++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				// 合模时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				MouldHistoryTime time = new MouldHistoryTime(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -180,10 +181,16 @@ public class UserHandler extends SimpleChannelInboundHandler<String> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				// 开模时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				Date openTime = parseDate(input, start, pos, 6); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				logger.info("mouldHistoryTime数据添加完毕"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				aHeadOpenTimeLongVal = openTime.getTime(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				logger.info("上一包数据的开合时间戳--"+aHeadOpenTimeLongVal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			logger.info("本次开合模次数==0"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -206,16 +213,16 @@ public class UserHandler extends SimpleChannelInboundHandler<String> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		List<MouldHistoryTime> historyList = mouldHistoryTimeMapper.selectByExample(mtExp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		int avgTime = 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) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				for (int j = 0; j < historyList.size() - 1; j++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					totalTime += (historyList.get(j + 1).getOpenTime().getTime() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -224,7 +231,7 @@ public class UserHandler extends SimpleChannelInboundHandler<String> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				logger.info("totalTime" + totalTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				avgTime = (int)(totalTime / (historyList.size() - 1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		logger.info("avgTime-->" + avgTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		handleModLogic(item, avgTime); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -278,12 +285,14 @@ public class UserHandler extends SimpleChannelInboundHandler<String> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private void handleModLogic(MouldHistory item, int avgTime) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		logger.info("进了handleModLogic逻辑--"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logger.info("item==>"+item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		TbMouldEquipmentExample meqExp = new TbMouldEquipmentExample(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		meqExp.createCriteria().andEquipmentNoEqualTo(item.getEquipmentNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (tbMouldEquipmentMapper.countByExample(meqExp) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			TbMouldEquipment me = tbMouldEquipmentMapper.selectByExample(meqExp).get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			me.setHillNumber(item.getBattery() + ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			if (item.getLng() != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				logger.info("更新经纬度:"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				me.setLng(Double.parseDouble(item.getLng())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				me.setLat(Double.parseDouble(item.getLat())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -306,10 +315,12 @@ public class UserHandler extends SimpleChannelInboundHandler<String> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			tbMouldEquipmentMapper.updateByPrimaryKeySelective(me); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			logger.info("更新完了tbMouldEquipment的状态和温度以及经纬度"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			TbMouldExample tExp = new TbMouldExample(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			tExp.setOrderByClause("id desc limit 1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			tExp.createCriteria().andEquipmentIdEqualTo(me.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			if (tbMouldMapper.countByExample(tExp) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				logger.info("准备更新运行次数:"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				TbMould tm = tbMouldMapper.selectByExample(tExp).get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				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) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		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(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		int yearInt = Integer.parseInt(year, 16); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (yearInt == 0) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -374,7 +386,7 @@ public class UserHandler extends SimpleChannelInboundHandler<String> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return parseDate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private static String getStringFromHexStr(String hexStr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		StringBuilder sb = new StringBuilder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		for (int i = 0; i < hexStr.length() / 2; i++) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -524,7 +536,9 @@ public class UserHandler extends SimpleChannelInboundHandler<String> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		// System.out.println("reverseParseHex-----"+reverseParseHex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		// String str = "1F51"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		String input = "FAAF530000000000000000000000003137333030303239343310010000000000000000000000000000000000000000001F51E85F00000000000045004A54000100110000001308160F171F1308160F2D188FCA"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		String input = "FAAF530000000000000000000000003137333030303239343310010000000000000000000" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				+ "000000000000000000000001F51E85F00000000000045004A" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				+ "54000100110000001308160F171F1308160F2D188FCA"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		// String temp = "0x"+str; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		// int i = Integer.decode(temp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		// System.out.println(i); 
			 |