diff --git a/src/main/java/com/gunshi/project/xyt/controller/InspectTaskController.java b/src/main/java/com/gunshi/project/xyt/controller/InspectTaskController.java index efa4af0..df4b139 100644 --- a/src/main/java/com/gunshi/project/xyt/controller/InspectTaskController.java +++ b/src/main/java/com/gunshi/project/xyt/controller/InspectTaskController.java @@ -3,7 +3,8 @@ package com.gunshi.project.xyt.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gunshi.core.result.R; import com.gunshi.project.xyt.entity.so.InspectTaskPageSo; -import com.gunshi.project.xyt.entity.vo.InspectTaskDetailVo; +import com.gunshi.project.xyt.entity.so.InspectTaskSo; +import com.gunshi.project.xyt.entity.vo.InspectTaskVo; import com.gunshi.project.xyt.model.InspectTask; import com.gunshi.project.xyt.service.InspectTaskService; import com.gunshi.project.xyt.validate.markers.Insert; @@ -61,10 +62,16 @@ public class InspectTaskController extends AbstractCommonFileController{ return R.ok(service.startInspect(id)); } - @Operation(summary = "结束巡查") + @Operation(summary = "APP-保存/结束巡查") @PostMapping("/finish") - public R finish(@RequestBody @Validated List list) { - return R.ok(service.finish(list)); + public R finish(@RequestBody @Validated InspectTaskVo vo) { + return R.ok(service.finish(vo)); + } + + @Operation(summary = "APP-我的巡查任务") + @PostMapping("/list") + public R> list(@RequestBody @Validated InspectTaskSo so) { + return R.ok(service.listQuery(so)); } diff --git a/src/main/java/com/gunshi/project/xyt/controller/InspectTaskDetailController.java b/src/main/java/com/gunshi/project/xyt/controller/InspectTaskDetailController.java index b2bd7a3..af53491 100644 --- a/src/main/java/com/gunshi/project/xyt/controller/InspectTaskDetailController.java +++ b/src/main/java/com/gunshi/project/xyt/controller/InspectTaskDetailController.java @@ -46,6 +46,12 @@ public class InspectTaskDetailController{ return R.ok(service.pageQuery(page)); } + @Operation(summary = "APP-处理") + @PostMapping("/handle") + public R handle(@RequestBody @Validated InspectProblemVo vo) { + return R.ok(service.handle(vo)); + } + diff --git a/src/main/java/com/gunshi/project/xyt/controller/InspectTaskTrackController.java b/src/main/java/com/gunshi/project/xyt/controller/InspectTaskTrackController.java new file mode 100644 index 0000000..aa2388e --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/controller/InspectTaskTrackController.java @@ -0,0 +1,46 @@ +package com.gunshi.project.xyt.controller; + +import com.gunshi.core.result.R; +import com.gunshi.project.xyt.model.InspectTaskTrack; +import com.gunshi.project.xyt.service.InspectTaskTrackService; +import com.gunshi.project.xyt.validate.markers.Insert; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.Date; +import java.util.List; +/** + * 描述: 巡查轨迹 + * author: xusan + * date: 2024-09-18 13:59:21 + */ +@Tag(name = "巡查轨迹") +@RestController +@RequestMapping(value="/inspectTaskTrack") +public class InspectTaskTrackController { + + @Autowired + private InspectTaskTrackService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody InspectTaskTrack dto) { + dto.setCreateTime(new Date()); + boolean result = service.save(dto); + return R.ok(result ? dto : null); + } + + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list(@Schema(name = "taskId",description = "任务id") @RequestParam(name = "taskId") Long taskId) { + return R.ok(service.lambdaQuery().eq(InspectTaskTrack::getTaskId,taskId).orderByAsc(InspectTaskTrack::getCreateTime).list()); + } + + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/InspectTaskSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/InspectTaskSo.java new file mode 100644 index 0000000..cc4303f --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/entity/so/InspectTaskSo.java @@ -0,0 +1,35 @@ +package com.gunshi.project.xyt.entity.so; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.db.dto.DateRangeSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.util.List; + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "巡检任务查询对象") +public class InspectTaskSo { + + + @Schema(description="巡查人id") + @NotNull(message = "巡查人id不能为空") + @JsonSerialize(using = ToStringSerializer.class) + private Long inspectUserId; + + @Schema(description = "时间范围") + private DateRangeSo dateRangeSo; + + @Schema(description = "状态") + private List statusList; + +} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/InspectTaskVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/InspectTaskVo.java new file mode 100644 index 0000000..e83b1aa --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/entity/vo/InspectTaskVo.java @@ -0,0 +1,25 @@ +package com.gunshi.project.xyt.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import org.hibernate.validator.constraints.Range; + +import java.util.List; + +/** + * @Author xusan + * @Date 2023/7/4 10:28 + * @Notes + **/ +@Data +public class InspectTaskVo { + + @Schema(description="任务状态") + @Range(min = 1,max = 2) + @NotNull(message = "任务状态不可为空") + private Integer status; + + @Schema(description="巡查信息") + private List list; +} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/InspectTaskTrackMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/InspectTaskTrackMapper.java new file mode 100644 index 0000000..29fbd32 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/mapper/InspectTaskTrackMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.xyt.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.xyt.model.InspectTaskTrack; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 巡查轨迹 + * author: xusan + * date: 2024-09-18 13:59:21 + */ +@Mapper +public interface InspectTaskTrackMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/InspectTaskTrack.java b/src/main/java/com/gunshi/project/xyt/model/InspectTaskTrack.java new file mode 100644 index 0000000..eb8df30 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/model/InspectTaskTrack.java @@ -0,0 +1,71 @@ +package com.gunshi.project.xyt.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** +* 描述: 巡查轨迹 +* author: xusan +* date: 2024-09-18 13:59:21 +*/ +@Schema(description="巡查轨迹") +@Data +@TableName("public.inspect_task_track") +public class InspectTaskTrack implements Serializable { + + public final static String thisTableName = "InspectTaskTrack"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 任务id + */ + @TableField(value="task_id") + @Schema(description="任务id") + @JsonSerialize(using = ToStringSerializer.class) + private Long taskId; + + /** + * 经度 (°) + */ + @TableField(value="lgtd") + @Schema(description="经度 (°)") + private BigDecimal lgtd; + + /** + * 纬度 (°) + */ + @TableField(value="lttd") + @Schema(description="纬度 (°)") + private BigDecimal lttd; + + /** + * 创建时间 + */ + @TableField(value="create_time") + @Schema(description="创建时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/service/InspectTaskDetailService.java b/src/main/java/com/gunshi/project/xyt/service/InspectTaskDetailService.java index cd8f704..09e67b2 100644 --- a/src/main/java/com/gunshi/project/xyt/service/InspectTaskDetailService.java +++ b/src/main/java/com/gunshi/project/xyt/service/InspectTaskDetailService.java @@ -1,6 +1,7 @@ package com.gunshi.project.xyt.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -16,6 +17,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -123,6 +125,10 @@ public class InspectTaskDetailService extends ServiceImpl list) { List res = new ArrayList<>(); + List ids = list.stream().map(InspectTaskDetailVo::getId).map(Object::toString).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(ids)){ + fileService.removeByBzIds(ids); + } for(InspectTaskDetailVo vo : list){ InspectTaskDetail detail = new InspectTaskDetail(); BeanUtils.copyProperties(vo,detail); @@ -135,6 +141,17 @@ public class InspectTaskDetailService extends ServiceImpl list) { + public Boolean finish(InspectTaskVo vo) { + List list = vo.getList(); inspectTaskDetailService.finish(list); InspectTask task = this.getById(list.get(0).getTaskId()); - task.setFinishTime(new Date()); - task.setStatus(2); + task.setFinishTime(vo.getStatus() == 2 ? new Date() : null); + task.setStatus(vo.getStatus()); return this.updateById(task); } + + public List listQuery(InspectTaskSo so) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(InspectTask::getInspectUserId,so.getInspectUserId()) + .in(InspectTask::getStatus,so.getStatusList()); + if(so.getDateRangeSo() != null && so.getDateRangeSo().getStart() != null){ + queryWrapper.ge(InspectTask::getStartDate,so.getDateRangeSo().getStart()); + } + if(so.getDateRangeSo() != null && so.getDateRangeSo().getEnd() != null){ + queryWrapper.le(InspectTask::getStartDate,so.getDateRangeSo().getEnd()); + } + return this.list(queryWrapper); + } } diff --git a/src/main/java/com/gunshi/project/xyt/service/InspectTaskTrackService.java b/src/main/java/com/gunshi/project/xyt/service/InspectTaskTrackService.java new file mode 100644 index 0000000..964b8d8 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/service/InspectTaskTrackService.java @@ -0,0 +1,23 @@ +package com.gunshi.project.xyt.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.xyt.mapper.InspectTaskTrackMapper; +import com.gunshi.project.xyt.model.InspectTaskTrack; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 描述: 巡查轨迹 + * author: xusan + * date: 2024-09-18 13:59:21 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class InspectTaskTrackService extends ServiceImpl +{ + +} + + diff --git a/src/main/java/com/gunshi/project/xyt/service/OsmoticPressRService.java b/src/main/java/com/gunshi/project/xyt/service/OsmoticPressRService.java index 8de2541..8a8ee97 100644 --- a/src/main/java/com/gunshi/project/xyt/service/OsmoticPressRService.java +++ b/src/main/java/com/gunshi/project/xyt/service/OsmoticPressRService.java @@ -207,7 +207,7 @@ public class OsmoticPressRService extends ServiceImpl