Jelajahi Sumber

华统添加接口

wwh 2 tahun lalu
induk
melakukan
9570915157

+ 4 - 0
huimv-admin/src/main/java/com/huimv/admin/controller/EnvDeviceController.java

@@ -83,4 +83,8 @@ public class EnvDeviceController {
         envDeviceService.updateById(envDevice);
         return new Result(10000,"解绑成功",true);
     }
+    @RequestMapping("/listByScreen")
+    public Result listByScreen(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
+        return envDeviceService.listEnvCount(httpServletRequest,paramsMap);
+    }
 }

+ 2 - 0
huimv-admin/src/main/java/com/huimv/admin/service/IEnvDeviceService.java

@@ -37,4 +37,6 @@ public interface IEnvDeviceService extends IService<EnvDevice> {
     Result bandingUnitId(HttpServletRequest httpServletRequest, EnvDevice envDevice);
 
     Result listPigpenAll(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    Result listEnvCount(HttpServletRequest httpServletRequest,Map<String,String> paramsMap);
 }

+ 48 - 4
huimv-admin/src/main/java/com/huimv/admin/service/impl/EnvDeviceServiceImpl.java

@@ -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 {