From a10bd6f63ab8347f7e3cb259765e159004ba19f1 Mon Sep 17 00:00:00 2001 From: Administrator <1144154118@qq.com> Date: 星期四, 17 八月 2023 16:40:16 +0800 Subject: [PATCH] 单兵端--巡检日历 --- ard-work/src/main/java/com/ruoyi/app/patrolplan/mapper/ArdAppPatrolplanMapper.java | 6 + ard-work/src/main/resources/mapper/app/ArdAppPatrolplanMapper.xml | 12 ++ ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/param/RecordMonthExParam.java | 11 ++ ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolpointRecordService.java | 50 --------- ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolpointRecordServiceImpl.java | 164 +++++++++++++++++++------------- ard-work/src/main/java/com/ruoyi/app/patrolplan/controller/ArdAppPatrolplanController.java | 4 6 files changed, 129 insertions(+), 118 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 1bf372a..1d3da58 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 @@ -282,8 +282,8 @@ @PreAuthorize("@ss.hasPermi('app:appPatrolplan:executeMonth')") @ApiOperation("鍗曞叺绔�--宸℃鏃ュ巻") @PostMapping("executeMonth") - public Results executeMonth(@RequestBody RecordMonthParam recordMonthParam) throws ParseException { - return recordService.executeMonth(recordMonthParam); + public Results executeMonth(@RequestBody RecordMonthExParam recordMonthExParam) throws ParseException { + return recordService.executeMonth(recordMonthExParam); } /** diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/param/RecordMonthExParam.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/param/RecordMonthExParam.java new file mode 100644 index 0000000..224ec4f --- /dev/null +++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/param/RecordMonthExParam.java @@ -0,0 +1,11 @@ +package com.ruoyi.app.patrolplan.domain.param; + +import lombok.Data; + +@Data +public class RecordMonthExParam { + + private String begin; + private String end; + private String userId; +} diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/mapper/ArdAppPatrolplanMapper.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/mapper/ArdAppPatrolplanMapper.java index 7bbc133..63a8997 100644 --- a/ard-work/src/main/java/com/ruoyi/app/patrolplan/mapper/ArdAppPatrolplanMapper.java +++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/mapper/ArdAppPatrolplanMapper.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.app.patrolplan.domain.ArdAppPatrolplan; +import com.ruoyi.app.patrolplan.domain.param.RecordMonthExParam; +import com.ruoyi.app.patrolplan.domain.param.RecordMonthParam; /** * app宸℃璁″垝Mapper鎺ュ彛 @@ -55,4 +57,8 @@ List<ArdAppPatrolplan> executeList(ArdAppPatrolplan ardAppPatrolplan); + List<ArdAppPatrolplan> oncePlan(RecordMonthExParam recordMonthExParam); + + List<ArdAppPatrolplan> dayPlan(RecordMonthExParam recordMonthExParam); + } 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 72bb5e5..353bc25 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 @@ -16,53 +16,6 @@ */ public interface IArdAppPatrolpointRecordService { - /** - * 鏌ヨapp宸℃璁″垝璁板綍 - * - * @param id app宸℃璁″垝璁板綍涓婚敭 - * @return app宸℃璁″垝璁板綍 - */ - public ArdAppPatrolpointRecord selectArdAppPatrolpointRecordById(String id); - - /** - * 鏌ヨapp宸℃璁″垝璁板綍鍒楄〃 - * - * @param ardAppPatrolpointRecord app宸℃璁″垝璁板綍 - * @return app宸℃璁″垝璁板綍闆嗗悎 - */ - public List<ArdAppPatrolpointRecord> selectArdAppPatrolpointRecordList(ArdAppPatrolpointRecord ardAppPatrolpointRecord); - - /** - * 鏂板app宸℃璁″垝璁板綍 - * - * @param ardAppPatrolpointRecord app宸℃璁″垝璁板綍 - * @return 缁撴灉 - */ - public int insertArdAppPatrolpointRecord(ArdAppPatrolpointRecord ardAppPatrolpointRecord); - - /** - * 淇敼app宸℃璁″垝璁板綍 - * - * @param ardAppPatrolpointRecord app宸℃璁″垝璁板綍 - * @return 缁撴灉 - */ - public int updateArdAppPatrolpointRecord(ArdAppPatrolpointRecord ardAppPatrolpointRecord); - - /** - * 鎵归噺鍒犻櫎app宸℃璁″垝璁板綍 - * - * @param ids 闇�瑕佸垹闄ょ殑app宸℃璁″垝璁板綍涓婚敭闆嗗悎 - * @return 缁撴灉 - */ - public int deleteArdAppPatrolpointRecordByIds(String[] ids); - - /** - * 鍒犻櫎app宸℃璁″垝璁板綍淇℃伅 - * - * @param id app宸℃璁″垝璁板綍涓婚敭 - * @return 缁撴灉 - */ - public int deleteArdAppPatrolpointRecordById(String id); Results record(ArdAppPatrolpointRecord ardAppPatrolpointRecord); @@ -72,7 +25,8 @@ Results recordSolo(RecordSoloParam recordSoloParam); - Results executeMonth(RecordMonthParam recordMonthParam) throws ParseException; + Results executeMonthOld(RecordMonthParam recordMonthParam) throws ParseException; + Results executeMonth(RecordMonthExParam recordMonthExParam) throws ParseException; Results executeDetails(RecordDetailsParam recordDetailsParam) throws ParseException; 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 d4c769c..9aae3b1 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 @@ -59,73 +59,6 @@ @Resource private ArdAlarmpointsWellMapper wellMapper; - /** - * 鏌ヨapp宸℃璁″垝璁板綍 - * - * @param id app宸℃璁″垝璁板綍涓婚敭 - * @return app宸℃璁″垝璁板綍 - */ - @Override - public ArdAppPatrolpointRecord selectArdAppPatrolpointRecordById(String id) { - return ardAppPatrolpointRecordMapper.selectArdAppPatrolpointRecordById(id); - } - - /** - * 鏌ヨapp宸℃璁″垝璁板綍鍒楄〃 - * - * @param ardAppPatrolpointRecord app宸℃璁″垝璁板綍 - * @return app宸℃璁″垝璁板綍 - */ - @Override - public List<ArdAppPatrolpointRecord> selectArdAppPatrolpointRecordList(ArdAppPatrolpointRecord ardAppPatrolpointRecord) { - return ardAppPatrolpointRecordMapper.selectArdAppPatrolpointRecordList(ardAppPatrolpointRecord); - } - - /** - * 鏂板app宸℃璁″垝璁板綍 - * - * @param ardAppPatrolpointRecord app宸℃璁″垝璁板綍 - * @return 缁撴灉 - */ - @Override - public int insertArdAppPatrolpointRecord(ArdAppPatrolpointRecord ardAppPatrolpointRecord) { - ardAppPatrolpointRecord.setUserId(SecurityUtils.getUserId()); - return ardAppPatrolpointRecordMapper.insertArdAppPatrolpointRecord(ardAppPatrolpointRecord); - } - - /** - * 淇敼app宸℃璁″垝璁板綍 - * - * @param ardAppPatrolpointRecord app宸℃璁″垝璁板綍 - * @return 缁撴灉 - */ - @Override - public int updateArdAppPatrolpointRecord(ArdAppPatrolpointRecord ardAppPatrolpointRecord) { - return ardAppPatrolpointRecordMapper.updateArdAppPatrolpointRecord(ardAppPatrolpointRecord); - } - - /** - * 鎵归噺鍒犻櫎app宸℃璁″垝璁板綍 - * - * @param ids 闇�瑕佸垹闄ょ殑app宸℃璁″垝璁板綍涓婚敭 - * @return 缁撴灉 - */ - @Override - public int deleteArdAppPatrolpointRecordByIds(String[] ids) { - return ardAppPatrolpointRecordMapper.deleteArdAppPatrolpointRecordByIds(ids); - } - - /** - * 鍒犻櫎app宸℃璁″垝璁板綍淇℃伅 - * - * @param id app宸℃璁″垝璁板綍涓婚敭 - * @return 缁撴灉 - */ - @Override - public int deleteArdAppPatrolpointRecordById(String id) { - return ardAppPatrolpointRecordMapper.deleteArdAppPatrolpointRecordById(id); - } - @Override public Results record(ArdAppPatrolpointRecord ardAppPatrolpointRecord) { String id = IdUtils.simpleUUID(); @@ -423,7 +356,7 @@ } @Override - public Results executeMonth(RecordMonthParam RecordMonthParam) throws ParseException { + public Results executeMonthOld(RecordMonthParam RecordMonthParam) throws ParseException { //鑾峰彇鍓嶇鍙傛暟 String begin = RecordMonthParam.getBegin(); String end = RecordMonthParam.getEnd(); @@ -622,4 +555,99 @@ return Results.succeed(list); } + @Override + public Results executeMonth(RecordMonthExParam recordMonthExParam) throws ParseException { + //鑾峰彇鍓嶇鍙傛暟 + String begin = recordMonthExParam.getBegin(); + String end = recordMonthExParam.getEnd(); + //杩斿洖杩欎釜 + JSONArray jsonArray = new JSONArray(); + //鏃堕棿鎷嗗垎 + 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); + } + String userId = SecurityUtils.getUserId(); + recordMonthExParam.setUserId(userId); + //鏌ヨ璇ョ敤鎴蜂笅闇�瑕佹墽琛岀殑鍗曟璁″垝 + List<ArdAppPatrolplan> onceList = patrolplanMapper.oncePlan(recordMonthExParam); + //鏌ヨ璇ョ敤鎴蜂笅闇�瑕佹墽琛岀殑姣忔棩璁″垝 + List<ArdAppPatrolplan> dayList = patrolplanMapper.dayPlan(recordMonthExParam); + //寰幆涓�涓湀涓殑姣忎竴澶� + for (int i = 1; i <= day; i++) { + String di; + Boolean planBoolean = false; + Boolean recordBoolean = false; + //璁板綍杩欏ぉ璁″垝鏉℃暟 + int dayNum = 0; + int onceNum = 0; + //璁板綍杩欏ぉ鐨勬墦寮�鍦扮偣鏁� + int dayWell = 0; + int onceWell = 0; + if (i < 10) { + di = String.format("%02d", i); + } else { + di = String.valueOf(i); + } + //姣忎竴澶� + String ymd = year + "-" + monthZero + "-" + di; + JSONObject jsonObject = new JSONObject(); + jsonObject.put("toDay",ymd ); + //濡傛灉姣忔棩璁″垝鏈夋暟鎹� + if (dayList.size() > 0) { + for (int j = 0; j < dayList.size(); j++) { + String dayTime = dayList.get(j).getCreateTime(); + String dt = dayTime.substring(0,10); + //濡傛灉姣忔棩璁″垝鏃ユ湡绛変簬杩欎竴澶╋紝閭d粠杩欎竴澶╀箣鍚庣殑姣忎竴澶╅兘鏄湁璁″垝鐨� + if(dt.compareTo(ymd)<=0){ + planBoolean =true; + dayNum+=1; + String id = dayList.get(j).getId(); + List<ArdAlarmpointsWell> dayWells = wellMapper.wellByPlanId(id); + dayWell = dayWells.size(); + } + } + } + //濡傛灉鍗曟璁″垝鏈夋暟鎹� + if(onceList.size()>0){ + for (int j = 0; j < onceList.size(); j++) { + String beginTime = onceList.get(j).getPatroBeginTime(); + String bt = beginTime.substring(0,10); + if(bt.equals(ymd)){ + planBoolean = true; + onceNum+=1; + List<ArdAlarmpointsWell> onceWells = wellMapper.wellByPlanId(onceList.get(j).getId()); + onceWell = onceWells.size(); + } + } + } + if(planBoolean){ + //杩欏ぉ鎬讳换鍔℃潯鏁� + int planNum = dayNum+onceNum; + //杩欏ぉ鎬诲叴瓒g偣鏁� + int wellNum = dayWell+onceWell; + QueryWrapper<ArdAppPatrolpointRecord> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("user_id",userId).like("record_time",ymd); + List<ArdAppPatrolpointRecord> list = ardAppPatrolpointRecordMapper.selectList(queryWrapper); + //宸叉墦鍗℃�绘潯鏁� + int num = list.size(); + //搴旀墦鍗℃�绘潯鏁� + int record = planNum*wellNum; + if(num==record){ + recordBoolean = true; + } + } + jsonObject.put("toDay",ymd ); + jsonObject.put("plan",planBoolean); + jsonObject.put("record",recordBoolean); + jsonArray.add(jsonObject); + } + return Results.succeed(jsonArray); + } } diff --git a/ard-work/src/main/resources/mapper/app/ArdAppPatrolplanMapper.xml b/ard-work/src/main/resources/mapper/app/ArdAppPatrolplanMapper.xml index 568b736..3f28c2a 100644 --- a/ard-work/src/main/resources/mapper/app/ArdAppPatrolplanMapper.xml +++ b/ard-work/src/main/resources/mapper/app/ArdAppPatrolplanMapper.xml @@ -144,4 +144,16 @@ </where> group by ard_app_patrolplan.id </select> + + <select id="oncePlan" parameterType="recordMonthExParam" resultMap="ArdAppPatrolplanResult"> + select plan.* from ard_app_patrolplan plan + LEFT JOIN ard_app_patroluser users on users.patrolplan_id = plan."id" + where users.app_user_id = #{userId} and cycle = 'once' and patro_begin_time like #{begin} and plan.del_name is null and plan.del_time is null ; + </select> + + <select id="dayPlan" parameterType="recordMonthExParam" resultMap="ArdAppPatrolplanResult"> + select plan.* from ard_app_patrolplan plan + LEFT JOIN ard_app_patroluser users on users.patrolplan_id = plan."id" + where users.app_user_id = #{userId} and cycle = 'day' and create_time < #{end} and del_name is null and del_time is null ; + </select> </mapper> \ No newline at end of file -- Gitblit v1.9.3