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

---
 ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolplanServiceImpl.java |  260 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 241 insertions(+), 19 deletions(-)

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 75dd75d..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
@@ -1,14 +1,40 @@
 package com.ruoyi.app.patrolplan.service.impl;
 
+import java.io.Serializable;
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
-        import com.ruoyi.common.utils.DateUtils;
+import java.util.Map;
+
+import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
+import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWellVo;
+import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper;
+import com.ruoyi.app.patrolplan.domain.ArdAppPatrolpoint;
+import com.ruoyi.app.patrolplan.domain.ArdAppPatrolpointRecord;
+import com.ruoyi.app.patrolplan.domain.ArdAppPatroluser;
+import com.ruoyi.app.patrolplan.mapper.ArdAppPatrolpointMapper;
+import com.ruoyi.app.patrolplan.mapper.ArdAppPatrolpointRecordMapper;
+import com.ruoyi.app.patrolplan.mapper.ArdAppPatroluserMapper;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.domain.entity.SysUserVo;
+import com.ruoyi.common.utils.DateUtils;
 
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.uuid.IdUtils;
+import com.ruoyi.system.mapper.SysUserMapper;
+import com.ruoyi.utils.result.Results;
+import org.apache.logging.log4j.util.Strings;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.app.patrolplan.mapper.ArdAppPatrolplanMapper;
 import com.ruoyi.app.patrolplan.domain.ArdAppPatrolplan;
 import com.ruoyi.app.patrolplan.service.IArdAppPatrolplanService;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 
