From 5ad4e2b2e881204102cd0a5e96da936db19f39c7 Mon Sep 17 00:00:00 2001
From: Administrator <1144154118@qq.com>
Date: 星期五, 11 八月 2023 11:30:47 +0800
Subject: [PATCH] 删除

---
 ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolpointRecordServiceImpl.java |  184 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 184 insertions(+), 0 deletions(-)

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 887f965..f518db1 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
@@ -1,8 +1,23 @@
 package com.ruoyi.app.patrolplan.service.impl;
 
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
+import com.alibaba.fastjson2.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+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.mapper.ArdAppPatrolplanMapper;
+import com.ruoyi.app.patrolplan.mapper.ArdAppPatrolpointRecordImgMapper;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.uuid.IdUtils;
+import com.ruoyi.utils.result.Results;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.app.patrolplan.mapper.ArdAppPatrolpointRecordMapper;
@@ -10,6 +25,7 @@
 import com.ruoyi.app.patrolplan.service.IArdAppPatrolpointRecordService;
 
 import javax.annotation.Resource;
+import javax.xml.crypto.Data;
 
 /**
  * app宸℃璁″垝璁板綍Service涓氬姟灞傚鐞�
@@ -21,6 +37,12 @@
 public class ArdAppPatrolpointRecordServiceImpl implements IArdAppPatrolpointRecordService {
     @Resource
     private ArdAppPatrolpointRecordMapper ardAppPatrolpointRecordMapper;
+
+    @Resource
+    private ArdAppPatrolpointRecordImgMapper recordImgMapper;
+
+    @Resource
+    private ArdAppPatrolplanMapper patrolplanMapper;
 
     /**
      * 鏌ヨapp宸℃璁″垝璁板綍
@@ -88,4 +110,166 @@
     public int deleteArdAppPatrolpointRecordById(String id) {
         return ardAppPatrolpointRecordMapper.deleteArdAppPatrolpointRecordById(id);
     }
+
+    @Override
+    public Results record(ArdAppPatrolpointRecord ardAppPatrolpointRecord) {
+        String id = IdUtils.simpleUUID();
+        ardAppPatrolpointRecord.setId(id);
+        int num = ardAppPatrolpointRecordMapper.insert(ardAppPatrolpointRecord);
+        List<String> list = ardAppPatrolpointRecord.getImg();
+        for (int i = 0; i < list.size(); i++) {
+            ArdAppPatrolpointRecordImg recordImg = new ArdAppPatrolpointRecordImg();
+            String imgId = IdUtils.simpleUUID();
+            recordImg.setId(imgId);
+            recordImg.setAppPatrolponitRecordId(id);
+            recordImg.setImg(list.get(i));
+            recordImgMapper.insert(recordImg);
+        }
+        if(num>0){
+            return Results.succeed("鎵撳崱鎴愬姛锛�");
+        }else {
+            return Results.error("鎵撳紑澶辫触锛�");
+        }
+    }
+
+    @Override
+    public Results recordMonth(ArdAppPatrolpointRecordParam ardAppPatrolpointRecordParam) throws ParseException {
+        //鑾峰彇鍓嶇鍙傛暟
+        String begin = ardAppPatrolpointRecordParam.getBegin();
+        String end = ardAppPatrolpointRecordParam.getEnd();
+        String planId = ardAppPatrolpointRecordParam.getPlanId();
+        //鏌ヨ璁″垝琛�
+        ArdAppPatrolplan ardAppPatrolplan = patrolplanMapper.selectById(planId);
+        //鏌ヨ鍑烘湁鏁堟墦鍗℃暟鎹�
+        QueryWrapper<ArdAppPatrolpointRecord> queryWrapper = new QueryWrapper<>();
+        queryWrapper.between("record_time",begin,end).eq("plan_id",planId);
+        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;
+//            Date ymdDate = dateFormat.parse(ymd);
+            //鍖归厤璁″垝鏃堕棿
+            String cycle = ardAppPatrolplan.getCycle();
+            if(cycle.equals("day")){
+                String createTime = ardAppPatrolplan.getCreateTime();
+//                Date beginCreateDate = dateFormat.parse(createTime);
+                int d = ymd.compareTo(createTime);
+                if(d>=0){
+                    planBoolean = true;
+                }
+            }else if(cycle.equals("once")){
+                String onceBegin = ardAppPatrolplan.getPatroBeginTime();
+//                Date onceBeginDate = dateFormat.parse(onceBegin);
+                String onceEnd = ardAppPatrolplan.getPatroEndTime();
+//                Date onceEndDate = dateFormat.parse(onceEnd);
+                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 recordDetails(ArdAppPatrolpointRecordParam ardAppPatrolpointRecordParam) throws ParseException {
+        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        //鑾峰彇鍙傛暟
+        String planId = ardAppPatrolpointRecordParam.getPlanId();
+        String toDay = ardAppPatrolpointRecordParam.getToDay();
+        Date toDayDate = dateFormat.parse(toDay);
+        //鏌ヨ璁″垝琛�
+        ArdAppPatrolplan ardAppPatrolplan = patrolplanMapper.selectById(planId);
+        String cycle = ardAppPatrolplan.getCycle();
+        String begin = ardAppPatrolplan.getPatroBeginTime();
+        Date beginDate = dateFormat.parse(begin);
+        String end = ardAppPatrolplan.getPatroEndTime();
+        Date endDate = dateFormat.parse(end);
+        String create = ardAppPatrolplan.getCreateTime();
+        Date createDate = dateFormat.parse(create);
+        if(cycle.equals("day")){
+
+        }else if(cycle.equals("once")){
+            int bd = toDayDate.compareTo(beginDate);
+            int en = toDayDate.compareTo(endDate);
+            if(bd>=0 && en<=0){
+                //浼犲叆鏃堕棿涓鸿璁″垝鍐呮椂闂�
+                String date = dateFormat.format(new Date());
+                Date dateDate = dateFormat.parse(date);
+                int d = toDayDate.compareTo(dateDate);
+                if(d < 0) {
+                    //鏌ヨ璁″垝鍐呯殑鍘嗗彶鏁版嵁
+                    QueryWrapper<ArdAppPatrolpointRecord> recordQueryWrapper = new QueryWrapper<>();
+                    recordQueryWrapper.eq("plan_id", planId).like("record_time", toDay).groupBy("user_id");
+                    List<ArdAppPatrolpointRecord> list = ardAppPatrolpointRecordMapper.selectList(recordQueryWrapper);
+                    return Results.succeed(list);
+                }else if(d > 0){
+                    //鏌ヨ璁″垝鍐呯殑鏈潵鏁版嵁
+                    QueryWrapper<ArdAppPatroluser> appPatroluserQueryWrapper = new QueryWrapper<>();
+                    appPatroluserQueryWrapper.eq("patrolplan_id",planId).groupBy("app_user_id");
+
+                }
+            }else {
+                return Results.succeed("[]");
+            }
+        }
+        return Results.succeed();
+    }
+
 }

--
Gitblit v1.9.3