| | |
| | | import io.swagger.annotations.ApiOperation; |
| | | import io.swagger.annotations.ApiParam; |
| | | import lombok.AllArgsConstructor; |
| | | import me.zhyd.oauth.log.Log; |
| | | import org.joda.time.DateTime; |
| | | import org.springblade.core.boot.ctrl.BladeController; |
| | | import org.springblade.core.excel.util.ExcelUtil; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.utils.DateUtil; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.core.tool.utils.StringUtil; |
| | | import org.springblade.modules.task.entity.Task; |
| | |
| | | import org.springblade.modules.task.vo.TaskVO; |
| | | import org.springblade.modules.task.wrapper.TaskWrapper; |
| | | import org.springblade.modules.taskqd.entity.Taskqd; |
| | | import org.springblade.modules.taskqd.excel.TaskExcel; |
| | | import org.springblade.modules.taskqd.service.impl.TaskqdServiceImpl; |
| | | import org.springblade.modules.taskqd.vo.TaskqdVO; |
| | | import org.springblade.modules.taskqd.wrapper.TaskqdWrapper; |
| | | import org.springblade.modules.webscoket.service.IPushMsgService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import springfox.documentation.annotations.ApiIgnore; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import javax.validation.Valid; |
| | |
| | | @ApiOperationSupport(order = 2) |
| | | @ApiOperation(value = "分页", notes = "传入task") |
| | | public R<IPage<TaskqdVO>> list(Taskqd taskqd, Query query) { |
| | | IPage<Taskqd> pages = taskqdService.page(Condition.getPage(query), Condition.getQueryWrapper(taskqd)); |
| | | IPage<Taskqd> pages = taskqdService.page(Condition.getPage(query), Condition.getQueryWrapper(taskqd).orderByDesc("time")); |
| | | return R.data(TaskqdWrapper.build().pageVO(pages)); |
| | | } |
| | | |
| | | /** |
| | | * 自定义分页查询 |
| | | * @param taskqd |
| | | * @param query |
| | | * @return |
| | | */ |
| | | @GetMapping("/page") |
| | | @ApiOperationSupport(order = 2) |
| | | @ApiOperation(value = "分页", notes = "传入task") |
| | | public R selectTaskQdPage(TaskqdVO taskqd, Query query) { |
| | | return R.data(taskqdService.selectTaskQdPage(Condition.getPage(query), taskqd)); |
| | | } |
| | | |
| | | |
| | |
| | | @ApiOperationSupport(order = 4) |
| | | @ApiOperation(value = "新增", notes = "传入task") |
| | | public R save(@Valid @RequestBody Taskqd taskqd) { |
| | | pushMsgService.pushMsg(taskqd.getJurisdiction()); |
| | | return R.status(taskqdService.save(taskqd)); |
| | | } |
| | | |
| | |
| | | @ApiOperationSupport(order = 5) |
| | | @ApiOperation(value = "修改", notes = "传入task") |
| | | public R update(@Valid @RequestBody Taskqd taskqd) { |
| | | |
| | | if (taskqd.getStime() == null || taskqd.getStime().equals("")){ |
| | | taskqd.setStime(null); |
| | | } |
| | | if (taskqd.getSendtime() == null || taskqd.getSendtime().equals("")){ |
| | | taskqd.setSendtime(null); |
| | | } |
| | | |
| | | return R.status(taskqdService.updateById(taskqd)); |
| | | } |
| | | |
| | |
| | | //转换 |
| | | try { |
| | | |
| | | //获取要接任务的时间戳 + 两个小时 |
| | | //获取要接任务的时间戳 |
| | | Date timea = sdf.parse(list.get(0).getTime()); |
| | | Long start = timea.getTime() + 2 * 60 * 60; |
| | | System.out.println(sdf.format(start)); |
| | | |
| | | Date timejs = sdf.parse(list.get(0).getEndtime()); |
| | | System.out.println("开始时间——————"+timea.getTime()); |
| | | Long start = timea.getTime() ; |
| | | Long start2 = timejs.getTime() ; |
| | | System.out.println("开始时间——————"+start); |
| | | System.out.println("开始时间——————"+sdf.format(start)); |
| | | |
| | | //判断是否有同时间段的任务 |
| | | //已接的任务 |
| | | List<TaskqdVO> yjlist = taskqdService.getlist(taskqd.getSerid().toString(), null); |
| | | List<TaskqdVO> yjlist = taskqdService.getlist(taskqd.getSerid().toString(), "2"); |
| | | for (int i = 0; i < yjlist.size(); i++) { |
| | | //获取已接任务的时间戳 |
| | | //获取已接任务开始时间的时间戳 |
| | | Date times = sdf.parse(yjlist.get(i).getTime()); |
| | | |
| | | Date timeb = sdf.parse(yjlist.get(i).getEndtime()); |
| | | Long end = timeb.getTime(); |
| | | |
| | | if (end > start) { |
| | | return R.fail("已有正在进行的同时段任务"); |
| | | if (times.getTime() >= start2){ |
| | | //已接任务提前两个小时 |
| | | Long ends = times.getTime() - 2 * 60 * 60 * 1000; |
| | | System.out.println("结束时间——————"+sdf.format(ends)); |
| | | if (ends < start2) { |
| | | return R.fail("已有正在进行的同时段任务"); |
| | | } |
| | | }else{ |
| | | //获取已接任务的结束时间戳 |
| | | Date timeb = sdf.parse(yjlist.get(i).getEndtime()); |
| | | //已接任务后两个小时 |
| | | Long end = timeb.getTime()+ 2 * 60 * 60 * 1000; |
| | | System.out.println("结束时间——————"+sdf.format(end)); |
| | | if (end > start) { |
| | | return R.fail("已有正在进行的同时段任务"); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | /** |
| | | * 查询所有任务轨迹以及人员轨迹 |
| | | * @return |
| | | */ |
| | | @GetMapping("/queryAllTrar") |
| | | public R queryAllTrar() { |
| | | List<Map<String, Object>> allTask = taskqdService.allTask(); |
| | | |
| | | |
| | | return R.data(allTask); |
| | | } |
| | | |
| | | /** |
| | | * @param nowTime 当前时间 |
| | | * @param startTime 开始时间 |
| | | * @param endTime 结束时间 |
| | |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 根据派出所展示发布数量前十五,根据日周月切换 |
| | | * @param jurisdiction 派出所编号 |
| | | * @param startTime 发布时间 |
| | | * @param period 日(day) 月(week) 年(year) |
| | | * @return |
| | | */ |
| | | @GetMapping("/countTaskByJur") |
| | | @ApiOperation(value = "统计") |
| | | public R countTaskByJur(String jurisdiction, String startTime,String period ){ |
| | | List<Taskqd> list = taskqdService.countTaskByJur(jurisdiction,startTime,period); |
| | | return R.data(list); |
| | | } |
| | | |
| | | /** |
| | | * 导出任务数据 |
| | | * @param task |
| | | * @param response |
| | | */ |
| | | @GetMapping("export-task") |
| | | public void exportTask(TaskqdVO task, HttpServletResponse response) { |
| | | List<TaskExcel> list = taskqdService.exportTask(task); |
| | | ExcelUtil.export(response, "任务数据" + DateUtil.time(), "任务数据表", list, TaskExcel.class); |
| | | } |
| | | } |