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