Преглед изворни кода

Merge remote-tracking branch 'origin/master'

wangbo пре 4 година
родитељ
комит
707501907a

+ 1 - 1
operation_manager/src/main/java/com/huaxu/order/controller/WorkOrderManageController.java

@@ -80,7 +80,7 @@ public class WorkOrderManageController {
         LoginUser currentUser = UserUtil.getCurrentUser();
         workOrderManage.setTenantId(currentUser.getTenantId());
         workOrderManage.setCreateBy(currentUser.getUsername());
-        workOrderManage.setDateCreate(new Date());
+        workOrderManage.setDateCreate(workOrderManage.getDateCreate()==null?new Date():workOrderManage.getDateCreate());
         workOrderManage.setOrderStatus(0);
         workOrderManage.setTaskNo(DatesUtil.formatDate(new Date(),"yyyyMMddHHmmss")+String.valueOf((int) (Math.random()*(9999-1000)+1000)));
         workOrderManageService.insertSelective(workOrderManage);

+ 2 - 2
operation_manager/src/main/java/com/huaxu/order/service/WorkFlowLogService.java

@@ -9,10 +9,10 @@ import javax.annotation.Resource;
 
 
 /**
- * 报警设置服务接口
+ * 工作流日志服务接口
  *
  * @author yjy
- * @since 2020-11-17
+ * @since 2021-1-16
  */
 @Service
 public class WorkFlowLogService extends ServiceImpl<WorkFlowLogMapper, WorkFlowLog> {

+ 64 - 0
operation_manager/src/main/java/com/huaxu/track/controller/GpsDataController.java

@@ -0,0 +1,64 @@
+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.GpsData;
+import com.huaxu.track.entity.GpsDataHis;
+import com.huaxu.track.service.GpsDataHisService;
+import com.huaxu.track.service.GpsDataService;
+import com.huaxu.util.DatesUtil;
+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.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@RestController
+@RequestMapping("/track/GpsData")
+@Api(tags = "GPS数据")
+public class GpsDataController {
+
+    @Autowired
+    GpsDataService gpsDataService;
+    @Autowired
+    GpsDataHisService gpsDataHisService;
+    
+    /**
+     * 新增一条数据
+     *
+     * @param GpsData 实体类
+     * @return Response对象
+     */
+    @RequestMapping(value = "insert", method = RequestMethod.POST)
+    @ApiOperation(value = "插入")
+    public AjaxMessage<Boolean> insert(@ApiParam(value = "GPS数据", required = true) @RequestBody GpsData GpsData) {
+        LoginUser currentUser = UserUtil.getCurrentUser();
+        GpsData.setUserId(currentUser.getId());
+        GpsData.setUploadDate(new Date());
+        List<GpsData> gpsDataList=gpsDataService.selectByUserId(currentUser.getId());
+        //插入历史表
+        List<GpsDataHis> gpsDataHisList=new ArrayList<>();
+        for(GpsData gpsData:gpsDataList){
+            GpsDataHis gpsDataHis=new GpsDataHis();
+            gpsDataHis.setUserId(gpsData.getUserId());
+            gpsDataHis.setUploadDate(gpsData.getUploadDate());
+            gpsDataHis.setLongtitude(gpsData.getLongtitude());
+            gpsDataHis.setLatitude(gpsData.getLatitude());
+            gpsDataHisList.add(gpsDataHis);
+        }
+        gpsDataHisService.insert(gpsDataHisList);
+        //删除原来的实时数据
+        gpsDataService.delete(currentUser.getId());
+        return new AjaxMessage<>(ResultStatus.OK, gpsDataService.insert(GpsData));
+    }
+}

+ 92 - 0
operation_manager/src/main/java/com/huaxu/track/controller/TaskTrackController.java

@@ -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);
+    }
+}

+ 10 - 0
operation_manager/src/main/java/com/huaxu/track/dao/GpsDataHisMapper.java

@@ -0,0 +1,10 @@
+package com.huaxu.track.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huaxu.track.entity.GpsDataHis;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface GpsDataHisMapper  extends BaseMapper<GpsDataHis> {
+
+}

+ 10 - 0
operation_manager/src/main/java/com/huaxu/track/dao/GpsDataMapper.java

@@ -0,0 +1,10 @@
+package com.huaxu.track.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huaxu.track.entity.GpsData;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface GpsDataMapper  extends BaseMapper<GpsData> {
+
+}

+ 10 - 0
operation_manager/src/main/java/com/huaxu/track/dao/TaskTrackMapper.java

@@ -0,0 +1,10 @@
+package com.huaxu.track.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huaxu.track.entity.TaskTrack;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface TaskTrackMapper  extends BaseMapper<TaskTrack> {
+
+}

+ 37 - 0
operation_manager/src/main/java/com/huaxu/track/entity/GpsData.java

