|
@@ -59,7 +59,6 @@ public class ReceivePackageSerivce {
|
|
|
|
|
|
|
|
|
public String handleEartagData(String[] clientMessageArray) throws ParseException {
|
|
|
-
|
|
|
log.info("开始添加耳标数据......");
|
|
|
String head = clientMessageArray[0]; //命令头
|
|
|
String device_code = clientMessageArray[1]; //采集器ID
|
|
@@ -122,7 +121,6 @@ public class ReceivePackageSerivce {
|
|
|
// System.out.println(deviceCode);
|
|
|
|
|
|
|
|
|
-
|
|
|
//上传设备发生了变化, 转舍信息进行存储
|
|
|
//在接受数据的时候加一条记录迁移信息的数据到一个新表中,方便查找
|
|
|
eartagDataEntity.setStage(collectorRegisterEntity.getStage()); //获取阶段
|
|
@@ -134,11 +132,20 @@ public class ReceivePackageSerivce {
|
|
|
wrapper.eq(EartagDataEntity::getEartagNo, eartag_no ).orderByDesc( EartagDataEntity::getId ).last( "limit 1");
|
|
|
EartagDataEntity lastEarTagDate = eartagDataDao.selectOne(wrapper);
|
|
|
//返回的数据在这里为空--说明这个是第一次上传--需要存储一条device_code 为空的注册表
|
|
|
- if(lastEarTagDate==null){
|
|
|
+ if(lastEarTagDate==null){//上一条为空,存转舍
|
|
|
LambdaQueryWrapper<EartagRegisterEntity> wrapper4 = Wrappers.lambdaQuery();
|
|
|
wrapper4.eq(EartagRegisterEntity::getEartagNo, eartag_no );
|
|
|
EartagRegisterEntity eartagRegisterEntity1 = eartagRegisterDao.selectOne(wrapper4);
|
|
|
|
|
|
+ MovePigpenEntity movePigpenEntity = new MovePigpenEntity();
|
|
|
+ movePigpenEntity.setDeviceCode(device_code);
|
|
|
+ movePigpenEntity.setEartagNo(eartag_no);
|
|
|
+ movePigpenEntity.setMoveDate(DateUtilsPublic.parseDateTime(DateUtilsPublic.buildDateTimeString(time)));
|
|
|
+ movePigpenEntity.setStage(collectorRegisterEntity.getStage());
|
|
|
+ movePigpenService.save(movePigpenEntity);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
if(eartagRegisterEntity1==null){
|
|
|
//说明之前没有注册过--现在注册一下--设备ID的设置留给定时任务
|
|
|
EartagRegisterEntity eartagRegisterEntity2 = new EartagRegisterEntity();
|
|
@@ -160,17 +167,19 @@ public class ReceivePackageSerivce {
|
|
|
eartagDataService.save(eartagDataEntity);
|
|
|
return "hm+6+0+6+end";
|
|
|
}
|
|
|
+
|
|
|
//上一条不为空---而且判断是存储注册表device-code
|
|
|
//存储转舍信息--还要判断新的设备阶段和老的设备阶段是否相同,如果相同就不存储转舍信息
|
|
|
if(!lastEarTagDate.getDeviceCode().equals(device_code)){
|
|
|
LambdaQueryWrapper<EartagRegisterEntity> wrapper4 = Wrappers.lambdaQuery();
|
|
|
wrapper4.eq(EartagRegisterEntity::getEartagNo, eartag_no );
|
|
|
- EartagRegisterEntity eartagRegisterEntity1 = eartagRegisterDao.selectOne(wrapper4);
|
|
|
+ EartagRegisterEntity eartagRegisterEntity1 = eartagRegisterDao.selectOne(wrapper4);//查到注册信息
|
|
|
if ( eartagRegisterEntity1.getDeviceCode().equals(null) ) {//如果耳标注册表的绑定机器ID为空就不存储转舍信息
|
|
|
System.out.println("之前=" + lastEarTagDate.getDeviceCode() + "现在" + device_code);
|
|
|
System.out.println(lastEarTagDate.getDeviceCode().equals(device_code));
|
|
|
//上一阶段的
|
|
|
if( lastEarTagDate.getStage() != collectorRegisterEntity.getStage() ) { //不相等,---判断阶段是否相同--阶段也不相同--增加转舍信息
|
|
|
+
|
|
|
MovePigpenEntity movePigpenEntity = new MovePigpenEntity();
|
|
|
movePigpenEntity.setDeviceCode(device_code);
|
|
|
movePigpenEntity.setEartagNo(eartag_no);
|
|
@@ -180,7 +189,6 @@ public class ReceivePackageSerivce {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
Integer exercise1 = lastEarTagDate.getExercise();
|
|
|
eartagDataEntity.setSportGap(exercise - exercise1);//存储区间运动量
|
|
|
//获取当前时间的 “天”---判断天的情况
|
|
@@ -202,6 +210,7 @@ public class ReceivePackageSerivce {
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
|
public static void main(String[] args) {
|
|
|
DecimalFormat df = new DecimalFormat("####0.00");
|
|
|
|