|
@@ -19,12 +19,10 @@ import com.huimv.admin.common.utils.ResultCode;
|
|
|
import com.huimv.admin.entity.BasePigpen;
|
|
|
import com.huimv.admin.entity.EnvData;
|
|
|
import com.huimv.admin.entity.EnvDevice;
|
|
|
+import com.huimv.admin.entity.EnvWarningInfo;
|
|
|
import com.huimv.admin.entity.dto.DeviceDto;
|
|
|
import com.huimv.admin.entity.zengxindto.*;
|
|
|
-import com.huimv.admin.mapper.BasePigpenMapper;
|
|
|
-import com.huimv.admin.mapper.EnvDataMapper;
|
|
|
-import com.huimv.admin.mapper.EnvDeviceMaintainMapper;
|
|
|
-import com.huimv.admin.mapper.EnvDeviceMapper;
|
|
|
+import com.huimv.admin.mapper.*;
|
|
|
import com.huimv.admin.service.IEnvDeviceService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -38,6 +36,7 @@ import org.springframework.web.client.RestTemplate;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import java.text.NumberFormat;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
import java.util.concurrent.CopyOnWriteArrayList;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -61,6 +60,8 @@ public class EnvDeviceServiceImpl extends ServiceImpl<EnvDeviceMapper, EnvDevice
|
|
|
private EnvDataMapper dataMapper;
|
|
|
@Autowired
|
|
|
private RestTemplate restTemplate;
|
|
|
+ @Autowired
|
|
|
+ private EnvWarningInfoMapper warningInfoMapper;
|
|
|
|
|
|
@Override
|
|
|
public Result count(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
|
|
@@ -394,6 +395,49 @@ public class EnvDeviceServiceImpl extends ServiceImpl<EnvDeviceMapper, EnvDevice
|
|
|
return new Result(ResultCode.SUCCESS,objects);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Result listEnvCount(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
|
|
|
+ String farmId = paramsMap.get("farmId");
|
|
|
+ QueryWrapper<EnvDevice> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("farm_id", farmId);
|
|
|
+ Integer count = envDeviceMapper.selectCount(queryWrapper);//设备检测数量
|
|
|
+ queryWrapper.eq("device_status", 1);
|
|
|
+ Integer count1 = envDeviceMapper.selectCount(queryWrapper);//设备在线数量
|
|
|
+ //创建一个数值格式化对象
|
|
|
+ NumberFormat numberFormat = NumberFormat.getInstance();
|
|
|
+ //设置精确到小数点后两位
|
|
|
+ numberFormat.setMaximumFractionDigits(2);
|
|
|
+ String onDeviceRate = numberFormat.format((float)count1 / (float) count* 100); //设备在线率
|
|
|
+ QueryWrapper<EnvWarningInfo> warningInfoQueryWrapper = new QueryWrapper<>();
|
|
|
+ warningInfoQueryWrapper.eq("farm_id", farmId);
|
|
|
+ Integer warnCount = warningInfoMapper.selectCount(warningInfoQueryWrapper);//全年报警数量
|
|
|
+ Date timesmorning = DataUill.getTimesmorning();
|
|
|
+ warningInfoQueryWrapper.ge("date", timesmorning);
|
|
|
+ Integer warningCountToday = warningInfoMapper.selectCount(warningInfoQueryWrapper);//今日报警数量
|
|
|
+ //得到监测保障天数
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ long day = 0;
|
|
|
+ try {
|
|
|
+ Date now = new Date();
|
|
|
+ String nowTime = sdf.format(now);
|
|
|
+ System.out.println(now);
|
|
|
+ Date date = sdf.parse("2023-01-01");//指定日期
|
|
|
+ Date mydate = sdf.parse(nowTime);//当前日期
|
|
|
+ day = (mydate.getTime() - date.getTime()) / (24 * 60 * 60 * 1000);
|
|
|
+ System.out.println(day);
|
|
|
+ } catch (Exception e) {
|
|
|
+ return new Result(ResultCode.SUCCESS, "");
|
|
|
+ }
|
|
|
+ JSONObject jsonObject = new JSONObject();
|
|
|
+ jsonObject.put("WarningCountYear", warnCount);
|
|
|
+ jsonObject.put("WarningCountToday", warningCountToday);
|
|
|
+ jsonObject.put("EnvCount", count);
|
|
|
+ jsonObject.put("OnCount", count1);
|
|
|
+ jsonObject.put("onDeviceRate", onDeviceRate);
|
|
|
+ jsonObject.put("day", day);
|
|
|
+ return new Result(ResultCode.SUCCESS, jsonObject);
|
|
|
+ }
|
|
|
+
|
|
|
//添加新的设备
|
|
|
private void syncConfig(String shackId,HttpEntity httpEntity,String farmId) {
|
|
|
try {
|