|
@@ -0,0 +1,92 @@
|
|
|
+package com.huaxu.track.controller;
|
|
|
+
|
|
|
+import com.huaxu.entity.Message;
|
|
|
+import com.huaxu.model.AjaxMessage;
|
|
|
+import com.huaxu.model.LoginUser;
|
|
|
+import com.huaxu.model.ResultStatus;
|
|
|
+import com.huaxu.track.entity.GpsDataHis;
|
|
|
+import com.huaxu.track.entity.TaskTrack;
|
|
|
+import com.huaxu.track.service.GpsDataHisService;
|
|
|
+import com.huaxu.track.service.TaskTrackService;
|
|
|
+import com.huaxu.util.UserUtil;
|
|
|
+import io.swagger.annotations.Api;
|
|
|
+import io.swagger.annotations.ApiOperation;
|
|
|
+import io.swagger.annotations.ApiParam;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+
|
|
|
+@RestController
|
|
|
+@RequestMapping("/track/TaskTrack")
|
|
|
+@Api(tags = "任务轨迹")
|
|
|
+public class TaskTrackController {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ TaskTrackService taskTrackService;
|
|
|
+ @Autowired
|
|
|
+ GpsDataHisService gpsDataHisService;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 新增一条数据
|
|
|
+ *
|
|
|
+ * @param
|
|
|
+ * @return Response对象
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "startTrack", method = RequestMethod.POST)
|
|
|
+ @ApiOperation(value = "开始轨迹")
|
|
|
+ public AjaxMessage<Integer> startTrack(@ApiParam(value = "任务id", required = true) @RequestParam Integer taskId) {
|
|
|
+ TaskTrack taskTrack=new TaskTrack();
|
|
|
+ LoginUser currentUser = UserUtil.getCurrentUser();
|
|
|
+ taskTrack.setUserId(currentUser.getId());
|
|
|
+ taskTrack.setTaskId(taskId);
|
|
|
+ taskTrack.setTaskStartDate(new Date());
|
|
|
+ TaskTrack track=taskTrackService.selectTaskTrack(taskId,currentUser.getId());
|
|
|
+ if(track == null) {
|
|
|
+ taskTrackService.insert(taskTrack);
|
|
|
+ }else{
|
|
|
+ taskTrack.setId(track.getId());
|
|
|
+ taskTrack.setTaskEndDate(null);
|
|
|
+ taskTrackService.updateTrack(taskTrack);
|
|
|
+ }
|
|
|
+ return new AjaxMessage<>(ResultStatus.OK,taskTrack.getId());
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 修改一条数据
|
|
|
+ *
|
|
|
+ * @param
|
|
|
+ * @return Response对象
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "endTrack", method = RequestMethod.POST)
|
|
|
+ @ApiOperation(value = "结束轨迹")
|
|
|
+ public AjaxMessage<Boolean> endTrack( @ApiParam(value = "任务id", required = true) @RequestParam Integer taskId) {
|
|
|
+ TaskTrack taskTrack=new TaskTrack();
|
|
|
+ LoginUser currentUser = UserUtil.getCurrentUser();
|
|
|
+ taskTrack.setTaskEndDate(new Date());
|
|
|
+ TaskTrack track=taskTrackService.selectTaskTrack(taskId,currentUser.getId());
|
|
|
+ if(track != null) {
|
|
|
+ taskTrack.setId(track.getId());
|
|
|
+ taskTrackService.updateTrack(taskTrack);
|
|
|
+ }
|
|
|
+ return new AjaxMessage<>(ResultStatus.OK);
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 查询任务轨迹
|
|
|
+ *
|
|
|
+ * @param
|
|
|
+ * @return Response对象
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "selectTaskTrack", method = RequestMethod.POST)
|
|
|
+ @ApiOperation(value = "查询任务轨迹")
|
|
|
+ public AjaxMessage<List<GpsDataHis>> selectTaskTrack(
|
|
|
+ @ApiParam(value = "任务id", required = true) @RequestParam Integer taskId,
|
|
|
+ @ApiParam(value = "用户id", required = false) @RequestParam(required = false) Integer userId) {
|
|
|
+ LoginUser currentUser = UserUtil.getCurrentUser();
|
|
|
+ userId=userId==null?currentUser.getId():userId;
|
|
|
+ TaskTrack track=taskTrackService.selectTaskTrack(taskId,userId);
|
|
|
+ List<GpsDataHis> result=gpsDataHisService.selectGpsDataHis(track);
|
|
|
+ return new AjaxMessage<>(ResultStatus.OK, result);
|
|
|
+ }
|
|
|
+}
|