| | |
| | | @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(); |
| | |
| | | String userId = recordSoloParam.getUserId(); |
| | | String planName = recordSoloParam.getPlanName(); |
| | | String userName = recordSoloParam.getUserName(); |
| | | //根据计划ID获取制定人ID |
| | | ArdAppPatrolplan ardAppPatrolplan = patrolplanMapper.selectById(planId); |
| | | //根据姓名ID查询计划制定人的姓名 |
| | | String planUserId = ardAppPatrolplan.getUserId(); |
| | | SysUser sysUser = sysUserMapper.selectById(planUserId); |
| | | String nikeName = sysUser.getNickName(); |
| | | QueryWrapper<ArdAppPatrolpointRecord> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("plan_id", planId).eq("user_id",userId).like("record_time", toDay); |
| | | //当前计划选中时间里此用户的打卡记录 |
| | | List<ArdAppPatrolpointRecord> list = ardAppPatrolpointRecordMapper.selectList(queryWrapper); |
| | | for (int i = 0; i < list.size(); i++) { |
| | | ArdAppPatrolpointRecord ardAppPatrolpointRecord = list.get(i); |
| | | ardAppPatrolpointRecord.setPlanUserName(nikeName); |
| | | } |
| | | //查询该计划的所有兴趣点 |
| | | List<ArdAlarmpointsWell> wellList = wellMapper.wellByPlanId(planId); |
| | | if(list.size()==0){ |
| | |
| | | ardAppPatrolpointRecord.setUserName(userName); |
| | | ardAppPatrolpointRecord.setLatitude(String.valueOf(ardAlarmpointsWell.getLatitude())); |
| | | ardAppPatrolpointRecord.setLongitude(String.valueOf(ardAlarmpointsWell.getLongitude().toString())); |
| | | ardAppPatrolpointRecord.setPlanUserName(nikeName); |
| | | list.add(ardAppPatrolpointRecord); |
| | | } |
| | | return Results.succeed(list); |
| | |
| | | ardAppPatrolpointRecord.setUserName(userName); |
| | | ardAppPatrolpointRecord.setLatitude(String.valueOf(ardAlarmpointsWell.getLatitude())); |
| | | ardAppPatrolpointRecord.setLongitude(String.valueOf(ardAlarmpointsWell.getLongitude().toString())); |
| | | ardAppPatrolpointRecord.setPlanUserName(nikeName); |
| | | list.add(ardAppPatrolpointRecord); |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Results executeMonth(RecordMonthParam RecordMonthParam) throws ParseException { |
| | | public Results executeMonthOld(RecordMonthParam RecordMonthParam) throws ParseException { |
| | | //获取前端参数 |
| | | String begin = RecordMonthParam.getBegin(); |
| | | String end = RecordMonthParam.getEnd(); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Results executeDetails(RecordDetailsParam recordDetailsParam) throws ParseException { |
| | | public Results executeDetailsOld(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(); |
| | |
| | | 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); |
| | | //如果每日计划日期等于这一天,那从这一天之后的每一天都是有计划的 |
| | | 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; |
| | | //这天总兴趣点数 |
| | | 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); |
| | | } |
| | | |
| | | @Override |
| | | public Results executeDetails(RecordDetailsExParam recordDetailsExParam) throws ParseException { |
| | | String userId = SecurityUtils.getUserId(); |
| | | //获取参数 |
| | | Boolean plan = recordDetailsExParam.getPlan(); |
| | | String toDay = recordDetailsExParam.getToDay(); |
| | | JSONArray jsonArray = new JSONArray(); |
| | | if(plan){ |
| | | //查询这个用户下为执行人的所有巡检计划 |
| | | ArdAppPatrolplan ardAppPatrolplan = new ArdAppPatrolplan(); |
| | | ardAppPatrolplan.setUserId(SecurityUtils.getUserId()); |
| | | List<ArdAppPatrolplan> list = patrolplanMapper.executeList(ardAppPatrolplan); |
| | | //找出今天的单次和每日计划 |
| | | List<ArdAppPatrolplan> patrolplanList = new ArrayList<>(); |
| | | for (int i = 0; i < list.size(); i++) { |
| | | String cycle = list.get(i).getCycle(); |
| | | //如果是单次任务 |
| | | if(cycle.equals("once")){ |
| | | String begin = list.get(i).getPatroBeginTime(); |
| | | String b = begin.substring(0,10); |
| | | if(b.equals(toDay)){ |
| | | //是今天的计划 |
| | | patrolplanList.add(list.get(i)); |
| | | } |
| | | } |
| | | //如果是每日任务 |
| | | else if(cycle.equals("day")){ |
| | | String create = list.get(i).getCreateTime(); |
| | | String c = create.substring(0,10); |
| | | if(c.compareTo(toDay)<=0){ |
| | | //有今天的计划 |
| | | patrolplanList.add(list.get(i)); |
| | | } |
| | | } |
| | | } |
| | | if(patrolplanList.size()>0){ |
| | | //遍历今天的计划 |
| | | for (int i = 0; i < patrolplanList.size(); i++) { |
| | | String planId = patrolplanList.get(i).getId(); |
| | | String planName = patrolplanList.get(i).getPlanName(); |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("planId",planId); |
| | | jsonObject.put("planName",planName); |
| | | //查询这天有多少点 |
| | | List<ArdAlarmpointsWell> dayWells = wellMapper.wellByPlanId(planId); |
| | | int dayWellNum = dayWells.size(); |
| | | //查询这个用户的这个计划在今天打卡的条数 |
| | | QueryWrapper<ArdAppPatrolpointRecord> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("user_id",userId).eq("plan_id",planId).like("record_time",toDay); |
| | | List<ArdAppPatrolpointRecord> recordList = ardAppPatrolpointRecordMapper.selectList(queryWrapper); |
| | | int recordNum = recordList.size(); |
| | | //如果相等那这条今天的计划就是全部完成了 |
| | | if(recordNum==dayWellNum){ |
| | | jsonObject.put("type",true); |
| | | }else { |
| | | jsonObject.put("type",false); |
| | | } |
| | | jsonArray.add(jsonObject); |
| | | } |
| | | } |
| | | }else { |
| | | //没有计划 |
| | | return Results.succeed("[]"); |
| | | } |
| | | return Results.succeed(jsonArray); |
| | | } |
| | | |
| | | @Override |
| | | public Results recordBefore(RecordBeforeParam recordBeforeParam) { |
| | | String planId = recordBeforeParam.getPlanId(); |
| | | String wellId = recordBeforeParam.getWellId(); |
| | | String toDay = recordBeforeParam.getToDay(); |
| | | String userId = SecurityUtils.getUserId(); |
| | | JSONArray jsonArray = new JSONArray(); |
| | | ArdAppPatrolplan plan = patrolplanMapper.selectById(planId); |
| | | jsonArray.add(plan); |
| | | QueryWrapper<ArdAppPatrolpointRecord> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("plan_id",planId).eq("app_patrolpoints_id",wellId).eq("user_id",userId).like("record_time",toDay); |
| | | ArdAppPatrolpointRecord record = ardAppPatrolpointRecordMapper.selectOne(queryWrapper); |
| | | //根据姓名ID查询计划制定人的姓名 |
| | | String planUserId = plan.getUserId(); |
| | | SysUser sysUser = sysUserMapper.selectById(planUserId); |
| | | String nikeName = sysUser.getNickName(); |
| | | if(record==null){ |
| | | //根据姓名ID查询执行人姓名 |
| | | SysUser user = sysUserMapper.selectById(userId); |
| | | String userName = user.getNickName(); |
| | | //查询该计划的所有兴趣点 |
| | | ArdAlarmpointsWell ardAlarmpointsWell = wellMapper.selectById(wellId); |
| | | //没打卡的数据 |
| | | ArdAppPatrolpointRecord record1 = new ArdAppPatrolpointRecord(); |
| | | record1.setAppPatrolpointsId(ardAlarmpointsWell.getId()); |
| | | record1.setAppPatrolpointsName(ardAlarmpointsWell.getWellId()); |
| | | record1.setPlanId(planId); |
| | | record1.setPlanName(plan.getPlanName()); |
| | | record1.setUserId(userId); |
| | | record1.setUserName(userName); |
| | | record1.setLatitude(String.valueOf(ardAlarmpointsWell.getLatitude())); |
| | | record1.setLongitude(String.valueOf(ardAlarmpointsWell.getLongitude().toString())); |
| | | record1.setPlanUserName(nikeName); |
| | | jsonArray.add(record1); |
| | | }else { |
| | | jsonArray.add(record); |
| | | } |
| | | return Results.succeed(jsonArray); |
| | | } |
| | | } |