diff --git a/pom.xml b/pom.xml index 997596f..ee7d83b 100644 --- a/pom.xml +++ b/pom.xml @@ -18,6 +18,8 @@ 21 true UTF-8 + + 3.3.2 @@ -33,7 +35,7 @@ com.alibaba easyexcel - 3.3.2 + ${alibaba.easyexcel.version} diff --git a/src/main/java/com/gunshi/project/xyt/controller/EngineeringDrainageController.java b/src/main/java/com/gunshi/project/xyt/controller/EngineeringDrainageController.java index 4750a5e..4cdf698 100644 --- a/src/main/java/com/gunshi/project/xyt/controller/EngineeringDrainageController.java +++ b/src/main/java/com/gunshi/project/xyt/controller/EngineeringDrainageController.java @@ -3,16 +3,23 @@ package com.gunshi.project.xyt.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gunshi.core.result.R; import com.gunshi.project.xyt.entity.dto.StDamDto; +import com.gunshi.project.xyt.entity.dto.StEqptDto; import com.gunshi.project.xyt.entity.dto.StResDto; import com.gunshi.project.xyt.entity.dto.StRvDto; import com.gunshi.project.xyt.entity.vo.StResVo; import com.gunshi.project.xyt.model.StDamB; +import com.gunshi.project.xyt.model.StEqptB; import com.gunshi.project.xyt.model.StResB; import com.gunshi.project.xyt.model.StRvB; import com.gunshi.project.xyt.service.EngineeringDrainageService; +import com.gunshi.project.xyt.so.StDamPageSo; +import com.gunshi.project.xyt.so.StEqptPageSo; +import com.gunshi.project.xyt.so.StResPageSo; +import com.gunshi.project.xyt.so.StRvPageSo; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.models.security.SecurityScheme; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; @@ -57,34 +64,10 @@ public class EngineeringDrainageController { return R.ok(); } - @Operation(summary = "查询水库的基础信息") - @GetMapping("/queryStRes") - public R> queryStRes(){ - return R.ok(engineeringDrainageService.queryStRes()); - } - - @Operation(summary = "根据水库代码查询水库的基础信息") - @GetMapping("/queryByResCode") - public R queryByResCode(@Parameter(description = "水库代码") @RequestParam("resCode") String resCode){ - return R.ok(engineeringDrainageService.queryByResCode(resCode)); - } - - @Operation(summary = "根据水库ID查询水库的基础信息") - @GetMapping("/queryByResId") - public R queryByResId(@Parameter(description = "水库ID") @RequestParam("resId") String resId){ - return R.ok(engineeringDrainageService.queryByResId(resId)); - } - - @Operation(summary = "根据水库名称模糊查询水库的基础信息") - @GetMapping("/queryLikeResName") - public R> queryLikeResName(@Parameter(description = "水库名称") @RequestParam("resName") String resName){ - return R.ok(engineeringDrainageService.queryLikeResName(resName)); - } - - @Operation(summary = "根据水库规模查询水库的基础信息") - @GetMapping("/queryByEngScal") - public R> queryByEngScal(@Parameter(description = "水库规模") @RequestParam("engScal") String engScal){ - return R.ok(engineeringDrainageService.queryByEngScal(engScal)); + @Operation(summary = "分页查询水库的基础信息") + @PostMapping("/queryStRes") + public R> pageStRes(@RequestBody @Validated StResPageSo stResPageSo){ + return R.ok(engineeringDrainageService.pageStRes(stResPageSo)); } @Operation(summary = "新增河流基础信息") @@ -108,33 +91,10 @@ public class EngineeringDrainageController { return R.ok(); } - @Operation(summary = "根据河流代码查询河流的基础信息") - @GetMapping("/queryByRvCode") - public R queryByRvCode(@Parameter(description = "河流代码") @RequestParam("rvCode") String rvCode){ - return R.ok(engineeringDrainageService.queryByRvCode(rvCode)); - } - - @Operation(summary = "根据河流ID查询河流的基础信息") - @GetMapping("/queryByRvId") - public R queryByRvId(@Parameter(description = "河流ID") @RequestParam("rvId") String rvId){ - return R.ok(engineeringDrainageService.queryByRvId(rvId)); - } - @Operation(summary = "分页查询河流的基础信息") - @GetMapping("/pageStRv") - public R> pageStRv( - @Parameter(description = "当前页") @RequestParam("pageNum") Integer pageNum, - @Parameter(description = "每页显示的条数") @RequestParam("pageSize")Integer pageSize){ - return R.ok(engineeringDrainageService.pageStRv(pageNum,pageSize)); - } - - @Operation(summary = "根据河流名称模糊查询河流信息") - @GetMapping("/queryLikeRvName") - public R> queryLikeRvName( - @Parameter(description = "河流名称") @RequestParam("rvName")String rvName, - @Parameter(description = "当前页") @RequestParam("pageNum") Integer pageNum, - @Parameter(description = "每页显示的条数") @RequestParam("pageSize")Integer pageSize){ - return R.ok(engineeringDrainageService.queryLikeRvName(rvName, pageNum, pageSize)); + @PostMapping("/queryByRvCode") + public R> pageStRv(@RequestBody @Validated StRvPageSo stRvPageSo){ + return R.ok(engineeringDrainageService.pageStRv(stRvPageSo)); } @Operation(summary = "新增大坝基础信息") @@ -151,41 +111,44 @@ public class EngineeringDrainageController { return R.ok(); } - @Operation(summary = "删除大坝基础信息") + @Operation(summary = "根据大坝ID删除大坝基础信息") @GetMapping("/deleteStDam") public R deleteStDam(@Parameter(description = "大坝ID") @RequestParam("damId") String damId){ engineeringDrainageService.deleteStDam(damId); return R.ok(); } - @Operation(summary = "根据大坝ID查询大坝信息") - @GetMapping("/queryByDamId") - public R queryByDamId(@Parameter(description = "大坝ID") @RequestParam("damId") String damId){ - return R.ok(engineeringDrainageService.queryByDamId(damId)); + @Operation(summary = "分页查询大坝信息") + @PostMapping("/queryByDamId") + public R> queryByDamId(@RequestBody @Validated StDamPageSo stDamPageSo){ + return R.ok(engineeringDrainageService.pageStDam(stDamPageSo)); } - @Operation(summary = "根据大坝代码查询大坝信息") - @GetMapping("/queryByDamCode") - public R queryByDamCode(@Parameter(description = "大坝代码") @RequestParam("damCode") String damCode){ - return R.ok(engineeringDrainageService.queryByDamCode(damCode)); + @Operation(summary = "新增量水堰基础信息") + @PostMapping("/insertStEqpt") + public R insertStEqpt(@RequestBody @Validated StEqptDto stEqptDto){ + engineeringDrainageService.insertStEqpt(stEqptDto); + return R.ok(); } - @Operation(summary = "分页查询大坝基础信息") - @GetMapping("/pageStDam") - public R> pageStDam( - @Parameter(description = "当前页") @RequestParam("pageNum") Integer pageNum, - @Parameter(description = "每页显示的条数") @RequestParam("pageSize")Integer pageSize){ - return R.ok(engineeringDrainageService.pageStDam(pageNum,pageSize)); + @Operation(summary = "更新量水堰基础信息") + @PostMapping("/updateStEqpt") + public R updateStEqpt(@RequestBody StEqptB stEqptB){ + engineeringDrainageService.updateStEqpt(stEqptB); + return R.ok(); } - @Operation(summary = "根据大坝名称模糊查询大坝基础信息") - @GetMapping("/queryLikeDamName") - public R> queryLikeDamName( - @Parameter(description = "大坝名称") @RequestParam("damName")String damName, - @Parameter(description = "当前页") @RequestParam("pageNum") Integer pageNum, - @Parameter(description = "每页显示的条数") @RequestParam("pageSize")Integer pageSize){ - return R.ok(engineeringDrainageService.queryLikeDamName(damName,pageNum,pageSize)); + @Operation(summary = "根据量水设施ID删除量水堰基础信息") + @GetMapping("/deleteStEqpt") + public R deleteStEqpt(@Parameter(description = "量水设施ID") @RequestParam("wmeqId") String wmeqId){ + engineeringDrainageService.deleteStEqpt(wmeqId); + return R.ok(); } + @Operation(summary = "根据量水设施ID查询量水堰基础信息") + @GetMapping("/queryByWmegId") + public R> pageEqpt(@RequestBody @Validated StEqptPageSo stEqptPageSo){ + return R.ok(engineeringDrainageService.pageStEqpt(stEqptPageSo)); + } } diff --git a/src/main/java/com/gunshi/project/xyt/controller/WaterQualityController.java b/src/main/java/com/gunshi/project/xyt/controller/WaterQualityController.java index 52d7c80..916c25a 100644 --- a/src/main/java/com/gunshi/project/xyt/controller/WaterQualityController.java +++ b/src/main/java/com/gunshi/project/xyt/controller/WaterQualityController.java @@ -62,7 +62,7 @@ public class WaterQualityController { @Operation(summary = "水质监测数据分页查询") @PostMapping("/page") public R> page( - @Validated({QueryPage.class, QueryTimeRange.class}) @RequestBody(required = true) + @Validated({QueryPage.class, QueryTimeRange.class}) @RequestBody WaterQualityPageSo waterQualityPageSo ) { return R.ok(waterqualityService.page(waterQualityPageSo)); @@ -71,16 +71,16 @@ public class WaterQualityController { @Operation(summary = "水质监测数据导出") @PostMapping("/export") public void export( - @Validated({QueryPage.class, QueryTimeRange.class}) @RequestBody(required = true) + @Validated({QueryPage.class, QueryTimeRange.class}) @RequestBody WaterQualityPageSo waterQualityPageSo, HttpServletResponse response) { waterqualityService.export(waterQualityPageSo, response); } @Operation(summary = "水质监测数据导入") @PostMapping("/import") - public R importExcel(@RequestParam("file") MultipartFile file) { + public R importExcel(@RequestParam("file") MultipartFile file) { if (file.isEmpty()) { - return R.error(400, "请选择上传文件"); + return R.error(400, "请选择上传文件",false); } try { @@ -89,7 +89,7 @@ public class WaterQualityController { } catch (IOException e) { - return R.error(500, "文件上传失败: " + e.getMessage()); + return R.error(500, "文件上传失败: " + e.getMessage(),false); } } diff --git a/src/main/java/com/gunshi/project/xyt/entity/dto/StEqptDto.java b/src/main/java/com/gunshi/project/xyt/entity/dto/StEqptDto.java new file mode 100644 index 0000000..f7a128e --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/entity/dto/StEqptDto.java @@ -0,0 +1,56 @@ +package com.gunshi.project.xyt.entity.dto; + +import com.gunshi.project.xyt.model.StEqptB; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * TODO + * + * @ClassName StEqptDto + * @Author Huang Qianxiang + * @Date 2024/1/26 9:47 + */ +@EqualsAndHashCode(callSuper = true) +@Schema(description="量水堰基础信息DTO") +@Data +public class StEqptDto extends StEqptB { + /** + * 量水设施代码 + */ + @Schema(description="量水设施代码") + @NotNull(message = "量水设施代码不能为空") + private String wmeqCode; + + /** + * 量水设施名称 + */ + @Schema(description="量水设施名称") + @NotNull(message = "量水设施名称不能为空") + private String wmeqName; + + /** + * 所属行政区划代码 + */ + @Schema(description="所属行政区划代码") + @NotNull(message = "所属行政区划代码不能为空") + private String addvcd; + + /** + * 经度 + */ + @Schema(description="经度") + @NotNull(message = "经度不能为空") + private BigDecimal lgtd; + + /** + * 纬度 + */ + @Schema(description="纬度") + @NotNull(message = "维度不能为空") + private BigDecimal lttd; +} diff --git a/src/main/java/com/gunshi/project/xyt/entity/dto/StGateDto.java b/src/main/java/com/gunshi/project/xyt/entity/dto/StGateDto.java new file mode 100644 index 0000000..fd4da5c --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/entity/dto/StGateDto.java @@ -0,0 +1,41 @@ +package com.gunshi.project.xyt.entity.dto; + +import com.gunshi.project.xyt.model.StGateB; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * TODO + * + * @ClassName StGateDto + * @Author Huang Qianxiang + * @Date 2024/1/26 9:35 + */ + +@EqualsAndHashCode(callSuper = true) +@Schema(description="闸阀基础信息DTO") +@Data +public class StGateDto extends StGateB { + /** + * 闸阀编码 + */ + @Schema(description="闸阀编码") + @NotNull(message = "闸阀编码不能为空") + private String gateCd; + + /** + * 闸阀名称 + */ + @Schema(description="闸阀名称") + @NotNull(message = "闸阀名称不能为空") + private String gateNm; + + /** + * 所在位置 + */ + @Schema(description="所在位置") + @NotNull(message = "所在位置不能为空") + private String gtlc; +} diff --git a/src/main/java/com/gunshi/project/xyt/service/EngineeringDrainageService.java b/src/main/java/com/gunshi/project/xyt/service/EngineeringDrainageService.java index 03d0d18..a4fa261 100644 --- a/src/main/java/com/gunshi/project/xyt/service/EngineeringDrainageService.java +++ b/src/main/java/com/gunshi/project/xyt/service/EngineeringDrainageService.java @@ -1,24 +1,31 @@ package com.gunshi.project.xyt.service; import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.gunshi.project.xyt.entity.dto.StDamDto; -import com.gunshi.project.xyt.entity.dto.StResDto; -import com.gunshi.project.xyt.entity.dto.StRvDto; +import com.gunshi.project.xyt.entity.dto.*; import com.gunshi.project.xyt.entity.vo.StResVo; import com.gunshi.project.xyt.model.*; import com.gunshi.project.xyt.model.StDamBAutoDao; +import com.gunshi.project.xyt.model.StEqptBAutoDao; +import com.gunshi.project.xyt.model.StGateBAutoDao; import com.gunshi.project.xyt.model.StResBAutoDao; import com.gunshi.project.xyt.model.StResStcdRefAutoDao; import com.gunshi.project.xyt.model.StRvBAutoDao; +import com.gunshi.project.xyt.so.StDamPageSo; +import com.gunshi.project.xyt.so.StEqptPageSo; +import com.gunshi.project.xyt.so.StResPageSo; +import com.gunshi.project.xyt.so.StRvPageSo; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.print.DocFlavor; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -43,6 +50,12 @@ public class EngineeringDrainageService { private StRvBAutoDao stRvBAutoDao; @Resource private StDamBAutoDao stDamBAutoDao; + @Resource + private StGateBAutoDao stGateBAutoDao; + @Resource + private StEqptBAutoDao stEqptBAutoDao; + + /** * 新增水库基础信息 @@ -64,14 +77,6 @@ public class EngineeringDrainageService { //保存水库基本信息 stResBAutoDao.save(stResB); - - StResStcdRef stResStcdRef = new StResStcdRef(); - stResStcdRef.setResId(resId); - stResStcdRef.setStcd(stResDto.getSTCD()); - stResStcdRef.setTm(date); - - //保存测站关系 - stResStcdRefAutoDao.save(stResStcdRef); } /** @@ -95,21 +100,6 @@ public class EngineeringDrainageService { stResB.setTm(date); //更新水库基本信息 stResBAutoDao.updateById(stResB); - - if (stResDto.getSTCD() != null){ - StResStcdRef stResStcdRef = new StResStcdRef(); - stResStcdRef.setResId(resId); - stResStcdRef.setStcd(stResDto.getSTCD()); - stResStcdRef.setTm(date); - //更新水库测站关系 - StResStcdRef byId1 = stResStcdRefAutoDao.getById(resId); - if (byId1 != null) { - //先删除之前存在的关系 - stResStcdRefAutoDao.removeById(resId); - } - //更新当前水库测站关系 - stResStcdRefAutoDao.save(stResStcdRef); - } } /** @@ -129,8 +119,38 @@ public class EngineeringDrainageService { updateWrapper.eq(StResB.COL_RES_ID,resId) .set(StResB.COL_STATUS,0); stResBAutoDao.update(updateWrapper); - //删除水库测站关系 - stResStcdRefAutoDao.removeById(resId); + } + + + /** + * 分页查询水库基本信息 + * @param stResPageSo 水库基本信息查询参数 + * @return + */ + public Page pageStRes(StResPageSo stResPageSo){ + if (StringUtils.isNotEmpty(stResPageSo.getResId())){ + StResB stResB = stResBAutoDao.getById(stResPageSo.getResId()); + if (stResB == null){ + return null; + } + List resBList = List.of(stResB); + return new Page(1,1,1).setRecords(resBList); + } + + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + if (StringUtils.isNotEmpty(stResPageSo.getResName())){ + lambdaQueryWrapper.like(StringUtils.isNotEmpty(stResPageSo.getResName()),StResB::getResName,stResPageSo.getResName()); + } + if (StringUtils.isNotEmpty(stResPageSo.getResCode())){ + lambdaQueryWrapper.like(StringUtils.isNotEmpty(stResPageSo.getResCode()),StResB::getResCode,stResPageSo.getResCode()); + } + if (StringUtils.isNotEmpty(stResPageSo.getEngScal())){ + lambdaQueryWrapper.eq(StringUtils.isNotEmpty(stResPageSo.getEngScal()),StResB::getEngScal,stResPageSo.getEngScal()); + } + if (stResPageSo.getStatus() != null){ + lambdaQueryWrapper.eq(StResB::getStatus,stResPageSo.getStatus()); + } + return stResBAutoDao.page(stResPageSo.getPageSo().toPage(),lambdaQueryWrapper); } /** @@ -144,83 +164,6 @@ public class EngineeringDrainageService { return stResBAutoDao.getOne(queryWrapper); } - /** - * 根据水库ID查询水库的基础信息 - * @param resId 水库ID - * @return 水库的基础信息 - */ - public StResVo queryByResId(String resId) { - StResB stResB = stResBAutoDao.getById(resId); - StResStcdRef stResStcdRef = stResStcdRefAutoDao.getById(resId); - if (stResB == null) { - throw new IllegalArgumentException("resId:" + resId + "不存在"); - } - StResVo stResVo = new StResVo(); - BeanUtil.copyProperties(stResB,stResVo); - stResVo.setSTCD(stResStcdRef.getStcd()); - return stResVo; - } - - /** - * 查询水库的基础信息 - * @return 水库的基础信息 - */ - public List queryStRes() { - List stResBList = stResBAutoDao - .list(new QueryWrapper().eq(StResB.COL_STATUS,1)); - List stResVoList = new ArrayList<>(); - stResBList.stream().forEach(stResB -> { - StResVo stResVo = new StResVo(); - BeanUtil.copyProperties(stResB,stResVo); - StResStcdRef stResStcdRef = stResStcdRefAutoDao.getById(stResB.getResId()); - stResVo.setSTCD(stResStcdRef.getStcd()); - stResVoList.add(stResVo); - }); - return stResVoList; - } - - /** - * 根据水库名称模糊查询水库的基础信息 - * @param resName 水库名称 - * @return 水库基础信息 - */ - public List queryLikeResName(String resName) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.like(StResB.COL_RES_NAME,resName) - .eq(StResB.COL_STATUS,1); - List stResBList = stResBAutoDao.list(queryWrapper); - List stResVoList = new ArrayList<>(); - stResBList.stream().forEach(stResB -> { - StResVo stResVo = new StResVo(); - BeanUtil.copyProperties(stResB,stResVo); - StResStcdRef stResStcdRef = stResStcdRefAutoDao.getById(stResB.getResId()); - stResVo.setSTCD(stResStcdRef.getStcd()); - stResVoList.add(stResVo); - }); - return stResVoList; - } - - /** - * 根据水库规模查询水库的基础信息 - * @param engScal 水库规模 - * @return 水库的基础信息 - */ - public List queryByEngScal(String engScal) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq(StResB.COL_ENG_SCAL,engScal) - .eq(StResB.COL_STATUS,1); - List stResBList = stResBAutoDao.list(queryWrapper); - List stResVoList = new ArrayList<>(); - stResBList.stream().forEach(stResB -> { - StResVo stResVo = new StResVo(); - BeanUtil.copyProperties(stResB,stResVo); - StResStcdRef stResStcdRef = stResStcdRefAutoDao.getById(stResB.getResId()); - stResVo.setSTCD(stResStcdRef.getStcd()); - stResVoList.add(stResVo); - }); - return stResVoList; - } - /** * 新增河流基础信息 * @param stRvDto 河流的基础信息DTO @@ -270,6 +213,33 @@ public class EngineeringDrainageService { stRvBAutoDao.update(updateWrapper); } + /** + * 分页查询河流基础信息 + * @param stRvPageSo 河流基本信息查询参数 + */ + public Page pageStRv(StRvPageSo stRvPageSo){ + if (StringUtils.isNotEmpty(stRvPageSo.getRvId())){ + StRvB stRvB = stRvBAutoDao.getById(stRvPageSo.getRvId()); + if (stRvB == null){ + return null; + } + List rvBList = List.of(stRvB); + return new Page(1,1,1).setRecords(rvBList); + } + + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + if (StringUtils.isNotEmpty(stRvPageSo.getRvName())){ + lambdaQueryWrapper.like(StringUtils.isNotEmpty(stRvPageSo.getRvName()),StRvB::getRvCode,stRvPageSo.getRvName()); + } + if (StringUtils.isNotEmpty(stRvPageSo.getRvCode())){ + lambdaQueryWrapper.like(StringUtils.isNotEmpty(stRvPageSo.getRvCode()),StRvB::getRvCode,stRvPageSo.getRvCode()); + } + if (stRvPageSo.getStatus() != null){ + lambdaQueryWrapper.eq(StRvB::getStatus,stRvPageSo.getStatus()); + } + return stRvBAutoDao.page(stRvPageSo.getPageSo().toPage(),lambdaQueryWrapper); + } + /** * 根据河流代码查询河流的基础信息 * @param rvCode 河流代码 @@ -282,44 +252,6 @@ public class EngineeringDrainageService { return stRvBAutoDao.getOne(queryWrapper); } - /** - * 根据河流ID查询河流的基础信息 - * @param rvId 河流ID - * @return 河流的基础信息 - */ - public StRvB queryByRvId(String rvId) { - StRvB stRvB = stRvBAutoDao.getById(rvId); - if (stRvB == null){ - throw new IllegalArgumentException("河流ID: "+ rvId +"不存在"); - } - return stRvB; - } - - /** - * 分页查询河流的基础信息 - * @param pageNum 当前页 - * @param pageSize 每页显示条数 - * @return - */ - public Page pageStRv(int pageNum,int pageSize) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq(StRvB.COL_STATUS,1); - return stRvBAutoDao.page(new Page<>(pageNum,pageSize),queryWrapper); - } - - /** - * 根据河流名称模糊查询河流信息 - * @param rvName 河流名称 - * @param pageNum 当前页 - * @param pageSize 每页显示条数 - * @return - */ - public Page queryLikeRvName(String rvName,int pageNum,int pageSize) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.like(StRvB.COL_RV_NAME,rvName) - .eq(StRvB.COL_STATUS,1); - return stRvBAutoDao.page(new Page<>(pageNum,pageSize),queryWrapper); - } /** * 新增大坝基础信息 @@ -353,7 +285,7 @@ public class EngineeringDrainageService { } /** - * 删除大坝基础信息 + * 根据大坝ID删除大坝基础信息 * @param damId 大坝ID */ public void deleteStDam(String damId) { @@ -368,16 +300,31 @@ public class EngineeringDrainageService { } /** - * 根据大坝ID查询大坝信息 - * @param damId 大坝ID - * @return 大坝基础信息 + * 分页查询大坝基础信息 + * @param stDamPageSo 大坝基本信息查询参数 + * @return */ - public StDamB queryByDamId(String damId) { - StDamB stDamB = stDamBAutoDao.getById(damId); - if (stDamB == null){ - throw new IllegalArgumentException("大坝ID: " + damId+ "不存在"); + public Page pageStDam(StDamPageSo stDamPageSo){ + if (StringUtils.isNotEmpty(stDamPageSo.getDamId())){ + StDamB stDamB = stDamBAutoDao.getById(stDamPageSo.getDamId()); + if (stDamB == null){ + return null; + } + List damBList = List.of(stDamB); + return new Page(1,1,1).setRecords(damBList); } - return stDamB; + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + if (StringUtils.isNotEmpty(stDamPageSo.getDamName())){ + lambdaQueryWrapper.like(StringUtils.isNotEmpty(stDamPageSo.getDamName()),StDamB::getDamName,stDamPageSo.getDamName()); + } + if (StringUtils.isNotEmpty(stDamPageSo.getDamCode())){ + lambdaQueryWrapper.like(StringUtils.isNotEmpty(stDamPageSo.getDamCode()),StDamB::getDamCode,stDamPageSo.getDamCode()); + } + if (stDamPageSo.getStatus() != null){ + lambdaQueryWrapper.eq(StDamB::getStatus,stDamPageSo.getStatus()); + } + return stDamBAutoDao.page(stDamPageSo.getPageSo().toPage(),lambdaQueryWrapper); + } /** @@ -393,28 +340,125 @@ public class EngineeringDrainageService { } /** - * 分页查询大坝基础信息 - * @param pageNum 当前页 - * @param pageSize 每页显示条数 - * @return + * 新增闸阀基础信息 + * @param stGateDto 闸阀基础信息DTO */ - public Page pageStDam(int pageNum, int pageSize) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq(StDamB.COL_STATUS,1); - return stDamBAutoDao.page(new Page<>(pageNum,pageSize),queryWrapper); + public void insertStGate(StGateDto stGateDto){ + + } /** - * 根据大坝名称模糊查询大坝基础信息 - * @param damName 大坝名称 - * @param pageNum 当前页 - * @param pageSize 每页显示条数 + * 更新闸阀基础信息 + * @param stGateB 闸阀基础信息 + */ + public void updateStGate(StGateB stGateB){ + + } + + /** + * 根据闸阀ID删除闸阀基础信息 + * @param gateId 闸阀ID + */ + public void deleteStGate(String gateId){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(StGateB.COL_GATE_ID,gateId) + .eq(StGateB.COL_STATUS,1); + StGateB stGateB = stGateBAutoDao.getById(gateId); + if (stGateB == null){ + throw new IllegalArgumentException("闸阀ID : " + gateId + "不存在或闸阀ID : " + gateId + "已被禁用"); + } + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq(StGateB.COL_GATE_ID,gateId) + .set(StGateB.COL_STATUS,0); + stGateBAutoDao.update(updateWrapper); + } + + /** + * 新增量水堰基础信息 + * @param stEqptDto 量水堰基础信息DTO + */ + public void insertStEqpt(StEqptDto stEqptDto){ + if (queryByWmegCode(stEqptDto.getWmeqCode()) != null){ + throw new IllegalArgumentException("量水设施代码不能为空"); + } + StEqptB stEqptB = new StEqptB(); + BeanUtil.copyProperties(stEqptDto,stEqptB); + long id = IdWorker.getId(); + stEqptB.setWmeqId(id); + stEqptB.setStatus(1); + stEqptBAutoDao.save(stEqptB); + } + + /** + * 更新量水堰基础信息 + * @param stEqptB 量水堰基础信息 + */ + public void updateStEqpt(StEqptB stEqptB){ + Long wmeqId = stEqptB.getWmeqId(); + StEqptB stEqptB1 = stEqptBAutoDao.getById(wmeqId); + if (stEqptB1 == null){ + throw new IllegalArgumentException("量水设施ID: " + wmeqId + "不存在"); + } + stEqptBAutoDao.updateById(stEqptB); + } + + /** + * 根据量水设施ID删除量水堰基础信息 + * @param wmeqId 量水设施ID + */ + public void deleteStEqpt(String wmeqId){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(StEqptB.COL_WMEQ_ID,wmeqId) + .eq(StEqptB.COL_STATUS,1); + StEqptB stEqptB1 = stEqptBAutoDao.getOne(queryWrapper); + if (stEqptB1 == null){ + throw new IllegalArgumentException("量水设施ID: " + wmeqId + "不存在或量水设施ID: " + wmeqId + "被禁用"); + } + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq(StEqptB.COL_WMEQ_ID,wmeqId) + .set(StEqptB.COL_STATUS,0); + stEqptBAutoDao.update(updateWrapper); + } + + /** + * 分页查询量水堰基础信息 + * @param stEqptPageSo 量水堰基本信息查询参数 * @return */ - public Page queryLikeDamName(String damName, int pageNum, int pageSize) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.like(StDamB.COL_DAM_NAME,damName) - .eq(StDamB.COL_STATUS,1); - return stDamBAutoDao.page(new Page<>(pageNum,pageSize),queryWrapper); + public Page pageStEqpt(StEqptPageSo stEqptPageSo){ + if (StringUtils.isNotEmpty(stEqptPageSo.getWmeqId())){ + StEqptB stEqptB = stEqptBAutoDao.getById(stEqptPageSo.getWmeqId()); + if (stEqptB == null){ + return null; + } + List eqptBList = List.of(stEqptB); + return new Page(1,1,1).setRecords(eqptBList); + } + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + if (StringUtils.isNotEmpty(stEqptPageSo.getWmeqName())){ + lambdaQueryWrapper.like(StringUtils.isNotEmpty(stEqptPageSo.getWmeqName()),StEqptB::getWmeqName,stEqptPageSo.getWmeqName()); + } + if (StringUtils.isNotEmpty(stEqptPageSo.getWmeqCode())){ + lambdaQueryWrapper.like(StringUtils.isNotEmpty(stEqptPageSo.getWmeqCode()),StEqptB::getWmeqCode,stEqptPageSo.getWmeqCode()); + } + if (stEqptPageSo.getStatus() != null){ + lambdaQueryWrapper.eq(StEqptB::getStatus,stEqptPageSo.getStatus()); + } + return stEqptBAutoDao.page(stEqptPageSo.getPageSo().toPage(),lambdaQueryWrapper); } + + /** + * 根据量水堰代码查询量水堰基础信息 + * @param wmeqCode 量水堰代码 + * @return 量水堰基础信息 + */ + public StEqptB queryByWmegCode(String wmeqCode){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(StEqptB.COL_WMEQ_CODE,wmeqCode) + .eq(StEqptB.COL_STATUS,1); + StEqptB stEqptB = stEqptBAutoDao.getOne(queryWrapper); + return stEqptB; + } + } diff --git a/src/main/java/com/gunshi/project/xyt/service/WaterQualityService.java b/src/main/java/com/gunshi/project/xyt/service/WaterQualityService.java index 9934eb3..d725d6f 100644 --- a/src/main/java/com/gunshi/project/xyt/service/WaterQualityService.java +++ b/src/main/java/com/gunshi/project/xyt/service/WaterQualityService.java @@ -22,13 +22,13 @@ public interface WaterQualityService { void export(WaterQualityPageSo waterQualityPageSo, HttpServletResponse response); - String importExcel(MultipartFile file) throws IOException; + Boolean importExcel(MultipartFile file) throws IOException; - String add(StWaterQualityR stWaterQualityR); + Boolean add(StWaterQualityR stWaterQualityR); - String addList(List stWaterQualityRList); + Boolean addList(List stWaterQualityRList); - String update(StWaterQualityR StWaterQualityR); +// String update(StWaterQualityR StWaterQualityR); - String delete(String id); +// String delete(String id); } diff --git a/src/main/java/com/gunshi/project/xyt/service/impl/WaterQualityServiceImpl.java b/src/main/java/com/gunshi/project/xyt/service/impl/WaterQualityServiceImpl.java index f59e470..af7c931 100644 --- a/src/main/java/com/gunshi/project/xyt/service/impl/WaterQualityServiceImpl.java +++ b/src/main/java/com/gunshi/project/xyt/service/impl/WaterQualityServiceImpl.java @@ -28,8 +28,6 @@ import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; -import static java.util.Objects.requireNonNull; - /** * Description: * Created by xusan on 2023/1/23. @@ -67,6 +65,7 @@ public class WaterQualityServiceImpl extends BaseOrderDao data = new ArrayList<>(); EasyExcel.read(file.getInputStream(), StWaterQualityR.class, new PageReadListener(data::addAll)).sheet().doRead(); - for (StWaterQualityR o : data) { - o.setId(null); - } - return this.addList(data); + } @@ -142,41 +138,60 @@ public class WaterQualityServiceImpl extends BaseOrderDao queryWrapper = Wrappers.lambdaQuery(); + + queryWrapper.eq(StWaterQualityR::getStcd,o.getStcd()) + .eq(StWaterQualityR::getSpt,o.getSpt()); + + if (this.count(queryWrapper) > 0) { + + log.info("站码和采样时间重复 {}", String.format("%s", o)); + + throw new IllegalArgumentException("站码和采样时间必须唯一"); + + } + + return this.save(o); + } @Override - public String addList(List stWaterQualityRList) { + public Boolean addList(List stWaterQualityRList) { try { for (StWaterQualityR o : stWaterQualityRList) { this.add(o); } }catch (Exception e) { - return "失败"; + return false; } - return "成功"; + return true; // return this.saveBatch(stWaterQualityRList) ? "成功":"失败"; + } - /** - * 修改水质 - * - * @param o 水质 - */ - @Override - public String update(StWaterQualityR o) { - return this.updateById(o) ? "成功":"失败"; - } - - /** - * 删除水质 - * - * @param id id - */ - @Override - public String delete(String id) { - return this.removeById(id) ? "成功":"失败"; - } +// /** +// * 修改水质 +// * +// * @param o 水质 +// */ +// @Override +// public String update(StWaterQualityR o) { +// return this.updateById(o) ? "成功":"失败"; +// } +// +// /** +// * 删除水质 +// * +// * @param id id +// */ +// @Override +// public String delete(String id) { +// return this.removeById(id) ? "成功":"失败"; +// } } diff --git a/src/main/java/com/gunshi/project/xyt/so/StDamPageSo.java b/src/main/java/com/gunshi/project/xyt/so/StDamPageSo.java new file mode 100644 index 0000000..61372f3 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/so/StDamPageSo.java @@ -0,0 +1,39 @@ +package com.gunshi.project.xyt.so; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * TODO + * + * @ClassName StDamPageSo + * @Author Huang Qianxiang + * @Date 2024/1/26 16:18 + */ + +@Data +@Schema(description = "大坝基本信息查询参数") +public class StDamPageSo { + + @NotNull(message = "分页参数不能为空") + private PageSo pageSo; + + @Schema(description="大坝ID") + private String damId; + + @Schema(description="大坝代码") + private String damCode; + + @Schema(description="大坝名称") + private String damName; + + @Schema(description="状态 1:启用 0:禁用") + private Integer status; +} diff --git a/src/main/java/com/gunshi/project/xyt/so/StEqptPageSo.java b/src/main/java/com/gunshi/project/xyt/so/StEqptPageSo.java new file mode 100644 index 0000000..d5788b5 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/so/StEqptPageSo.java @@ -0,0 +1,37 @@ +package com.gunshi.project.xyt.so; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * TODO + * + * @ClassName StEqptPageSo + * @Author Huang Qianxiang + * @Date 2024/1/26 16:28 + */ +@Data +@Schema(description = "量水堰基本信息查询参数") +public class StEqptPageSo { + + @NotNull(message = "分页参数不能为空") + private PageSo pageSo; + + @Schema(description="量水设施ID") + private String wmeqId; + + @Schema(description="量水设施代码") + private String wmeqCode; + + @Schema(description="量水设施名称") + private String wmeqName; + + @Schema(description="状态 1:启用 0:禁用") + private Integer status; + +} diff --git a/src/main/java/com/gunshi/project/xyt/so/StResPageSo.java b/src/main/java/com/gunshi/project/xyt/so/StResPageSo.java new file mode 100644 index 0000000..972de56 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/so/StResPageSo.java @@ -0,0 +1,42 @@ +package com.gunshi.project.xyt.so; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * TODO + * + * @ClassName StResPageSo + * @Author Huang Qianxiang + * @Date 2024/1/26 15:38 + */ +@Data +@Schema(description = "水库基本信息查询参数") +public class StResPageSo { + + @NotNull(message = "分页参数不能为空") + private PageSo pageSo; + + @Schema(description="水库id") + private String resId; + + @Schema(description="水库代码") + private String resCode; + + @Schema(description="水库名称") + private String resName; + + @Schema(description="水库规模 dict_id") + private String engScal; + + @Schema(description=" 状态 1:启用 0:禁用,默认1") + private Integer status; + +} diff --git a/src/main/java/com/gunshi/project/xyt/so/StRvPageSo.java b/src/main/java/com/gunshi/project/xyt/so/StRvPageSo.java new file mode 100644 index 0000000..fc5f1b8 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/so/StRvPageSo.java @@ -0,0 +1,42 @@ +package com.gunshi.project.xyt.so; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * TODO + * + * @ClassName StRvPageSo + * @Author Huang Qianxiang + * @Date 2024/1/26 16:03 + */ + +@Data +@Schema(description = "河流基本信息查询参数") +public class StRvPageSo { + + @NotNull(message = "分页参数不能为空") + private PageSo pageSo; + + @Schema(description="河流ID") + private String rvId; + + @Schema(description="河流代码") + private String rvCode; + + @Schema(description="河流名称") + private String rvName; + + @TableField(value = "[STATUS]") + @Schema(description="状态 1:启用 0:禁用") + private Integer status; + + +}