From 37d57abd8bc8aa69a2518f693a2c971de8a08859 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Mon, 25 Sep 2023 19:26:43 +0800
Subject: [PATCH] 任务查询报错修改

---
 src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java |  110 +++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 95 insertions(+), 15 deletions(-)

diff --git a/src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java b/src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java
index 86fd1a2..dce7f5d 100644
--- a/src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java
+++ b/src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java
@@ -22,10 +22,14 @@
 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;
@@ -33,12 +37,14 @@
 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;
@@ -81,8 +87,21 @@
 	@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));
 	}
 
 
@@ -93,6 +112,7 @@
 	@ApiOperationSupport(order = 4)
 	@ApiOperation(value = "新增", notes = "传入task")
 	public R save(@Valid @RequestBody Taskqd taskqd) {
+		pushMsgService.pushMsg(taskqd.getJurisdiction());
 		return R.status(taskqdService.save(taskqd));
 	}
 
@@ -103,6 +123,14 @@
 	@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));
 	}
 
@@ -155,25 +183,38 @@
 		//转换
 		try {
 
-			//获取要接任务的时间戳 + 两个小时
+			//获取要接任务的时间戳
 			Date timea = sdf.parse(list.get(0).getTime());
+			Date timejs = sdf.parse(list.get(0).getEndtime());
 			System.out.println("开始时间——————"+timea.getTime());
-			Long start = timea.getTime() + 2 * 60 * 60 * 1000;
+			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(), "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();
-				System.out.println("开始时间——————"+sdf.format(end));
-				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("已有正在进行的同时段任务");
+					}
 				}
 			}
 
@@ -251,14 +292,16 @@
 
 
 	/**
-	 * 查询任务
-	 *
-	 * @param type
-	 * @param serid
+	 * 任务查询
+	 * @param type 任务状态 0:未开始  1:正在进行 2:已完成
+	 * @param serid 用户id
+	 * @param jurisdiction 辖区id
+	 * @param workjurisdiction 工作辖区
+	 * @param tasktype 任务状态
 	 * @return
 	 */
 	@PostMapping("/selectLi")
-	public R selectLi(String type, String serid, String jurisdiction, String workjurisdiction, String tasktype) {
+	public R selectLi(Integer type, String serid, String jurisdiction, String workjurisdiction, String tasktype) {
 		List<TaskqdVO> list = taskqdService.selectLi(type, serid, jurisdiction, workjurisdiction, tasktype);
 		for (int i = 0; i < list.size(); i++) {
 			Integer nums = list.get(i).getNums();
@@ -400,6 +443,18 @@
 	}
 
 	/**
+	 * 查询所有任务轨迹以及人员轨迹
+	 * @return
+	 */
+	@GetMapping("/queryAllTrar")
+	public R queryAllTrar() {
+		List<Map<String, Object>> allTask = taskqdService.allTask();
+
+
+		return R.data(allTask);
+	}
+
+	/**
 	 * @param nowTime   当前时间
 	 * @param startTime 开始时间
 	 * @param endTime   结束时间
@@ -427,4 +482,29 @@
 			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);
+	}
 }

--
Gitblit v1.9.3