From d7462c0c0615cee1acfbc14a52aa12d72940e49d Mon Sep 17 00:00:00 2001
From: Administrator <1144154118@qq.com>
Date: Wed, 16 Aug 2023 14:25:41 +0800
Subject: [PATCH] 单兵端

---
 ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/param/ArdAppPatrolpointRecordParam.java       |    1 
 ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/param/RecordMonthParam.java                   |   11 +
 ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/param/RecordDetailsParam.java                 |   10 +
 ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolplanServiceImpl.java        |    5 
 ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolpointRecordService.java         |   14 +
 ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolpointRecordServiceImpl.java |  248 ++++++++++++++++++++++++++++++++--
 ard-work/src/main/java/com/ruoyi/app/patrolplan/controller/ArdAppPatrolplanController.java           |   58 +++++++-
 ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/param/RecordSoloExParam.java                  |   12 +
 ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/param/RecordSoloParam.java                    |   13 +
 ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolplanService.java                |    1 
 10 files changed, 343 insertions(+), 30 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/controller/ArdAppPatrolplanController.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/controller/ArdAppPatrolplanController.java
index cb0da57..1bf372a 100644
--- a/ard-work/src/main/java/com/ruoyi/app/patrolplan/controller/ArdAppPatrolplanController.java
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/controller/ArdAppPatrolplanController.java
@@ -14,7 +14,7 @@
 import com.ruoyi.alarmpoints.well.service.IArdAlarmpointsWellService;
 import com.ruoyi.app.patrolplan.domain.ArdAppPatrolpoint;
 import com.ruoyi.app.patrolplan.domain.ArdAppPatrolpointRecord;
-import com.ruoyi.app.patrolplan.domain.param.ArdAppPatrolpointRecordParam;
+import com.ruoyi.app.patrolplan.domain.param.*;
 import com.ruoyi.app.patrolplan.service.IArdAppPatrolpointRecordService;
 import com.ruoyi.app.patrolplan.service.IArdAppPatrolpointService;
 import com.ruoyi.app.patrolplan.service.IArdAppPatroluserService;
@@ -182,7 +182,7 @@
     }
 
     /**
-     * 管理端--查询单条数据
+     *  管理端--查询单条数据
      */
     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:oneById')")
     @PostMapping("/oneById/{id}")
@@ -220,8 +220,8 @@
     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:recordMonth')")
     @ApiOperation("管理端--巡检日历")
     @PostMapping("recordMonth")
