|  |  |  | 
|---|
|  |  |  | package com.ruoyi.app.task.controller; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.HashMap; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Map; | 
|---|
|  |  |  | import javax.servlet.http.HttpServletResponse; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.alibaba.fastjson2.JSONObject; | 
|---|
|  |  |  | import com.ruoyi.alarm.steal.domain.ArdAlarmStealelec; | 
|---|
|  |  |  | import com.ruoyi.app.task.domain.AppParam; | 
|---|
|  |  |  | import com.ruoyi.app.task.domain.ArdAppTaskDetail; | 
|---|
|  |  |  | import com.ruoyi.common.core.domain.entity.SysUser; | 
|---|
|  |  |  | import com.ruoyi.common.utils.StringUtils; | 
|---|
|  |  |  | import com.ruoyi.common.utils.spring.SpringUtils; | 
|---|
|  |  |  | import com.ruoyi.system.service.ISysUserService; | 
|---|
|  |  |  | import com.ruoyi.utils.pagehelper.JpaPageHelper; | 
|---|
|  |  |  | import com.ruoyi.utils.pagehelper.JpaPageInfo; | 
|---|
|  |  |  | import io.swagger.annotations.Api; | 
|---|
|  |  |  | import io.swagger.annotations.ApiOperation; | 
|---|
|  |  |  | import org.apache.catalina.security.SecurityUtil; | 
|---|
|  |  |  | 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 org.springframework.web.bind.annotation.*; | 
|---|
|  |  |  | import com.ruoyi.common.annotation.Log; | 
|---|
|  |  |  | import com.ruoyi.common.core.controller.BaseController; | 
|---|
|  |  |  | import com.ruoyi.common.core.domain.AjaxResult; | 
|---|
|  |  |  | 
|---|
|  |  |  | import com.ruoyi.app.task.service.IArdAppTaskService; | 
|---|
|  |  |  | import com.ruoyi.common.utils.poi.ExcelUtil; | 
|---|
|  |  |  | import com.ruoyi.common.core.page.TableDataInfo; | 
|---|
|  |  |  | import org.springframework.web.multipart.MultipartFile; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * app任务管理Controller | 
|---|
|  |  |  | 
|---|
|  |  |  | * @author ard | 
|---|
|  |  |  | * @date 2023-07-22 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Api(tags = "app任务管理") | 
|---|
|  |  |  | @RestController | 
|---|
|  |  |  | @RequestMapping("/app/task") | 
|---|
|  |  |  | public class ArdAppTaskController extends BaseController | 
|---|
|  |  |  | { | 
|---|
|  |  |  | public class ArdAppTaskController extends BaseController { | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private IArdAppTaskService ardAppTaskService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 查询app任务管理列表 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @ApiOperation("指挥端-历史任务查询") | 
|---|
|  |  |  | @PreAuthorize("@ss.hasPermi('app:task:list')") | 
|---|
|  |  |  | @GetMapping("/list") | 
|---|
|  |  |  | public TableDataInfo list(ArdAppTask ardAppTask) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | public TableDataInfo list(ArdAppTask ardAppTask) { | 
|---|
|  |  |  | startPage(); | 
|---|
|  |  |  | List<ArdAppTask> list = ardAppTaskService.selectArdAppTaskList(ardAppTask); | 
|---|
|  |  |  | return getDataTable(list); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation("单兵端 - 下发给我的任务列表") | 
|---|
|  |  |  | @PreAuthorize("@ss.hasPermi('app:task:list')") | 
|---|
|  |  |  | @GetMapping("/listWithDetail") | 
|---|
|  |  |  | public TableDataInfo userlist(ArdAppTask ardAppTask) { | 
|---|
|  |  |  | startPage(); | 
|---|
|  |  |  | List<ArdAppTask> list = ardAppTaskService.selectArdAppTaskListWithDetail(ardAppTask); | 
|---|
|  |  |  | return getDataTable(list); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation("单兵端 - 下发给我的任务详情") | 
|---|
|  |  |  | @PreAuthorize("@ss.hasPermi('app:task:list')") | 
|---|
|  |  |  | @GetMapping("/userDetailById") | 
|---|
|  |  |  | public AjaxResult userDetail(ArdAppTask ardAppTask) { | 
|---|
|  |  |  | List<ArdAppTask> ardAppTasks = ardAppTaskService.selectArdAppTaskListWithDetailById(ardAppTask); | 
|---|
|  |  |  | return AjaxResult.success(ardAppTasks); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  | @PreAuthorize("@ss.hasPermi('app:task:export')") | 
|---|
|  |  |  | @Log(title = "app任务管理", businessType = BusinessType.EXPORT) | 
|---|
|  |  |  | @PostMapping("/export") | 
|---|
|  |  |  | public void export(HttpServletResponse response, ArdAppTask ardAppTask) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | public void export(HttpServletResponse response, ArdAppTask ardAppTask) { | 
|---|
|  |  |  | List<ArdAppTask> list = ardAppTaskService.selectArdAppTaskList(ardAppTask); | 
|---|
|  |  |  | ExcelUtil<ArdAppTask> util = new ExcelUtil<ArdAppTask>(ArdAppTask.class); | 
|---|
|  |  |  | util.exportExcel(response, list, "app任务管理数据"); | 
|---|
|  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取app任务管理详细信息 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @ApiOperation("指挥端-获取app任务管理详细信息") | 
|---|
|  |  |  | @PreAuthorize("@ss.hasPermi('app:task:query')") | 
|---|
|  |  |  | @GetMapping(value = "/{id}") | 
|---|
|  |  |  | public AjaxResult getInfo(@PathVariable("id") String id) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | public AjaxResult getInfo(@PathVariable("id") String id) { | 
|---|
|  |  |  | return success(ardAppTaskService.selectArdAppTaskById(id)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 新增app任务管理 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @ApiOperation("指挥端-下发任务") | 
|---|
|  |  |  | @PreAuthorize("@ss.hasPermi('app:task:add')") | 
|---|
|  |  |  | @Log(title = "app任务管理", businessType = BusinessType.INSERT) | 
|---|
|  |  |  | @PostMapping | 
|---|
|  |  |  | public AjaxResult add(@RequestBody ArdAppTask ardAppTask) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | public AjaxResult add(@RequestBody ArdAppTask ardAppTask) { | 
|---|
|  |  |  | return toAjax(ardAppTaskService.insertArdAppTask(ardAppTask)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | @PreAuthorize("@ss.hasPermi('app:task:edit')") | 
|---|
|  |  |  | @Log(title = "app任务管理", businessType = BusinessType.UPDATE) | 
|---|
|  |  |  | @PutMapping | 
|---|
|  |  |  | public AjaxResult edit(@RequestBody ArdAppTask ardAppTask) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | public AjaxResult edit(@RequestBody ArdAppTask ardAppTask) { | 
|---|
|  |  |  | return toAjax(ardAppTaskService.updateArdAppTask(ardAppTask)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | @PreAuthorize("@ss.hasPermi('app:task:remove')") | 
|---|
|  |  |  | @Log(title = "app任务管理", businessType = BusinessType.DELETE) | 
|---|
|  |  |  | @DeleteMapping("/{ids}") | 
|---|
|  |  |  | public AjaxResult remove(@PathVariable String[] ids) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | public AjaxResult remove(@PathVariable String[] ids) { | 
|---|
|  |  |  | return toAjax(ardAppTaskService.deleteArdAppTaskByIds(ids)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 更新app任务详情 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @ApiOperation("单兵端-任务打卡") | 
|---|
|  |  |  | @PreAuthorize("@ss.hasPermi('app:taskdetail:edit')") | 
|---|
|  |  |  | @Log(title = "更新app任务详情", businessType = BusinessType.UPDATE) | 
|---|
|  |  |  | @PutMapping("/detail") | 
|---|
|  |  |  | public AjaxResult editDetail(@RequestBody ArdAppTaskDetail ardAppTaskDetail) { | 
|---|
|  |  |  | return toAjax(ardAppTaskService.updateArdAppTaskDetail(ardAppTaskDetail)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation("单兵端-任务查看") | 
|---|
|  |  |  | @PreAuthorize("@ss.hasPermi('app:taskdetail:edit')") | 
|---|
|  |  |  | @Log(title = "单兵端-任务查看", businessType = BusinessType.UPDATE) | 
|---|
|  |  |  | @PutMapping("/detail/view") | 
|---|
|  |  |  | public AjaxResult editDetailView(@RequestBody ArdAppTaskDetail ardAppTaskDetail) { | 
|---|
|  |  |  | return toAjax(ardAppTaskService.updateArdAppTaskDetailView(ardAppTaskDetail)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取app任务详情的详细信息 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @ApiOperation("单兵端-任务点详情") | 
|---|
|  |  |  | @PreAuthorize("@ss.hasPermi('app:task:query')") | 
|---|
|  |  |  | @GetMapping(value = "/detail/{id}") | 
|---|
|  |  |  | public AjaxResult getTaskDetailInfo(@PathVariable("id") String id) { | 
|---|
|  |  |  | return success(ardAppTaskService.selectArdAppTaskDetailById(id)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation("单兵端-新任务轮询") | 
|---|
|  |  |  | @PostMapping(value = "/newTaskPolling") | 
|---|
|  |  |  | public AjaxResult newTaskPolling(@RequestBody AppParam param) { | 
|---|
|  |  |  | Map<String, Object> map = new HashMap<>(); | 
|---|
|  |  |  | String userId = param.getUserId(); | 
|---|
|  |  |  | if (StringUtils.isNotNull(param.getUserId())) { | 
|---|
|  |  |  | ArdAppTask ardAppTask = ardAppTaskService.selectNewArdAppTaskByUserId(userId); | 
|---|
|  |  |  | map.put("task", ardAppTask); | 
|---|
|  |  |  | int count = ardAppTaskService.selectUnreadArdAppTaskCount(userId); | 
|---|
|  |  |  | map.put("count", count); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return success(map); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|