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