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 b664c3b..4264152 100644 --- a/src/main/java/com/gunshi/project/xyt/controller/InspectTaskDetailController.java +++ b/src/main/java/com/gunshi/project/xyt/controller/InspectTaskDetailController.java @@ -1,6 +1,9 @@ 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.InspectProblemPageSo; +import com.gunshi.project.xyt.entity.vo.InspectProblemVo; import com.gunshi.project.xyt.entity.vo.InspectTaskDetailVo; import com.gunshi.project.xyt.model.InspectTaskDetail; import com.gunshi.project.xyt.service.InspectTaskDetailService; @@ -8,6 +11,7 @@ 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.List; @@ -18,7 +22,7 @@ import java.util.List; */ @Tag(name = "巡查信息") @RestController -@RequestMapping(value="/inspectTaskDetail") +@RequestMapping(value="/inspect/detail") public class InspectTaskDetailController { @Autowired @@ -36,4 +40,10 @@ public class InspectTaskDetailController { public R> inspectInfo(@Schema(name = "taskId",description = "任务id") @RequestParam(name = "taskId") Long taskId) { return R.ok(service.inspectInfo(taskId)); } + + @Operation(summary = "巡检问题处理分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated InspectProblemPageSo page) { + return R.ok(service.pageQuery(page)); + } } \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/InspectProblemPageSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/InspectProblemPageSo.java new file mode 100644 index 0000000..b695af4 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/entity/so/InspectProblemPageSo.java @@ -0,0 +1,37 @@ +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.DateTimeRangeSo; +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "分页查询对象") +public class InspectProblemPageSo { + + @NotNull(message = "分页参数不能为空") + @Schema(description = "分页参数") + private PageSo pageSo; + + @Schema(description="巡查人id") + @NotNull(message = "巡查人id不能为空") + @JsonSerialize(using = ToStringSerializer.class) + private Long inspectUserId; + + @Schema(description="是否处理(0否 1是)") + private Integer isHandle; + + @Schema(description = "时间范围") + private DateTimeRangeSo dateTimeRangeSo; + +} diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/InspectTaskPageSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/InspectTaskPageSo.java index e0f3e51..19d6a1a 100644 --- a/src/main/java/com/gunshi/project/xyt/entity/so/InspectTaskPageSo.java +++ b/src/main/java/com/gunshi/project/xyt/entity/so/InspectTaskPageSo.java @@ -1,5 +1,7 @@ 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.DateTimeRangeSo; import com.gunshi.db.dto.PageSo; import io.swagger.v3.oas.annotations.media.Schema; @@ -21,6 +23,11 @@ public class InspectTaskPageSo { @Schema(description = "分页参数") private PageSo pageSo; + @Schema(description="创建人id") + @NotNull(message = "创建人id不能为空") + @JsonSerialize(using = ToStringSerializer.class) + private Long createUserId; + @Schema(description="状态(0未完成 1进行中 2已完成)") private Integer status; diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/InspectProblemVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/InspectProblemVo.java new file mode 100644 index 0000000..ba1765a --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/entity/vo/InspectProblemVo.java @@ -0,0 +1,54 @@ +package com.gunshi.project.xyt.entity.vo; + +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 com.gunshi.project.xyt.model.FileAssociations; +import com.gunshi.project.xyt.model.InspectTaskDetail; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @Author xusan + * @Date 2023/7/4 10:28 + * @Notes + **/ +@Data +public class InspectProblemVo extends InspectTaskDetail { + + @Schema(description="任务标题") + private String taskTitle; + + @Schema(description="巡查点名称") + private String name; + + @Schema(description="巡检项描述") + private String itemDesc; + + @Schema(description="巡查人id") + @JsonSerialize(using = ToStringSerializer.class) + private Long inspectUserId; + + @Schema(description="巡查人") + private String inspectUserName; + + @Schema(description="巡查完成时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date finishTime; + + @Schema(description = "巡查图片") + private List inspectPics; + + @Schema(description = "巡查视频") + private List inspectVideos; + + @Schema(description = "处理图片") + private List handlePics; + + @Schema(description = "处理视频") + private List handleVideos; +} diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/InspectTaskDetailVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/InspectTaskDetailVo.java index b3fcf3c..97c6281 100644 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/InspectTaskDetailVo.java +++ b/src/main/java/com/gunshi/project/xyt/entity/vo/InspectTaskDetailVo.java @@ -35,4 +35,10 @@ public class InspectTaskDetailVo extends InspectTaskDetail { @Schema(description = "巡查视频") private List inspectVideos; + + @Schema(description = "处理图片") + private List handlePics; + + @Schema(description = "处理视频") + private List handleVideos; } diff --git a/src/main/java/com/gunshi/project/xyt/mapper/InspectTaskDetailMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/InspectTaskDetailMapper.java index 6236fb5..c06bc18 100644 --- a/src/main/java/com/gunshi/project/xyt/mapper/InspectTaskDetailMapper.java +++ b/src/main/java/com/gunshi/project/xyt/mapper/InspectTaskDetailMapper.java @@ -1,6 +1,9 @@ package com.gunshi.project.xyt.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.project.xyt.entity.so.InspectProblemPageSo; +import com.gunshi.project.xyt.entity.vo.InspectProblemVo; import com.gunshi.project.xyt.entity.vo.InspectTaskDetailVo; import com.gunshi.project.xyt.model.InspectTaskDetail; import org.apache.ibatis.annotations.Mapper; @@ -26,4 +29,28 @@ public interface InspectTaskDetailMapper extends BaseMapper { """) List inspectInfo(@Param("id") Long id); + + @Select(""" + + """) + Page pageQuery(Page page,@Param("obj") InspectProblemPageSo page1); } \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/InspectTaskMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/InspectTaskMapper.java index 9c7f7be..79ebf3f 100644 --- a/src/main/java/com/gunshi/project/xyt/mapper/InspectTaskMapper.java +++ b/src/main/java/com/gunshi/project/xyt/mapper/InspectTaskMapper.java @@ -21,6 +21,9 @@ public interface InspectTaskMapper extends BaseMapper { with m1 as ( select t.* from public.inspect_task t + + t.create_user_id = #{obj.createUserId} + t.status = #{obj.status} 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 fe33144..2dd29ad 100644 --- a/src/main/java/com/gunshi/project/xyt/service/InspectTaskDetailService.java +++ b/src/main/java/com/gunshi/project/xyt/service/InspectTaskDetailService.java @@ -2,11 +2,15 @@ package com.gunshi.project.xyt.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.xyt.entity.so.InspectProblemPageSo; +import com.gunshi.project.xyt.entity.vo.InspectProblemVo; import com.gunshi.project.xyt.entity.vo.InspectTaskDetailVo; import com.gunshi.project.xyt.mapper.InspectTaskDetailMapper; import com.gunshi.project.xyt.model.InspectTaskDetail; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -25,6 +29,8 @@ import java.util.stream.Collectors; @Transactional(rollbackFor = Exception.class) public class InspectTaskDetailService extends ServiceImpl { + @Autowired + private FileAssociationsService fileService; public void saveDetail(List items, Long taskId) { items.stream().forEach(o->{ @@ -55,12 +61,64 @@ public class InspectTaskDetailService extends ServiceImpl value = t.getValue(); + vo.setName(value.get(0).getName()); + fillFile(value); + vo.setChildren(value); res.add(vo); }); return res; } + + private void fillFile(List value) { + for (InspectTaskDetailVo record : value) { + record.setInspectPics(fileService.queryFileList(record.getId().toString(),getGroupId(),getPicType())); + record.setInspectVideos(fileService.queryFileList(record.getId().toString(),getGroupId(),getVideoType())); + if(record.getIsHandle() == 1){ + record.setHandlePics(fileService.queryFileList(record.getId().toString(),getGroupId(),getHandlePicType())); + record.setHandleVideos(fileService.queryFileList(record.getId().toString(),getGroupId(),getHandleVideoType())); + } + } + } + + public Page pageQuery(InspectProblemPageSo page) { + Page res = this.baseMapper.pageQuery(page.getPageSo().toPage(),page); + if (res.getRecords() != null) { + fillAttach(res.getRecords()); + } + return res; + } + + private void fillAttach(List records) { + for (InspectProblemVo record : records) { + record.setInspectPics(fileService.queryFileList(record.getId().toString(),getGroupId(),getPicType())); + record.setInspectVideos(fileService.queryFileList(record.getId().toString(),getGroupId(),getVideoType())); + if(record.getIsHandle() == 1){ + record.setHandlePics(fileService.queryFileList(record.getId().toString(),getGroupId(),getHandlePicType())); + record.setHandleVideos(fileService.queryFileList(record.getId().toString(),getGroupId(),getHandleVideoType())); + } + } + } + + public String getGroupId() { + return "inspectTask"; + } + + private String getPicType() { + return "inspectPic"; + } + + private String getVideoType() { + return "inspectVideo"; + } + + private String getHandlePicType() { + return "handlePic"; + } + + private String getHandleVideoType() { + return "handleVideo"; + } } diff --git a/src/main/java/com/gunshi/project/xyt/service/InspectTaskService.java b/src/main/java/com/gunshi/project/xyt/service/InspectTaskService.java index 80b5adb..f48b689 100644 --- a/src/main/java/com/gunshi/project/xyt/service/InspectTaskService.java +++ b/src/main/java/com/gunshi/project/xyt/service/InspectTaskService.java @@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gunshi.project.xyt.entity.so.InspectTaskPageSo; -import com.gunshi.project.xyt.entity.vo.InspectTaskDetailVo; import com.gunshi.project.xyt.mapper.InspectTaskMapper; import com.gunshi.project.xyt.model.InspectTask; import lombok.extern.slf4j.Slf4j; @@ -12,8 +11,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.*; -import java.util.stream.Collectors; +import java.util.Date; +import java.util.Objects; /** * 描述: 巡检任务 @@ -64,6 +63,7 @@ public class InspectTaskService extends ServiceImpl