From dd417d17630a88cf061495b02e34a769eba57d34 Mon Sep 17 00:00:00 2001 From: hxh Date: Mon, 15 Jul 2024 10:41:49 +0800 Subject: [PATCH 01/12] =?UTF-8?q?feat:=20=E6=B0=B4=E9=97=B8=E5=B7=A1?= =?UTF-8?q?=E8=A7=86=E6=A3=80=E6=9F=A5=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kms/yg/sz/mapper/BsSgcSzFzrMapper.java | 15 + .../yg/sz/mapper/BsSgcSzSafeJbxxMapper.java | 41 +++ .../java/com/kms/yxgh/common/dto/DocDto.java | 4 + .../controller/DfCheckingLineController.java | 2 +- .../df/controller/DfRecordController.java | 2 +- .../yxgh/df/dto/DfCheckingLineExportDto.java | 6 +- .../yxgh/df/dto/DfRecordDetailExportDto.java | 4 +- .../DfSuperviseWayProjectItemMapper.java | 2 +- .../kms/yxgh/df/service/DfPlanService.java | 1 - .../df/service/DfSuperviseTaskService.java | 2 +- .../controller/SzCheckingLineController.java | 93 ++++++ .../yxgh/sz/controller/SzPlanController.java | 49 ++-- .../sz/controller/SzProjectController.java | 6 + .../sz/controller/SzRecordController.java | 110 ++++--- .../kms/yxgh/sz/domain/SzCheckingLine.java | 66 +++++ .../yxgh/sz/domain/SzCheckingPlanContent.java | 61 ++++ .../java/com/kms/yxgh/sz/domain/SzPlan.java | 24 ++ .../kms/yxgh/sz/domain/SzPlanOperator.java | 44 ++- .../java/com/kms/yxgh/sz/domain/SzRecord.java | 69 +++-- .../com/kms/yxgh/sz/domain/SzRecordItem.java | 107 ++++--- .../kms/yxgh/sz/dto/SzCheckingLineDto.java | 102 +++++++ .../yxgh/sz/dto/SzCheckingLineExportDto.java | 36 +++ .../sz/dto/SzCheckingLineProjectListDto.java | 28 ++ .../yxgh/sz/dto/SzCheckingLineSearchDto.java | 36 +++ .../yxgh/sz/dto/SzCheckingPlanContentDto.java | 78 +++++ .../com/kms/yxgh/sz/dto/SzPlanDetailDto.java | 33 ++- .../com/kms/yxgh/sz/dto/SzPlanSearchDto.java | 29 ++ .../com/kms/yxgh/sz/dto/SzPlanSimpleDto.java | 38 ++- .../kms/yxgh/sz/dto/SzRecordDetailDto.java | 116 +++++++- .../yxgh/sz/dto/SzRecordDetailExportDto.java | 78 +++++ .../kms/yxgh/sz/dto/SzRecordSearchDto.java | 42 +-- .../kms/yxgh/sz/dto/SzRecordSimpleDto.java | 96 +++++++ .../kms/yxgh/sz/dto/SzSubPlanSearchDto.java | 34 +++ .../kms/yxgh/sz/dto/SzSubPlanSimpleDto.java | 77 +++++ .../yxgh/sz/mapper/SzCheckingLineMapper.java | 68 +++++ .../mapper/SzCheckingPlanContentMapper.java | 30 ++ .../com/kms/yxgh/sz/mapper/SzPlanMapper.java | 109 ++++++- .../yxgh/sz/mapper/SzPlanOperatorMapper.java | 8 +- .../sz/service/SzCheckingLineService.java | 148 ++++++++++ .../service/SzCheckingPlanContentService.java | 13 + .../kms/yxgh/sz/service/SzPlanService.java | 236 +++++++++------ .../kms/yxgh/sz/service/SzProjectService.java | 11 + .../kms/yxgh/sz/service/SzRecordService.java | 271 ++++++++++-------- .../sz/service/SzSuperviseTaskService.java | 2 +- 44 files changed, 2005 insertions(+), 422 deletions(-) create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/controller/SzCheckingLineController.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzCheckingLine.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzCheckingPlanContent.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzCheckingLineDto.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzCheckingLineExportDto.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzCheckingLineProjectListDto.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzCheckingLineSearchDto.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzCheckingPlanContentDto.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzPlanSearchDto.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzRecordDetailExportDto.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzRecordSimpleDto.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzSubPlanSearchDto.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzSubPlanSimpleDto.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzCheckingLineMapper.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzCheckingPlanContentMapper.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/service/SzCheckingLineService.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/sz/service/SzCheckingPlanContentService.java diff --git a/shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzFzrMapper.java b/shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzFzrMapper.java index f7ca6faa..5b4091b8 100644 --- a/shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzFzrMapper.java +++ b/shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzFzrMapper.java @@ -2,7 +2,9 @@ package com.kms.yg.sz.mapper; import com.kms.yg.sz.domain.BsSgcSzFzr; import com.kms.yg.sz.domain.dto.PieDto; +import com.kms.yxgh.common.dto.DutyHolderDto; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import org.springframework.stereotype.Repository; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -17,6 +19,19 @@ import java.util.List; */ @Repository public interface BsSgcSzFzrMapper extends BaseMapper { + @Select({ + "" + }) + List getByWagaCode(@Param("wagaCode") String wagaCode); List getList(@Param("id") String id, @Param("wagaCode") String wagaCode, diff --git a/shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzSafeJbxxMapper.java b/shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzSafeJbxxMapper.java index c09e0156..a5ee96c9 100644 --- a/shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzSafeJbxxMapper.java +++ b/shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzSafeJbxxMapper.java @@ -22,6 +22,9 @@ import java.util.List; @Repository public interface BsSgcSzSafeJbxxMapper extends BaseMapper { + @Select("SELECT * FROM att_waga_base WHERE waga_code = #{wagaCode} AND expr_date IS NULL") + BsSgcSzSafeJbxx getByWagaCode(@Param("wagaCode") String wagaCode); + List getPie(@Param("layer") Integer layer, @Param("adcd") String adcd); @@ -117,4 +120,42 @@ public interface BsSgcSzSafeJbxxMapper extends BaseMapper { }) IPage getSzYqProjectStatisticsWithPage(Page page, @Param("szProject") SzYqStatisticsProjectQueDto szProject); + + @Select({ + "" + }) + @Results(value = { + @Result(property = "wagaCode", column = "waga_code"), + @Result(property = "dutyHolders", column = "waga_code", + javaType = List.class, + many = @Many(select = "com.kms.yg.df.mapper.BsSgcSzFzrMapper.getByWagaCode")) + }) + IPage getSzCheckingLineProjectListWithPage(Page page, @Param("dto") SzCheckingLineSearchDto dto); + + } diff --git a/shuili-system/src/main/java/com/kms/yxgh/common/dto/DocDto.java b/shuili-system/src/main/java/com/kms/yxgh/common/dto/DocDto.java index 937532ab..b1935bfb 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/common/dto/DocDto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/common/dto/DocDto.java @@ -1,11 +1,15 @@ package com.kms.yxgh.common.dto; import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; import java.util.List; @Data +@AllArgsConstructor +@NoArgsConstructor public class DocDto { @ApiModelProperty(value = "图片") private List images; diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/controller/DfCheckingLineController.java b/shuili-system/src/main/java/com/kms/yxgh/df/controller/DfCheckingLineController.java index 515b4552..7d9db7f0 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/controller/DfCheckingLineController.java +++ b/shuili-system/src/main/java/com/kms/yxgh/df/controller/DfCheckingLineController.java @@ -83,7 +83,7 @@ public class DfCheckingLineController { return Response.ok(dfCheckingLineService.deleteById(ids)); } - @Log(title = "提防巡视路线导出", businessType = BusinessType.EXPORT) + @Log(title = "堤防巡视路线导出", businessType = BusinessType.EXPORT) @PostMapping("/export") @ApiOperation("内容记录导出") public AjaxResult export(@RequestBody DfCheckingLineSearchDto searchDto) { diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/controller/DfRecordController.java b/shuili-system/src/main/java/com/kms/yxgh/df/controller/DfRecordController.java index 185e7dc0..4c07935f 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/controller/DfRecordController.java +++ b/shuili-system/src/main/java/com/kms/yxgh/df/controller/DfRecordController.java @@ -91,7 +91,7 @@ public class DfRecordController { return Response.ok(dfRecordService.deleteById(ids)); } - @Log(title = "提防巡视路线导出", businessType = BusinessType.EXPORT) + @Log(title = "堤防巡视路线导出", businessType = BusinessType.EXPORT) @PostMapping("/export") @ApiOperation("内容记录导出") public AjaxResult export(@RequestBody DfRecordSearchDto searchDto) { diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfCheckingLineExportDto.java b/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfCheckingLineExportDto.java index ba161d45..1dab99ca 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfCheckingLineExportDto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfCheckingLineExportDto.java @@ -11,13 +11,13 @@ import java.util.Date; @ApiModel("堤防巡视检查路线导出") public class DfCheckingLineExportDto { - @Excel(name = "提防编码", sort = 3) + @Excel(name = "堤防编码", sort = 3) @ApiModelProperty("堤防代码") private String dikeCode; - @Excel(name = "提防名称", sort = 1) + @Excel(name = "堤防名称", sort = 1) @ApiModelProperty("堤防名称") private String dikeName; - @Excel(name = "提防类型", dictType = "embankment_type", sort = 2) + @Excel(name = "堤防类型", dictType = "embankment_type", sort = 2) @ApiModelProperty("堤防类型") private String dikeType; @Excel(name = "巡查路线名称", sort = 4) diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfRecordDetailExportDto.java b/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfRecordDetailExportDto.java index c84ca78b..b74b52b7 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfRecordDetailExportDto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfRecordDetailExportDto.java @@ -21,11 +21,11 @@ import java.util.Date; public class DfRecordDetailExportDto { - @Excel(name = "提防名称", sort = 1) + @Excel(name = "堤防名称", sort = 1) @ApiModelProperty("堤防名称") private String dikeName; - @Excel(name = "提防类型", dictType = "embankment_type", sort = 2) + @Excel(name = "堤防类型", dictType = "embankment_type", sort = 2) @ApiModelProperty("堤防类型") private String dikeType; diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfSuperviseWayProjectItemMapper.java b/shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfSuperviseWayProjectItemMapper.java index 6eec7864..a9bff623 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfSuperviseWayProjectItemMapper.java +++ b/shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfSuperviseWayProjectItemMapper.java @@ -10,7 +10,7 @@ import org.springframework.stereotype.Repository; import java.util.List; /** - * 提防监督检查项目内容Mapper接口 + * 堤防监督检查项目内容Mapper接口 * * @author hry * @date 2024/2/29 14:44 diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/service/DfPlanService.java b/shuili-system/src/main/java/com/kms/yxgh/df/service/DfPlanService.java index b10e6af8..a3c288a1 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/service/DfPlanService.java +++ b/shuili-system/src/main/java/com/kms/yxgh/df/service/DfPlanService.java @@ -21,7 +21,6 @@ import com.shuili.common.core.service.BaseService; import com.shuili.common.utils.StringUtils; import lombok.AllArgsConstructor; import org.apache.commons.collections4.CollectionUtils; -import org.springframework.data.util.Optionals; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/service/DfSuperviseTaskService.java b/shuili-system/src/main/java/com/kms/yxgh/df/service/DfSuperviseTaskService.java index f4ed6f63..75da830d 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/service/DfSuperviseTaskService.java +++ b/shuili-system/src/main/java/com/kms/yxgh/df/service/DfSuperviseTaskService.java @@ -42,7 +42,7 @@ public class DfSuperviseTaskService extends BaseService list(@RequestBody SearchParam sp) { + return dfCheckingLineService.search(sp); + } + + + /** + * 获取水闸巡视检查路线详细信息 + */ + @ApiOperation("水闸巡视检查路线详情") + @GetMapping(value = "/{id}") + public Response getInfo(@PathVariable("id") String id) { + return Response.ok(dfCheckingLineService.getDetailById(id)); + } + + /** + * 新增水闸巡视检查路线 + */ + @Log(title = "水闸巡视检查路线新增", businessType = BusinessType.INSERT) + @PostMapping + @ApiOperation("水闸巡视检查路线新增") + public Response add(@Validated(AddGroup.class) + @RequestBody SzCheckingLineDto dfCheckingLineDto) { + return Response.ok(dfCheckingLineService.add(dfCheckingLineDto)); + } + + /** + * 修改水闸巡视检查路线 + */ + @ApiOperation("水闸巡视检查路线修改") + @Log(title = "水闸巡视检查路线修改", businessType = BusinessType.UPDATE) + @PutMapping + public Response edit(@Validated(UpdateGroup.class) + @RequestBody SzCheckingLineDto dfCheckingLineDto) { + return Response.ok(dfCheckingLineService.update(dfCheckingLineDto)); + } + + /** + * 删除水闸巡视检查路线 + */ + @ApiOperation("水闸巡视检查路线删除") + @Log(title = "水闸巡视检查路线删除", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public Response remove(@PathVariable("ids") String[] ids) { + return Response.ok(dfCheckingLineService.deleteById(ids)); + } + + @Log(title = "堤防巡视路线导出", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ApiOperation("内容记录导出") + public AjaxResult export(@RequestBody SzCheckingLineSearchDto searchDto) { + return dfCheckingLineService.export(searchDto.getIds()); + + } +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/controller/SzPlanController.java b/shuili-system/src/main/java/com/kms/yxgh/sz/controller/SzPlanController.java index 9279c010..f32511a1 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/controller/SzPlanController.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/controller/SzPlanController.java @@ -2,10 +2,7 @@ package com.kms.yxgh.sz.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.kms.yxgh.base.Response; -import com.kms.yxgh.sz.domain.SzPlan; -import com.kms.yxgh.sz.dto.SzPlanDetailDto; -import com.kms.yxgh.sz.dto.SzPlanSimpleDto; -import com.kms.yxgh.sz.dto.SzPointDto; +import com.kms.yxgh.sz.dto.*; import com.kms.yxgh.sz.service.SzPlanService; import com.shuili.common.annotation.Log; import com.shuili.common.core.domain.SearchParam; @@ -15,8 +12,6 @@ import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; -import java.util.List; - /** * 水闸巡视检查计划Controller @@ -37,15 +32,23 @@ public class SzPlanController { */ @PostMapping("/list") @ApiOperation("水闸巡视检查计划列表") - public IPage list(@RequestBody SearchParam sp) { + public IPage list(@RequestBody SearchParam sp) { return szPlanService.search(sp); } + /** + * 查询水闸巡视检查子计划列表 + */ + @PostMapping("/sub/list") + @ApiOperation("水闸巡视检查子计划列表") + public IPage subList(@RequestBody SearchParam sp) { + return szPlanService.searchSub(sp); + } /** * 获取水闸巡视检查计划详细信息 */ - @ApiOperation(" 水闸巡视检查计划详情") + @ApiOperation("水闸巡视检查计划详情") @GetMapping(value = "/{id}") public Response getInfo(@PathVariable("id") String id) { return Response.ok(szPlanService.getDetailById(id)); @@ -57,8 +60,8 @@ public class SzPlanController { @Log(title = "水闸巡视检查计划新增", businessType = BusinessType.INSERT) @PostMapping @ApiOperation("水闸巡视检查计划新增") - public Response add(@RequestBody SzPlanDetailDto SzPlan) { - return Response.ok(szPlanService.add(SzPlan)); + public Response add(@RequestBody SzPlanDetailDto szPlan) { + return Response.ok(szPlanService.add(szPlan)); } /** @@ -67,8 +70,8 @@ public class SzPlanController { @ApiOperation("水闸巡视检查计划修改") @Log(title = "水闸巡视检查计划修改", businessType = BusinessType.UPDATE) @PutMapping - public Response edit(@RequestBody SzPlanDetailDto SzPlan) { - return Response.ok(szPlanService.update(SzPlan)); + public Response edit(@RequestBody SzPlanDetailDto szPlan) { + return Response.ok(szPlanService.update(szPlan)); } /** @@ -76,29 +79,15 @@ public class SzPlanController { */ @ApiOperation("水闸巡视检查计划删除") @Log(title = "水闸巡视检查计划删除", businessType = BusinessType.DELETE) - @DeleteMapping("/{id}") - public Response remove(@PathVariable String id) { - return Response.ok(szPlanService.deleteById(id)); + @DeleteMapping("/{ids}") + public Response remove(@PathVariable("ids") String[] ids) { + return Response.ok(szPlanService.deleteById(ids)); } - @ApiOperation("水闸巡视检查计划巡查点设置") - @Log(title = "水闸巡视检查计划巡查点设置", businessType = BusinessType.UPDATE) - @PostMapping("/points/{id}") - public Response addPoints(@PathVariable("id") String id, - @RequestBody List points) { - return Response.ok(szPlanService.addPoints(id, points)); - } - - - @ApiOperation("水闸巡视检查计划巡查点位数据") - @Log(title = "水闸巡视检查计划巡查点位数据", businessType = BusinessType.SEARCH) - @GetMapping("/points/{id}") - public Response> addPoints(@PathVariable("id") String id) { - return Response.ok(szPlanService.getPoints(id)); - } //当天已巡查 @ApiOperation("水闸巡视检查计划当天已巡查") + @Log(title = "水闸巡视检查计划当天已巡查", businessType = BusinessType.SEARCH) @GetMapping("/today/{id}") public Response today(@PathVariable("id") String id) { return Response.ok(szPlanService.today(id)); diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/controller/SzProjectController.java b/shuili-system/src/main/java/com/kms/yxgh/sz/controller/SzProjectController.java index 1ec1c352..bf19ac5a 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/controller/SzProjectController.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/controller/SzProjectController.java @@ -3,6 +3,7 @@ package com.kms.yxgh.sz.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.kms.yg.sz.domain.BsSgcSzSafeJbxx; import com.kms.yxgh.base.Response; +import com.kms.yxgh.df.dto.DfCheckingLineProjectListDto; import com.kms.yxgh.sz.dto.*; import com.kms.yxgh.sz.service.SzProjectService; import com.shuili.common.core.domain.SearchParam; @@ -65,4 +66,9 @@ public class SzProjectController { return Response.ok(szProjectService.getRelChecking(wagaCode)); } + @PostMapping("/checking-line") + @ApiOperation("检查项线路") + public IPage checkingLine(@RequestBody SearchParam sp) { + return szProjectService.checkingLine(sp); + } } diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/controller/SzRecordController.java b/shuili-system/src/main/java/com/kms/yxgh/sz/controller/SzRecordController.java index a9d9cc58..8f52e993 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/controller/SzRecordController.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/controller/SzRecordController.java @@ -1,18 +1,21 @@ package com.kms.yxgh.sz.controller; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.kms.yxgh.base.AddGroup; import com.kms.yxgh.base.Response; -import com.kms.yxgh.sz.domain.SzRecord; -import com.kms.yxgh.sz.dto.StartPlan; +import com.kms.yxgh.base.UpdateGroup; import com.kms.yxgh.sz.dto.SzRecordDetailDto; import com.kms.yxgh.sz.dto.SzRecordSearchDto; +import com.kms.yxgh.sz.dto.SzRecordSimpleDto; import com.kms.yxgh.sz.service.SzRecordService; import com.shuili.common.annotation.Log; +import com.shuili.common.core.domain.AjaxResult; import com.shuili.common.core.domain.SearchParam; import com.shuili.common.enums.BusinessType; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -28,55 +31,70 @@ import org.springframework.web.bind.annotation.*; @Api(tags = "水闸巡视检查记录") public class SzRecordController { - private final SzRecordService szRecordService; + private final SzRecordService szRecordService; - /** - * 查询水闸巡视检查记录列表 - */ - @PostMapping("/list") - @ApiOperation("水闸巡视检查记录列表") - public IPage list(@RequestBody SearchParam sp) { - return szRecordService.search(sp); - } + /** + * 查询水闸巡视检查记录列表 + */ + @PostMapping("/list") + @ApiOperation("水闸巡视检查记录列表") + public IPage list(@RequestBody SearchParam sp) { + return szRecordService.search(sp); + } - /** - * 获取水闸巡视检查记录详细信息 - */ - @ApiOperation(" 水闸巡视检查记录详情") - @GetMapping(value = "/{id}") - public Response getInfo(@PathVariable("id") String id) { - return Response.ok(szRecordService.getDetailById(id)); - } + /** + * 获取水闸巡视检查记录详细信息 + */ + @ApiOperation("水闸巡视检查记录详情") + @GetMapping(value = "/{id}") + public Response getInfo(@PathVariable("id") String id) { + return Response.ok(szRecordService.getDetailById(id)); + } - /** - * 新增水闸巡视检查记录 - */ - @Log(title = "水闸巡视检查记录新增", businessType = BusinessType.INSERT) - @PostMapping - @ApiOperation("水闸巡视检查记录新增") - public Response add(@RequestBody StartPlan startPlan) { - return Response.ok(szRecordService.start(startPlan)); - } + /** + * 新增水闸巡视检查记录 + */ + @Log(title = "水闸巡视检查记录新增", businessType = BusinessType.INSERT) + @PostMapping + @ApiOperation("水闸巡视检查记录新增") + public Response add(@Validated(AddGroup.class) + @RequestBody SzRecordDetailDto dto) { + return Response.ok(szRecordService.add(dto)); + } - /** - * 修改水闸巡视检查记录 - */ - @ApiOperation("水闸巡视检查记录修改") - @Log(title = "水闸巡视检查记录修改", businessType = BusinessType.UPDATE) - @PutMapping - public Response edit(@RequestBody SzRecordDetailDto SzRecord) { - return Response.ok(szRecordService.update(SzRecord)); - } + /** + * 修改水闸巡视检查记录 + */ + @ApiOperation("水闸巡视检查记录修改") + @Log(title = "水闸巡视检查记录修改", businessType = BusinessType.UPDATE) + @PutMapping + public Response edit(@Validated(UpdateGroup.class) + @RequestBody SzRecordDetailDto szRecord) { + return Response.ok(szRecordService.update(szRecord)); + } - /** - * 删除水闸巡视检查记录 - */ - @ApiOperation("水闸巡视检查记录删除") - @Log(title = "水闸巡视检查记录删除", businessType = BusinessType.DELETE) - @DeleteMapping("/{id}") - public Response remove(@PathVariable String id) { - return Response.ok(szRecordService.deleteById(id)); - } + @ApiOperation("水闸巡视检查记录结束巡查") + @Log(title = "水闸巡视检查记录结束巡查", businessType = BusinessType.UPDATE) + @PutMapping("/finish/{id}") + public Response finish(@PathVariable("id") String id) { + return Response.ok(szRecordService.finish(id)); + } + /** + * 删除水闸巡视检查记录 + */ + @ApiOperation("水闸巡视检查记录删除") + @Log(title = "水闸巡视检查记录删除", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public Response remove(@PathVariable("ids") String[] ids) { + return Response.ok(szRecordService.deleteById(ids)); + } + + @Log(title = "堤防巡视路线导出", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ApiOperation("内容记录导出") + public AjaxResult export(@RequestBody SzRecordSearchDto searchDto) { + return szRecordService.export(searchDto.getIds()); + } } diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzCheckingLine.java b/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzCheckingLine.java new file mode 100644 index 00000000..fb937159 --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzCheckingLine.java @@ -0,0 +1,66 @@ +package com.kms.yxgh.sz.domain; + + +import com.baomidou.mybatisplus.annotation.TableName; +import com.kms.yxgh.base.SyBaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 水闸巡视检查路线表 bs_sgc_sz_xslx + * + * @author sy + * @date 2024-01-04 + */ +@TableName("bs_sgc_sz_xslx") +@Data +@ApiModel("水闸巡视检查路线表") +public class SzCheckingLine extends SyBaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * 水闸代码 + */ + @ApiModelProperty("水闸代码") + private String wagaCode; + + /** + * 巡查名称 + */ + @ApiModelProperty("巡查名称") + private String name; + + /** + * 巡查路线类型 + */ + @ApiModelProperty("巡查路线类型") + private String type; + + /** + * 巡查责任人类型 + */ + @ApiModelProperty("巡查责任人类型") + private String dutyHolderType; + + /** + * 巡查ID + */ + @ApiModelProperty("巡查ID") + private String xcId; + + /** + * 巡查路线点位 + */ + @ApiModelProperty("巡查路线点位") + private String points; + + /** + * 状态 + */ + @ApiModelProperty("状态") + private String status = "0"; + + +} \ No newline at end of file diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzCheckingPlanContent.java b/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzCheckingPlanContent.java new file mode 100644 index 00000000..1f5fb802 --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzCheckingPlanContent.java @@ -0,0 +1,61 @@ +package com.kms.yxgh.sz.domain; + + +import com.baomidou.mybatisplus.annotation.TableName; +import com.kms.yxgh.base.SyBaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * 水闸巡视检查计划详情表 bs_sgc_sz_xsjhxq + * + * @author sy + * @date 2024-01-04 + */ +@TableName("bs_sgc_sz_xsjhxq") +@Data +@ApiModel("水闸巡视检查计划详情表") +public class SzCheckingPlanContent extends SyBaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("计划ID") + private String planId; + + /** + * 巡查路线ID + */ + @ApiModelProperty("巡查路线ID") + private String lineId; + + @ApiModelProperty("名称") + private String name; + + /** + * 计划开始时间 + */ + @ApiModelProperty("计划开始时间") + private Date startDate; + + /** + * 计划结束时间 + */ + @ApiModelProperty("计划结束时间") + private Date endDate; + + /** + * 巡查范围 + */ + @ApiModelProperty("巡查范围") + private String scope; + + + /** + * 状态 + */ + @ApiModelProperty("状态") + private String status; +} \ No newline at end of file diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzPlan.java b/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzPlan.java index 91111d16..d7140d46 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzPlan.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzPlan.java @@ -34,6 +34,12 @@ public class SzPlan extends SyBaseEntity { @ApiModelProperty("水闸编码") private String wagaCode; + @ApiModelProperty("水闸名称") + private String wagaName; + + @ApiModelProperty("水闸类型") + private String wagaType; + /** * 名称 */ @@ -68,6 +74,12 @@ public class SzPlan extends SyBaseEntity { @ApiModelProperty("是否提醒") private Boolean isReminder; + /** + * 状态 + */ + @ApiModelProperty("状态") + private String status; + /** * 提醒时间 */ @@ -85,4 +97,16 @@ public class SzPlan extends SyBaseEntity { private String files; + /** + * 计划开始时间 + */ + @ApiModelProperty("计划开始时间") + private Date startDate; + + /** + * 计划结束时间 + */ + @ApiModelProperty("计划结束时间") + private Date endDate; + } diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzPlanOperator.java b/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzPlanOperator.java index ee3a3198..ec66e9e3 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzPlanOperator.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzPlanOperator.java @@ -2,7 +2,6 @@ package com.kms.yxgh.sz.domain; import com.baomidou.mybatisplus.annotation.TableName; import com.kms.yxgh.base.SyBaseEntity; -import com.shuili.common.annotation.Excel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -19,28 +18,27 @@ import lombok.Data; @ApiModel("水闸巡视检查计划执行人") public class SzPlanOperator extends SyBaseEntity { - private static final long serialVersionUID = 1L; - - /** - * 巡查计划ID - */ - @Excel(name = "巡查计划ID") - @ApiModelProperty("巡查计划ID") - private String planId; - - /** - * 执行人 - */ - @Excel(name = "执行人") - @ApiModelProperty("执行人") - private String operatorUid; - - /** - * 执行人 - */ - @Excel(name = "执行人名称") - @ApiModelProperty("执行人名称") - private String operatorName; + private static final long serialVersionUID = 1L; + /** + * 巡查计划ID + */ + @ApiModelProperty("巡查计划ID") + private String planId; + + + private String subPlanId; + + /** + * 执行人 + */ + @ApiModelProperty("执行人") + private String operatorUid; + + /** + * 执行人 + */ + @ApiModelProperty("执行人名称") + private String operatorName; } diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzRecord.java b/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzRecord.java index b6aee701..cf392c85 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzRecord.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzRecord.java @@ -2,11 +2,12 @@ package com.kms.yxgh.sz.domain; import com.baomidou.mybatisplus.annotation.TableName; import com.kms.yxgh.base.SyBaseEntity; -import com.shuili.common.annotation.Excel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.Date; + /** * 水闸巡视检查记录对象 bs_sgc_sz_xsjhjl @@ -21,29 +22,65 @@ public class SzRecord extends SyBaseEntity { private static final long serialVersionUID = 1L; - /** - * 巡查计划ID - */ - @Excel(name = "巡查计划ID") + private String name; @ApiModelProperty("巡查计划ID") private String planId; - @ApiModelProperty("水闸编码") + @ApiModelProperty("水闸代码") private String wagaCode; - /** - * 巡查记录名称 - */ - @Excel(name = "巡查记录名称") - @ApiModelProperty("巡查记录名称") - private String name; + @ApiModelProperty("水闸名称") + private String wagaName; + + @ApiModelProperty("水闸类型") + private String wagaType; - /** - * 状态 - */ - @Excel(name = "状态") @ApiModelProperty("状态") private String status; + @ApiModelProperty("处置状态") + private String handleStatus; + + @ApiModelProperty("计划名称") + private String planName; + + @ApiModelProperty("子计划ID") + private String subPlanId; + + @ApiModelProperty("子计划名称") + private String subPlanName; + + @ApiModelProperty("子项开始时间") + private Date subPlanStartDate; + + @ApiModelProperty("子项结束时间") + private Date subPlanEndDate; + + @ApiModelProperty("巡查路线ID") + private String lineId; + + @ApiModelProperty("路线名称") + private String lineName; + + @ApiModelProperty("路线类型") + private String lineType; + + @ApiModelProperty("巡查责任人类型") + private String dutyHolderType; + + @ApiModelProperty("记录开始时间") + private Date startDate; + + @ApiModelProperty("记录结束时间") + private Date endDate; + + @ApiModelProperty("巡查范围") + private String scope; + + @ApiModelProperty("剩余巡查项") + private Long remaining; + public String getName() { + return this.lineName; + } } diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzRecordItem.java b/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzRecordItem.java index 0647384f..fc4f11bd 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzRecordItem.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzRecordItem.java @@ -1,11 +1,18 @@ package com.kms.yxgh.sz.domain; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.annotation.TableName; import com.kms.yxgh.base.SyBaseEntity; +import com.kms.yxgh.df.dto.VoiceDto; import com.shuili.common.annotation.Excel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; +import java.util.List; /** @@ -19,41 +26,69 @@ import lombok.Data; @ApiModel("水闸巡视检查检查记录子项") public class SzRecordItem extends SyBaseEntity { - private static final long serialVersionUID = 1L; - - /** - * 巡查记录ID - */ - @Excel(name = "巡查记录ID") - @ApiModelProperty("巡查记录ID") - private String recordId; - - /** - * 检查部位 - */ - @Excel(name = "检查部位") - @ApiModelProperty("检查部位") - private String parts; - - /** - * 检查内容 - */ - @Excel(name = "检查内容") - @ApiModelProperty("检查内容") - private String content; - - /** - * 状态 - */ - @Excel(name = "状态") - @ApiModelProperty("状态") - private String status; - - /** - * 存在问题 - */ - @Excel(name = "存在问题") - @ApiModelProperty("存在问题") - private String problem; + private static final long serialVersionUID = 1L; + + /** + * 巡查记录ID + */ + @Excel(name = "巡查记录ID") + @ApiModelProperty("巡查记录ID") + private String recordId; + + /** + * 检查部位 + */ + @Excel(name = "检查部位") + @ApiModelProperty("检查部位") + private String parts; + + /** + * 检查内容 + */ + @Excel(name = "检查内容") + @ApiModelProperty("检查内容") + private String content; + + /** + * 状态 + */ + @Excel(name = "状态") + @ApiModelProperty("状态") + private String status; + + /** + * 存在问题 + */ + @Excel(name = "存在问题") + @ApiModelProperty("存在问题") + private String problem; + + @ApiModelProperty("文件档案") + private String doc; + + @ApiModelProperty("处置内容") + private String handleContent; + + @ApiModelProperty("处置时间") + private Date handleTime; + + + @Data + @AllArgsConstructor + @NoArgsConstructor + public static class Doc { + private List problemImages; + private List handleImages; + private List problemVoices; + + } + + + public void setDoc(List problemImages, List handleImages, List problemVoices) { + this.doc = JSON.toJSONString(new Doc(problemImages, handleImages, problemVoices)); + } + public Doc getDocObj() { + return JSON.parseObject(doc, Doc.class); + } } diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzCheckingLineDto.java b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzCheckingLineDto.java new file mode 100644 index 00000000..1b14d995 --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzCheckingLineDto.java @@ -0,0 +1,102 @@ +package com.kms.yxgh.sz.dto; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.kms.yxgh.base.AddGroup; +import com.kms.yxgh.base.UpdateGroup; +import com.kms.yxgh.common.dto.DutyHolderDto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Size; +import java.util.Date; +import java.util.List; + +/** + * 水闸巡视检查路线详情 + * + * @author sy + * @date 2024-01-04 + */ +@Data +@ApiModel("水闸巡视检查路线表") +public class SzCheckingLineDto { + + @NotBlank(message = "水闸巡视检查路线表ID不能为空", groups = {UpdateGroup.class}) + @ApiModelProperty("水闸巡视检查路线表ID") + private String id; + + @ApiModelProperty("水闸ID") + private String wagaId; + + /** + * 水闸代码 + */ + @NotBlank(message = "水闸代码不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @ApiModelProperty("水闸代码") + private String wagaCode; + + @ApiModelProperty("水闸名称") + private String wagaName; + + @ApiModelProperty("水闸类型") + private String wagaType; + + @ApiModelProperty("责任人列表") + private List dutyHolders; + + /** + * 巡查名称 + */ + @NotBlank(message = "巡查名称不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @Size(max = 50, message = "巡查名称长度不能超过50个字符", groups = {AddGroup.class, UpdateGroup.class}) + @ApiModelProperty("巡查名称") + private String name; + + /** + * 巡查路线类型 + */ + @NotBlank(message = "巡查路线类型不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @ApiModelProperty("巡查路线类型") + private String type; + + /** + * 巡查责任人类型 + */ + @NotBlank(message = "巡查责任人类型不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @ApiModelProperty("巡查责任人类型") + private String dutyHolderType; + + /** + * 巡查ID + */ + @NotBlank(message = "巡查ID不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @ApiModelProperty("巡查ID") + private String xcId; + + @ApiModelProperty("巡查详情") + private SzCheckingDetailDto checkingDetail; + + /** + * 巡查路线点位 + */ + @ApiModelProperty("巡查路线点位") + private String entries; + /** + * 状态 + */ + @NotBlank(message = "状态不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @ApiModelProperty("状态") + private String status; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty("创建时间") + private Date createTime; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty("更新时间") + private Date updateTime; + +} \ No newline at end of file diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzCheckingLineExportDto.java b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzCheckingLineExportDto.java new file mode 100644 index 00000000..6fd6bf14 --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzCheckingLineExportDto.java @@ -0,0 +1,36 @@ +package com.kms.yxgh.sz.dto; + +import com.shuili.common.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +@ApiModel("水闸巡视检查路线导出") +public class SzCheckingLineExportDto { + + @Excel(name = "水闸编码", sort = 3) + @ApiModelProperty("水闸代码") + private String wagaCode; + @Excel(name = "水闸名称", sort = 1) + @ApiModelProperty("水闸名称") + private String wagaName; + @Excel(name = "水闸类型", dictType = "embankment_type", sort = 2) + @ApiModelProperty("水闸类型") + private String wagaType; + @Excel(name = "巡查路线名称", sort = 4) + @ApiModelProperty("巡查名称") + private String name; + @Excel(name = "巡查类型", dictType = "xs_classfy", sort = 5) + @ApiModelProperty("巡查路线类型") + private String type; + @Excel(name = "巡查责任人类型", sort = 6, dictType = "person_type") + @ApiModelProperty("巡查责任人类型") + private String dutyHolderType; + @Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 7) + @ApiModelProperty("创建时间") + private Date createTime; + +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzCheckingLineProjectListDto.java b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzCheckingLineProjectListDto.java new file mode 100644 index 00000000..b88a67b1 --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzCheckingLineProjectListDto.java @@ -0,0 +1,28 @@ +package com.kms.yxgh.sz.dto; + +import com.kms.yxgh.common.dto.DutyHolderDto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + + +/** + * SzCheckingLineProjectListDto类是一个数据传输对象,用于表示水闸项目列表的信息。 + * 包含水闸编号、水闸名称、工程管理单位、水务行政部门和最后巡查时间等属性。 + */ +@Data +public class SzCheckingLineProjectListDto { + @ApiModelProperty(value = "水闸ID") + private String wagaId; + @ApiModelProperty(value = "水闸编号") + private String wagaCode; + @ApiModelProperty(value = "水闸名称") + private String wagaName; + @ApiModelProperty(value = "水闸类型") + private String wagaType; + + @ApiModelProperty("责任人列表") + private List dutyHolders; + +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzCheckingLineSearchDto.java b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzCheckingLineSearchDto.java new file mode 100644 index 00000000..761826e0 --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzCheckingLineSearchDto.java @@ -0,0 +1,36 @@ +package com.kms.yxgh.sz.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@ApiModel("水闸巡视检查路线查询") +public class SzCheckingLineSearchDto { + + @ApiModelProperty("水闸编码") + private String wagaCode; + + @ApiModelProperty("水闸名称") + private String wagaName; + + @ApiModelProperty("巡查路线名称") + private String lineName; + + @ApiModelProperty("水闸类型") + private String wagaType; + + @ApiModelProperty("行政区划") + private String adcd; + + @ApiModelProperty("巡查路线类型") + private String type; + + @ApiModelProperty("巡查责任人类型") + private String dutyHolderType; + + @ApiModelProperty("路线ids") + private List ids; +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzCheckingPlanContentDto.java b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzCheckingPlanContentDto.java new file mode 100644 index 00000000..758a5fa6 --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzCheckingPlanContentDto.java @@ -0,0 +1,78 @@ +package com.kms.yxgh.sz.dto; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.kms.yxgh.common.dto.OperatorDto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * 水闸巡视检查计划内容 bs_sgc_sz_xsjhxq + * + * @author sy + * @date 2024-01-04 + */ +@Data +@ApiModel("水闸巡视检查计划内容") +public class SzCheckingPlanContentDto { + + @ApiModelProperty("主键") + private String id; + + @ApiModelProperty("名称") + private String name; + + @ApiModelProperty("计划ID") + private String planId; + + /** + * 巡查路线ID + */ + @ApiModelProperty("巡查路线ID") + private String lineId; + + @ApiModelProperty("巡查路线名称") + private String lineName; + + /** + * 计划开始时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("计划开始时间") + private Date startDate; + + /** + * 计划结束时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("计划结束时间") + private Date endDate; + + /** + * 巡查范围 + */ + @ApiModelProperty("巡查范围") + private String scope; + + /** + * 执行人 + */ + @ApiModelProperty("执行人") + private List operator; + + /** + * 状态 + */ + @ApiModelProperty("状态") + private String status; + + + @ApiModelProperty("备注") + private String remark; + + +} \ No newline at end of file diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzPlanDetailDto.java b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzPlanDetailDto.java index 39ad6995..c8db574d 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzPlanDetailDto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzPlanDetailDto.java @@ -2,11 +2,11 @@ package com.kms.yxgh.sz.dto; import com.alibaba.fastjson.JSONObject; import com.fasterxml.jackson.annotation.JsonFormat; -import com.kms.yxgh.common.dto.OperatorDto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.Size; import java.util.Collections; import java.util.Date; import java.util.List; @@ -28,6 +28,12 @@ public class SzPlanDetailDto { @ApiModelProperty("水闸编码") private String wagaCode; + @ApiModelProperty("水闸名称") + private String wagaName; + + @ApiModelProperty("水闸类型") + private String wagaType; + @ApiModelProperty("名称") private String name; @@ -50,12 +56,17 @@ public class SzPlanDetailDto { @ApiModelProperty("提醒时间") private Date reminderTime; - @ApiModelProperty("附加配置") - private JSONObject otherConfig; + @ApiModelProperty("计划可选配置") + private OptionConfig otherConfig; @ApiModelProperty("执行人") - private List operators; + private String status = "1"; + + @Size(max = 50, message = "执行计划内容最多50个") + @ApiModelProperty("执行计划内容") + private List contents; + @Size(max = 5, message = "检查依据文档最多5个") @ApiModelProperty("检查依据文档") private List files = Collections.emptyList(); @@ -65,5 +76,19 @@ public class SzPlanDetailDto { return cycleType; } + @Data + @ApiModel("计划可选配置") + public static class OptionConfig { + + //每月哪天提醒 + @ApiModelProperty("每月哪天提醒") + private List reminderDays; + //每周哪天提醒 + @ApiModelProperty("每周哪天提醒") + private List reminderWeeks; + + @ApiModelProperty("自定义可选配置") + private JSONObject options; + } } diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzPlanSearchDto.java b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzPlanSearchDto.java new file mode 100644 index 00000000..a609bb30 --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzPlanSearchDto.java @@ -0,0 +1,29 @@ +package com.kms.yxgh.sz.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +@Data +@ApiModel(value = "水闸巡视检查计划查询") +public class SzPlanSearchDto { + + @ApiModelProperty(value = "水闸编号") + private String wagaCode; + @ApiModelProperty(value = "名称") + private String name; + @ApiModelProperty(value = "状态") + private String status; + @ApiModelProperty(value = "记录状态") + private String recordStatus; + private String user; + @ApiModelProperty(value = "巡查人员id") + private List userIds; + @ApiModelProperty(value = "开始时间") + private Date startTime; + @ApiModelProperty(value = "结束时间") + private Date endTime; +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzPlanSimpleDto.java b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzPlanSimpleDto.java index 5a575a5f..294454f8 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzPlanSimpleDto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzPlanSimpleDto.java @@ -15,10 +15,16 @@ import java.util.Date; * @author: hxh * @version: 1.0 */ -@ApiModel(value = "水闸巡查计划简单信息") +@ApiModel(value = "巡查计划简单信息") @Data public class SzPlanSimpleDto { + @ApiModelProperty("水闸编码") + private String wagaCode; + @ApiModelProperty("水闸名称") + private String wagaName; + @ApiModelProperty("水闸类型") + private String wagaType; @ApiModelProperty("主键") private String id; @@ -26,14 +32,24 @@ public class SzPlanSimpleDto { @ApiModelProperty("名称") private String name; - @ApiModelProperty("巡查ID") - private String xcId; + @ApiModelProperty("巡查计划类型") + private String planType; + + @ApiModelProperty("巡查频次") + private String frequency; + + @ApiModelProperty("子项数量") + private Integer itemCount; + + @ApiModelProperty("状态") + private String status; + + @ApiModelProperty("记录状态") + private String recordStatus; + + @ApiModelProperty("记录id") + private String recordId; - @ApiModelProperty("巡查类型") - private String type; - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @ApiModelProperty("最后巡检时间") - private Date lastTime; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty("最近修改时间") private Date updateTime; @@ -41,4 +57,10 @@ public class SzPlanSimpleDto { @ApiModelProperty("创建时间") private Date createTime; + @ApiModelProperty("创建id") + private String createUid; + + @ApiModelProperty("创建名称") + private String createName; + } diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzRecordDetailDto.java b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzRecordDetailDto.java index 99b825bb..3c8f93ac 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzRecordDetailDto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzRecordDetailDto.java @@ -1,10 +1,17 @@ package com.kms.yxgh.sz.dto; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.kms.yxgh.base.AddGroup; +import com.kms.yxgh.base.UpdateGroup; +import com.kms.yxgh.df.dto.VoiceDto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; import java.util.Collections; +import java.util.Date; import java.util.List; /** @@ -19,27 +26,101 @@ import java.util.List; @ApiModel("水闸巡视检查记录详情") public class SzRecordDetailDto { + @NotBlank(message = "巡查记录ID不能为空", groups = {UpdateGroup.class}) @ApiModelProperty("巡查记录") private String id; + @NotBlank(message = "巡查计划ID不能为空", groups = {AddGroup.class, UpdateGroup.class}) @ApiModelProperty("巡查计划ID") private String planId; - @ApiModelProperty("水闸ID") + @NotBlank(message = "水闸编码不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @ApiModelProperty("水闸编码") private String wagaCode; - @ApiModelProperty("巡查记录名称") - private String name; + @NotBlank(message = "水闸名称不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @ApiModelProperty("水闸名称") + private String wagaName; + + @ApiModelProperty("水闸类型") + private String wagaType; @ApiModelProperty("状态") private String status; - @ApiModelProperty("巡查项") - private List items; + @ApiModelProperty("隐患状态") + private String handleStatus; + + @ApiModelProperty("计划名称") + private String planName; + + @NotBlank(message = "子计划ID不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @ApiModelProperty("子计划ID") + private String subPlanId; + + @ApiModelProperty("子计划名称") + private String subPlanName; + + @NotNull(message = "子项开始时间", groups = {AddGroup.class, UpdateGroup.class}) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty("子项开始时间") + private Date subPlanStartDate; + + @NotNull(message = "子项结束时间", groups = {AddGroup.class, UpdateGroup.class}) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty("子项结束时间") + private Date subPlanEndDate; + + @NotBlank(message = "巡查路线ID不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @ApiModelProperty("巡查路线ID") + private String lineId; + + @ApiModelProperty("路线名称") + private String lineName; + + @ApiModelProperty("巡查路线点位") + private String entries; + + @NotBlank(message = "路线类型不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @ApiModelProperty("路线类型") + private String lineType; + + @NotBlank(message = "巡查责任人类型不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @ApiModelProperty("巡查责任人类型") + private String dutyHolderType; + + @NotNull(message = "巡查开始时间不能为空", groups = {AddGroup.class, UpdateGroup.class}) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty("巡查开始时间") + private Date startDate; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty("巡查结束时间") + private Date endDate; + + @ApiModelProperty("巡查范围") + private String scope; + @ApiModelProperty("创建者") + private String createUid; + + @ApiModelProperty("创建者名称") + private String createName; + + @ApiModelProperty("所有巡查项目") + private Long allItem = 0L; + + private Long remaining = 0L; + + @ApiModelProperty("当前已巡查项") + public Long getCurrentItem() { + return allItem - remaining; + } + + + @ApiModelProperty("巡查项") + private List items = Collections.emptyList(); - @ApiModelProperty("依据文件") - private List files = Collections.emptyList(); @Data public static class SzRecordItemDto { @@ -58,5 +139,26 @@ public class SzRecordDetailDto { @ApiModelProperty("存在问题") private String problem; + + @ApiModelProperty("问题图片") + private List problemImages = Collections.emptyList(); + + @ApiModelProperty("问题语音") + private List problemVoices = Collections.emptyList(); + + @ApiModelProperty("处置内容") + private String handleContent; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty("处置时间") + private Date handleTime; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty("上传时间") + private Date createTime; + + @ApiModelProperty("处置图片") + private List handleImages = Collections.emptyList(); } + } diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzRecordDetailExportDto.java b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzRecordDetailExportDto.java new file mode 100644 index 00000000..e93ca8b6 --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzRecordDetailExportDto.java @@ -0,0 +1,78 @@ +package com.kms.yxgh.sz.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.shuili.common.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @ClassName: DfRecordDetailDto + * @Description: TODO + * @Date: 2023/11/15 上午10:36 * + * @author: hxh + * @version: 1.0 + */ + +@Data +@ApiModel("水闸巡视检查记录详情导出") +public class SzRecordDetailExportDto { + + + @Excel(name = "水闸名称", sort = 1) + @ApiModelProperty("水闸名称") + private String wagaName; + + @Excel(name = "水闸类型", dictType = "embankment_type", sort = 2) + @ApiModelProperty("水闸类型") + private String wagaType; + + @Excel(name = "巡查计划名称", sort = 3) + @ApiModelProperty("计划名称") + private String planName; + + @Excel(name = "巡查计划子项名称", sort = 4) + @ApiModelProperty("子计划名称") + private String subPlanName; + + @Excel(name = "巡查计划开始时间", dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 5) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty("子项开始时间") + private Date subPlanStartDate; + + @Excel(name = "巡查计划结束时间", dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 6) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty("子项结束时间") + private Date subPlanEndDate; + + @Excel(name = "巡查人", sort = 7) + private String createName; + + @Excel(name = "巡查时长", sort = 8) + @ApiModelProperty("巡查时长") + private String duration; + + @Excel(name = "巡查开始时间", dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 9) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty("巡查开始时间") + private Date startDate; + + @Excel(name = "巡查结束时间", dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 10) + @ApiModelProperty("巡查结束时间") + private Date endDate; + + @Excel(name = "隐患状态", sort = 11) + @ApiModelProperty("状态") + private String status; + + public void initDuration() { + if (this.startDate != null && this.endDate != null) { + long diff = this.endDate.getTime() - this.startDate.getTime(); + long hours = diff / (1000 * 60 * 60); + this.duration = hours + ""; + } + } + +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzRecordSearchDto.java b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzRecordSearchDto.java index 87f88766..09fdacaf 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzRecordSearchDto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzRecordSearchDto.java @@ -9,30 +9,34 @@ import java.util.List; /** * @ClassName: SzRecordSearchDto * @Description: TODO - * {@code @Date:} 2023/11/15 下午4:02 * + * @Date: 2024/5/30 下午2:29 + * * * @author: hxh * @version: 1.0 */ + @Data -@ApiModel("水闸巡视检查记录检索详情") +@ApiModel("水闸巡视检查记录检索条件") public class SzRecordSearchDto { - @ApiModelProperty("巡查记录") - private String id; - - @ApiModelProperty("巡查计划ID") - private String planId; - - @ApiModelProperty("巡查记录名称") - private String name; - - @ApiModelProperty("状态") - private String status; - - @ApiModelProperty("异常部位") - private List parts; - - @ApiModelProperty("操作者") - private String operatorName; + @ApiModelProperty("行政区划") + private String adcd; + @ApiModelProperty("水闸名称") + private String wagaName; + @ApiModelProperty("水闸类型") + private String wagaType; + @ApiModelProperty("路线名称") + private String lineName; + @ApiModelProperty("路线类型") + private String lineType; + @ApiModelProperty("巡查责任人类型") + private String dutyHolderType; + @ApiModelProperty("状态") + private String status; + @ApiModelProperty("处置状态") + private String handleStatus; + + @ApiModelProperty("巡查记录IDs") + private List ids; } diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzRecordSimpleDto.java b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzRecordSimpleDto.java new file mode 100644 index 00000000..9dee354a --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzRecordSimpleDto.java @@ -0,0 +1,96 @@ +package com.kms.yxgh.sz.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.kms.yxgh.common.dto.OperatorDto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @ClassName: DfRecordSearchDto + * @Description: TODO + * @Date: 2023/11/15 下午4:02 * + * @author: hxh + * @version: 1.0 + */ +@Data +@ApiModel("水闸巡视检查记录检索详情") +public class SzRecordSimpleDto { + + @ApiModelProperty("主键") + private String id; + + @ApiModelProperty("巡查计划ID") + private String planId; + + @ApiModelProperty("计划类型") + private String planType; + + @ApiModelProperty("巡查范围") + private String scope; + + @ApiModelProperty("水闸代码") + private String wagaCode; + + @ApiModelProperty("水闸名称") + private String wagaName; + + @ApiModelProperty("水闸类型") + private String wagaType; + + @ApiModelProperty("状态") + private String status; + + @ApiModelProperty("处置状态") + private String handleStatus; + + @ApiModelProperty("计划名称") + private String planName; + + @ApiModelProperty("子计划ID") + private String subPlanId; + + @ApiModelProperty("子计划名称") + private String subPlanName; + + @ApiModelProperty("巡查路线ID") + private String lineId; + + @ApiModelProperty("路线名称") + private String lineName; + + @ApiModelProperty("路线类型") + private String lineType; + + @ApiModelProperty("巡查责任人类型") + private String dutyHolderType; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty("记录开始时间") + private Date startDate; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty("记录结束时间") + private Date endDate; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty("子项开始时间") + private Date subPlanStartDate; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty("子项结束时间") + private Date subPlanEndDate; + + @ApiModelProperty("创建者") + private String createUid; + + @ApiModelProperty("创建者名称") + private String createName; + + @ApiModelProperty("计划执行人") + List operators; + +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzSubPlanSearchDto.java b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzSubPlanSearchDto.java new file mode 100644 index 00000000..60f9cc8c --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzSubPlanSearchDto.java @@ -0,0 +1,34 @@ +package com.kms.yxgh.sz.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +@ApiModel(value = "水闸巡视检查子计划查询") +public class SzSubPlanSearchDto { + + @ApiModelProperty(value = "计划名称") + private String planName; + @ApiModelProperty("巡查计划类型") + private String planType; + @ApiModelProperty(value = "水闸编号") + private String wagaCode; + @ApiModelProperty(value = "记录状态") + private String recordStatus; + private String user; + @ApiModelProperty("路线类型") + private String lineType; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty(value = "开始时间") + private Date startTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty(value = "结束时间") + private Date endTime; + + @ApiModelProperty("是否开始") + private Boolean isStart; +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzSubPlanSimpleDto.java b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzSubPlanSimpleDto.java new file mode 100644 index 00000000..4f35efde --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzSubPlanSimpleDto.java @@ -0,0 +1,77 @@ +package com.kms.yxgh.sz.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.kms.yxgh.common.dto.OperatorDto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @ClassName: DfPlanSimpleDto + * @Description: TODO + * @Date: 2024/1/23 下午3:26 + * * + * @author: hxh + * @version: 1.0 + */ +@ApiModel(value = "巡查子计划查询信息") +@Data +public class SzSubPlanSimpleDto { + + @ApiModelProperty("水闸编码") + private String wagaCode; + @ApiModelProperty("水闸名称") + private String wagaName; + @ApiModelProperty("水闸类型") + private String wagaType; + + @ApiModelProperty("计划id") + private String planId; + + @ApiModelProperty("计划名称") + private String planName; + + @ApiModelProperty("巡查计划类型") + private String planType; + + @ApiModelProperty("子计划id") + private String subPlanId; + + @ApiModelProperty("子计划名称") + private String subPlanName; + + @ApiModelProperty("路线类型") + private String lineType; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty("子计划开始时间") + private Date subPlanStartDate; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty("子计划结束时间") + private Date subPlanEndDate; + + @ApiModelProperty("记录id") + private String recordId; + + @ApiModelProperty("记录状态") + private String recordStatus; + + @ApiModelProperty("记录隐患状态") + private String recordHandleStatus; + + @ApiModelProperty("当前已巡查项") + private Long currentItem; + + @ApiModelProperty("所有巡查项目") + private Long allItem; + + /** + * 执行人 + */ + @ApiModelProperty("执行人") + private List operator; +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzCheckingLineMapper.java b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzCheckingLineMapper.java new file mode 100644 index 00000000..d780c667 --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzCheckingLineMapper.java @@ -0,0 +1,68 @@ +package com.kms.yxgh.sz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.kms.yxgh.sz.domain.SzCheckingLine; +import com.kms.yxgh.sz.domain.SzPlan; +import com.kms.yxgh.sz.dto.SzCheckingLineDto; +import com.kms.yxgh.sz.dto.SzCheckingLineSearchDto; +import org.apache.ibatis.annotations.*; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 水闸巡视检查路线Mapper接口 + * + * @author sy + * @date 2023-11-09 + */ +@Repository +public interface SzCheckingLineMapper extends BaseMapper { + + //根据条件查询水闸巡视检查路线 + @Select({ + "" + }) + @Results(value = { + @Result(property = "wagaCode", column = "waga_code"), + @Result(property = "dutyHolders", column = "waga_code", + javaType = List.class, + many = @Many(select = "com.kms.yg.df.mapper.BsSgcSzFzrMapper.getByDikeCode")) + }) + IPage search(Page page, @Param("dto") SzCheckingLineSearchDto dto); + +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzCheckingPlanContentMapper.java b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzCheckingPlanContentMapper.java new file mode 100644 index 00000000..8de9bb88 --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzCheckingPlanContentMapper.java @@ -0,0 +1,30 @@ +package com.kms.yxgh.sz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.kms.yxgh.sz.domain.SzCheckingPlanContent; +import org.apache.ibatis.annotations.Insert; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 水闸巡视检查计划详情Mapper接口 + * + * @author sy + * @date 2023-11-09 + */ +@Repository +public interface SzCheckingPlanContentMapper extends BaseMapper { + + @Insert({ + "" + }) + void insertBatch(@Param("list") List list); +} + diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzPlanMapper.java b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzPlanMapper.java index 771dc228..fb3aa504 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzPlanMapper.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzPlanMapper.java @@ -4,13 +4,16 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.kms.yxgh.sz.domain.SzPlan; +import com.kms.yxgh.sz.dto.SzPlanSearchDto; import com.kms.yxgh.sz.dto.SzPlanSimpleDto; +import com.kms.yxgh.sz.dto.SzSubPlanSearchDto; +import com.kms.yxgh.sz.dto.SzSubPlanSimpleDto; import com.shuili.common.utils.StringUtils; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.annotations.*; import org.apache.ibatis.jdbc.SQL; import org.springframework.stereotype.Repository; +import java.util.List; import java.util.Map; /** @@ -21,12 +24,106 @@ import java.util.Map; */ @Repository public interface SzPlanMapper extends BaseMapper { - @SelectProvider(type = SzPlanMapper.SzPlanSqlProvider.class, method = "selectByWagaCode") + + @SelectProvider(type = SzPlanSqlProvider.class, method = "selectByWagaCode") IPage selectByWagaCode(Page page, @Param("wagaCode") String wagaCode, @Param("planName") String planName); - class SzPlanSqlProvider{ + @Select("") + IPage search(Page page, @Param("dto") SzPlanSearchDto searchDto); + + @Select("") + @Results({ + @Result(property = "planType", column = "plan_type"), + @Result(property = "subPlanId", column = "sub_plan_id"), + @Result(property = "recordId", column = "record_id"), + @Result(property = "operator", column = "sub_plan_id", javaType = List.class, many = @Many(select = "com.kms.yxgh.df.mapper.SzPlanOperatorMapper.selectOperatorBySubPlanId")) + }) + IPage subSearch(Page page, @Param("searchDto") SzSubPlanSearchDto searchDto); + + class SzPlanSqlProvider { public String selectByWagaCode(final Map param) { - return new SQL(){{ + return new SQL() {{ SELECT("p.id, p.name, p.xc_id as xcId, p.type, p.update_time as updateTime, p.create_time as createTime, (SELECT MAX(r.create_time) FROM bs_sgc_sz_xsjhjl r WHERE p.id = r.plan_id AND r.waga_code = #{wagaCode}) as lastTime"); FROM("bs_sgc_sz_xsjh p"); @@ -34,7 +131,7 @@ public interface SzPlanMapper extends BaseMapper { WHERE("p.waga_code = #{wagaCode}"); } - if(param.get("planName") != null && StringUtils.isNotBlank(param.get("planName").toString())) { + if (param.get("planName") != null && StringUtils.isNotBlank(param.get("planName").toString())) { WHERE("p.name LIKE CONCAT('%', #{planName}, '%')"); } }}.toString(); diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzPlanOperatorMapper.java b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzPlanOperatorMapper.java index 59c91451..a2292c42 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzPlanOperatorMapper.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzPlanOperatorMapper.java @@ -1,9 +1,14 @@ package com.kms.yxgh.sz.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.kms.yxgh.common.dto.OperatorDto; import com.kms.yxgh.sz.domain.SzPlanOperator; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import org.springframework.stereotype.Repository; +import java.util.List; + /** * 水闸巡视检查计划执行人Mapper接口 * @@ -12,5 +17,6 @@ import org.springframework.stereotype.Repository; */ @Repository public interface SzPlanOperatorMapper extends BaseMapper { - + @Select("SELECT id, operator_uid uid,operator_name name FROM bs_sgc_sz_xsjhzx WHERE sub_plan_id = #{subPlanId}") + List selectOperatorBySubPlanId(@Param("subPlanId") String subPlanId); } diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzCheckingLineService.java b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzCheckingLineService.java new file mode 100644 index 00000000..edeba77f --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzCheckingLineService.java @@ -0,0 +1,148 @@ +package com.kms.yxgh.sz.service; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.kms.yg.sz.domain.BsSgcSzFzr; +import com.kms.yg.sz.domain.BsSgcSzSafeJbxx; +import com.kms.yg.sz.mapper.BsSgcSzFzrMapper; +import com.kms.yg.sz.mapper.BsSgcSzSafeJbxxMapper; +import com.kms.yxgh.base.SzException; +import com.kms.yxgh.common.dto.DutyHolderDto; +import com.kms.yxgh.sz.domain.SzCheckingLine; +import com.kms.yxgh.sz.domain.SzCheckingPlanContent; +import com.kms.yxgh.sz.domain.SzPlan; +import com.kms.yxgh.sz.dto.SzCheckingLineDto; +import com.kms.yxgh.sz.dto.SzCheckingLineExportDto; +import com.kms.yxgh.sz.dto.SzCheckingLineSearchDto; +import com.kms.yxgh.sz.mapper.SzCheckingLineMapper; +import com.kms.yxgh.sz.mapper.SzCheckingPlanContentMapper; +import com.kms.yxgh.util.BeanCopyUtils; +import com.shuili.common.core.domain.AjaxResult; +import com.shuili.common.core.domain.SearchParam; +import com.shuili.common.core.service.BaseService; +import com.shuili.common.utils.poi.ExcelUtil; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; + +/** + * 水闸巡视检查路线Service接口 + * + * @author sy + * @date 2023-11-09 + */ +@Service +@AllArgsConstructor +public class SzCheckingLineService extends BaseService { + + private final SzCheckingPlanContentMapper szCheckingPlanContentMapper; + private final BsSgcSzFzrMapper szFzrMapper; + private final SzCheckingService szCheckingService; + private final BsSgcSzSafeJbxxMapper szSafeJbxxMapper; + + public IPage search(SearchParam sp) { + Page page = new Page<>(sp.getPageNum(), sp.getPageSize()); + SzCheckingLineSearchDto searchDto = Optional.ofNullable(sp.getData()).orElse(new SzCheckingLineSearchDto()); + return this.baseMapper.search(page, searchDto); + } + + public SzCheckingLineDto getDetailById(String id) { + SzCheckingLine checkingLine = this.getById(id); + SzCheckingLineDto dto = BeanCopyUtils.copy(checkingLine, SzCheckingLineDto.class); + if (dto != null) { + dto.setEntries(checkingLine.getPoints()); + dto.setCheckingDetail(szCheckingService.getDetailById(dto.getXcId())); + BsSgcSzSafeJbxx sz = szSafeJbxxMapper.getByWagaCode(dto.getWagaCode()); + if (sz != null) { + dto.setWagaName(sz.getWagaName()); + dto.setWagaType(sz.getWagaType()); + } + List fzrList = szFzrMapper.selectList(Wrappers.lambdaQuery().eq(BsSgcSzFzr::getWagaCode, dto.getWagaCode())); + dto.setDutyHolders(fzrList.stream().map(fzr -> { + DutyHolderDto dutyHolderDto = new DutyHolderDto(); + dutyHolderDto.setName(fzr.getName()); + dutyHolderDto.setPhone(fzr.getPhone()); + dutyHolderDto.setDutyHolderType(fzr.getType()); + return dutyHolderDto; + }).collect(Collectors.toList())); + } + return dto; + } + + + @Transactional(rollbackFor = Exception.class) + public SzCheckingLineDto add(SzCheckingLineDto dto) { + SzCheckingLine checkingLine = BeanCopyUtils.copy(dto, SzCheckingLine.class); + if (checkingLine != null) { + checkingLine.setId(null); + checkingLine.setPoints(dto.getEntries()); + getBaseMapper().insert(checkingLine); + String id = checkingLine.getId(); + return this.getDetailById(id); + } + return null; + } + + @Transactional(rollbackFor = Exception.class) + public SzCheckingLineDto update(SzCheckingLineDto dto) { + if (exist(dto.getId())) { + SzCheckingLine checkingLine = BeanCopyUtils.copy(dto, SzCheckingLine.class); + if (checkingLine != null) { + checkingLine.setPoints(dto.getEntries()); + getBaseMapper().updateById(checkingLine); + String id = checkingLine.getId(); + return this.getDetailById(id); + } + } + throw new SzException("源数据不存在,请确认id值是否正确"); + + } + + + @Transactional(rollbackFor = Exception.class) + public Boolean deleteById(String[] ids) { + if (ids.length == 1) { + if (isUsed(ids[0])) { + throw new SzException("该路线已被使用,无法删除"); + } + } + return removeByIds(Arrays.asList(ids)); + } + + private boolean isUsed(String planId) { + Wrapper wp = Wrappers.lambdaQuery() + .eq(SzCheckingPlanContent::getLineId, planId); + return szCheckingPlanContentMapper.selectCount(wp) > 0; + } + + private boolean exist(String id) { + Wrapper wp = Wrappers.lambdaQuery() + .eq(SzCheckingLine::getId, id); + return this.getBaseMapper().selectCount(wp) > 0; + } + + + public AjaxResult export(List ids) { + List list = Optional.ofNullable(this.listByIds(ids)).orElse(Collections.emptyList()); + ExcelUtil util = new ExcelUtil<>(SzCheckingLineExportDto.class); + return util.exportExcel(list.stream().map(line -> { + SzCheckingLineExportDto exportDto = BeanCopyUtils.copy(line, SzCheckingLineExportDto.class); + if (exportDto != null) { + BsSgcSzSafeJbxx sz = szSafeJbxxMapper.getByWagaCode(exportDto.getWagaCode()); + if (sz != null) { + exportDto.setWagaName(sz.getWagaName()); + exportDto.setWagaType(sz.getWagaType()); + } + } + return exportDto; + }).collect(Collectors.toList()), "checking-line"); + } +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzCheckingPlanContentService.java b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzCheckingPlanContentService.java new file mode 100644 index 00000000..b6003d23 --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzCheckingPlanContentService.java @@ -0,0 +1,13 @@ +package com.kms.yxgh.sz.service; + +import com.kms.yxgh.sz.domain.SzCheckingPlanContent; +import com.kms.yxgh.sz.mapper.SzCheckingPlanContentMapper; +import com.shuili.common.core.service.BaseService; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + + +@Service +@AllArgsConstructor +public class SzCheckingPlanContentService extends BaseService { +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzPlanService.java b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzPlanService.java index 68388f46..98f8ad02 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzPlanService.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzPlanService.java @@ -1,38 +1,35 @@ package com.kms.yxgh.sz.service; -import cn.hutool.core.collection.CollectionUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.kms.common.utils.UserUtils; +import com.kms.system.service.SysUserService; import com.kms.yxgh.base.SzException; import com.kms.yxgh.common.dto.OperatorDto; -import com.kms.yxgh.sz.domain.SzPlan; -import com.kms.yxgh.sz.domain.SzPlanOperator; -import com.kms.yxgh.sz.domain.SzPoint; -import com.kms.yxgh.sz.domain.SzRecord; -import com.kms.yxgh.sz.dto.SzPlanDetailDto; -import com.kms.yxgh.sz.dto.SzPlanSimpleDto; -import com.kms.yxgh.sz.dto.SzPointDto; +import com.kms.yxgh.sz.domain.*; +import com.kms.yxgh.sz.dto.*; +import com.kms.yxgh.sz.mapper.SzCheckingPlanContentMapper; import com.kms.yxgh.sz.mapper.SzPlanMapper; -import com.kms.yxgh.sz.mapper.SzPlanOperatorMapper; -import com.kms.yxgh.sz.mapper.SzPointMapper; import com.kms.yxgh.sz.mapper.SzRecordMapper; import com.kms.yxgh.util.BeanCopyUtils; -import com.kms.yxgh.util.StreamUtils; import com.shuili.common.core.domain.SearchParam; +import com.shuili.common.core.domain.entity.SysUser; import com.shuili.common.core.service.BaseService; import com.shuili.common.utils.StringUtils; import lombok.AllArgsConstructor; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDate; import java.time.ZoneId; -import java.util.Date; -import java.util.List; -import java.util.function.Consumer; +import java.util.*; +import java.util.stream.Collectors; + +import static com.alibaba.fastjson.JSON.toJSONString; /** * 水闸巡视检查计划Service接口 @@ -44,42 +41,47 @@ import java.util.function.Consumer; @AllArgsConstructor public class SzPlanService extends BaseService { - private final SzPlanOperatorMapper SzPlanOperatorMapper; - private final SzRecordMapper szCheckRecordMapper; - private final SzPointMapper SzPointMapper; + private final SzRecordMapper szRecordMapper; + private final SzCheckingPlanContentService szCheckingPlanContentService; + private final SzCheckingLineService szCheckingLineService; + private final SzCheckingPlanContentMapper szCheckingPlanContentMapper; + private final SysUserService userService; + private final SzPlanOperatorService szPlanOperatorService; + public IPage search(SearchParam sp) { + Page page = new Page<>(sp.getPageNum(), sp.getPageSize()); + SzPlanSearchDto searchDto = sp.getData(); + SysUser user = UserUtils.getUser(); + searchDto.setUser(Optional.ofNullable(user).map(SysUser::getId).orElse(null)); + IPage result = this.getBaseMapper().search(page, searchDto); + result.getRecords().forEach(item -> { + item.setCreateName(userService.userName(item.getCreateUid())); + }); + return result; + } - public IPage search(SearchParam sp) { + public IPage searchSub(SearchParam sp) { Page page = new Page<>(sp.getPageNum(), sp.getPageSize()); - String wagaCode = null; - String name = null; - SzPlan szPlan = sp.getData(); - if (szPlan != null) { - wagaCode = szPlan.getWagaCode(); - name = szPlan.getName(); - } - return this.baseMapper.selectByWagaCode(page, wagaCode, name); + SzSubPlanSearchDto searchDto = sp.getData(); + SysUser user = UserUtils.getUser(); + searchDto.setUser(Optional.ofNullable(user).map(SysUser::getId).orElse(null)); + return this.getBaseMapper().subSearch(page, searchDto); } public SzPlanDetailDto getDetailById(String id) { SzPlan szPlan = this.getById(id); SzPlanDetailDto dto = BeanCopyUtils.copy(szPlan, SzPlanDetailDto.class); if (dto != null) { - dto.setOtherConfig(JSON.parseObject(szPlan.getOtherConfig())); + List operators = Optional.ofNullable(szPlanOperatorService.list(Wrappers.lambdaQuery().in(SzPlanOperator::getPlanId, id))).orElse(Collections.emptyList()); + Map> operatorMap = operators.stream().collect(Collectors.groupingBy(SzPlanOperator::getSubPlanId)); + + dto.setOtherConfig(JSON.parseObject(szPlan.getOtherConfig(), SzPlanDetailDto.OptionConfig.class)); + dto.setContents(getContents(id).stream() + .map(item -> toDto(item, operatorMap)) + .collect(Collectors.toList())); if (StringUtils.isNotEmpty(szPlan.getFiles())) { dto.setFiles(JSON.parseArray(szPlan.getFiles(), String.class)); } - Wrapper wp = Wrappers.lambdaQuery() - .select(SzPlanOperator::getId, SzPlanOperator::getOperatorUid, - SzPlanOperator::getOperatorName) - .eq(SzPlanOperator::getPlanId, id); - dto.setOperators(StreamUtils.toList(SzPlanOperatorMapper.selectList(wp), (o) -> { - OperatorDto itemDto = new OperatorDto(); - itemDto.setId(o.getId()); - itemDto.setUid(o.getOperatorUid()); - itemDto.setName(o.getOperatorName()); - return itemDto; - })); } return dto; } @@ -91,13 +93,12 @@ public class SzPlanService extends BaseService { if (szPlan != null) { szPlan.setId(null); if (checkNameDistinct(szPlan.getId(), szPlan.getName())) { - szPlan.setOtherConfig(JSON.toJSONString(dto.getOtherConfig())); - szPlan.setFiles(JSON.toJSONString(dto.getFiles())); + szPlan.setOtherConfig(toJSONString(dto.getOtherConfig())); + szPlan.setFiles(toJSONString(dto.getFiles())); + planeTime(szPlan, dto.getContents()); getBaseMapper().insert(szPlan); String id = szPlan.getId(); - if (CollectionUtil.isNotEmpty(dto.getOperators())) { - dto.getOperators().forEach(insertOperator(id)); - } + saveOrUpdateContent(id, dto.getContents()); return this.getDetailById(id); } else { throw new SzException("该名称已存在"); @@ -107,30 +108,18 @@ public class SzPlanService extends BaseService { return null; } - private Consumer insertOperator(String id) { - return (o) -> { - SzPlanOperator item = new SzPlanOperator(); - item.setPlanId(id); - item.setOperatorName(o.getName()); - item.setOperatorUid(o.getUid()); - SzPlanOperatorMapper.insert(item); - }; - } - @Transactional(rollbackFor = Exception.class) public SzPlanDetailDto update(SzPlanDetailDto dto) { if (exist(dto.getId())) { SzPlan szPlan = BeanCopyUtils.copy(dto, SzPlan.class); if (szPlan != null) { if (checkNameDistinct(szPlan.getId(), szPlan.getName())) { - szPlan.setOtherConfig(JSON.toJSONString(dto.getOtherConfig())); - szPlan.setFiles(JSON.toJSONString(dto.getFiles())); + szPlan.setOtherConfig(toJSONString(dto.getOtherConfig())); + szPlan.setFiles(toJSONString(dto.getFiles())); + planeTime(szPlan, dto.getContents()); getBaseMapper().updateById(szPlan); String id = szPlan.getId(); - deleteItems(id); - if (CollectionUtil.isNotEmpty(dto.getOperators())) { - dto.getOperators().forEach(insertOperator(id)); - } + saveOrUpdateContent(id, dto.getContents()); return this.getDetailById(id); } else { throw new SzException("该名称已存在"); @@ -141,56 +130,43 @@ public class SzPlanService extends BaseService { } - @Transactional(rollbackFor = Exception.class) - public Boolean deleteById(String id) { - if (isUse(id)) { - throw new SzException("该计划已被使用,无法删除"); + public Boolean deleteById(String[] ids) { + if (ids.length == 1) { + if (isUsed(ids[0])) { + throw new SzException("该计划已被使用,无法删除"); + } } - boolean rt = removeById(id); + boolean rt = removeByIds(Arrays.asList(ids)); if (rt) { - deleteItems(id); + deleteItems(ids); } return rt; } - private boolean isUse(String id) { - Wrapper wp = Wrappers.lambdaQuery() - .eq(SzRecord::getPlanId, id); - return szCheckRecordMapper.selectCount(wp) > 0; - } - @Transactional(rollbackFor = Exception.class) - public Boolean addPoints(String id, List points) { - Wrapper wp = Wrappers.lambdaQuery() - .eq(SzPoint::getPlanId, id); - SzPointMapper.delete(wp); - if (CollectionUtil.isNotEmpty(points)) { - points.forEach(po -> { - SzPoint point = BeanCopyUtils.copy(po, SzPoint.class); - if (point != null) { - point.setPlanId(id); - SzPointMapper.insert(point); - } - }); + private void planeTime(SzPlan szPlan, List contents) { + if (CollectionUtils.isEmpty(contents)) { + return; } - return true; + szPlan.setStartDate(contents.stream().map(SzCheckingPlanContentDto::getStartDate).min(Date::compareTo).orElse(null)); + szPlan.setEndDate(contents.stream().map(SzCheckingPlanContentDto::getEndDate).max(Date::compareTo).orElse(null)); } - - public List getPoints(String id) { - Wrapper wp = Wrappers.lambdaQuery() - .eq(SzPoint::getPlanId, id); - return StreamUtils.toList(SzPointMapper.selectList(wp), - (o) -> BeanCopyUtils.copy(o, SzPointDto.class)); + private void deleteItems(String[] planIds) { + Wrapper wp = Wrappers.lambdaQuery() + .in(SzCheckingPlanContent::getPlanId, Arrays.asList(planIds)); + szCheckingPlanContentService.remove(wp); + szPlanOperatorService.remove(Wrappers.lambdaQuery().in(SzPlanOperator::getPlanId, Arrays.asList(planIds))); } - private void deleteItems(String id) { - Wrapper wp = Wrappers.lambdaQuery() - .eq(SzPlanOperator::getPlanId, id); - SzPlanOperatorMapper.delete(wp); + private boolean isUsed(String planId) { + Wrapper wp = Wrappers.lambdaQuery() + .eq(SzRecord::getPlanId, planId); + return szRecordMapper.selectCount(wp) > 0; } + private boolean checkNameDistinct(String id, String name) { Wrapper wp = Wrappers.lambdaQuery() .eq(SzPlan::getName, name) @@ -213,6 +189,76 @@ public class SzPlanService extends BaseService { Wrapper wp = Wrappers.lambdaQuery() .eq(SzRecord::getPlanId, id) .eq(SzRecord::getCreateTime, getZeroTime()); - return szCheckRecordMapper.selectCount(wp) > 0; + return szRecordMapper.selectCount(wp) > 0; } + + + private void saveOrUpdateContent(String planId, List contents) { + if (contents != null && !contents.isEmpty()) { + List ides = contents.stream().map(SzCheckingPlanContentDto::getId).filter(StringUtils::isNotEmpty).collect(Collectors.toList()); + + List oldContents = getContents(planId); + if (CollectionUtils.isNotEmpty(oldContents)) { + //获取删除的数据 + List deleteContents = oldContents.stream() + .map(SzCheckingPlanContent::getId) + .filter(id -> !ides.contains(id)) + .collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(deleteContents)) { + szPlanOperatorService.remove(Wrappers.lambdaQuery().in(SzPlanOperator::getSubPlanId, deleteContents)); + szCheckingPlanContentService.removeByIds(deleteContents); + } + } + contents.forEach(content -> { + content.setPlanId(planId); + SzCheckingPlanContent entity = toEntity(content); + if (entity.getId() == null) { + szCheckingPlanContentMapper.insert(entity); + } else { + szCheckingPlanContentMapper.updateById(entity); + } + String contentId = entity.getId(); + List operators = content.getOperator().stream().map(operator -> { + SzPlanOperator po = new SzPlanOperator(); + po.setId(operator.getId()); + po.setSubPlanId(contentId); + po.setOperatorUid(operator.getUid()); + po.setPlanId(planId); + po.setOperatorName(operator.getName()); + return po; + }).collect(Collectors.toList()); + szPlanOperatorService.saveOrUpdateBatch(operators); + }); + } else { + throw new SzException("执行计划内容不能为空"); + } + } + + private SzCheckingPlanContent toEntity(SzCheckingPlanContentDto dto) { + return BeanCopyUtils.copy(dto, SzCheckingPlanContent.class); + } + + private SzCheckingPlanContentDto toDto(SzCheckingPlanContent entity, Map> operatorMap) { + SzCheckingPlanContentDto dto = BeanCopyUtils.copy(entity, SzCheckingPlanContentDto.class); + if (dto != null) { + dto.setLineName(Optional.ofNullable(szCheckingLineService.getWithRedis(dto.getLineId())).map(SzCheckingLine::getName).orElse("")); + dto.setOperator(operatorMap.getOrDefault(dto.getId(), Collections.emptyList()).stream() + .map(item -> { + OperatorDto operatorDto = new OperatorDto(); + operatorDto.setId(item.getId()); + operatorDto.setUid(item.getOperatorUid()); + operatorDto.setName(item.getOperatorName()); + return operatorDto; + }) + .collect(Collectors.toList())); + } + return dto; + } + + private List getContents(String planId) { + Wrapper wp = Wrappers.lambdaQuery() + .eq(SzCheckingPlanContent::getPlanId, planId); + return szCheckingPlanContentService.list(wp); + } + } diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzProjectService.java b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzProjectService.java index 4f11b1db..038d3c02 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzProjectService.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzProjectService.java @@ -5,6 +5,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.kms.yg.sz.domain.BsSgcSzSafeJbxx; import com.kms.yg.sz.mapper.BsSgcSzSafeJbxxMapper; +import com.kms.yxgh.df.dto.DfCheckingLineProjectListDto; +import com.kms.yxgh.df.dto.DfCheckingLineSearchDto; +import com.kms.yxgh.df.dto.DfProjectListDto; import com.kms.yxgh.sz.domain.SzChecking; import com.kms.yxgh.sz.domain.SzProjectCheckingRel; import com.kms.yxgh.sz.dto.*; @@ -103,4 +106,12 @@ public class SzProjectService { SzYqStatisticsProjectQueDto szProject = Optional.ofNullable(sp.getData()).orElseGet(SzYqStatisticsProjectQueDto::new); return bsSgcSzSafeJbxxMapper.getSzYqProjectStatisticsWithPage(page, szProject); } + + public IPage checkingLine(SearchParam sp) { + Page page = new Page<>(sp.getPageNum(), sp.getPageSize()); + + SzCheckingLineSearchDto szProject = Optional.ofNullable(sp.getData()).orElseGet(SzCheckingLineSearchDto::new); + + return bsSgcSzSafeJbxxMapper.getSzCheckingLineProjectListWithPage(page, szProject); + } } \ No newline at end of file diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzRecordService.java b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzRecordService.java index 619bb169..2b24990b 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzRecordService.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzRecordService.java @@ -7,28 +7,32 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.kms.system.service.SysUserService; import com.kms.yxgh.base.SzException; -import com.kms.yxgh.base.enums.CheckingStatus; -import com.kms.yxgh.base.enums.RecordStatus; -import com.kms.yxgh.sz.domain.SzProjectCheckingRel; +import com.kms.yxgh.sz.domain.SzCheckingItem; +import com.kms.yxgh.sz.domain.SzCheckingLine; import com.kms.yxgh.sz.domain.SzRecord; import com.kms.yxgh.sz.domain.SzRecordItem; -import com.kms.yxgh.sz.dto.*; +import com.kms.yxgh.sz.dto.SzRecordDetailDto; import com.kms.yxgh.sz.dto.SzRecordDetailDto.SzRecordItemDto; -import com.kms.yxgh.sz.mapper.SzProjectCheckingRelMapper; -import com.kms.yxgh.sz.mapper.SzRecordItemMapper; +import com.kms.yxgh.sz.dto.SzRecordDetailExportDto; +import com.kms.yxgh.sz.dto.SzRecordSearchDto; +import com.kms.yxgh.sz.dto.SzRecordSimpleDto; +import com.kms.yxgh.sz.mapper.SzCheckingItemMapper; +import com.kms.yxgh.sz.mapper.SzCheckingLineMapper; +import com.kms.yxgh.sz.mapper.SzPlanOperatorMapper; import com.kms.yxgh.sz.mapper.SzRecordMapper; import com.kms.yxgh.util.BeanCopyUtils; import com.kms.yxgh.util.StreamUtils; +import com.shuili.common.core.domain.AjaxResult; import com.shuili.common.core.domain.SearchParam; -import com.shuili.common.core.domain.entity.SysUser; import com.shuili.common.core.service.BaseService; -import com.shuili.common.utils.DateUtils; import com.shuili.common.utils.StringUtils; +import com.shuili.common.utils.poi.ExcelUtil; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.function.Function; import java.util.stream.Collectors; import static com.kms.yxgh.sz.service.SzCheckingService.PART_SEPARATOR; @@ -43,37 +47,35 @@ import static com.kms.yxgh.sz.service.SzCheckingService.PART_SEPARATOR; @AllArgsConstructor public class SzRecordService extends BaseService { - private final SzRecordItemMapper szRecordItemMapper; - private final SzCheckingService szCheckingService; - private final SzPlanService szPlanService; + private final SzRecordItemService recordItemService; + private final SzCheckingLineMapper checkingLineMapper; private final SysUserService userService; - private final SzProjectCheckingRelMapper szProjectCheckingRelMapper; + private final SzPlanOperatorMapper planOperatorMapper; + private final SzCheckingItemMapper szCheckingItemMapper; - public IPage search(SearchParam sp) { - IPage page = selectPage(sp); + public IPage search(SearchParam sp) { + IPage page = new Page<>(sp.getPageNum(), sp.getPageSize()); + SzRecordSearchDto searchDto = sp.getData(); + Wrapper wp = Wrappers.lambdaQuery() + .like(StringUtils.isNotBlank(searchDto.getWagaName()), SzRecord::getWagaName, searchDto.getWagaName()) + .eq(StringUtils.isNotBlank(searchDto.getStatus()), SzRecord::getStatus, searchDto.getStatus()) + .eq(StringUtils.isNotBlank(searchDto.getHandleStatus()), SzRecord::getHandleStatus, searchDto.getHandleStatus()) + .eq(StringUtils.isNotBlank(searchDto.getWagaType()), SzRecord::getWagaType, searchDto.getWagaType()) + .like(StringUtils.isNotBlank(searchDto.getLineName()), SzRecord::getLineName, searchDto.getLineName()) + .eq(StringUtils.isNotBlank(searchDto.getLineType()), SzRecord::getLineType, searchDto.getLineType()) + .eq(StringUtils.isNotBlank(searchDto.getDutyHolderType()), SzRecord::getDutyHolderType, searchDto.getDutyHolderType()) + .orderByDesc(SzRecord::getEndDate); + page = page(page, wp); if (CollectionUtil.isNotEmpty(page.getRecords())) { - List ids = page.getRecords().stream().map(SzRecord::getId) - .collect(Collectors.toList()); - Wrapper wp = Wrappers.lambdaQuery() - .in(SzRecordItem::getRecordId, ids) - .eq(SzRecordItem::getStatus, CheckingStatus.ABNORMAL.getValue()); - Map> items = Optional.ofNullable(szRecordItemMapper.selectList(wp)) - .map(list -> list.stream().collect( - Collectors.groupingBy(SzRecordItem::getRecordId, Collectors.toList()))) - .orElseGet(Collections::emptyMap); - - List records = page.getRecords().stream().map(r -> { - SzRecordSearchDto dto = BeanCopyUtils.copy(r, SzRecordSearchDto - .class); + List records = page.getRecords().stream().map(r -> { + SzRecordSimpleDto dto = BeanCopyUtils.copy(r, SzRecordSimpleDto.class); if (dto != null) { - dto.setParts(items.getOrDefault(r.getId(), Collections.emptyList()) - .stream().map(SzRecordItem::getParts).collect(Collectors.toList())); - dto.setOperatorName(Optional.ofNullable(userService.getWithRedis(r.getCreateUid())).map( - SysUser::getNickName).orElse("")); + dto.setCreateName(userService.userName(dto.getCreateUid())); + dto.setOperators(planOperatorMapper.selectOperatorBySubPlanId(r.getSubPlanId())); } return dto; }).collect(Collectors.toList()); - Page recordSearchDtoPage = new Page<>(page.getCurrent(), page.getSize(), + Page recordSearchDtoPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal()); recordSearchDtoPage.setRecords(records); return recordSearchDtoPage; @@ -83,126 +85,155 @@ public class SzRecordService extends BaseService { } @Transactional(rollbackFor = Exception.class) - public SzRecordDetailDto start(StartPlan startPlan) { - if (StringUtils.isEmpty(startPlan.getPlanId())) { - if (StringUtils.isEmpty(startPlan.getWagaCode())) { - throw new SzException("巡查计划id与水闸编码不能都为空"); - } - String xcId = getXcId(startPlan); - if (StringUtils.isEmpty(xcId)) { - throw new SzException("该水闸没有配置巡查项目,开始巡查失败"); - } - return initRecord(startPlan, xcId, null); - } else { - SzPlanDetailDto planDetailDto = szPlanService.getDetailById(startPlan.getPlanId()); - if (planDetailDto != null) { - planDetailDto.setId(null); - return initRecord(startPlan, planDetailDto.getXcId(), planDetailDto.getName()); - } - throw new SzException("巡查计划不存在,开始巡查失败"); + public SzRecordDetailDto finish(String id) { + SzRecord record = this.getBaseMapper().selectById(id); + if (record == null) { + throw new SzException("巡查记录不存在"); } + record.setStatus("1"); + record.setEndDate(new Date()); + this.getBaseMapper().updateById(record); + return this.getDetailById(id); } - private SzRecordDetailDto initRecord(StartPlan startPlan, String xcId, String name) { - SzCheckingDetailDto checkingDetailDto = szCheckingService.getDetailById(xcId); - if (checkingDetailDto != null) { - SzRecord record = new SzRecord(); - record.setPlanId(startPlan.getPlanId()); - record.setName(StringUtils.isEmpty(name) ? checkingDetailDto.getName() : name + DateUtils.getTime()); - record.setStatus(RecordStatus.CHECKING.getValue().toString()); - record.setWagaCode(startPlan.getWagaCode()); - getBaseMapper().insert(record); - String id = record.getId(); - if (CollectionUtil.isNotEmpty(checkingDetailDto.getItems())) { - checkingDetailDto.getItems().forEach(o -> { - SzRecordItem item = new SzRecordItem(); - item.setRecordId(id); - item.setContent(o.getContent()); - item.setParts(String.join(PART_SEPARATOR, o.getParts())); - item.setStatus(CheckingStatus.NORMAL.getValue().toString()); - item.setProblem(""); - szRecordItemMapper.insert(item); - }); - } - return this.getDetailById(id); - } else { - throw new SzException("查询巡查检查项数据异常"); + @Transactional(rollbackFor = Exception.class) + public SzRecordDetailDto add(SzRecordDetailDto dto) { + SzRecord record = BeanCopyUtils.copy(dto, SzRecord.class); + if (record == null) { + throw new SzException("巡查记录不能为空"); } + SzCheckingLine line = checkingLineMapper.selectById(record.getLineId()); + if (line == null) { + throw new SzException("巡查路线不存在"); + } + int itemCount = szCheckingItemMapper.selectCount(Wrappers.lambdaQuery().eq(SzCheckingItem::getXcId, line.getXcId())); + record.setHandleStatus(handleStatus(dto)); + record.setRemaining((long) itemCount - dto.getItems().size()); + int rsp = getBaseMapper().insert(record); + if (rsp <= 0) { + throw new SzException("新增巡查记录失败"); + } + String id = record.getId(); + if (CollectionUtil.isNotEmpty(dto.getItems())) { + List items = dto.getItems() + .stream().map(getSzRecordItemDtoSzRecordItemFunction(id)) + .collect(Collectors.toList()); + recordItemService.saveBatch(items); + } + return this.getDetailById(id); } - private String getXcId(StartPlan startPlan) { - Wrapper wrapper = Wrappers.lambdaQuery() - .eq(SzProjectCheckingRel::getWagaCode, startPlan.getWagaCode()) - .eq(SzProjectCheckingRel::getType, startPlan.getType()); - SzProjectCheckingRel rel = szProjectCheckingRelMapper.selectOne(wrapper); - if (rel == null) { - return null; + private String handleStatus(SzRecordDetailDto dto) { + if (CollectionUtil.isEmpty(dto.getItems()) || dto.getItems().stream().allMatch(r -> CollectionUtil.isEmpty(r.getProblemImages()))) { + //无异常 + return "0"; } - return rel.getXcId(); + if (dto.getItems().stream().anyMatch(r -> CollectionUtil.isEmpty(r.getHandleImages()) && CollectionUtil.isNotEmpty(r.getProblemImages()))) { + //未处置 + return "1"; + } + //已处置 + return "2"; + } + + private static Function getSzRecordItemDtoSzRecordItemFunction(String recordId) { + return o -> { + SzRecordItem item = BeanCopyUtils.copy(o, SzRecordItem.class); + if (item != null) { + item.setRecordId(recordId); + item.setParts(String.join(PART_SEPARATOR, o.getParts())); + item.setDoc(o.getProblemImages(), o.getHandleImages(), o.getProblemVoices()); + } + return item; + }; } public SzRecordDetailDto getDetailById(String id) { SzRecord record = this.getBaseMapper().selectById(id); if (record != null) { SzRecordDetailDto dto = BeanCopyUtils.copy(record, SzRecordDetailDto.class); - Wrapper wp = Wrappers.lambdaQuery() - .eq(SzRecordItem::getRecordId, id); - List items = szRecordItemMapper.selectList(wp); - if (CollectionUtil.isNotEmpty(items) && dto != null) { - dto.setItems(StreamUtils.toList(items, r -> { - SzRecordItemDto itemDto = BeanCopyUtils.copy(r, SzRecordItemDto.class); - if (itemDto != null) { - itemDto.setParts(Arrays.stream(StringUtils.split(r.getParts(), PART_SEPARATOR)) - .sorted(Comparator.comparingInt(String::length)).collect(Collectors.toList())); - } - return itemDto; - })); + if (dto != null) { + SzCheckingLine line = checkingLineMapper.selectById(record.getLineId()); + dto.setEntries(Optional.ofNullable(line).map(SzCheckingLine::getPoints).orElse("")); + dto.setCreateName(userService.userName(dto.getCreateUid())); + Wrapper wp = Wrappers.lambdaQuery().eq(SzRecordItem::getRecordId, id); + List items = recordItemService.list(wp); + if (CollectionUtil.isNotEmpty(items)) { + dto.setItems(StreamUtils.toList(items, r -> { + SzRecordItemDto itemDto = BeanCopyUtils.copy(r, SzRecordItemDto.class); + if (itemDto != null) { + itemDto.setParts(Arrays.stream(StringUtils.split(r.getParts(), PART_SEPARATOR)) + .sorted(Comparator.comparingInt(String::length)).collect(Collectors.toList())); + SzRecordItem.Doc doc = r.getDocObj(); + if (doc != null) { + itemDto.setProblemImages(doc.getProblemImages()); + itemDto.setHandleImages(doc.getHandleImages()); + itemDto.setProblemVoices(doc.getProblemVoices()); + } + } + return itemDto; + })); + } + if (line != null && StringUtils.isNotBlank(line.getXcId())) { + dto.setAllItem((long) szCheckingItemMapper.selectCount(Wrappers.lambdaQuery().eq(SzCheckingItem::getXcId, line.getXcId()))); + } } - setFiles(dto); return dto; } return null; } - private void setFiles(SzRecordDetailDto dto) { - if (dto != null && StringUtils.isNotEmpty(dto.getPlanId())) { - SzPlanDetailDto planDetailDto = szPlanService.getDetailById(dto.getPlanId()); - if (planDetailDto != null) { - dto.setFiles(planDetailDto.getFiles()); - } - } - } - @Transactional(rollbackFor = Exception.class) public SzRecordDetailDto update(SzRecordDetailDto szRecord) { + SzRecord record = this.getBaseMapper().selectById(szRecord.getId()); + if (record == null) { + throw new SzException("巡查记录不存在"); + } + SzCheckingLine line = checkingLineMapper.selectById(record.getLineId()); + if (line == null) { + throw new SzException("巡查路线不存在"); + } + record = Optional.ofNullable(BeanCopyUtils.copy(szRecord, SzRecord.class)).orElse(record); + int itemCount = szCheckingItemMapper.selectCount(Wrappers.lambdaQuery().eq(SzCheckingItem::getXcId, line.getXcId())); + record.setHandleStatus(handleStatus(szRecord)); + record.setRemaining((long) itemCount - szRecord.getItems().size()); if (CollectionUtil.isNotEmpty(szRecord.getItems())) { - szRecord.getItems().forEach(o -> { - SzRecordItem item = new SzRecordItem(); - item.setId(o.getId()); - item.setRecordId(szRecord.getId()); - item.setContent(o.getContent()); - item.setParts(String.join(PART_SEPARATOR, o.getParts())); - item.setStatus(o.getStatus()); - item.setProblem(o.getProblem()); - szRecordItemMapper.updateById(item); - }); + List items = szRecord.getItems() + .stream().map(getSzRecordItemDtoSzRecordItemFunction(szRecord.getId())) + .collect(Collectors.toList()); + recordItemService.saveOrUpdateBatch(items); } - this.baseMapper.updateById(BeanCopyUtils.copy(szRecord, SzRecord.class)); + this.baseMapper.updateById(record); return szRecord; } @Transactional(rollbackFor = Exception.class) - public Boolean deleteById(String id) { - boolean rt = removeById(id); + public Boolean deleteById(String[] ids) { + boolean rt = removeByIds(Arrays.asList(ids)); if (rt) { - deleteItems(id); + deleteItems(ids); } return rt; } - private void deleteItems(String id) { + private void deleteItems(String[] ids) { Wrapper wp = Wrappers.lambdaQuery() - .eq(SzRecordItem::getRecordId, id); - szRecordItemMapper.delete(wp); + .in(SzRecordItem::getRecordId, Arrays.asList(ids)); + recordItemService.remove(wp); + } + + + public AjaxResult export(List ids) { + List list = Optional.ofNullable(this.listByIds(ids)).orElse(Collections.emptyList()); + ExcelUtil util = new ExcelUtil<>(SzRecordDetailExportDto.class); + return util.exportExcel(list.stream().map(record -> { + SzRecordDetailExportDto exportDto = BeanCopyUtils.copy(record, SzRecordDetailExportDto.class); + if (exportDto != null) { + exportDto.setCreateName(userService.userName(record.getCreateUid())); + exportDto.initDuration(); + } + return exportDto; + }).collect(Collectors.toList()), "checking-record"); } + } diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzSuperviseTaskService.java b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzSuperviseTaskService.java index 026c8c76..1e288857 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzSuperviseTaskService.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzSuperviseTaskService.java @@ -42,7 +42,7 @@ public class SzSuperviseTaskService extends BaseService Date: Mon, 15 Jul 2024 11:40:20 +0800 Subject: [PATCH 02/12] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dulr=E8=B7=AF?= =?UTF-8?q?=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/kms/yxgh/sz/controller/SzCheckingLineController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/controller/SzCheckingLineController.java b/shuili-system/src/main/java/com/kms/yxgh/sz/controller/SzCheckingLineController.java index 6b583c70..cdf4dd46 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/controller/SzCheckingLineController.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/controller/SzCheckingLineController.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; */ @RestController @AllArgsConstructor -@RequestMapping("/run/df/checking-line") +@RequestMapping("/run/sz/checking-line") @Api(tags = "水闸巡视检查路线管理") public class SzCheckingLineController { From 1e0d8782d41b5d8a263d5dc2adab62e9ea20fa6c Mon Sep 17 00:00:00 2001 From: hxh Date: Wed, 17 Jul 2024 09:57:30 +0800 Subject: [PATCH 03/12] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=B0=B4?= =?UTF-8?q?=E9=97=B8=E5=B7=A1=E6=A3=80=E8=AE=B0=E5=BD=95=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kms/yxgh/sz/mapper/SzRecordMapper.java | 50 +++++++++++++++++++ .../kms/yxgh/sz/service/SzRecordService.java | 36 ++++--------- 2 files changed, 60 insertions(+), 26 deletions(-) diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzRecordMapper.java b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzRecordMapper.java index 08c0a19b..1a487bf8 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzRecordMapper.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzRecordMapper.java @@ -1,7 +1,10 @@ package com.kms.yxgh.sz.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.kms.yxgh.sz.domain.SzRecord; +import com.kms.yxgh.sz.dto.SzRecordSearchDto; +import com.kms.yxgh.sz.dto.SzRecordSimpleDto; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.springframework.stereotype.Repository; @@ -19,4 +22,51 @@ public interface SzRecordMapper extends BaseMapper { @Select("SELECT MAX(create_time) FROM bs_sgc_sz_xsjhjl WHERE waga_code = #{wagaCode} and plan_id = #{planId}") Date getLastInsertTimeByWagaCodeAndPlanId(@Param("wagaCode") String wagaCode, @Param("planId") String planId); + @Select("") + IPage search(IPage page, @Param("dto") SzRecordSearchDto dto); } diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzRecordService.java b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzRecordService.java index 2b24990b..d1a304f3 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzRecordService.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzRecordService.java @@ -56,32 +56,16 @@ public class SzRecordService extends BaseService { public IPage search(SearchParam sp) { IPage page = new Page<>(sp.getPageNum(), sp.getPageSize()); SzRecordSearchDto searchDto = sp.getData(); - Wrapper wp = Wrappers.lambdaQuery() - .like(StringUtils.isNotBlank(searchDto.getWagaName()), SzRecord::getWagaName, searchDto.getWagaName()) - .eq(StringUtils.isNotBlank(searchDto.getStatus()), SzRecord::getStatus, searchDto.getStatus()) - .eq(StringUtils.isNotBlank(searchDto.getHandleStatus()), SzRecord::getHandleStatus, searchDto.getHandleStatus()) - .eq(StringUtils.isNotBlank(searchDto.getWagaType()), SzRecord::getWagaType, searchDto.getWagaType()) - .like(StringUtils.isNotBlank(searchDto.getLineName()), SzRecord::getLineName, searchDto.getLineName()) - .eq(StringUtils.isNotBlank(searchDto.getLineType()), SzRecord::getLineType, searchDto.getLineType()) - .eq(StringUtils.isNotBlank(searchDto.getDutyHolderType()), SzRecord::getDutyHolderType, searchDto.getDutyHolderType()) - .orderByDesc(SzRecord::getEndDate); - page = page(page, wp); - if (CollectionUtil.isNotEmpty(page.getRecords())) { - List records = page.getRecords().stream().map(r -> { - SzRecordSimpleDto dto = BeanCopyUtils.copy(r, SzRecordSimpleDto.class); - if (dto != null) { - dto.setCreateName(userService.userName(dto.getCreateUid())); - dto.setOperators(planOperatorMapper.selectOperatorBySubPlanId(r.getSubPlanId())); - } - return dto; - }).collect(Collectors.toList()); - Page recordSearchDtoPage = new Page<>(page.getCurrent(), page.getSize(), - page.getTotal()); - recordSearchDtoPage.setRecords(records); - return recordSearchDtoPage; - } else { - return new Page<>(page.getCurrent(), page.getSize(), page.getTotal()); - } + IPage records = this.getBaseMapper().search(page, searchDto); + records.getRecords().forEach(r -> { + SzRecordSimpleDto dto = BeanCopyUtils.copy(r, SzRecordSimpleDto.class); + if (dto != null) { + dto.setCreateName(userService.userName(dto.getCreateUid())); + dto.setOperators(planOperatorMapper.selectOperatorBySubPlanId(r.getSubPlanId())); + } + }); + return records; + } @Transactional(rollbackFor = Exception.class) From 3f143dcf281a448436254358e6d5aadfbe8281b5 Mon Sep 17 00:00:00 2001 From: hxh Date: Fri, 19 Jul 2024 14:51:27 +0800 Subject: [PATCH 04/12] =?UTF-8?q?fix:=20=E6=B0=B4=E9=97=B8=E5=B7=A1?= =?UTF-8?q?=E6=A3=80=E8=AE=B0=E5=BD=95adcd=E6=9F=A5=E8=AF=A2=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/kms/yxgh/sz/dto/SzRecordSearchDto.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzRecordSearchDto.java b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzRecordSearchDto.java index 09fdacaf..42c0223e 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzRecordSearchDto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzRecordSearchDto.java @@ -1,5 +1,6 @@ package com.kms.yxgh.sz.dto; +import com.kms.yxgh.common.dto.IAdcd; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -17,7 +18,7 @@ import java.util.List; @Data @ApiModel("水闸巡视检查记录检索条件") -public class SzRecordSearchDto { +public class SzRecordSearchDto implements IAdcd { @ApiModelProperty("行政区划") private String adcd; From 8a480b33db643396aa65ca1a36ffaa0b346453b8 Mon Sep 17 00:00:00 2001 From: hxh Date: Fri, 19 Jul 2024 15:17:30 +0800 Subject: [PATCH 05/12] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=8A=A5?= =?UTF-8?q?=E5=90=8D=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/kms/yg/sz/mapper/BsSgcSzSafeJbxxMapper.java | 2 +- .../main/java/com/kms/yxgh/sz/mapper/SzCheckingLineMapper.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzSafeJbxxMapper.java b/shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzSafeJbxxMapper.java index 36b923b8..ea6817dc 100644 --- a/shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzSafeJbxxMapper.java +++ b/shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzSafeJbxxMapper.java @@ -153,7 +153,7 @@ public interface BsSgcSzSafeJbxxMapper extends BaseMapper { @Result(property = "wagaCode", column = "waga_code"), @Result(property = "dutyHolders", column = "waga_code", javaType = List.class, - many = @Many(select = "com.kms.yg.df.mapper.BsSgcSzFzrMapper.getByWagaCode")) + many = @Many(select = "com.kms.yg.sz.mapper.com.kms.yg.df.mapper.BsSgcSzFzrMapper.getByWagaCode")) }) IPage getSzCheckingLineProjectListWithPage(Page page, @Param("dto") SzCheckingLineSearchDto dto); diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzCheckingLineMapper.java b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzCheckingLineMapper.java index d780c667..2869c89e 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzCheckingLineMapper.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzCheckingLineMapper.java @@ -61,7 +61,7 @@ public interface SzCheckingLineMapper extends BaseMapper { @Result(property = "wagaCode", column = "waga_code"), @Result(property = "dutyHolders", column = "waga_code", javaType = List.class, - many = @Many(select = "com.kms.yg.df.mapper.BsSgcSzFzrMapper.getByDikeCode")) + many = @Many(select = "com.kms.yg.sz.mapper.BsSgcSzFzrMapper.getByWagaCode")) }) IPage search(Page page, @Param("dto") SzCheckingLineSearchDto dto); From b8dcfe9bb119560e2e016f9e931e381344b7e9b1 Mon Sep 17 00:00:00 2001 From: hxh Date: Fri, 19 Jul 2024 15:41:06 +0800 Subject: [PATCH 06/12] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=8A=A5?= =?UTF-8?q?=E5=90=8D=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/kms/yg/sz/mapper/BsSgcSzSafeJbxxMapper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzSafeJbxxMapper.java b/shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzSafeJbxxMapper.java index ea6817dc..fe8af996 100644 --- a/shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzSafeJbxxMapper.java +++ b/shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzSafeJbxxMapper.java @@ -153,7 +153,7 @@ public interface BsSgcSzSafeJbxxMapper extends BaseMapper { @Result(property = "wagaCode", column = "waga_code"), @Result(property = "dutyHolders", column = "waga_code", javaType = List.class, - many = @Many(select = "com.kms.yg.sz.mapper.com.kms.yg.df.mapper.BsSgcSzFzrMapper.getByWagaCode")) + many = @Many(select = "com.kms.yg.sz.mapper.BsSgcSzFzrMapper.getByWagaCode")) }) IPage getSzCheckingLineProjectListWithPage(Page page, @Param("dto") SzCheckingLineSearchDto dto); From 73e501f092f70bbb2f891464fd0af48f646429cd Mon Sep 17 00:00:00 2001 From: hxh Date: Mon, 22 Jul 2024 10:55:38 +0800 Subject: [PATCH 07/12] =?UTF-8?q?fix:=20=E8=8F=9C=E5=8D=95sql=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/sy/v1.4.0/全量脚本/menu.sql | 31 +++++++++++++------- sql/sy/v1.4.0/增量脚本/v1.4.0-update.sql | 19 +++++------- 2 files changed, 28 insertions(+), 22 deletions(-) diff --git a/sql/sy/v1.4.0/全量脚本/menu.sql b/sql/sy/v1.4.0/全量脚本/menu.sql index e0c67aa3..7b11406f 100644 --- a/sql/sy/v1.4.0/全量脚本/menu.sql +++ b/sql/sy/v1.4.0/全量脚本/menu.sql @@ -54,10 +54,7 @@ INSERT IGNORE INTO sys_menu VALUES('16f8801ba2e34cb29c09e4829295ba9b', '资源目录', '9084032ec3f1413daf759c0cc38e1083', 0, 'layerResource', 'aiSupervision/layerManage/resource/index', 1, 'C', '0', '0', NULL, '#', '1', '2024-03-06 15:28:49', '', '2024-03-06 15:28:49', '', NULL); INSERT IGNORE INTO sys_menu (id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) -VALUES('1cd0041896bd41dcac9e1cd6d203ccbc', '巡查计划管理', 'bc79940eb32443fea3ac016fd224de0a', 1, 'inspectionPlan', 'sluice/runManage/enginerring/inspectionPlan/index', 1, 'C', '1', '0', '', 'clipboard', '1', '2024-01-15 16:52:22', '1', '2024-03-18 17:05:33', '', NULL); -INSERT IGNORE INTO sys_menu -(id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) -VALUES('1e52f525b387400e87afff319e26fd24', '配置', '9ab0791b65c64b189158a1a0098c8244', 1, '', NULL, 1, 'F', '0', '0', 'sz:run:checking:plan:config', '#', '1', '2024-03-25 15:44:05', '1', '2024-03-25 15:44:13', '', NULL); +VALUES('1cd0041896bd41dcac9e1cd6d203ccbc', '巡查计划管理', 'bc79940eb32443fea3ac016fd224de0a', 1, 'inspectionPlan', 'sluice/runManage/enginerring/inspectionPlan/index', 1, 'C', '0', '0', '', 'clipboard', '1', '2024-01-15 16:52:22', '1', '2024-03-18 17:05:33', '', NULL); INSERT IGNORE INTO sys_menu (id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) VALUES('25adc36ec2c74f02a84d23a40012734c', '办法管理', 'ae58fd1b4e57475eb740598f0c7c44c2', 0, 'dikeMethodsManage', 'dike/runManage/supervisionInspetion/methodsManage/index', 1, 'C', '0', '0', '', 'build', '1', '2024-02-28 15:03:15', '1', '2024-03-18 09:47:18', '', NULL); @@ -279,9 +276,6 @@ INSERT IGNORE INTO sys_menu VALUES('9a725e61d2fe4c70887c7c50e0cf9dd0', '查看', 'bf67c547f2824a74b15c80386ab5181c', 1, '', NULL, 1, 'F', '0', '0', 'sz:run:jc:report:view', '#', '1', '2024-03-25 16:28:49', '', '2024-03-25 16:28:49', '', NULL); INSERT IGNORE INTO sys_menu (id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) -VALUES('9ab0791b65c64b189158a1a0098c8244', '水闸巡查管理', 'bc79940eb32443fea3ac016fd224de0a', 2, 'patrolManage', 'sluice/runManage/enginerring/patrolManage/index', 1, 'C', '0', '0', '', 'icon-wxjl', '1', '2024-02-01 09:59:21', '1', '2024-02-01 10:35:38', '', NULL); -INSERT IGNORE INTO sys_menu -(id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) VALUES('9d266937ea0b407e84fcc3f9c86335a9', '核查任务管理', '26db00db08f940758527b9a9b99ab387', 1, 'inspectTasks', 'dike/runManage/dangerWeakProject/inspectTasks/index', 1, 'C', '0', '0', '', 'documentation', '1', '2024-03-21 09:20:45', '1', '2024-03-21 09:23:12', '', NULL); INSERT IGNORE INTO sys_menu (id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) @@ -339,9 +333,6 @@ INSERT IGNORE INTO sys_menu VALUES('bf67c547f2824a74b15c80386ab5181c', '核查报告管理', '9643924e57ad464abdfb233614b9a7b5', 2, 'inspectReport', 'sluice/runManage/dangerWeakProject/inspectReport/index', 1, 'C', '0', '0', NULL, 'education', '1', '2024-03-20 16:33:00', '', '2024-03-20 16:33:00', '', NULL); INSERT IGNORE INTO sys_menu (id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) -VALUES('c46a2c8204904d208b3c524cf698732c', '计划查看', '9ab0791b65c64b189158a1a0098c8244', 1, '', NULL, 1, 'F', '0', '0', 'sz:run:checking:plan:view', '#', '1', '2024-03-25 15:44:45', '', '2024-03-25 15:44:45', '', NULL); -INSERT IGNORE INTO sys_menu -(id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) VALUES('c5687c7772804e328a7175605d28dff9', '编辑', '57f194c1c0544120b2ec9ee358fe0bd3', 1, '', NULL, 1, 'F', '0', '0', 'sz:run:jc:task:edit', '#', '1', '2024-03-25 16:26:29', '', '2024-03-25 16:26:29', '', NULL); INSERT IGNORE INTO sys_menu (id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) @@ -447,7 +438,7 @@ INSERT IGNORE INTO sys_menu VALUES('f5597866cbda457d8966e97e7aa0a15c', '巡查项详情', 'd829361aed664acdbaab128c89a6ec7c', 1, 'inspectionItemDetails', 'dike/runManage/enginerring/inspectionItems/inspectionItemDetails', 1, 'C', '1', '0', NULL, '#', '1', '2024-03-18 14:08:37', '', '2024-03-18 14:08:37', '', NULL); INSERT IGNORE INTO sys_menu (id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) -VALUES('f6f3db8b9a71461487c1d366d5d2e6ba', '巡查记录', 'bc79940eb32443fea3ac016fd224de0a', 2, 'inspectionRecords', 'sluice/runManage/enginerring/inspectionRecords/index', 1, 'C', '1', '0', '', 'documentation', '1', '2024-01-16 10:04:51', '1', '2024-02-01 14:43:18', '', NULL); +VALUES('f6f3db8b9a71461487c1d366d5d2e6ba', '巡查记录', 'bc79940eb32443fea3ac016fd224de0a', 2, 'inspectionRecords', 'sluice/runManage/enginerring/inspectionRecords/index', 1, 'C', '0', '0', '', 'documentation', '1', '2024-01-16 10:04:51', '1', '2024-02-01 14:43:18', '', NULL); INSERT IGNORE INTO sys_menu (id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) VALUES('f7363d3c7c134b408a6f67a2698d15cd', '查看', 'ebfbabbfc44f45deb4f77c2a80af1a13', 1, '', NULL, 1, 'F', '0', '0', 'sz:run:dtjc:view', '#', '1', '2024-03-25 16:33:23', '', '2024-03-25 16:33:23', '', NULL); @@ -552,6 +543,24 @@ INSERT IGNORE INTO sys_menu (id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) VALUES('6f9467f042d94a21b34e55cdd3c9dc3b', '新增/编辑计划', '0c65b8e973b245f6b7453d64260ae1c9', 1, 'createMaintenancePlan', 'dike/runManage/maintenance/maintenancePlan/CreateMaintenancePlan', 1, 'C', '1', '0', '', '#', '1', '2024-07-08 15:06:52', '1', '2024-07-08 16:52:46', '', NULL); + +INSERT IGNORE INTO sys_menu +(id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) +VALUES('28444326c4b54b578b3b7214f3d41524', '巡查路线管理', 'bc79940eb32443fea3ac016fd224de0a', 1, 'inspectionRouteManage', 'sluice/runManage/enginerring/inspectionRouteManage/index', 1, 'C', '0', '0', NULL, 'guide', '1', '2024-07-19 13:56:47', '', '2024-07-19 13:56:47', '', NULL); + +INSERT IGNORE INTO sys_menu +(id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) +VALUES('5deee304c07743a28ac1fdc552ebd412', '巡查计划新增/编辑', 'bc79940eb32443fea3ac016fd224de0a', 5, 'createInspectionPlan', 'sluice/runManage/enginerring/inspectionPlan/CreateInspectionPlan', 1, 'C', '1', '0', NULL, '#', '1', '2024-06-07 19:27:05', '', '2024-06-07 19:27:05', '', NULL); + +INSERT IGNORE INTO sys_menu +(id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) +VALUES('5a2198ef8acc400d9fcceaecadabc3e9', '巡查记录新增/编辑', 'bc79940eb32443fea3ac016fd224de0a', 5, 'CreateInspectionRecords', 'sluice/runManage/enginerring/inspectionRecords/CreateInspectionRecords', 1, 'C', '1', '0', NULL, '#', '1', '2024-07-19 15:00:42', '', '2024-07-19 15:00:42', '', NULL); + +INSERT IGNORE INTO sys_menu +(id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) +VALUES('432ec45a2162484e86aa012241682730', '路线设置', 'bc79940eb32443fea3ac016fd224de0a', 0, 'createRoutePage', 'sluice/runManage/enginerring/inspectionRouteManage/CreateRoutePage', 1, 'C', '1', '0', NULL, '#', '1', '2024-07-19 14:56:39', '', '2024-07-19 14:56:39', '', NULL); + + INSERT IGNORE INTO sys_menu (id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) VALUES('631e305410fb4b1f9ff8eb9b079121a4', '列表项通过/驳回按钮', 'cf158177e62e49b9b1fd7d28e7de07cd', 0, '', NULL, 1, 'F', '0', '0', 'sz:run:inspection:accept:item:submit', '#', '1', '2024-07-18 11:46:20', '', '2024-07-18 11:46:20', '', NULL); diff --git a/sql/sy/v1.4.0/增量脚本/v1.4.0-update.sql b/sql/sy/v1.4.0/增量脚本/v1.4.0-update.sql index d90c194d..35a78d4b 100644 --- a/sql/sy/v1.4.0/增量脚本/v1.4.0-update.sql +++ b/sql/sy/v1.4.0/增量脚本/v1.4.0-update.sql @@ -58,16 +58,6 @@ CREATE TABLE `bs_sgc_sp_objrole` ( PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='审批对象角色表'; -CREATE TABLE `bs_sgc_sp_objrole` ( - `ID` int NOT NULL AUTO_INCREMENT COMMENT '审批对象角色编号', - `ROLE_ID` varchar(50) NOT NULL COMMENT '角色ID', - `OBJ_TYPE` varchar(50) NOT NULL COMMENT '对象类型', - `CREATE_UID` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人', - `CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间', - `UPDATE_UID` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '最近修改人', - `UPDATE_TIME` datetime DEFAULT NULL COMMENT '最近修改时间', - PRIMARY KEY (`ID`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='审批对象角色表'; ALTER TABLE `bs_sgc_sz_yhjh` ADD `WAGA_NAME` varchar(50) COLLATE utf8mb4_general_ci COMMENT '水闸名称'; ALTER TABLE `bs_sgc_sz_yhjh` ADD `WAGA_TYPE` int COMMENT '水闸类型'; @@ -177,7 +167,8 @@ CREATE TABLE `bs_sgc_job_task`( delete from sys_menu where id in ( '2af1e46844a04dc1898f7bf27afd09bd','88a90a6452fb4af7b070b37b83fb73a4','dce5c717ecaf475ea71ca2d095232ec7', '385993aea2c44283a21f09772b909bc3','e6d27d32dfbe4201ac7ea1036d05494e','025ea8a420a64bc399d6547d74542b24','e92cae0b06d242c4aa5bfc41d7c3c26c', -'f512341df2a8454e830fd2635e34b1bb','c85c1d9751174b4ba7b9284d0751dcd7','c825178955e4420a94238005a54ac084','364f425d93344ffa890c5ec185c28c49' +'f512341df2a8454e830fd2635e34b1bb','c85c1d9751174b4ba7b9284d0751dcd7','c825178955e4420a94238005a54ac084','364f425d93344ffa890c5ec185c28c49', +'9ab0791b65c64b189158a1a0098c8244','c46a2c8204904d208b3c524cf698732c','1e52f525b387400e87afff319e26fd24' ) update sys_menu set visible = '0' and menu_name = '维养计划' where id = '3f7cf2a425984fc391100536d472517c'; @@ -185,6 +176,12 @@ update sys_menu set visible = '0' and menu_name = '维养计划' where id = '038 update sys_menu set visible = '0' and menu_name = '维养记录' where id = '29a31582ce3147449b6c0d6718f00d38'; update sys_menu set visible = '0' and menu_name = '维养记录' where id = 'f3e4f97a9aa8493892e8fbb3eeaa0efe'; +update sys_menu set visible = '0' where id = 'f6f3db8b9a71461487c1d366d5d2e6ba'; +update sys_menu set visible = '0' where id = 'fe97025934b64dd5b45e35d92bfac1f2'; + +update sys_menu set visible = '0' where id = '1cd0041896bd41dcac9e1cd6d203ccbc'; +update sys_menu set visible = '0' where id = '0e55e53cf99f417d8a3cb058f7f525ec'; + INSERT INTO sys_dict_type (id, dict_name, dict_type, status, create_uid, create_time, update_uid, update_time, remark) From 1142db375b2fe8fc4221f99c8cb6b95bc5dd0ff0 Mon Sep 17 00:00:00 2001 From: hxh Date: Mon, 22 Jul 2024 14:49:12 +0800 Subject: [PATCH 08/12] =?UTF-8?q?feat:=20=E8=A1=A5=E5=85=85=E6=B0=B4?= =?UTF-8?q?=E9=97=B8=E5=B7=A1=E6=A3=80=E6=9D=83=E9=99=90=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/sy/v1.4.0/全量脚本/menu.sql | 46 ++++++++++++++++---- sql/sy/v1.4.0/增量脚本/v1.4.0-update.sql | 3 +- 2 files changed, 39 insertions(+), 10 deletions(-) diff --git a/sql/sy/v1.4.0/全量脚本/menu.sql b/sql/sy/v1.4.0/全量脚本/menu.sql index 7b11406f..a5f0a14e 100644 --- a/sql/sy/v1.4.0/全量脚本/menu.sql +++ b/sql/sy/v1.4.0/全量脚本/menu.sql @@ -78,9 +78,6 @@ INSERT IGNORE INTO sys_menu VALUES('2b74d23af5f5435594b1c12cb573700d', '调度运用管理', '2e2e13824d9c4a81b14314c8bcb307b0', 0, 'utilize', 'sluice/runManage/dispatch/utilize/index', 1, 'C', '0', '0', '', 'chart', '1', '2024-03-11 10:48:59', '1', '2024-03-11 10:51:00', '', NULL); INSERT IGNORE INTO sys_menu (id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) -VALUES('2be2e1dec90e451b9a9f740d5216fa79', '添加', '1cd0041896bd41dcac9e1cd6d203ccbc', 1, '', NULL, 1, 'F', '0', '0', 'sz:run:checking:plan:add', '#', '1', '2024-03-25 15:47:32', '', '2024-03-25 15:47:32', '', NULL); -INSERT IGNORE INTO sys_menu -(id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) VALUES('2d26df05dea643b5842ac12e39f25785', '维修养护', 'a56aab90c27d4d9bb9f896de8e537944', 1, 'maintenance', 'sluice/runManage/maintenance/index', 1, 'M', '0', '0', '', 'icon-wxyh', '1', '2024-01-16 10:19:04', '1', '2024-01-16 17:33:03', '', NULL); INSERT IGNORE INTO sys_menu (id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) @@ -204,9 +201,6 @@ INSERT IGNORE INTO sys_menu VALUES('7789c3d7444d452c9d4eed3cf6720745', '导出', '3e82ff82619048c3af822e81f1dc8d42', 1, '', NULL, 1, 'F', '0', '0', 'sz:run:sup:meth:down', '#', '1', '2024-03-25 16:16:12', '', '2024-03-25 16:16:12', '', NULL); INSERT IGNORE INTO sys_menu (id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) -VALUES('778aa09ec6b94350a38b114b3249cb8f', '编辑', '1cd0041896bd41dcac9e1cd6d203ccbc', 1, '', NULL, 1, 'F', '0', '0', 'sz:run:checking:plan:edit', '#', '1', '2024-03-25 15:48:00', '', '2024-03-25 15:48:00', '', NULL); -INSERT IGNORE INTO sys_menu -(id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) VALUES('77a5de4ee8fd4e5484b6d96667fd7c6a', '堤防测报管理', 'a382ef796b234538a18a30cac8b8ec69', 0, 'testReportManage', 'dike/runManage/waterRainReport/testReportManage/index', 1, 'C', '0', '0', '', 'cascader', '1', '2024-02-04 10:18:15', '1', '2024-03-04 14:11:29', '', NULL); INSERT IGNORE INTO sys_menu (id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) @@ -432,9 +426,6 @@ INSERT IGNORE INTO sys_menu VALUES('f4d04537753644f2bb81eb5729814031', '删除', '773200b686d14ed3bdc4f0486229547f', 1, '', NULL, 1, 'F', '0', '0', 'sz:run:du:plan:delete', '#', '1', '2024-03-25 16:07:05', '', '2024-03-25 16:07:05', '', NULL); INSERT IGNORE INTO sys_menu (id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) -VALUES('f53483a7234e4be2908ba8122d1a147c', '删除', '1cd0041896bd41dcac9e1cd6d203ccbc', 1, '', NULL, 1, 'F', '0', '0', 'sz:run:checking:plan:delete', '#', '1', '2024-03-25 15:48:15', '', '2024-03-25 15:48:15', '', NULL); -INSERT IGNORE INTO sys_menu -(id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) VALUES('f5597866cbda457d8966e97e7aa0a15c', '巡查项详情', 'd829361aed664acdbaab128c89a6ec7c', 1, 'inspectionItemDetails', 'dike/runManage/enginerring/inspectionItems/inspectionItemDetails', 1, 'C', '1', '0', NULL, '#', '1', '2024-03-18 14:08:37', '', '2024-03-18 14:08:37', '', NULL); INSERT IGNORE INTO sys_menu (id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) @@ -681,3 +672,40 @@ VALUES('b5fad7903f1b4b26bebb6101a1c9ef0b', '批量删除按钮', '3f7cf2a425984f INSERT IGNORE INTO sys_menu (id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) VALUES('9a2823e740d74b03b28a0486a54ef3a4', '新增计划按钮', '3f7cf2a425984fc391100536d472517c', 0, '', NULL, 1, 'F', '0', '0', 'df:run:inspection:plan:add', '#', '1', '2024-07-18 11:29:55', '', '2024-07-18 11:29:55', '', NULL); + +INSERT IGNORE INTO sys_menu +(id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) +VALUES('0ea48df464594b00bbeb668c98d58a9c', '列表项删除按钮', 'f6f3db8b9a71461487c1d366d5d2e6ba', 0, '', NULL, 1, 'F', '0', '0', 'sz:run:inspection:record:item:del', '#', '1', '2024-07-22 14:47:18', '', '2024-07-22 14:47:18', '', NULL); +INSERT IGNORE INTO sys_menu +(id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) +VALUES('5e09077a228542bcbb778a1288302d9f', '列表项处置按钮', 'f6f3db8b9a71461487c1d366d5d2e6ba', 0, '', NULL, 1, 'F', '0', '0', 'sz:run:inspection:record:item:deal', '#', '1', '2024-07-22 14:46:57', '', '2024-07-22 14:46:57', '', NULL); +INSERT IGNORE INTO sys_menu +(id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) +VALUES('db5bb414f989410db744436c8aaaa3fa', '列表项编辑按钮', 'f6f3db8b9a71461487c1d366d5d2e6ba', 0, '', NULL, 1, 'F', '0', '0', 'sz:run:inspection:record:item:edit', '#', '1', '2024-07-22 14:46:32', '', '2024-07-22 14:46:32', '', NULL); +INSERT IGNORE INTO sys_menu +(id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) +VALUES('f871f91a89de4079814d3b52e82d1152', '批量删除按钮', 'f6f3db8b9a71461487c1d366d5d2e6ba', 0, '', NULL, 1, 'F', '0', '0', 'sz:run:inspection:record:delAll', '#', '1', '2024-07-22 14:46:09', '', '2024-07-22 14:46:09', '', NULL); +INSERT IGNORE INTO sys_menu +(id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) +VALUES('ff0a7e44eca9402f88f1c28bd0d9aaae', '批量导出按钮', 'f6f3db8b9a71461487c1d366d5d2e6ba', 0, '', NULL, 1, 'F', '0', '0', 'sz:run:inspection:record:export', '#', '1', '2024-07-22 14:45:42', '', '2024-07-22 14:45:42', '', NULL); +INSERT IGNORE INTO sys_menu +(id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) +VALUES('702fa200370a42ee875ebc172ea9a609', '列表项删除按钮', '1cd0041896bd41dcac9e1cd6d203ccbc', 0, '', NULL, 1, 'F', '0', '0', 'sz:run:inspection:plan:item:del', '#', '1', '2024-07-22 14:41:36', '', '2024-07-22 14:41:36', '', NULL); +INSERT IGNORE INTO sys_menu +(id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) +VALUES('e8518a242e2141428c46ddb60951468d', '列表项编辑按钮', '1cd0041896bd41dcac9e1cd6d203ccbc', 0, '', NULL, 1, 'F', '0', '0', 'sz:run:inspection:plan:item:edit', '#', '1', '2024-07-22 14:41:10', '', '2024-07-22 14:41:10', '', NULL); +INSERT IGNORE INTO sys_menu +(id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) +VALUES('4bcee1cd4ceb4f0dba500b46cf21c295', '批量删除按钮', '1cd0041896bd41dcac9e1cd6d203ccbc', 0, '', NULL, 1, 'F', '0', '0', 'sz:run:inspection:plan:delAll', '#', '1', '2024-07-22 14:40:47', '', '2024-07-22 14:40:47', '', NULL); +INSERT IGNORE INTO sys_menu +(id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) +VALUES('936cacc4c993468a9c9a8674bb0d6d42', '列表项删除按钮', '28444326c4b54b578b3b7214f3d41524', 0, '', NULL, 1, 'F', '0', '0', 'sz:run:inspection:line:item:del', '#', '1', '2024-07-22 14:34:11', '', '2024-07-22 14:34:11', '', NULL); +INSERT IGNORE INTO sys_menu +(id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) +VALUES('c203c436a14e4ee9b372e4a87d7b36e5', '列表项编辑按钮', '28444326c4b54b578b3b7214f3d41524', 0, '', NULL, 1, 'F', '0', '0', 'sz:run:inspection:line:item:edit', '#', '1', '2024-07-22 14:33:46', '', '2024-07-22 14:33:46', '', NULL); +INSERT IGNORE INTO sys_menu +(id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) +VALUES('f3390f85d972479cac439d8e30cd4d9c', '批量导出按钮', '28444326c4b54b578b3b7214f3d41524', 0, '', NULL, 1, 'F', '0', '0', 'sz:run:inspection:line:export', '#', '1', '2024-07-22 14:33:22', '', '2024-07-22 14:33:22', '', NULL); +INSERT IGNORE INTO sys_menu +(id, menu_name, parent_id, order_num, `path`, component, is_frame, menu_type, visible, status, perms, icon, create_uid, create_time, update_uid, update_time, remark, parent_name) +VALUES('18a2410c2d0f4ad48655099da9e9fa98', '批量删除按钮', '28444326c4b54b578b3b7214f3d41524', 0, '', NULL, 1, 'F', '0', '0', 'sz:run:inspection:line:delAll', '#', '1', '2024-07-22 14:27:00', '', '2024-07-22 14:27:00', '', NULL); \ No newline at end of file diff --git a/sql/sy/v1.4.0/增量脚本/v1.4.0-update.sql b/sql/sy/v1.4.0/增量脚本/v1.4.0-update.sql index 35a78d4b..bab09b7d 100644 --- a/sql/sy/v1.4.0/增量脚本/v1.4.0-update.sql +++ b/sql/sy/v1.4.0/增量脚本/v1.4.0-update.sql @@ -168,7 +168,8 @@ delete from sys_menu where id in ( '2af1e46844a04dc1898f7bf27afd09bd','88a90a6452fb4af7b070b37b83fb73a4','dce5c717ecaf475ea71ca2d095232ec7', '385993aea2c44283a21f09772b909bc3','e6d27d32dfbe4201ac7ea1036d05494e','025ea8a420a64bc399d6547d74542b24','e92cae0b06d242c4aa5bfc41d7c3c26c', 'f512341df2a8454e830fd2635e34b1bb','c85c1d9751174b4ba7b9284d0751dcd7','c825178955e4420a94238005a54ac084','364f425d93344ffa890c5ec185c28c49', -'9ab0791b65c64b189158a1a0098c8244','c46a2c8204904d208b3c524cf698732c','1e52f525b387400e87afff319e26fd24' +'9ab0791b65c64b189158a1a0098c8244','c46a2c8204904d208b3c524cf698732c','1e52f525b387400e87afff319e26fd24', +'2be2e1dec90e451b9a9f740d5216fa79','778aa09ec6b94350a38b114b3249cb8f','f53483a7234e4be2908ba8122d1a147c','a6b7f717b0af4076963b023e05b837a4' ) update sys_menu set visible = '0' and menu_name = '维养计划' where id = '3f7cf2a425984fc391100536d472517c'; From a6240781e9a1c26f572558df793efc31153ad387 Mon Sep 17 00:00:00 2001 From: hxh Date: Tue, 23 Jul 2024 18:24:33 +0800 Subject: [PATCH 09/12] =?UTF-8?q?fix:=20=E8=A1=A5=E5=85=85=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/kms/yxgh/sz/mapper/SzRecordMapper.java | 12 +++++++++++- .../com/kms/yxgh/sz/service/SzRecordService.java | 7 ++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzRecordMapper.java b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzRecordMapper.java index 1a487bf8..0e250c37 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzRecordMapper.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzRecordMapper.java @@ -28,9 +28,18 @@ public interface SzRecordMapper extends BaseMapper { "r.waga_code," + "r.waga_name, " + "r.waga_type, " + + "r.line_id, " + "r.line_name, " + "r.line_type, " + + "r.plan_id, " + + "r.plan_name, " + + "r.sub_plan_id, " + + "r.sub_plan_name, " + + "r.sub_plan_start_date, " + + "r.sub_plan_end_date, " + "r.duty_holder_type, " + + "plan.plan_type, " + + "r.scope, " + "r.status, " + "r.handle_status, " + "r.start_date, " + @@ -40,7 +49,8 @@ public interface SzRecordMapper extends BaseMapper { "r.create_uid, " + "r.update_uid " + "FROM bs_sgc_sz_xsjhjl r " + - "Left JOIN att_waga_base df ON r.waga_code = df.waga_code and df.expr_date is null " + + "LEFT JOIN att_waga_base df ON r.waga_code = df.waga_code and df.expr_date is null " + + "LEFT JOIN bs_sgc_sz_xsjh plan ON r.plan_id = plan.id " + "where 1=1" + " " + "and r.waga_name like concat('%',#{dto.wagaName},'%') " + diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzRecordService.java b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzRecordService.java index d1a304f3..ddd7d681 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzRecordService.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzRecordService.java @@ -58,11 +58,8 @@ public class SzRecordService extends BaseService { SzRecordSearchDto searchDto = sp.getData(); IPage records = this.getBaseMapper().search(page, searchDto); records.getRecords().forEach(r -> { - SzRecordSimpleDto dto = BeanCopyUtils.copy(r, SzRecordSimpleDto.class); - if (dto != null) { - dto.setCreateName(userService.userName(dto.getCreateUid())); - dto.setOperators(planOperatorMapper.selectOperatorBySubPlanId(r.getSubPlanId())); - } + r.setCreateName(userService.userName(r.getCreateUid())); + r.setOperators(planOperatorMapper.selectOperatorBySubPlanId(r.getSubPlanId())); }); return records; From e07a72308cad6cdd7b99c9f07661bd41192b2afa Mon Sep 17 00:00:00 2001 From: hxh Date: Wed, 24 Jul 2024 10:15:31 +0800 Subject: [PATCH 10/12] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dsql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/kms/yxgh/sz/mapper/SzPlanMapper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzPlanMapper.java b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzPlanMapper.java index fb3aa504..e73230cc 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzPlanMapper.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzPlanMapper.java @@ -117,7 +117,7 @@ public interface SzPlanMapper extends BaseMapper { @Result(property = "planType", column = "plan_type"), @Result(property = "subPlanId", column = "sub_plan_id"), @Result(property = "recordId", column = "record_id"), - @Result(property = "operator", column = "sub_plan_id", javaType = List.class, many = @Many(select = "com.kms.yxgh.df.mapper.SzPlanOperatorMapper.selectOperatorBySubPlanId")) + @Result(property = "operator", column = "sub_plan_id", javaType = List.class, many = @Many(select = "com.kms.yxgh.sz.mapper.SzPlanOperatorMapper.selectOperatorBySubPlanId")) }) IPage subSearch(Page page, @Param("searchDto") SzSubPlanSearchDto searchDto); From 2c17f5d50647390beece9c8949c33a2351972226 Mon Sep 17 00:00:00 2001 From: hxh Date: Wed, 24 Jul 2024 10:22:27 +0800 Subject: [PATCH 11/12] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dsql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/kms/yxgh/sz/mapper/SzRecordMapper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzRecordMapper.java b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzRecordMapper.java index 0e250c37..c8b584e1 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzRecordMapper.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzRecordMapper.java @@ -38,7 +38,7 @@ public interface SzRecordMapper extends BaseMapper { "r.sub_plan_start_date, " + "r.sub_plan_end_date, " + "r.duty_holder_type, " + - "plan.plan_type, " + + "plan.type as plan_type, " + "r.scope, " + "r.status, " + "r.handle_status, " + From d80bf0a0b6dc431c2002820f72920bf8ec35e474 Mon Sep 17 00:00:00 2001 From: hxh Date: Wed, 24 Jul 2024 15:45:34 +0800 Subject: [PATCH 12/12] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=B7=A5?= =?UTF-8?q?=E7=A8=8B=E8=A7=84=E6=A8=A1=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/kms/yxgh/sz/dto/SzYhPlanSearchDto.java | 3 +++ .../src/main/java/com/kms/yxgh/sz/mapper/SzYhPlanMapper.java | 3 +++ 2 files changed, 6 insertions(+) diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzYhPlanSearchDto.java b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzYhPlanSearchDto.java index 80304c80..8fc4dbe3 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzYhPlanSearchDto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzYhPlanSearchDto.java @@ -34,6 +34,9 @@ public class SzYhPlanSearchDto implements IAdcd { @ApiModelProperty("水闸类型") private String wagaType; + @ApiModelProperty("工程规模") + private String engScal; + @ApiModelProperty("水闸id") private String wagaId; diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzYhPlanMapper.java b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzYhPlanMapper.java index 09cf4722..2e74ac2d 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzYhPlanMapper.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzYhPlanMapper.java @@ -42,6 +42,9 @@ public interface SzYhPlanMapper extends BaseMapper { "", "AND jd.waga_code = #{dto.wagaCode} ", "", + "", + "AND jb.eng_scal = #{dto.engScal} ", + "", "", "AND yh.name LIKE CONCAT('%',#{dto.name},'%') ", "",