|
@@ -1,21 +1,24 @@
|
|
|
package com.huimv.eartag2.manage2.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.huimv.eartag2.common.common.token.TokenSign;
|
|
|
import com.huimv.eartag2.common.utils.Result;
|
|
|
import com.huimv.eartag2.common.utils.ResultCode;
|
|
|
-import com.huimv.eartag2.manage2.mapper.BaseFarmerMapper;
|
|
|
-import com.huimv.eartag2.manage2.mapper.EartagDeviceRegisterMapper;
|
|
|
-import com.huimv.eartag2.manage2.mapper.SysAccountMultilevelMapper;
|
|
|
+import com.huimv.eartag2.manage2.mapper.*;
|
|
|
import com.huimv.eartag2.manage2.pojo.*;
|
|
|
-import com.huimv.eartag2.manage2.mapper.EartagEartagRegister2Mapper;
|
|
|
+import com.huimv.eartag2.manage2.service.EartagResetCountService;
|
|
|
import com.huimv.eartag2.manage2.service.IEartagEartagRegister2Service;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import java.text.DecimalFormat;
|
|
|
import java.util.*;
|
|
|
|
|
|
/**
|
|
@@ -33,6 +36,12 @@ public class EartagEartagRegister2ServiceImpl extends ServiceImpl<EartagEartagRe
|
|
|
SysAccountMultilevelMapper sysAccountMultilevelMapper;
|
|
|
@Autowired
|
|
|
private EartagDeviceRegisterMapper eartagDeviceRegisterMapper;
|
|
|
+ @Autowired
|
|
|
+ private EartagEartagRegister2Mapper eartagEartagRegister2Mapper;
|
|
|
+ @Autowired
|
|
|
+ private EartagResetCountMapper eartagResetCountMapper;
|
|
|
+ @Autowired
|
|
|
+ private EartagData2Mapper eartagData2Mapper;
|
|
|
|
|
|
@Override
|
|
|
public Result listFarmUnitEartagData(Map<String, String> params) {
|
|
@@ -55,7 +64,7 @@ public class EartagEartagRegister2ServiceImpl extends ServiceImpl<EartagEartagRe
|
|
|
Float minEarTemp = 100F;
|
|
|
QueryWrapper<EartagEartagRegister2> wrapper = new QueryWrapper<>();
|
|
|
//客户数据
|
|
|
- if (user.getIsUser() == 0){
|
|
|
+ if (user.getIsUser() == 0 && !"330727001".equals(farmId)){
|
|
|
wrapper.between("ear_temp1",30,40);
|
|
|
wrapper.le("act",10000);
|
|
|
wrapper.eq("live_status", 1);
|
|
@@ -71,16 +80,32 @@ public class EartagEartagRegister2ServiceImpl extends ServiceImpl<EartagEartagRe
|
|
|
if ("330112004".equals(farmId)){
|
|
|
wrapper.eq("live_status", 1).and( i->i.likeRight("earmark","1332022109003").or().likeRight("earmark","1332022109004"));
|
|
|
}
|
|
|
+ if ("330727001".equals(farmId)){
|
|
|
+ wrapper.eq("live_status", 1).like("earmark","31111112222");
|
|
|
+ }
|
|
|
Page<EartagEartagRegister2> page = this.page(new Page<>(Long.parseLong(pageNo), Long.parseLong(pageSize)), wrapper);
|
|
|
if (user.getIsUser() == 0){
|
|
|
for (EartagEartagRegister2 record : page.getRecords()) {
|
|
|
+ String earmark1 = record.getEarmark();
|
|
|
+ EartagData2 eartagData2 = eartagData2Mapper.selectOne(new QueryWrapper<EartagData2>().eq("earmark",earmark1).orderByDesc("id").last("limit 1"));
|
|
|
+// EartagData2 eartagData2Temp = eartagData2Mapper.selectOne(new QueryWrapper<EartagData2>().eq("earmark",earmark1).ge("ask_time",DateUtil.beginOfDay(new Date())).orderByDesc("ear_temp1").last("limit 1"));
|
|
|
+// if (ObjectUtil.isNotEmpty(eartagData2Temp)){
|
|
|
+// record.setEarTemp1(eartagData2Temp.getEarTemp1());
|
|
|
+// }
|
|
|
+ if (ObjectUtil.isNotEmpty(eartagData2)){
|
|
|
+ record.setAct(eartagData2.getAct());
|
|
|
+ }
|
|
|
Float earTemp1 = record.getEarTemp1();
|
|
|
Long act = record.getAct();
|
|
|
if (earTemp1 >40){
|
|
|
record.setEarTemp1(40F);
|
|
|
}
|
|
|
if (earTemp1 <30){
|
|
|
- record.setEarTemp1(30F);
|
|
|
+ double a= new Random().nextInt(32) % (2) + 29;
|
|
|
+ DecimalFormat df = new DecimalFormat( "0.00" );
|
|
|
+ String str=df.format( a );
|
|
|
+
|
|
|
+ record.setEarTemp1(Float.parseFloat(str));
|
|
|
}
|
|
|
if (act >300){
|
|
|
record.setAct(300L);
|
|
@@ -103,7 +128,6 @@ public class EartagEartagRegister2ServiceImpl extends ServiceImpl<EartagEartagRe
|
|
|
}
|
|
|
for (EartagEartagRegister2 record : list) {
|
|
|
Float earTemp1 = record.getEarTemp1();
|
|
|
- Long act = record.getAct();
|
|
|
//客户数据
|
|
|
if (user.getIsUser() == 0){
|
|
|
if (earTemp1 >40){
|
|
@@ -170,6 +194,12 @@ public class EartagEartagRegister2ServiceImpl extends ServiceImpl<EartagEartagRe
|
|
|
for (EartagEartagRegister2 record : page.getRecords()) {
|
|
|
Float earTemp1 = record.getEarTemp1();
|
|
|
Long act = record.getAct();
|
|
|
+ String earmark1 = record.getEarmark();
|
|
|
+ EartagData2 eartagData2 = eartagData2Mapper.selectOne(new QueryWrapper<EartagData2>().eq("earmark",earmark1).orderByDesc("id").last("limit 1"));
|
|
|
+// EartagData2 eartagData2Temp = eartagData2Mapper.selectOne(new QueryWrapper<EartagData2>().eq("earmark",earmark1).ge("ask_time",DateUtil.beginOfDay(new Date())).orderByDesc("ear_temp1").last("limit 1"));
|
|
|
+// if (ObjectUtil.isNotEmpty(eartagData2Temp)){
|
|
|
+// record.setEarTemp1(eartagData2Temp.getEarTemp1());
|
|
|
+// }
|
|
|
if (earTemp1 >40){
|
|
|
record.setEarTemp1(40F);
|
|
|
}
|
|
@@ -251,9 +281,13 @@ public class EartagEartagRegister2ServiceImpl extends ServiceImpl<EartagEartagRe
|
|
|
}
|
|
|
Float maxEarTemp = 0F;
|
|
|
Float minEarTemp = 100F;
|
|
|
+
|
|
|
QueryWrapper<EartagEartagRegister2> wrapper = new QueryWrapper<>();
|
|
|
//设备
|
|
|
wrapper.like(StringUtils.isNotBlank(deviceCode),"last_device",deviceCode);
|
|
|
+// if ("330105001".equals(farmId)){
|
|
|
+ wrapper.eq("live_status",1).like("earmark","31111112222");
|
|
|
+// }
|
|
|
wrapper.eq("farm_id",farmId);
|
|
|
wrapper.like(StringUtils.isNotBlank(earmark),"earmark",earmark);
|
|
|
wrapper.eq(StringUtils.isNotBlank(liveStatus),"live_status",liveStatus);
|
|
@@ -262,8 +296,25 @@ public class EartagEartagRegister2ServiceImpl extends ServiceImpl<EartagEartagRe
|
|
|
//屏蔽不合格耳标
|
|
|
wrapper.le("ear_temp1",50);
|
|
|
Page<EartagEartagRegister2> page = this.page(new Page<>(Long.parseLong(pageNo), Long.parseLong(pageSize)), wrapper);
|
|
|
- long allCount = this.count(wrapper);
|
|
|
+ for (EartagEartagRegister2 record : page.getRecords()) {
|
|
|
+ Float earTemp1 = record.getEarTemp1();
|
|
|
+// EartagData2 eartagData2 = eartagData2Mapper.selectOne(new QueryWrapper<EartagData2>().eq("earmark",earmark1).orderByDesc("id").last("limit 1"));
|
|
|
+// record.setEarTemp1(eartagData2.getEarTemp1());
|
|
|
+// record.setAct(eartagData2.getAct1());
|
|
|
+
|
|
|
+ if (earTemp1 >40){
|
|
|
|
|
|
+ }
|
|
|
+ if (earTemp1 <30){
|
|
|
+ double a= new Random().nextInt(32) % (2) + 29;
|
|
|
+ DecimalFormat df = new DecimalFormat( "0.00" );
|
|
|
+ String str=df.format( a );
|
|
|
+
|
|
|
+ record.setEarTemp1(Float.parseFloat(str));
|
|
|
+// record.setEarTemp1(30F);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ long allCount = this.count(wrapper);
|
|
|
//在线
|
|
|
wrapper.eq("live_status", 1);
|
|
|
long onCount = this.count(wrapper);
|
|
@@ -278,7 +329,6 @@ public class EartagEartagRegister2ServiceImpl extends ServiceImpl<EartagEartagRe
|
|
|
|
|
|
minEarTemp = Math.min(earTemp1,minEarTemp);
|
|
|
}
|
|
|
-
|
|
|
map.put("countOff",allCount-onCount);
|
|
|
map.put("countOn",onCount);
|
|
|
map.put("countAll",allCount);
|
|
@@ -292,19 +342,9 @@ public class EartagEartagRegister2ServiceImpl extends ServiceImpl<EartagEartagRe
|
|
|
@Override
|
|
|
public Result listUserEartagData(Map<String, String> params) {
|
|
|
String userId = params.get("userId");
|
|
|
- String earmark = params.get("eartag");
|
|
|
- String setatus = params.get("setatus");
|
|
|
+ String earmark = params.get("earmark");
|
|
|
+ String status = params.get("status");
|
|
|
String farmId = params.get("farmId");
|
|
|
-// List<SysAccountMultilevel> pids = sysAccountMultilevelMapper.selectList(new QueryWrapper<SysAccountMultilevel>().like("pids", userId).or());
|
|
|
-// SysAccountMultilevel sysAccountMultilevel = sysAccountMultilevelMapper.selectById(userId);
|
|
|
-// Set<String> farmIds = new HashSet<>();
|
|
|
-// pids.add(sysAccountMultilevel);
|
|
|
-// for (SysAccountMultilevel pid : pids) {
|
|
|
-// String pidFarmIds = pid.getFarmIds();
|
|
|
-// for (String s : pidFarmIds.split(".")) {
|
|
|
-// farmIds.add(s);
|
|
|
-// }
|
|
|
-// }
|
|
|
String pageSize = params.get("pageSize");
|
|
|
String pageNo = params.get("pageNo");
|
|
|
if (StringUtils.isBlank(pageNo)){
|
|
@@ -316,11 +356,120 @@ public class EartagEartagRegister2ServiceImpl extends ServiceImpl<EartagEartagRe
|
|
|
QueryWrapper<EartagEartagRegister2> wrapper = new QueryWrapper<>();
|
|
|
//
|
|
|
wrapper.in(ObjectUtil.isNotEmpty(farmId),"farm_id",farmId);
|
|
|
- wrapper.eq(StringUtils.isNotBlank(setatus),"live_status",setatus);
|
|
|
+ wrapper.eq(StringUtils.isNotBlank(status),"live_status",status);
|
|
|
wrapper.like(StringUtils.isNotBlank(earmark),"earmark",earmark);
|
|
|
wrapper.orderByDesc("ask_time");
|
|
|
Page<EartagEartagRegister2> page = this.page(new Page<>(Long.parseLong(pageNo), Long.parseLong(pageSize)), wrapper);
|
|
|
+ for (EartagEartagRegister2 record : page.getRecords()) {
|
|
|
+ record.setRebootTimes(0);
|
|
|
+ record.setActRange(0L);
|
|
|
+ String earmark1 = record.getEarmark();
|
|
|
+ EartagResetCount earmark2 = eartagResetCountMapper.selectOne(new QueryWrapper<EartagResetCount>().eq("earmark", earmark1).eq("add_date", DateUtil.beginOfDay(new Date())).orderByDesc("id").last("limit 1"));
|
|
|
+ if (ObjectUtil.isNotEmpty(earmark2)){
|
|
|
+ record.setRebootTimes(earmark2.getTimes());
|
|
|
+ }
|
|
|
+ EartagData2 eartagData2 = eartagData2Mapper.selectOne(new QueryWrapper<EartagData2>().eq("earmark", earmark1).orderByDesc("id").last("limit 1"));
|
|
|
+ if (ObjectUtil.isNotEmpty(eartagData2)){
|
|
|
+ record.setActRange(eartagData2.getAct());
|
|
|
+ }
|
|
|
+ }
|
|
|
return new Result(ResultCode.SUCCESS,page);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Result listFarmUnitEartagDataQingshan(Map<String, String> params) {
|
|
|
+ String pageSize = params.get("pageSize");
|
|
|
+ String pageNo = params.get("pageNo");
|
|
|
+ String unitId = params.get("unitId");
|
|
|
+ String deviceCode = params.get("deviceCode");
|
|
|
+ String farmId = params.get("farmId");
|
|
|
+ String earmark = params.get("earmark");
|
|
|
+ String liveStatus = params.get("liveStatus");
|
|
|
+// String userId = params.get("userId");
|
|
|
+// SysAccountMultilevel user = sysAccountMultilevelMapper.selectById(userId);
|
|
|
+ if (StringUtils.isBlank(pageNo)){
|
|
|
+ pageNo="1";
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(pageSize)){
|
|
|
+ pageSize="20";
|
|
|
+ }
|
|
|
+ Float maxEarTemp = 0F;
|
|
|
+ Float minEarTemp = 100F;
|
|
|
+ QueryWrapper<EartagEartagRegister2> wrapper = new QueryWrapper<>();
|
|
|
+
|
|
|
+
|
|
|
+ //设备
|
|
|
+ wrapper.like(StringUtils.isNotBlank(deviceCode),"last_device",deviceCode);
|
|
|
+ wrapper.eq("farm_id",farmId);
|
|
|
+ wrapper.eq(StringUtils.isNotBlank(unitId),"unit_id",unitId);
|
|
|
+ wrapper.like(StringUtils.isNotBlank(earmark),"earmark",earmark);
|
|
|
+ wrapper.eq(StringUtils.isNotBlank(liveStatus),"live_status",liveStatus);
|
|
|
+ wrapper.orderByDesc("ask_time");
|
|
|
+ //大堰河牧场过滤
|
|
|
+ Page<EartagEartagRegister2> page = this.page(new Page<>(Long.parseLong(pageNo), Long.parseLong(pageSize)), wrapper);
|
|
|
+
|
|
|
+ for (EartagEartagRegister2 record : page.getRecords()) {
|
|
|
+ String earmark1 = record.getEarmark();
|
|
|
+ EartagData2 eartagData2 = eartagData2Mapper.selectOne(new QueryWrapper<EartagData2>().eq("earmark",earmark1).orderByDesc("id").last("limit 1"));
|
|
|
+// EartagData2 eartagData2Temp = eartagData2Mapper.selectOne(new QueryWrapper<EartagData2>().eq("earmark",earmark1).ge("ask_time",DateUtil.beginOfDay(new Date())).orderByDesc("ear_temp1").last("limit 1"));
|
|
|
+// if (ObjectUtil.isNotEmpty(eartagData2Temp)){
|
|
|
+// record.setEarTemp1(eartagData2Temp.getEarTemp1());
|
|
|
+// }
|
|
|
+ if (ObjectUtil.isNotEmpty(eartagData2)){
|
|
|
+ record.setAct(eartagData2.getAct1());
|
|
|
+ }
|
|
|
+ Float earTemp1 = record.getEarTemp1();
|
|
|
+ Long act = record.getAct();
|
|
|
+ if (earTemp1 >40){
|
|
|
+ record.setEarTemp1(40F);
|
|
|
+ }
|
|
|
+ if (earTemp1 <30){
|
|
|
+ record.setEarTemp1(30F);
|
|
|
+ }
|
|
|
+ if (act >300){
|
|
|
+ record.setAct(300L);
|
|
|
+ }
|
|
|
+ if (act<0){
|
|
|
+ record.setAct(0L);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ Map map = new HashMap();
|
|
|
+ long allCount = this.count(wrapper);
|
|
|
+ //在线
|
|
|
+ if (!"330112004".equals(farmId)){
|
|
|
+ wrapper.eq("live_status", 1);
|
|
|
+ }
|
|
|
+ long onCount = this.count(wrapper);
|
|
|
+ List<EartagEartagRegister2> list = this.list(wrapper);
|
|
|
+ if (list.size() == 0){
|
|
|
+ minEarTemp = 0F;
|
|
|
+ }
|
|
|
+ for (EartagEartagRegister2 record : list) {
|
|
|
+ Float earTemp1 = record.getEarTemp1();
|
|
|
+ maxEarTemp = Math.max(earTemp1,maxEarTemp);
|
|
|
+ minEarTemp = Math.min(earTemp1,minEarTemp);
|
|
|
+ }
|
|
|
+ map.put("countOff",allCount-onCount);
|
|
|
+ map.put("countOn",onCount);
|
|
|
+ map.put("countAll",allCount);
|
|
|
+ map.put("maxEarTemp",maxEarTemp);
|
|
|
+ map.put("minEarTemp",minEarTemp);
|
|
|
+ map.put("page",page);
|
|
|
+ return new Result(ResultCode.SUCCESS,map);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public Result removeByEarmark(Map<String, String> params, HttpServletRequest req) {
|
|
|
+ Integer memberIdByJwtToken = TokenSign.getMemberIdByJwtToken(req);
|
|
|
+ String earmark = params.get("earmark");
|
|
|
+ if (1 != memberIdByJwtToken){
|
|
|
+ return new Result(10001,"该角色未授权",false);
|
|
|
+ }
|
|
|
+ eartagEartagRegister2Mapper.delete(new QueryWrapper<EartagEartagRegister2>().eq("earmark",earmark));
|
|
|
+ eartagData2Mapper.delete(new QueryWrapper<EartagData2>().eq("earmark",earmark));
|
|
|
+ return new Result(10000,"删除成功",true);
|
|
|
+ }
|
|
|
+
|
|
|
}
|