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;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PutMapping;
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.app.patrolplan.domain.ArdAppPatrolplan;
|
import com.ruoyi.app.patrolplan.service.IArdAppPatrolplanService;
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
|
/**
|
* app巡检计划Controller
|
*
|
* @author ard
|
* @date 2023-08-02
|
*/
|
@RestController
|
@RequestMapping("/app/appPatrolplan")
|
@Api(tags = "app巡检计划")
|
public class ArdAppPatrolplanController extends BaseController
|
{
|
@Autowired
|
private IArdAppPatrolplanService ardAppPatrolplanService;
|
|
@Resource
|
IArdAppPatrolpointService ardAppPatrolpointService;
|
|
@Resource
|
IArdAppPatroluserService ardAppPatroluserService;
|
|
@Resource
|
ISysUserService sysUserService;
|
|
@Resource
|
ISysDeptService sysDeptService;
|
|
@Resource
|
IArdAlarmpointsWellService wellService;
|
|
@Resource
|
IArdAppPatrolpointRecordService recordService;
|
|
/**
|
* 管理端--查询app巡检计划列表
|
*/
|
@PreAuthorize("@ss.hasPermi('app:appPatrolplan:list')")
|
@GetMapping("/list")
|
@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巡检计划列表
|
*/
|
@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);
|
ExcelUtil<ArdAppPatrolplan> util = new ExcelUtil<ArdAppPatrolplan>(ArdAppPatrolplan.class);
|
util.exportExcel(response, list, "app巡检计划数据");
|
}
|
|
/**
|
* 根据巡检ID查询兴趣点
|
*/
|
@PreAuthorize("@ss.hasPermi('app:appPatrolplan:wellByPlanId')")
|
@GetMapping(value = "wellByPlanId/{id}")
|
@ApiOperation("根据巡检ID查询兴趣点")
|
public Results wellByPlanId(@PathVariable String id)
|
{
|
return ardAppPatrolpointService.wellByPlanId(id);
|
}
|
|
/**
|
* 根据巡检ID查询巡检人
|
*/
|
@PreAuthorize("@ss.hasPermi('app:appPatrolplan:userByPlanId')")
|
@GetMapping(value = "userByPlanId/{id}")
|
@ApiOperation("根据巡检ID查询巡检人员")
|
public Results userByPlanId(@PathVariable String id)
|
{
|
return ardAppPatroluserService.userByPlanId(id);
|
}
|
|
/**
|
* 管理端--删除app巡检计划
|
*/
|
@PreAuthorize("@ss.hasPermi('app:appPatrolplan:remove')")
|
@Log(title = "app巡检计划", businessType = BusinessType.DELETE)
|
@DeleteMapping("/{id}")
|
@ApiOperation("管理端--删除app巡检计划")
|
//public Results remove(@PathVariable String id)
|
public AjaxResult remove(@PathVariable String id)
|
{
|
//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);
|
}
|
|
}
|