Administrator 2 gadi atpakaļ
vecāks
revīzija
f04af1b1d1

+ 55 - 3
ruoyi-admin/src/main/java/com/ruoyi/web/controller/index/IndexController.java

@@ -8,8 +8,10 @@ import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.system.domain.KaoqinConfig;
 import com.ruoyi.system.domain.KaoqinRecord;
 import com.ruoyi.system.service.IKaoqinRecordService;
 import com.ruoyi.system.service.ISysUserService;
@@ -21,9 +23,11 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
+import java.util.stream.Collectors;
 
 import static com.ruoyi.common.utils.SecurityUtils.checkStrongPwd;
 
@@ -126,4 +130,52 @@ public class IndexController extends BaseController {
         map.put("yidaka", daKaNum);
         return AjaxResult.success(map);
     }
+
+
+    /**
+     * 后台管理首页统计-折线图
+     *
+     * @param kaoQinRecord
+     * @return
+     */
+    @PostMapping("/brokenLine")
+    public AjaxResult brokenLine(@RequestBody KaoqinRecord kaoQinRecord) {
+        //1.创建一个放所有日期的集合
+        List<String> dates = new ArrayList();
+        //4.将格式化后的第一天添加进集合
+        for (int i = 6; i >= 0; i--) {
+            LocalDate localDate = LocalDate.now().minusDays(i);
+            String date = localDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+            dates.add(date);
+        }
+        //获取当前日期的前7天日期
+        Map map = new HashMap(2);
+        map.put("x", dates);
+
+        Map yMpa = new HashMap(2);
+        List<Integer> normal = new ArrayList();
+        List<Integer> abnormal = new ArrayList();
+        yMpa.put("normal",normal);
+        yMpa.put("abnormal",abnormal);
+
+        for (String date : dates) {
+            kaoQinRecord.setKaTime(date);
+            List<KaoqinRecord> kaoqinRecords = kaoqinRecordService.selectKaoqinRecordList(kaoQinRecord);
+            Map<String, List<KaoqinRecord>> collect = kaoqinRecords.stream().collect(Collectors.groupingBy(KaoqinRecord::getKaStatus));
+            if (collect != null){
+                //正常
+                List<KaoqinRecord> kaoqinRecordsNormal = collect.get("1");
+                //异常
+                List<KaoqinRecord> kaoqinRecordsAbnormal = collect.get("2");
+                if (kaoqinRecordsNormal != null){
+                    normal.add(kaoqinRecordsNormal.size());
+                }
+                if (kaoqinRecordsAbnormal != null){
+                    abnormal.add(kaoqinRecordsAbnormal.size());
+                }
+            }
+        }
+        map.put("y", yMpa);
+        return AjaxResult.success(map);
+    }
 }