@@ -22,6 +48,21 @@
 public class ArdAppPatrolplanServiceImpl implements IArdAppPatrolplanService {
     @Resource
     private ArdAppPatrolplanMapper ardAppPatrolplanMapper;
+
+    @Resource
+    private ArdAppPatrolpointMapper ardAppPatrolpointMapper;
+
+    @Resource
+    private ArdAppPatroluserMapper ardAppPatroluserMapper;
+
+    @Resource
+    private ArdAlarmpointsWellMapper ardAlarmpointsWellMapper;
+
+    @Resource
+    private SysUserMapper sysUserMapper;
+
+    @Resource
+    private ArdAppPatrolpointRecordMapper recordMapper;
 
     /**
      * 鏌ヨapp宸℃璁″垝
@@ -54,40 +95,221 @@
     @Override
     public int insertArdAppPatrolplan(ArdAppPatrolplan ardAppPatrolplan) {
                 ardAppPatrolplan.setUserId(SecurityUtils.getUserId());
-                ardAppPatrolplan.setCreateTime(DateUtils.getNowDate());
+                Date date = new Date();
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                ardAppPatrolplan.setCreateTime(sdf.format(date));
             return ardAppPatrolplanMapper.insertArdAppPatrolplan(ardAppPatrolplan);
     }
 
     /**
      * 淇敼app宸℃璁″垝
      *
-     * @param ardAppPatrolplan app宸℃璁″垝
      * @return 缁撴灉
      */
     @Override
-    public int updateArdAppPatrolplan(ArdAppPatrolplan ardAppPatrolplan) {
-        return ardAppPatrolplanMapper.updateArdAppPatrolplan(ardAppPatrolplan);
+    public Results BeforeUpdateArdAppPatrolplan(Map<String,Object> para) {
+        if(para.get("id").toString().isEmpty()){
+            return Results.error("ID鏃犳晥锛�");
+        }
+        //淇敼涓昏〃
+        ArdAppPatrolplan ardAppPatrolplan = new ArdAppPatrolplan();
+        ardAppPatrolplan.setId(para.get("id").toString());
+        ardAppPatrolplan.setUserId(para.get("userId").toString());
+        ardAppPatrolplan.setCycle(para.get("cycle").toString());
+        ardAppPatrolplan.setPatroBeginTime(para.get("patroBeginTime").toString());
+        ardAppPatrolplan.setPatroEndTime(para.get("patroEndTime").toString());
+        ardAppPatrolplan.setPlanName(para.get("planName").toString());
+        int num = ardAppPatrolplanMapper.updateById(ardAppPatrolplan);
+        //淇敼鍏磋叮鐐�
+        ardAppPatrolpointMapper.deleteArdAppPatrolpointByPlanId(para.get("id").toString());//鍒犻櫎宸℃璁″垝涓嬫寕鐐逛綅
+        List<String> alarmpointIdList = (List<String>) para.get("alarmpointIdList");
+        List<ArdAppPatrolpoint> ardAppPatrolpointList = new ArrayList();
+        for(String  alarmpointId : alarmpointIdList){
+            String patrolpointId = IdUtils.simpleUUID();
+            ArdAppPatrolpoint ardAppPatrolpoint = new ArdAppPatrolpoint();
+            ardAppPatrolpoint.setId(patrolpointId);
+            ardAppPatrolpoint.setPatrolplanId(para.get("id").toString());
+            ardAppPatrolpoint.setAlarmpointsId(alarmpointId);
+            ardAppPatrolpoint.setType((String) para.get("type"));
+            ardAppPatrolpointList.add(ardAppPatrolpoint);
+        }
+        ardAppPatrolpointMapper.insertArdAppPatrolpointList(ardAppPatrolpointList);//鏂板鍏宠仈鍏磋叮鐐�
+        //淇敼鐢ㄦ埛
+        ardAppPatroluserMapper.deleteArdAppPatroluserByPlanId(para.get("id").toString());//鍒犻櫎宸℃璁″垝涓嬫寕鐢ㄦ埛
+        List<String> appUserIdList = (List<String>) para.get("appUserIdList");
+        List<ArdAppPatroluser> ardAppPatroluserList = new ArrayList();
+        for(String appUserId : appUserIdList){
+            String patroluserId = IdUtils.simpleUUID();
+            ArdAppPatroluser ardAppPatroluser = new ArdAppPatroluser();
+            ardAppPatroluser.setId(patroluserId);
+            ardAppPatroluser.setPatrolplanId(para.get("id").toString());
+            ardAppPatroluser.setAppUserId(appUserId);
+            ardAppPatroluserList.add(ardAppPatroluser);
+        }
+        ardAppPatroluserMapper.insertArdAppPatroluserList(ardAppPatroluserList);//鏂板鍏宠仈浜哄憳
+        if(num>0){
+            return Results.succeed("淇敼鎴愬姛锛�");
+        }else {
+            return Results.error("淇敼澶辫触锛�");
+        }
     }
 
-    /**
-     * 鎵归噺鍒犻櫎app宸℃璁″垝
-     *
-     * @param patroEndTimes 闇�瑕佸垹闄ょ殑app宸℃璁″垝涓婚敭
-     * @return 缁撴灉
-     */
-    @Override
-    public int deleteArdAppPatrolplanByPatroEndTimes(String[] patroEndTimes) {
-        return ardAppPatrolplanMapper.deleteArdAppPatrolplanByPatroEndTimes(patroEndTimes);
-    }
 
     /**
      * 鍒犻櫎app宸℃璁″垝淇℃伅
-     *
-     * @param patroEndTime app宸℃璁″垝涓婚敭
      * @return 缁撴灉
      */
     @Override
-    public int deleteArdAppPatrolplanByPatroEndTime(String patroEndTime) {
-        return ardAppPatrolplanMapper.deleteArdAppPatrolplanByPatroEndTime(patroEndTime);
+    @Transactional
+    public int deleteArdApp(String id) {
+        try {
+            Boolean del = false;
+            //鏌ヨ璁″垝鏃堕棿鏄惁缁撴潫
+            ArdAppPatrolplan planList = ardAppPatrolplanMapper.selectById(id);
+            String cycle = planList.getCycle();
+            String end = planList.getPatroEndTime();
+            if(cycle.equals("day")){
+                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+                String date = dateFormat.format(new Date());
+                end = date +" "+end;
+            }
+            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            String toDay = dateFormat.format(new Date());
+            int once = toDay.compareTo(end);
+            if(once<0){
+                del = true;
+            }
+            if(!del){
+                //鏌ヨ鏄惁鏈夋墦鍗¤褰�
+                QueryWrapper<ArdAppPatrolpointRecord> recordQueryWrapper = new QueryWrapper<>();
+                recordQueryWrapper.eq("plan_id",id);
+                List<ArdAppPatrolpointRecord> recordList = recordMapper.selectList(recordQueryWrapper);
+                if(recordList.size()>0){
+                    del = true;
+                }
+            }
+            if(del){
+                int result = ardAppPatrolplanMapper.deleteArdAppPatrolplanById(id);//鍒犻櫎宸℃璁″垝
+                ardAppPatrolpointMapper.deleteArdAppPatrolpointByPlanId(id);//鍒犻櫎宸℃璁″垝涓嬫寕鐐逛綅
+                ardAppPatroluserMapper.deleteArdAppPatroluserByPlanId(id);//鍒犻櫎宸℃璁″垝涓嬫寕鐢ㄦ埛
+                return result;
+            }else {
+                String userId = SecurityUtils.getUserId();
+                SysUser sysUser = sysUserMapper.selectUserById(userId);
+                String userName = sysUser.getNickName();
+                planList.setDelName(userName);
+                planList.setDelTime(dateFormat.format(new Date()));
+                int result = ardAppPatrolplanMapper.updateById(planList);
+                return result;
+            }
+        } catch (Exception e){
+            e.printStackTrace();
+            return 0;
+        }
     }
+
+    @Override
+    @Transactional
+    public int insertArdAppPatrolplan(Map<String, Object> para) {
+        String id = IdUtils.simpleUUID();
+        ArdAppPatrolplan ardAppPatrolplan = new ArdAppPatrolplan();
+        ardAppPatrolplan.setId(id);
+        ardAppPatrolplan.setPlanName((String) para.get("planName"));
+        ardAppPatrolplan.setPatroBeginTime((String) para.get("patroBeginTime"));
+        ardAppPatrolplan.setPatroEndTime((String) para.get("patroEndTime"));
+        String userId = SecurityUtils.getUserId();
+        ardAppPatrolplan.setUserId(userId);
+        ardAppPatrolplan.setCycle((String) para.get("cycle"));
+        Date date = new Date();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        ardAppPatrolplan.setCreateTime(sdf.format(date));
+        int result = ardAppPatrolplanMapper.insertArdAppPatrolplan(ardAppPatrolplan);//鏂板涓昏〃
+        List<String> alarmpointIdList = (List<String>) para.get("alarmpointIdList");
+        List<ArdAppPatrolpoint> ardAppPatrolpointList = new ArrayList();
+        for(String  alarmpointId : alarmpointIdList){
+            String patrolpointId = IdUtils.simpleUUID();
+            ArdAppPatrolpoint ardAppPatrolpoint = new ArdAppPatrolpoint();
+            ardAppPatrolpoint.setId(patrolpointId);
+            ardAppPatrolpoint.setPatrolplanId(id);
+            ardAppPatrolpoint.setAlarmpointsId(alarmpointId);
+            ardAppPatrolpoint.setType((String) para.get("type"));
+            ardAppPatrolpointList.add(ardAppPatrolpoint);
+        }
+        ardAppPatrolpointMapper.insertArdAppPatrolpointList(ardAppPatrolpointList);//鏂板鍏宠仈鍏磋叮鐐�
+        List<String> appUserIdList = (List<String>) para.get("appUserIdList");
+        List<ArdAppPatroluser> ardAppPatroluserList = new ArrayList();
+        for(String appUserId : appUserIdList){
+            String patroluserId = IdUtils.simpleUUID();
+            ArdAppPatroluser ardAppPatroluser = new ArdAppPatroluser();
+            ardAppPatroluser.setId(patroluserId);
+            ardAppPatroluser.setPatrolplanId(id);
+            ardAppPatroluser.setAppUserId(appUserId);
+            ardAppPatroluserList.add(ardAppPatroluser);
+        }
+        ardAppPatroluserMapper.insertArdAppPatroluserList(ardAppPatroluserList);//鏂板鍏宠仈浜哄憳
+        return result;
+    }
+
+    @Override
+    public Results oneById(String id) {
+        JSONObject jsonObject = new JSONObject();
+        ArdAppPatrolplan ardAppPatrolplan = ardAppPatrolplanMapper.selectById(id);
+        jsonObject.put("plan",ardAppPatrolplan);
+        List<ArdAlarmpointsWell> ardAlarmpointsWellList = ardAlarmpointsWellMapper.wellByPlanId(id);
+        List<ArdAlarmpointsWellVo> wellVos = new ArrayList<>();
+        for (ArdAlarmpointsWell ardAlarmpointsWell : ardAlarmpointsWellList) {
+            ArdAlarmpointsWellVo wellVo = new ArdAlarmpointsWellVo();
+            wellVo.setId(ardAlarmpointsWell.getId());
+            wellVo.setType(ardAlarmpointsWell.getType());
+            wellVo.setWellId(ardAlarmpointsWell.getWellId());
+            wellVos.add(wellVo);
+        }
+        jsonObject.put("well",wellVos);
+        List<SysUser> sysUserList = sysUserMapper.userByPlanId(id);
+        List<SysUserVo> sysUserVos = new ArrayList<>();
+        for (int i = 0; i < sysUserList.size(); i++) {
+            SysUserVo sysUserVo = new SysUserVo();
+            sysUserVo.setUserId(sysUserList.get(i).getUserId());
+            sysUserVo.setNickName(sysUserList.get(i).getNickName());
+            sysUserVos.add(sysUserVo);
+        }
+        jsonObject.put("user",sysUserVos);
+        return Results.succeed(jsonObject);
+    }
+
+    @Override
+    public Results updateArdAppPatrolplan(Map<String,Object> para){
+        if(para.get("id").toString().isEmpty()){
+            return Results.error("ID鏃犳晥锛�");
+        }
+        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        //鏌ヨ璇ユ潯璁板綍
+        ArdAppPatrolplan planList = ardAppPatrolplanMapper.selectById(para.get("id").toString());
+        String userId = SecurityUtils.getUserId();
+        SysUser sysUser = sysUserMapper.selectUserById(userId);
+        String userName = sysUser.getNickName();
+        planList.setDelName(userName);
+        planList.setDelTime(dateFormat.format(new Date()));
+        int result = ardAppPatrolplanMapper.updateById(planList);
+        if(result<1){
+            return Results.error("淇敼澶辫触锛屽師鏁版嵁鍋滅敤鍑洪敊锛�");
+        }
+        int num = insertArdAppPatrolplan(para);
+        if(num==1){
+            return Results.succeed("淇敼鎴愬姛锛屽凡閲嶆柊閮ㄧ讲浠诲姟锛�");
+        }else {
+            return Results.error("淇敼澶辫触锛岄噸鏂伴儴缃蹭换鍔″け璐ワ紒");
+        }
+    }
+
+    @Override
+    public List<ArdAppPatrolplan> executeList(ArdAppPatrolplan ardAppPatrolplan) {
+        return ardAppPatrolplanMapper.executeList(ardAppPatrolplan);
+    }
+
+    @Override
+    public Results executeOneById(String id) {
+        return Results.succeed(ardAppPatrolplanMapper.selectById(id));
+    }
+
 }

--
Gitblit v1.9.3