Ver código fonte

最新预警状态(大屏)

wwh 2 anos atrás
pai
commit
ea0d412cd7

+ 4 - 0
huimv-farm-produce/src/main/java/com/huimv/produce/warning/controller/BaseWarningInfoController.java

@@ -57,5 +57,9 @@ public class BaseWarningInfoController {
         return warningInfoService.setWarningStatus(map);
     }
 
+    @PostMapping("/getLastWarning")
+    public Result getLastWarning(@RequestBody Map<String, String> map ) {
+        return warningInfoService.getLastWarning(map);
+    }
 
 }

+ 2 - 0
huimv-farm-produce/src/main/java/com/huimv/produce/warning/service/IBaseWarningInfoService.java

@@ -28,4 +28,6 @@ public interface IBaseWarningInfoService extends IService<BaseWarningInfo> {
     Result listAllWarning(Map<String, String> map);
 
     Result setWarningStatus(Map<String, String> map);
+
+    Result getLastWarning(Map<String,String> map);
 }

+ 44 - 0
huimv-farm-produce/src/main/java/com/huimv/produce/warning/service/impl/BaseWarningInfoServiceImpl.java

@@ -15,6 +15,7 @@ import com.huimv.produce.warning.service.IBaseWarningInfoService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.text.DecimalFormat;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -310,5 +311,48 @@ public class BaseWarningInfoServiceImpl extends ServiceImpl<BaseWarningInfoMappe
         }
     }
 
+    /**
+     * 最新预警状态(大屏)
+     * @param map
+     * @return
+     */
+    @Override
+    public Result getLastWarning(Map<String, String> map) {
+        String farmId = map.get("farmId");
+        if (farmId == null) {
+            farmId = "331023001";
+        }
+        Integer readStatus = 1;
+
+        //今日预警记录
+        List<BaseWarningInfoDto> list = baseWarningInfoMapper.listDayBaseWarn(farmId);
+        //今日预警统计数量
+        int todayCount = baseWarningInfoMapper.listDayBaseWarn(farmId).size();
+        //本周预警统计数量
+        int weekCount = baseWarningInfoMapper.listWeekBaseWarn(farmId).size();
+        //本周预警已处理比率(1表示已处理)
+        QueryWrapper<BaseWarningInfo> wrapper = new QueryWrapper();
+        wrapper.eq("read_status", readStatus);
+        int count = baseWarningInfoMapper.selectCount(wrapper).intValue();
+        Map<String, Object> map1 = new HashMap<>();
+        if (weekCount != 0) {
+            float num = (float) count * 100 / weekCount;
+            DecimalFormat df = new DecimalFormat("0.00%");
+            String handleRate = df.format(num);
+            map1.put("todayCount", todayCount);
+            map1.put("handleRate", handleRate);
+            map1.put("weekCount", weekCount);
+            map1.put("list", list);
+            return new Result(ResultCode.SUCCESS, map1);
+        } else {
+            map1.put("todayCount", 0);
+            map1.put("handleRate",0);
+            map1.put("weekCount", 0);
+            map1.put("list", list);
+        }
+
+        return new Result(ResultCode.SUCCESS,map1);
+    }
+
 
 }