|  |  | 
 |  |  | package com.ruoyi.app.patrolplan.controller; | 
 |  |  |  | 
 |  |  | import java.text.ParseException; | 
 |  |  | import java.util.List; | 
 |  |  | import java.util.Map; | 
 |  |  | import javax.annotation.Resource; | 
 |  |  | import javax.servlet.http.HttpServletResponse; | 
 |  |  |  | 
 |  |  | import com.alibaba.fastjson2.JSONObject; | 
 |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
 |  |  | import com.github.pagehelper.PageHelper; | 
 |  |  | import com.github.pagehelper.PageInfo; | 
 |  |  | import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell; | 
 |  |  | import com.ruoyi.alarmpoints.well.service.IArdAlarmpointsWellService; | 
 |  |  | import com.ruoyi.app.patrolplan.domain.ArdAppPatrolpoint; | 
 |  |  | import com.ruoyi.app.patrolplan.domain.ArdAppPatrolpointRecord; | 
 |  |  | import com.ruoyi.app.patrolplan.domain.param.*; | 
 |  |  | import com.ruoyi.app.patrolplan.service.IArdAppPatrolpointRecordService; | 
 |  |  | import com.ruoyi.app.patrolplan.service.IArdAppPatrolpointService; | 
 |  |  | import com.ruoyi.app.patrolplan.service.IArdAppPatroluserService; | 
 |  |  | import com.ruoyi.common.core.domain.entity.SysUser; | 
 |  |  | import com.ruoyi.common.utils.SecurityUtils; | 
 |  |  | import com.ruoyi.common.utils.spring.SpringUtils; | 
 |  |  | import com.ruoyi.system.service.ISysDeptService; | 
 |  |  | import com.ruoyi.system.service.ISysUserService; | 
 |  |  | import com.ruoyi.utils.result.Results; | 
 |  |  | import io.swagger.annotations.Api; | 
 |  |  | import io.swagger.annotations.ApiOperation; | 
 |  |  | import jdk.nashorn.internal.ir.annotations.Reference; | 
 |  |  | import org.springframework.security.access.prepost.PreAuthorize; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.web.bind.annotation.GetMapping; | 
 |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private IArdAppPatrolplanService ardAppPatrolplanService; | 
 |  |  |  | 
 |  |  |     @Resource | 
 |  |  |     IArdAppPatrolpointService ardAppPatrolpointService; | 
 |  |  |  | 
 |  |  |     @Resource | 
 |  |  |     IArdAppPatroluserService ardAppPatroluserService; | 
 |  |  |  | 
 |  |  |     @Resource | 
 |  |  |     ISysUserService sysUserService; | 
 |  |  |  | 
 |  |  |     @Resource | 
 |  |  |     ISysDeptService sysDeptService; | 
 |  |  |  | 
 |  |  |     @Resource | 
 |  |  |     IArdAlarmpointsWellService wellService; | 
 |  |  |  | 
 |  |  |     @Resource | 
 |  |  |     IArdAppPatrolpointRecordService recordService; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 查询app巡检计划列表 | 
 |  |  |      * 管理端--查询app巡检计划列表 | 
 |  |  |      */ | 
 |  |  |     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:list')") | 
 |  |  |     @GetMapping("/list") | 
 |  |  |     @ApiOperation("查询全部巡检列表") | 
 |  |  |     @ApiOperation("管理端--查询全部巡检列表及搜索筛选") | 
 |  |  |     public Results list(ArdAppPatrolplan ardAppPatrolplan) | 
 |  |  |     { | 
 |  |  |         String userId = SecurityUtils.getUserId(); | 
 |  |  |         ardAppPatrolplan.setUserId(userId); | 
 |  |  |         if(ardAppPatrolplan.getPageNum()==null || ardAppPatrolplan.getPageNum() == 0){ | 
 |  |  |             ardAppPatrolplan.setPageNum(1); | 
 |  |  |         } | 
 |  |  |         if(ardAppPatrolplan.getPageSize()==null || ardAppPatrolplan.getPageSize() == 0){ | 
 |  |  |             ardAppPatrolplan.setPageSize(10); | 
 |  |  |         } | 
 |  |  |         PageHelper.startPage(ardAppPatrolplan.getPageNum(),ardAppPatrolplan.getPageSize()); | 
 |  |  |         List<ArdAppPatrolplan> list = ardAppPatrolplanService.selectArdAppPatrolplanList(ardAppPatrolplan); | 
 |  |  |         return Results.succeed(new PageInfo<>(list)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 导出app巡检计划列表 | 
 |  |  |      * 管理端--导出app巡检计划列表 | 
 |  |  |      */ | 
 |  |  |     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:export')") | 
 |  |  |     @Log(title = "app巡检计划", businessType = BusinessType.EXPORT) | 
 |  |  |     @PostMapping("/export") | 
 |  |  |     @ApiOperation("管理端--导出全部巡检列表") | 
 |  |  |     public void export(HttpServletResponse response, ArdAppPatrolplan ardAppPatrolplan) | 
 |  |  |     { | 
 |  |  |         List<ArdAppPatrolplan> list = ardAppPatrolplanService.selectArdAppPatrolplanList(ardAppPatrolplan); | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 获取app巡检计划详细信息 | 
 |  |  |      * 根据巡检ID查询兴趣点 | 
 |  |  |      */ | 
 |  |  |     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:query')") | 
 |  |  |     @GetMapping(value = "/{patroEndTime}") | 
 |  |  |     public AjaxResult getInfo(@PathVariable("patroEndTime") String patroEndTime) | 
 |  |  |     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:wellByPlanId')") | 
 |  |  |     @GetMapping(value = "wellByPlanId/{id}") | 
 |  |  |     @ApiOperation("根据巡检ID查询兴趣点") | 
 |  |  |     public Results wellByPlanId(@PathVariable String id) | 
 |  |  |     { | 
 |  |  |         return success(ardAppPatrolplanService.selectArdAppPatrolplanByPatroEndTime(patroEndTime)); | 
 |  |  |         return ardAppPatrolpointService.wellByPlanId(id); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 新增app巡检计划 | 
 |  |  |      * 根据巡检ID查询巡检人 | 
 |  |  |      */ | 
 |  |  |     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:add')") | 
 |  |  |     @Log(title = "app巡检计划", businessType = BusinessType.INSERT) | 
 |  |  |     @PostMapping | 
 |  |  |     public AjaxResult add(@RequestBody ArdAppPatrolplan ardAppPatrolplan) | 
 |  |  |     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:userByPlanId')") | 
 |  |  |     @GetMapping(value = "userByPlanId/{id}") | 
 |  |  |     @ApiOperation("根据巡检ID查询巡检人员") | 
 |  |  |     public Results userByPlanId(@PathVariable String id) | 
 |  |  |     { | 
 |  |  |         return toAjax(ardAppPatrolplanService.insertArdAppPatrolplan(ardAppPatrolplan)); | 
 |  |  |         return ardAppPatroluserService.userByPlanId(id); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 修改app巡检计划 | 
 |  |  |      */ | 
 |  |  |     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:edit')") | 
 |  |  |     @Log(title = "app巡检计划", businessType = BusinessType.UPDATE) | 
 |  |  |     @PutMapping | 
 |  |  |     public AjaxResult edit(@RequestBody ArdAppPatrolplan ardAppPatrolplan) | 
 |  |  |     { | 
 |  |  |         return toAjax(ardAppPatrolplanService.updateArdAppPatrolplan(ardAppPatrolplan)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 删除app巡检计划 | 
 |  |  |      * 管理端--删除app巡检计划 | 
 |  |  |      */ | 
 |  |  |     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:remove')") | 
 |  |  |     @Log(title = "app巡检计划", businessType = BusinessType.DELETE) | 
 |  |  |    @DeleteMapping("/{patroEndTimes}") | 
 |  |  |     public AjaxResult remove(@PathVariable String[] patroEndTimes) | 
 |  |  |     @DeleteMapping("/{id}") | 
 |  |  |     @ApiOperation("管理端--删除app巡检计划") | 
 |  |  |     //public Results remove(@PathVariable String id) | 
 |  |  |     public AjaxResult remove(@PathVariable String id) | 
 |  |  |     { | 
 |  |  |         return toAjax(ardAppPatrolplanService.deleteArdAppPatrolplanByPatroEndTimes(patroEndTimes)); | 
 |  |  |         //return ardAppPatrolplanService.deleteArdApp(id); | 
 |  |  |         return toAjax(ardAppPatrolplanService.deleteArdApp(id)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:allPlanUser')") | 
 |  |  |     @PostMapping("allPlanUser") | 
 |  |  |     @ApiOperation("查询权限下全部人员和兴趣点") | 
 |  |  |     public Results allPlanUser() | 
 |  |  |     { | 
 |  |  |         JSONObject jsonObject = new JSONObject(); | 
 |  |  |         String userId = SecurityUtils.getUserId(); | 
 |  |  |         //根据userId查询部门Id | 
 |  |  |         SysUser sysUser = sysUserService.selectUserById(userId); | 
 |  |  |         //根据当前deptId或者当前及所属下级的所有deptId | 
 |  |  |         List<Long> deptList = sysDeptService.deptIdBySub(sysUser.getDeptId()); | 
 |  |  |         //根据deptId列表获取到所有用户 | 
 |  |  |         List<SysUser> sysUserList = sysUserService.userByDeptList(deptList); | 
 |  |  |         jsonObject.put("user",sysUserList); | 
 |  |  |         //根据deptId列表获取到所有兴趣点 | 
 |  |  |         List<ArdAlarmpointsWell> wellList = wellService.wellByDeptList(deptList); | 
 |  |  |         jsonObject.put("well",wellList); | 
 |  |  |         return Results.succeed(jsonObject); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 管理端--新增app巡检计划及人员点位 | 
 |  |  |      */ | 
 |  |  |     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:insertArdAppPatrolplan')") | 
 |  |  |     @Log(title = "app巡检计划", businessType = BusinessType.INSERT) | 
 |  |  |     @PostMapping("/insertArdAppPatrolplan") | 
 |  |  |     @ApiOperation("管理端--新增app巡检计划及人员点位") | 
 |  |  |     public AjaxResult addArdAppPatrolplan(@RequestBody Map<String,Object> para) | 
 |  |  |     { | 
 |  |  |         return toAjax(ardAppPatrolplanService.insertArdAppPatrolplan(para)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      *  管理端--查询单条数据 | 
 |  |  |      */ | 
 |  |  |     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:oneById')") | 
 |  |  |     @PostMapping("/oneById/{id}") | 
 |  |  |     @ApiOperation("管理端--查询单条数据") | 
 |  |  |     public Results oneById(@PathVariable String id) | 
 |  |  |     { | 
 |  |  |         return ardAppPatrolplanService.oneById(id); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 管理端--修改app巡检计划 | 
 |  |  |      */ | 
 |  |  |     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:edit')") | 
 |  |  |     @Log(title = "app巡检计划", businessType = BusinessType.UPDATE) | 
 |  |  |     @ApiOperation("管理端--修改单条数据") | 
 |  |  |     @PutMapping("upd") | 
 |  |  |     public Results edit(@RequestBody Map<String,Object> para) | 
 |  |  |     { | 
 |  |  |         return ardAppPatrolplanService.updateArdAppPatrolplan(para); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 巡检打卡 | 
 |  |  |      */ | 
 |  |  |     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:record')") | 
 |  |  |     @ApiOperation("巡检打卡") | 
 |  |  |     @PostMapping("record") | 
 |  |  |     public Results edit(@RequestBody ArdAppPatrolpointRecord ardAppPatrolpointRecord) { | 
 |  |  |         return recordService.record(ardAppPatrolpointRecord); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 管理端--巡检日历 | 
 |  |  |      */ | 
 |  |  |     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:recordMonth')") | 
 |  |  |     @ApiOperation("管理端--巡检日历") | 
 |  |  |     @PostMapping("recordMonth") | 
 |  |  |     public Results recordMonth(@RequestBody RecordMonthParam recordMonthParam) throws ParseException { | 
 |  |  |         return recordService.recordMonth(recordMonthParam); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 管理端--点击日历获取该记录下人员打卡记录 | 
 |  |  |      */ | 
 |  |  |     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:recordDetails')") | 
 |  |  |     @ApiOperation("管理端--点击日历获取该记录下人员打卡记录") | 
 |  |  |     @PostMapping("recordDetails") | 
 |  |  |     public Results recordDetails(@RequestBody RecordDetailsParam recordDetailsParam) throws ParseException { | 
 |  |  |         return recordService.recordDetails(recordDetailsParam); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 单人详情 | 
 |  |  |      */ | 
 |  |  |     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:recordSolo')") | 
 |  |  |     @ApiOperation("单人详情") | 
 |  |  |     @PostMapping("recordSolo") | 
 |  |  |     public Results recordSolo(@RequestBody RecordSoloParam recordSoloParam) throws ParseException { | 
 |  |  |         return recordService.recordSolo(recordSoloParam); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 单兵端--查询app巡检计划列表 | 
 |  |  |      */ | 
 |  |  |     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:executeList')") | 
 |  |  |     @GetMapping("/executeList") | 
 |  |  |     @ApiOperation("单兵端--查询该用户下所有执行计划及搜索筛选") | 
 |  |  |     public Results executeList(ArdAppPatrolplan ardAppPatrolplan) | 
 |  |  |     { | 
 |  |  |         String userId = SecurityUtils.getUserId(); | 
 |  |  |         ardAppPatrolplan.setUserId(userId); | 
 |  |  |         if(ardAppPatrolplan.getPageNum()==null || ardAppPatrolplan.getPageNum() == 0){ | 
 |  |  |             ardAppPatrolplan.setPageNum(1); | 
 |  |  |         } | 
 |  |  |         if(ardAppPatrolplan.getPageSize()==null || ardAppPatrolplan.getPageSize() == 0){ | 
 |  |  |             ardAppPatrolplan.setPageSize(10); | 
 |  |  |         } | 
 |  |  |         PageHelper.startPage(ardAppPatrolplan.getPageNum(),ardAppPatrolplan.getPageSize()); | 
 |  |  |         List<ArdAppPatrolplan> list = ardAppPatrolplanService.executeList(ardAppPatrolplan); | 
 |  |  |         return Results.succeed(new PageInfo<>(list)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      *  单兵端--查询单条数据 | 
 |  |  |      */ | 
 |  |  |     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:executeOneById')") | 
 |  |  |     @PostMapping("/executeOneById/{id}") | 
 |  |  |     @ApiOperation("单兵端--查询单条数据") | 
 |  |  |     public Results executeOneById(@PathVariable String id) | 
 |  |  |     { | 
 |  |  |         return ardAppPatrolplanService.executeOneById(id); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 单兵端--巡检日历 | 
 |  |  |      */ | 
 |  |  |     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:executeMonth')") | 
 |  |  |     @ApiOperation("单兵端--巡检日历") | 
 |  |  |     @PostMapping("executeMonth") | 
 |  |  |     public Results executeMonth(@RequestBody RecordMonthExParam recordMonthExParam) throws ParseException { | 
 |  |  |         return recordService.executeMonth(recordMonthExParam); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 单兵端--点击日历获取该记录下人员打卡记录 | 
 |  |  |      */ | 
 |  |  |     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:executeDetails')") | 
 |  |  |     @ApiOperation("单兵端--点击日历获取该人员下所有地点打卡记录") | 
 |  |  |     @PostMapping("executeDetails") | 
 |  |  |     public Results executeDetails(@RequestBody RecordDetailsExParam recordDetailsExParam) throws ParseException { | 
 |  |  |         return recordService.executeDetails(recordDetailsExParam); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 单兵端--单人详情 | 
 |  |  |      */ | 
 |  |  |     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:executeSolo')") | 
 |  |  | //    @ApiOperation("单兵端--单人详情") | 
 |  |  |     @PostMapping("executeSolo") | 
 |  |  |     public Results executeSolo(@RequestBody RecordSoloExParam recordSoloExParam) throws ParseException { | 
 |  |  |         return recordService.executeSolo(recordSoloExParam); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 单兵端--打卡前 | 
 |  |  |      */ | 
 |  |  |     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:recordBefore')") | 
 |  |  |     @ApiOperation("单兵端--打卡前") | 
 |  |  |     @PostMapping("recordBefore") | 
 |  |  |     public Results recordBefore(@RequestBody RecordBeforeParam recordBeforeParam) throws ParseException { | 
 |  |  |         return recordService.recordBefore(recordBeforeParam); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 单兵端--循环 | 
 |  |  |      */ | 
 |  |  |     @PreAuthorize("@ss.hasPermi('app:appPatrolplan:son')") | 
 |  |  |     @ApiOperation("单兵端--循环") | 
 |  |  |     @GetMapping("son") | 
 |  |  |     public Results son(){ | 
 |  |  |         return recordService.son(); | 
 |  |  |     } | 
 |  |  | } |