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 e4584ec..17c9ed7 100644 --- a/src/main/java/com/gunshi/project/xyt/controller/InspectTaskController.java +++ b/src/main/java/com/gunshi/project/xyt/controller/InspectTaskController.java @@ -51,4 +51,10 @@ public class InspectTaskController { return R.ok(service.pageQuery(page)); } + @Operation(summary = "开始巡检") + @GetMapping("/startInspect/{id}") + public R startInspect(@Schema(name = "id") @PathVariable("id") Long id) { + return R.ok(service.startInspect(id)); + } + } \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/controller/TermiteAdverController.java b/src/main/java/com/gunshi/project/xyt/controller/TermiteAdverController.java index b431256..c1c4a7d 100644 --- a/src/main/java/com/gunshi/project/xyt/controller/TermiteAdverController.java +++ b/src/main/java/com/gunshi/project/xyt/controller/TermiteAdverController.java @@ -17,7 +17,7 @@ import java.util.List; * author: xusan * date: 2024-08-28 10:29:58 */ -@Tag(name = "白蚁防治宣传") +@Tag(name = "白蚁防治宣传资料") @RestController @RequestMapping(value="/termite/adver") public class TermiteAdverController extends AbstractCommonFileController{ diff --git a/src/main/java/com/gunshi/project/xyt/controller/TermiteAdverPicController.java b/src/main/java/com/gunshi/project/xyt/controller/TermiteAdverPicController.java index e6e9869..1a35d5f 100644 --- a/src/main/java/com/gunshi/project/xyt/controller/TermiteAdverPicController.java +++ b/src/main/java/com/gunshi/project/xyt/controller/TermiteAdverPicController.java @@ -1,34 +1,49 @@ package com.gunshi.project.xyt.controller; import com.gunshi.core.result.R; -import com.gunshi.file.model.FileDescriptor; -import com.gunshi.project.xyt.mapper.TermiteSurveyMapper; +import com.gunshi.project.xyt.model.TermiteAdverPic; +import com.gunshi.project.xyt.service.TermiteAdverPicService; +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.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import java.io.Serializable; import java.util.List; - /** - * 描述: 白蚁防治宣传 + * 描述: 白蚁防治宣传图片墙 * author: xusan - * date: 2024-08-28 10:29:58 + * date: 2024-08-29 17:33:09 */ -@Tag(name = "白蚁防治宣传") +@Tag(name = "白蚁防治宣传图片墙") @RestController @RequestMapping(value="/termite/pic") public class TermiteAdverPicController extends AbstractCommonFileController{ @Autowired - private TermiteSurveyMapper termiteSurveyMapper; + private TermiteAdverPicService service; - @Operation(summary = "宣传图片") - @GetMapping("/list") - public R> list() { - return R.ok(termiteSurveyMapper.queryFileList(getGroupId())); + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody TermiteAdverPic dto) { + return R.ok(service.saveData(dto)); + } + + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { + return R.ok(service.delData(id)); + } + + @Operation(summary = "列表") + @PostMapping("/list") + public R> list() { + return R.ok(service.queryList()); } 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 2aa438f..e0f3e51 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 @@ -21,7 +21,7 @@ public class InspectTaskPageSo { @Schema(description = "分页参数") private PageSo pageSo; - @Schema(description="状态(1未完成 2进行中 3已完成)") + @Schema(description="状态(0未完成 1进行中 2已完成)") private Integer status; @Schema(description="任务类型(1日常巡查 2特别检查 3汛前巡检)") diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/TermiteSurveyPageSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/TermiteSurveyPageSo.java index 63a5dfb..5312f3e 100644 --- a/src/main/java/com/gunshi/project/xyt/entity/so/TermiteSurveyPageSo.java +++ b/src/main/java/com/gunshi/project/xyt/entity/so/TermiteSurveyPageSo.java @@ -21,7 +21,7 @@ public class TermiteSurveyPageSo { private PageSo pageSo; @Schema(description="年份") - private Integer year; + private String year; @Schema(description="危害情况(0无危害 1有危害)") private Integer isHarm; 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 ceef45e..169890e 100644 --- a/src/main/java/com/gunshi/project/xyt/mapper/InspectTaskMapper.java +++ b/src/main/java/com/gunshi/project/xyt/mapper/InspectTaskMapper.java @@ -1,8 +1,12 @@ 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.InspectTaskPageSo; import com.gunshi.project.xyt.model.InspectTask; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** * 描述: 巡检任务 @@ -12,4 +16,32 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface InspectTaskMapper extends BaseMapper { + @Select(""" + + """) + Page pageQuery(Page page,@Param("obj") InspectTaskPageSo pageSo); } \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/TermiteAdverPicMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/TermiteAdverPicMapper.java new file mode 100644 index 0000000..ebf3a4a --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/mapper/TermiteAdverPicMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.xyt.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.xyt.model.TermiteAdverPic; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 白蚁防治宣传图片墙 + * author: xusan + * date: 2024-08-29 17:33:09 + */ +@Mapper +public interface TermiteAdverPicMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/TermiteSurveyMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/TermiteSurveyMapper.java index a31666b..8d50be3 100644 --- a/src/main/java/com/gunshi/project/xyt/mapper/TermiteSurveyMapper.java +++ b/src/main/java/com/gunshi/project/xyt/mapper/TermiteSurveyMapper.java @@ -29,11 +29,14 @@ public interface TermiteSurveyMapper extends BaseMapper { left join m2 on m1.id = m2.survey_id left join m3 on m1.id = m3.survey_id - + m1.year = #{obj.year} - - m2.harmNum > 0 + + and m2.harmNum > 0 + + + and m2.harmNum is null order by m1.report_date desc diff --git a/src/main/java/com/gunshi/project/xyt/model/InspectTask.java b/src/main/java/com/gunshi/project/xyt/model/InspectTask.java index f8285fb..ba7fb08 100644 --- a/src/main/java/com/gunshi/project/xyt/model/InspectTask.java +++ b/src/main/java/com/gunshi/project/xyt/model/InspectTask.java @@ -113,10 +113,10 @@ public class InspectTask implements Serializable { private Date finishTime; /** - * 状态(1未完成 2进行中 3已完成) + * 状态(0未完成 1进行中 2已完成) */ @TableField(value="status") - @Schema(description="状态(1未完成 2进行中 3已完成)") + @Schema(description="状态(0未完成 1进行中 2已完成)") private Integer status; /** diff --git a/src/main/java/com/gunshi/project/xyt/model/TermiteAdverPic.java b/src/main/java/com/gunshi/project/xyt/model/TermiteAdverPic.java new file mode 100644 index 0000000..a800757 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/model/TermiteAdverPic.java @@ -0,0 +1,61 @@ +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 jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 描述: 白蚁防治宣传图片墙 +* author: xusan +* date: 2024-08-29 17:33:08 +*/ +@Schema(description="白蚁防治宣传图片墙") +@Data +@TableName("public.termite_adver_pic") +public class TermiteAdverPic implements Serializable { + + public final static String thisTableName = "TermiteAdverPic"; + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 图片标题 + */ + @TableField(value="pic_title") + @Schema(description="图片标题") + @Size(max = 50,message = "图片标题最大长度要小于 50") + private String picTitle; + + /** + * 创建时间 + */ + @TableField(value="create_time") + @Schema(description="创建时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date createTime; + + @TableField(exist = false) + @Schema(description = "图片") + private FileAssociations pic; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/TermiteSurvey.java b/src/main/java/com/gunshi/project/xyt/model/TermiteSurvey.java index 624ae5d..ab01a4f 100644 --- a/src/main/java/com/gunshi/project/xyt/model/TermiteSurvey.java +++ b/src/main/java/com/gunshi/project/xyt/model/TermiteSurvey.java @@ -78,11 +78,11 @@ public class TermiteSurvey implements Serializable { @TableField(exist = false) @Schema(description = "白蚁危害处数") - private Integer harmNum; + private Integer harmNum = 0; @TableField(exist = false) @Schema(description = "已处置处数") - private Integer handleNum; + private Integer handleNum = 0; @TableField(exist = false) @Schema(description = "明细") 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 9aaf8f2..7da7768 100644 --- a/src/main/java/com/gunshi/project/xyt/service/InspectTaskService.java +++ b/src/main/java/com/gunshi/project/xyt/service/InspectTaskService.java @@ -33,7 +33,7 @@ public class InspectTaskService extends ServiceImpl pageQuery(InspectTaskPageSo page) { - LambdaQueryWrapper query = Wrappers.lambdaQuery(); - if (ObjectUtils.isNotNull(page.getStatus())) { - query.eq(InspectTask::getStatus, page.getStatus()); +// LambdaQueryWrapper query = Wrappers.lambdaQuery(); +// if (ObjectUtils.isNotNull(page.getStatus())) { +// query.eq(InspectTask::getStatus, page.getStatus()); +// } +// if (ObjectUtils.isNotNull(page.getTaskType())) { +// query.eq(InspectTask::getTaskType, page.getTaskType()); +// } +// if(page.getDateTimeRangeSo() != null && page.getDateTimeRangeSo().getStart() != null){ +// query.ge(InspectTask::getCreateTime,page.getDateTimeRangeSo().getStart()); +// } +// if(page.getDateTimeRangeSo() != null && page.getDateTimeRangeSo().getEnd() != null){ +// query.le(InspectTask::getCreateTime,page.getDateTimeRangeSo().getEnd()); +// } +// query.orderByDesc(InspectTask::getCreateTime); +// Page res = this.page(page.getPageSo().toPage(), query); + return this.baseMapper.pageQuery(page.getPageSo().toPage(),page); + } + + + + public Boolean startInspect(Long id) { + InspectTask task = this.getById(id); + if (Objects.isNull(task)) { + throw new IllegalArgumentException("当前数据不存在"); } - if (ObjectUtils.isNotNull(page.getTaskType())) { - query.eq(InspectTask::getTaskType, page.getTaskType()); - } - if(page.getDateTimeRangeSo() != null && page.getDateTimeRangeSo().getStart() != null){ - query.ge(InspectTask::getCreateTime,page.getDateTimeRangeSo().getStart()); - } - if(page.getDateTimeRangeSo() != null && page.getDateTimeRangeSo().getEnd() != null){ - query.le(InspectTask::getCreateTime,page.getDateTimeRangeSo().getEnd()); - } - query.orderByDesc(InspectTask::getCreateTime); - Page res = this.page(page.getPageSo().toPage(), query); - return res; + task.setStatus(1); + return this.updateById(task); } } diff --git a/src/main/java/com/gunshi/project/xyt/service/TermiteAdverPicService.java b/src/main/java/com/gunshi/project/xyt/service/TermiteAdverPicService.java new file mode 100644 index 0000000..2421797 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/service/TermiteAdverPicService.java @@ -0,0 +1,65 @@ +package com.gunshi.project.xyt.service; + +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.xyt.mapper.TermiteAdverPicMapper; +import com.gunshi.project.xyt.model.FileAssociations; +import com.gunshi.project.xyt.model.TermiteAdverPic; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.io.Serializable; +import java.util.*; + +/** + * 描述: 白蚁防治宣传图片墙 + * author: xusan + * date: 2024-08-29 17:33:09 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class TermiteAdverPicService extends ServiceImpl +{ + + @Autowired + private FileAssociationsService fileService; + + public TermiteAdverPic saveData(TermiteAdverPic dto) { + dto.setId(IdWorker.getId()); + dto.setCreateTime(new Date()); + boolean result = this.save(dto); + if (result) { + fileService.saveFile(Arrays.asList(dto.getPic()), getGroupId(), String.valueOf(dto.getId())); + } + return dto; + } + + public String getGroupId() { + return "termiteAdverPic"; + } + + public Boolean delData(Serializable id) { + if (Objects.isNull(this.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean data = this.removeById(id); + if (data) { + fileService.deleteFile(getGroupId(), id.toString()); + } + return data; + } + + public List queryList() { + List list = new ArrayList<>(); + for(TermiteAdverPic pic : list){ + List files = fileService.getFiles(getGroupId(), pic.getId().toString()); + pic.setPic(files.get(0)); + } + return list; + } +} + + diff --git a/src/main/java/com/gunshi/project/xyt/service/TermiteSurveyService.java b/src/main/java/com/gunshi/project/xyt/service/TermiteSurveyService.java index 65e24be..c03cadb 100644 --- a/src/main/java/com/gunshi/project/xyt/service/TermiteSurveyService.java +++ b/src/main/java/com/gunshi/project/xyt/service/TermiteSurveyService.java @@ -66,6 +66,8 @@ public class TermiteSurveyService extends ServiceImpl pageQuery(TermiteSurveyPageSo page) { + System.out.println(page.getIsHarm() == null); + System.out.println(page.getIsHarm() != null); return this.baseMapper.pageQuery(page.getPageSo().toPage(),page); } }