-    public Results recordMonth(@RequestBody ArdAppPatrolpointRecordParam ardAppPatrolpointRecordParam) throws ParseException {
-        return recordService.recordMonth(ardAppPatrolpointRecordParam);
+    public Results recordMonth(@RequestBody RecordMonthParam recordMonthParam) throws ParseException {
+        return recordService.recordMonth(recordMonthParam);
     }
 
     /**
@@ -230,8 +230,8 @@
     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:recordDetails')")
     @ApiOperation("管理端--点击日历获取该记录下人员打卡记录")
     @PostMapping("recordDetails")
-    public Results recordDetails(@RequestBody ArdAppPatrolpointRecordParam ardAppPatrolpointRecordParam) throws ParseException {
-        return recordService.recordDetails(ardAppPatrolpointRecordParam);
+    public Results recordDetails(@RequestBody RecordDetailsParam recordDetailsParam) throws ParseException {
+        return recordService.recordDetails(recordDetailsParam);
     }
 
     /**
@@ -240,8 +240,8 @@
     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:recordSolo')")
     @ApiOperation("管理端--单人详情")
     @PostMapping("recordSolo")
-    public Results recordSolo(@RequestBody ArdAppPatrolpointRecordParam ardAppPatrolpointRecordParam) throws ParseException {
-        return recordService.recordSolo(ardAppPatrolpointRecordParam);
+    public Results recordSolo(@RequestBody RecordSoloParam recordSoloParam) throws ParseException {
+        return recordService.recordSolo(recordSoloParam);
     }
 
     /**
@@ -264,4 +264,46 @@
         List<ArdAppPatrolplan> list = ardAppPatrolplanService.executeList(ardAppPatrolplan);
         return Results.succeed(new PageInfo<>(list));
     }
+
+    /**
+     *  单兵端--查询单条数据
+     */
+    @PreAuthorize("@ss.hasPermi('app:appPatrolplan:executeOneById')")
+    @PostMapping("/executeOneById/{id}")
+    @ApiOperation("单兵端--查询单条数据")
+    public Results executeOneById(@PathVariable String id)
+    {
+        return ardAppPatrolplanService.executeOneById(id);
+    }
+
+    /**
+     * 单兵端--巡检日历
+     */
+    @PreAuthorize("@ss.hasPermi('app:appPatrolplan:executeMonth')")
+    @ApiOperation("单兵端--巡检日历")
+    @PostMapping("executeMonth")
+    public Results executeMonth(@RequestBody RecordMonthParam recordMonthParam) throws ParseException {
+        return recordService.executeMonth(recordMonthParam);
+    }
+
+    /**
+     * 单兵端--点击日历获取该记录下人员打卡记录
+     */
+    @PreAuthorize("@ss.hasPermi('app:appPatrolplan:executeDetails')")
+    @ApiOperation("单兵端--点击日历获取该人员下所有地点打卡记录")
+    @PostMapping("executeDetails")
+    public Results executeDetails(@RequestBody RecordDetailsParam recordDetailsParam) throws ParseException {
+        return recordService.executeDetails(recordDetailsParam);
+    }
+
+    /**
+     * 单兵端--单人详情
+     */
+    @PreAuthorize("@ss.hasPermi('app:appPatrolplan:executeSolo')")
+    @ApiOperation("单兵端--单人详情")
+    @PostMapping("executeSolo")
+    public Results executeSolo(@RequestBody RecordSoloExParam recordSoloExParam) throws ParseException {
+        return recordService.executeSolo(recordSoloExParam);
+    }
+
 }
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/param/ArdAppPatrolpointRecordParam.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/param/ArdAppPatrolpointRecordParam.java
index c776aad..856f17e 100644
--- a/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/param/ArdAppPatrolpointRecordParam.java
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/param/ArdAppPatrolpointRecordParam.java
@@ -13,4 +13,5 @@
     private String toDay;
     private String userId;
     private String userName;
+    private String wellId;
 }
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/param/RecordDetailsParam.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/param/RecordDetailsParam.java
new file mode 100644
index 0000000..d6902cb
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/param/RecordDetailsParam.java
@@ -0,0 +1,10 @@
+package com.ruoyi.app.patrolplan.domain.param;
+
+import lombok.Data;
+
+@Data
+public class RecordDetailsParam {
+
+    private String planId;
+    private String toDay;
+}
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/param/RecordMonthParam.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/param/RecordMonthParam.java
new file mode 100644
index 0000000..909fb17
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/param/RecordMonthParam.java
@@ -0,0 +1,11 @@
+package com.ruoyi.app.patrolplan.domain.param;
+
+import lombok.Data;
+
+@Data
+public class RecordMonthParam {
+
+    private String begin;
+    private String end;
+    private String planId;
+}
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/param/RecordSoloExParam.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/param/RecordSoloExParam.java
new file mode 100644
index 0000000..989e3f8
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/param/RecordSoloExParam.java
@@ -0,0 +1,12 @@
+package com.ruoyi.app.patrolplan.domain.param;
+
+import lombok.Data;
+
+@Data
+public class RecordSoloExParam {
+
+    private String planId;
+    private String toDay;
+    private String userId;
+    private String wellId;
+}
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/param/RecordSoloParam.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/param/RecordSoloParam.java
new file mode 100644
index 0000000..e210f0b
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/param/RecordSoloParam.java
@@ -0,0 +1,13 @@
+package com.ruoyi.app.patrolplan.domain.param;
+
+import lombok.Data;
+
+@Data
+public class RecordSoloParam {
+
+    private String planId;
+    private String planName;
+    private String toDay;
+    private String userId;
+    private String userName;
+}
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolplanService.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolplanService.java
index d7f0b4a..abdea0f 100644
--- a/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolplanService.java
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolplanService.java
@@ -63,4 +63,5 @@
 
     List<ArdAppPatrolplan> executeList(ArdAppPatrolplan ardAppPatrolplan);
 
+    Results executeOneById(String id);
 }
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolpointRecordService.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolpointRecordService.java
index d076d30..72bb5e5 100644
--- a/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolpointRecordService.java
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolpointRecordService.java
@@ -5,7 +5,7 @@
 import java.util.Map;
 
 import com.ruoyi.app.patrolplan.domain.ArdAppPatrolpointRecord;