@@ -0,0 +1,37 @@
+package com.huaxu.track.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@ApiModel(value = "用户GPS数据")
+@TableName("sc_gps_data")
+public class GpsData implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键")
+    @TableId(type= IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "用户id")
+    private Integer userId;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
+    @ApiModelProperty(value = "上传时间")
+    private Date uploadDate;
+
+    @ApiModelProperty(value = "经度")
+    private BigDecimal longtitude;
+
+    @ApiModelProperty(value = "纬度")
+    private BigDecimal latitude;
+}

+ 3 - 4
operation_manager/src/main/java/com/huaxu/track/entity/TaskTrack.java

@@ -1,8 +1,6 @@
 package com.huaxu.track.entity;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -25,7 +23,7 @@ public class TaskTrack implements Serializable {
     private Integer userId;
 
     @ApiModelProperty(value = "任务id")
-    private String taskId;
+    private Integer taskId;
 
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
     @ApiModelProperty(value = "开始时间")
@@ -33,5 +31,6 @@ public class TaskTrack implements Serializable {
 
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
     @ApiModelProperty(value = "结束时间")
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
     private Date taskEndDate;
 }

+ 44 - 0
operation_manager/src/main/java/com/huaxu/track/service/GpsDataHisService.java

@@ -0,0 +1,44 @@
+package com.huaxu.track.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huaxu.track.dao.GpsDataHisMapper;
+import com.huaxu.track.entity.GpsDataHis;
+import com.huaxu.track.entity.TaskTrack;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+
+/**
+ * 用户历史GPS数据服务接口
+ *
+ * @author yjy
+ * @since 2021-1-16
+ */
+@Service
+public class GpsDataHisService extends ServiceImpl<GpsDataHisMapper, GpsDataHis> {
+    @Resource
+    private GpsDataHisMapper gpsDataHisMapper;
+    /**
+     * 批量增加数据
+     *
+     * @param
+     * @return
+     */
+    public boolean insert(List<GpsDataHis> GpsDataHis) {
+        return this.saveBatch(GpsDataHis);
+    }
+    /**
+     *  查询数据
+     *
+     * @param
+     * @return
+     */
+    public List<GpsDataHis> selectGpsDataHis(TaskTrack taskTrack) {
+        return this.list(new QueryWrapper<GpsDataHis>().eq("USER_ID",taskTrack.getUserId())
+                .gt("UPLOAD_DATE",taskTrack.getTaskStartDate())
+                .lt("UPLOAD_DATE",taskTrack.getTaskEndDate()));
+    }
+}

+ 51 - 0
operation_manager/src/main/java/com/huaxu/track/service/GpsDataService.java

@@ -0,0 +1,51 @@
+package com.huaxu.track.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huaxu.track.dao.GpsDataMapper;
+import com.huaxu.track.entity.GpsData;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.stream.Collectors;
+
+
+/**
+ * 用户GPS数据服务接口
+ *
+ * @author yjy
+ * @since 2021-1-16
+ */
+@Service
+public class GpsDataService extends ServiceImpl<GpsDataMapper, GpsData> {
+    @Resource
+    private GpsDataMapper gpsDataMapper;
+    /**
+     * 批量增加数据
+     *
+     * @param
+     * @return
+     */
+    public boolean insert(GpsData GpsData) {
+        return this.save(GpsData);
+    }
+    /**
+     * 根据用户id查询数据
+     *
+     * @param userId 用户id
+     * @return 单条数据
+     */
+    public List<GpsData> selectByUserId(Integer userId){
+        return this.list(new QueryWrapper<GpsData>().eq("USER_ID",userId));
+    }
+    /**
+     * 根据用户id删除数据
+     *
+     * @param userId 用户id
+     * @return 单条数据
+     */
+    public boolean delete(Integer userId){
+       return this.remove(new QueryWrapper<GpsData>().eq("USER_ID",userId));
+    }
+}

+ 50 - 0
operation_manager/src/main/java/com/huaxu/track/service/TaskTrackService.java

@@ -0,0 +1,50 @@
+package com.huaxu.track.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huaxu.track.dao.TaskTrackMapper;
+import com.huaxu.track.entity.TaskTrack;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+
+/**
+ * 任务轨迹服务接口
+ *
+ * @author yjy
+ * @since 2021-1-16
+ */
+@Service
+public class TaskTrackService extends ServiceImpl<TaskTrackMapper, TaskTrack> {
+    @Resource
+    private TaskTrackMapper taskTrackMapper;
+    /**
+     * 增加数据
+     *
+     * @param
+     * @return
+     */
+    public boolean insert(TaskTrack taskTrack) {
+        return this.save(taskTrack);
+    }
+    /**
+     * 修改数据
+     *
+     * @param
+     * @return
+     */
+    public boolean updateTrack(TaskTrack taskTrack) {
+        return  this.updateById(taskTrack);
+    }
+    /**
+     * 查询数据
+     *
+     * @param
+     * @return 单条数据
+     */
+    public TaskTrack selectTaskTrack(Integer taskId,Integer userId){
+        return this.getOne(new QueryWrapper<TaskTrack>().eq("USER_ID",userId)
+                .eq("TASK_ID",taskId));
+    }
+}