-import com.ruoyi.app.patrolplan.domain.param.ArdAppPatrolpointRecordParam;
+import com.ruoyi.app.patrolplan.domain.param.*;
 import com.ruoyi.utils.result.Results;
 
 /**
@@ -66,9 +66,15 @@
 
     Results record(ArdAppPatrolpointRecord ardAppPatrolpointRecord);
 
-    Results recordMonth(ArdAppPatrolpointRecordParam ardAppPatrolpointRecordParam) throws ParseException;
+    Results recordMonth(RecordMonthParam recordMonthParam) throws ParseException;
 
-    Results recordDetails(ArdAppPatrolpointRecordParam ardAppPatrolpointRecordParam) throws ParseException;
+    Results recordDetails(RecordDetailsParam recordDetailsParam) throws ParseException;
 
-    Results recordSolo(ArdAppPatrolpointRecordParam ardAppPatrolpointRecordParam);
+    Results recordSolo(RecordSoloParam recordSoloParam);
+
+    Results executeMonth(RecordMonthParam recordMonthParam) throws ParseException;
+
+    Results executeDetails(RecordDetailsParam recordDetailsParam) throws ParseException;
+
+    Results executeSolo(RecordSoloExParam recordSoloExParam);
 }
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolplanServiceImpl.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolplanServiceImpl.java
index 3ab109a..55a739f 100644
--- a/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolplanServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolplanServiceImpl.java
@@ -307,4 +307,9 @@
         return ardAppPatrolplanMapper.executeList(ardAppPatrolplan);
     }
 
+    @Override
+    public Results executeOneById(String id) {
+        return Results.succeed(ardAppPatrolplanMapper.selectById(id));
+    }
+
 }
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolpointRecordServiceImpl.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolpointRecordServiceImpl.java
index ecd6d16..d4c769c 100644
--- a/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolpointRecordServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolpointRecordServiceImpl.java
@@ -15,7 +15,7 @@
 import com.ruoyi.app.patrolplan.domain.ArdAppPatrolplan;
 import com.ruoyi.app.patrolplan.domain.ArdAppPatrolpointRecordImg;
 import com.ruoyi.app.patrolplan.domain.ArdAppPatroluser;
-import com.ruoyi.app.patrolplan.domain.param.ArdAppPatrolpointRecordParam;
+import com.ruoyi.app.patrolplan.domain.param.*;
 import com.ruoyi.app.patrolplan.mapper.ArdAppPatrolplanMapper;
 import com.ruoyi.app.patrolplan.mapper.ArdAppPatrolpointRecordImgMapper;
 import com.ruoyi.app.patrolplan.mapper.ArdAppPatroluserMapper;
@@ -156,11 +156,11 @@
     }
 
     @Override
-    public Results recordMonth(ArdAppPatrolpointRecordParam ardAppPatrolpointRecordParam) throws ParseException {
+    public Results recordMonth(RecordMonthParam recordMonthParam) throws ParseException {
         //获取前端参数
-        String begin = ardAppPatrolpointRecordParam.getBegin();
-        String end = ardAppPatrolpointRecordParam.getEnd();
-        String planId = ardAppPatrolpointRecordParam.getPlanId();
+        String begin = recordMonthParam.getBegin();
+        String end = recordMonthParam.getEnd();
+        String planId = recordMonthParam.getPlanId();
         //查询计划表
         ArdAppPatrolplan ardAppPatrolplan = patrolplanMapper.selectById(planId);
         //查询出有效打卡数据
@@ -251,12 +251,12 @@
     }
 
     @Override
-    public Results recordDetails(ArdAppPatrolpointRecordParam ardAppPatrolpointRecordParam) throws ParseException {
+    public Results recordDetails(RecordDetailsParam recordDetailsParam) throws ParseException {
         SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
         SimpleDateFormat dateFormatTime = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
         //获取参数
-        String planId = ardAppPatrolpointRecordParam.getPlanId();
-        String toDay = ardAppPatrolpointRecordParam.getToDay();
+        String planId = recordDetailsParam.getPlanId();
+        String toDay = recordDetailsParam.getToDay();
         //查询计划表
         ArdAppPatrolplan ardAppPatrolplan = patrolplanMapper.selectById(planId);
         String cycle = ardAppPatrolplan.getCycle();
@@ -360,18 +360,32 @@
     }
 
     @Override
-    public Results recordSolo(ArdAppPatrolpointRecordParam ardAppPatrolpointRecordParam) {
-        String toDay = ardAppPatrolpointRecordParam.getToDay();
-        String planId = ardAppPatrolpointRecordParam.getPlanId();
-        String userId = ardAppPatrolpointRecordParam.getUserId();
-        String planName = ardAppPatrolpointRecordParam.getPlanName();
-        String userName = ardAppPatrolpointRecordParam.getUserName();
+    public Results recordSolo(RecordSoloParam recordSoloParam) {
+        String toDay = recordSoloParam.getToDay();
+        String planId = recordSoloParam.getPlanId();
+        String userId = recordSoloParam.getUserId();
+        String planName = recordSoloParam.getPlanName();
+        String userName = recordSoloParam.getUserName();
         QueryWrapper<ArdAppPatrolpointRecord> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("plan_id", planId).eq("user_id",userId).like("record_time", toDay);
         //当前计划选中时间里此用户的打卡记录
         List<ArdAppPatrolpointRecord> list = ardAppPatrolpointRecordMapper.selectList(queryWrapper);
+        //查询该计划的所有兴趣点
+        List<ArdAlarmpointsWell> wellList = wellMapper.wellByPlanId(planId);
         if(list.size()==0){
-
+            for (ArdAlarmpointsWell ardAlarmpointsWell : wellList) {
+                ArdAppPatrolpointRecord ardAppPatrolpointRecord = new ArdAppPatrolpointRecord();
+                ardAppPatrolpointRecord.setAppPatrolpointsId(ardAlarmpointsWell.getId());
+                ardAppPatrolpointRecord.setAppPatrolpointsName(ardAlarmpointsWell.getWellId());
+                ardAppPatrolpointRecord.setPlanId(planId);
+                ardAppPatrolpointRecord.setPlanName(planName);
+                ardAppPatrolpointRecord.setUserId(userId);
+                ardAppPatrolpointRecord.setUserName(userName);
+                ardAppPatrolpointRecord.setLatitude(String.valueOf(ardAlarmpointsWell.getLatitude()));
+                ardAppPatrolpointRecord.setLongitude(String.valueOf(ardAlarmpointsWell.getLongitude().toString()));
+                list.add(ardAppPatrolpointRecord);
+            }
+            return Results.succeed(list);
         }
         for (ArdAppPatrolpointRecord appPatrolpointRecord : list) {
             QueryWrapper<ArdAppPatrolpointRecordImg> queryWrapper1 = new QueryWrapper<>();
@@ -388,12 +402,10 @@
         for (ArdAppPatrolpointRecord appPatrolpointRecord : list) {
             pointList.add(appPatrolpointRecord.getAppPatrolpointsId());
         }
-        //查询该计划的所有兴趣点
-        List<ArdAlarmpointsWell> wellList = wellMapper.wellByPlanId(planId);
         for (ArdAlarmpointsWell ardAlarmpointsWell : wellList) {
             //所有应该打卡的地点ID
             String well = ardAlarmpointsWell.getId();
-            //如果打开地点不包含应打卡地点,那说名这块儿没打卡
+            //如果打卡地点不包含应打卡地点,那说名这块儿没打卡
             if (!pointList.contains(well)) {
                 ArdAppPatrolpointRecord ardAppPatrolpointRecord = new ArdAppPatrolpointRecord();
                 ardAppPatrolpointRecord.setAppPatrolpointsId(well);
@@ -410,4 +422,204 @@
         return Results.succeed(list);
     }
 
+    @Override
+    public Results executeMonth(RecordMonthParam RecordMonthParam) throws ParseException {
+        //获取前端参数
+        String begin = RecordMonthParam.getBegin();
+        String end = RecordMonthParam.getEnd();
+        String planId = RecordMonthParam.getPlanId();
+        //查询计划表
+        ArdAppPatrolplan ardAppPatrolplan = patrolplanMapper.selectById(planId);
+        //查询出有效打卡数据
+        String userId = SecurityUtils.getUserId();
+        QueryWrapper<ArdAppPatrolpointRecord> queryWrapper = new QueryWrapper<>();
+        queryWrapper.between("record_time",begin,end).eq("plan_id",planId).eq("user_id",userId);
+        List<ArdAppPatrolpointRecord> list = ardAppPatrolpointRecordMapper.selectList(queryWrapper);
+        //时间拆分
+        String[] parts = end.split("[-\\s:]");
+        int year = Integer.parseInt(parts[0]);
+        int month = Integer.parseInt(parts[1]);
+        int day = Integer.parseInt(parts[2]);
+        String monthZero;
+        if(month<10){
+            monthZero = String.format("%02d", month);
+        }else {
+            monthZero = String.valueOf(month);
+        }
+        JSONArray jsonArray = new JSONArray();
+        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        for (int i = 1; i <= day; i++) {
+            String di;
+            if(i<10){
+                di = String.format("%02d", i);
+            }else {
+                di = String.valueOf(i);
+            }
+            JSONObject jsonObject = new JSONObject();
+            Boolean planBoolean = false;
+            //循环每一天
+            String ymd = year+"-"+monthZero+"-"+di;
+            //匹配计划时间
+            String cycle = ardAppPatrolplan.getCycle();
+            if(cycle.equals("day")){
+                String createTime = ardAppPatrolplan.getCreateTime();
+                int d = ymd.compareTo(createTime);
+                if(d>=0){
+                    planBoolean = true;
+                }
+            }else if(cycle.equals("once")){
+                String onceBegin = ardAppPatrolplan.getPatroBeginTime();
+                String onceEnd = ardAppPatrolplan.getPatroEndTime();
+                int bd = ymd.compareTo(onceBegin);
+                int ed = ymd.compareTo(onceEnd);
+                if(bd>=0 && ed<=0){
+                    planBoolean = true;
+                }
+            }
+            //匹配打卡时间
+            Boolean or = false;
+            if(planBoolean){
+                for (int j = 0; j < list.size(); j++) {
+                    //打卡时间拆分
+                    String recordTime = list.get(j).getRecordTime();
+                    String[] part = recordTime.split("[-\\s:]");
+                    int recordYear = Integer.parseInt(part[0]);
+                    int recordMonth = Integer.parseInt(part[1]);
+                    String recordMonthZero;
+                    if(recordMonth<10){
+                        recordMonthZero = String.format("%02d", recordMonth);
+                    }else {
+                        recordMonthZero = String.valueOf(recordMonth);
+                    }
+                    int recordDay = Integer.parseInt(part[2]);
+                    String recordDayZero;
+                    if(recordDay<10){
+                        recordDayZero = String.format("%02d", recordDay);
+                    }else {
+                        recordDayZero = String.valueOf(recordDay);
+                    }
+                    String recordDate = recordYear+"-"+recordMonthZero+"-"+recordDayZero;
+                    //如果相等说明这天有打卡记录记录
+                    if(ymd.equals(recordDate)){
+                        or = true;
+                        break;
+                    }
+                }
+            }
+            jsonObject.put("toDay",ymd );
+            jsonObject.put("plan",planBoolean);
+            jsonObject.put("record",or);
+            jsonArray.add(jsonObject);
+        }
+        return Results.succeed(jsonArray);
+    }
+
+    @Override
+    public Results executeDetails(RecordDetailsParam recordDetailsParam) throws ParseException {
+        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        SimpleDateFormat dateFormatTime = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
+        String userId = SecurityUtils.getUserId();
+        //获取参数
+        String planId = recordDetailsParam.getPlanId();
+        String toDay = recordDetailsParam.getToDay();
+        //查询计划表
+        ArdAppPatrolplan ardAppPatrolplan = patrolplanMapper.selectById(planId);
+        String cycle = ardAppPatrolplan.getCycle();
+        String begin = ardAppPatrolplan.getPatroBeginTime();
+        String end = ardAppPatrolplan.getPatroEndTime();
+        String create = ardAppPatrolplan.getCreateTime();
+        JSONArray jsonArray = new JSONArray();
+        int c = 0;
+        if(cycle.equals("day")){
+            //每天计划取创建时间
+            c = toDay.compareTo(create.substring(0,10));
+        }else if(cycle.equals("once")){
+            //单次计划取开始时间
+            c = toDay.compareTo(begin.substring(0,10));
+        }
+        if(cycle.equals("once") && c>0){
+            //单次计划大于开始时间==跨天,在计划时间外
+            return Results.succeed("[]");
+        }
+        if(c<0){
+            //每日计划小于创建时间或单次计划小于开始时间,在计划时间外
+            return Results.succeed("[]");
+        }else{
+            //在每日计划的时间范围内
+            String date = dateFormat.format(new Date());
+            //比较选中的日期和今天日期
+            int d = toDay.compareTo(date);
+            //查询该计划的所有人员
+            List<SysUser> users = sysUserMapper.userByPlanId(planId);
+            //查询该计划的所有兴趣点
+            List<ArdAlarmpointsWell> wellList = wellMapper.wellByPlanId(planId);
+            //大于0代表查询以后的记录
+            if(d>0){
+                //查询计划内的每日未来数据
+                for (int i = 0; i < users.size(); i++) {
+                    JSONObject jsonObject = new JSONObject();
+                    jsonObject.put("wellId",wellList.get(i).getId());
+                    jsonObject.put("wellName",wellList.get(i).getWellId());
+                    jsonObject.put("type",false);
+                    jsonArray.add(jsonObject);
+                }
+                return Results.succeed(jsonArray);
+            }else{
+                //查询计划内的实际历史打卡数据
+                QueryWrapper<ArdAppPatrolpointRecord> recordQueryWrapper = new QueryWrapper<>();
+                if(d<0){
+                    //小于0是历史
+                    recordQueryWrapper.select("app_patrolpoints_id","app_patrolpoints_name").eq("plan_id", planId).eq("user_id",userId).like("record_time", toDay);
+                }else{
+                    //等于0选中的日期就是今天,需要进一步判断小于当前时分秒的记录
+                    recordQueryWrapper.select("app_patrolpoints_id","app_patrolpoints_name").eq("plan_id", planId).eq("user_id",userId).le("record_time", dateFormatTime.format(new Date()));
+                }
+                List<ArdAppPatrolpointRecord> list = ardAppPatrolpointRecordMapper.selectList(recordQueryWrapper);
+                //循环打卡地点
+                for (int i = 0; i < wellList.size(); i++) {
+                    String id = wellList.get(i).getId();
+                    JSONObject jsonObject = new JSONObject();
+                    jsonObject.put("wellId",wellList.get(i).getId());
+                    jsonObject.put("wellName",wellList.get(i).getWellId());
+                    if(list.size()>0){
+                        for (int j = 0; j < list.size(); j++) {
+                            if(id.equals(list.get(j).getAppPatrolpointsId())){
+                                jsonObject.put("type",true);
+                                break;
+                            }
+                            if(j==list.size()-1){
+                                jsonObject.put("type",false);
+                            }
+                        }
+                    }else {
+                        jsonObject.put("type",false);
+                    }
+                    jsonArray.add(jsonObject);
+                }
+                return Results.succeed(jsonArray);
+            }
+        }
+    }
+
+    @Override
+    public Results executeSolo(RecordSoloExParam recordSoloExParam) {
+        QueryWrapper<ArdAppPatrolpointRecord> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("plan_id",recordSoloExParam.getPlanId())
+                .eq("app_patrolpoints_id",recordSoloExParam.getWellId())
+                .eq("user_id",recordSoloExParam.getUserId())
+                .like("record_time",recordSoloExParam.getToDay());
+        List<ArdAppPatrolpointRecord> list = ardAppPatrolpointRecordMapper.selectList(queryWrapper);
+        for (ArdAppPatrolpointRecord appPatrolpointRecord : list) {
+            QueryWrapper<ArdAppPatrolpointRecordImg> queryWrapper1 = new QueryWrapper<>();
+            queryWrapper1.eq("app_patrolponit_record_id", appPatrolpointRecord.getId());
+            List<ArdAppPatrolpointRecordImg> list1 = recordImgMapper.selectList(queryWrapper1);
+            List<String> strings = new ArrayList<>();
+            for (ArdAppPatrolpointRecordImg ardAppPatrolpointRecordImg : list1) {
+                strings.add(ardAppPatrolpointRecordImg.getImg());
+            }
+            appPatrolpointRecord.setImg(strings);
+        }
+        return Results.succeed(list);
+    }
+
 }

--
Gitblit v1.9.3