diff --git a/src/main/java/com/gunshi/project/xyt/controller/AttResBaseController.java b/src/main/java/com/gunshi/project/xyt/controller/AttResBaseController.java index 3e1c47c..02b2b87 100644 --- a/src/main/java/com/gunshi/project/xyt/controller/AttResBaseController.java +++ b/src/main/java/com/gunshi/project/xyt/controller/AttResBaseController.java @@ -106,14 +106,15 @@ public class AttResBaseController extends AbstractCommonFileController { if (Objects.isNull(service.getById(dto.getResCode()))) { throw new IllegalArgumentException("当前数据不存在"); } - fileService.saveFile(dto.getFiles(), getGroupId() + "1", dto.getResCode()); + List files = dto.getFiles(); + fileService.saveFile(files, getGroupId(), dto.getResCode(),"1"); return R.ok(dto); } @Operation(summary = "设计图纸和资料列表") @GetMapping("/fileList/{resCode}") public R> list(@PathVariable("resCode") String resCode) { - List files = fileService.getFiles(getGroupId() + "1", resCode); + List files = fileService.getFiles(getGroupId(), resCode); if (CollectionUtils.isEmpty(files)){ return R.ok(files); } diff --git a/src/main/java/com/gunshi/project/xyt/controller/StZqrlBController.java b/src/main/java/com/gunshi/project/xyt/controller/StZqrlBController.java index 3540fa4..46af06b 100644 --- a/src/main/java/com/gunshi/project/xyt/controller/StZqrlBController.java +++ b/src/main/java/com/gunshi/project/xyt/controller/StZqrlBController.java @@ -2,7 +2,9 @@ package com.gunshi.project.xyt.controller; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.gunshi.core.result.R; +import com.gunshi.project.xyt.model.AttResBase; import com.gunshi.project.xyt.model.StZqrlB; +import com.gunshi.project.xyt.service.AttResBaseService; import com.gunshi.project.xyt.service.StStbprpBService; import com.gunshi.project.xyt.service.StZqrlBService; import com.gunshi.project.xyt.validate.markers.Delete; @@ -34,21 +36,32 @@ public class StZqrlBController { @Autowired private StZqrlBService service; + @Autowired + private AttResBaseService resBaseService; + @Autowired private StStbprpBService stStbprpBService; @Operation(summary = "新增") @PostMapping("/insert") public R insert(@Validated(Insert.class) @RequestBody StZqrlB dto) { + if (StringUtils.isNotBlank(dto.getResCode())){ + AttResBase one = resBaseService.lambdaQuery().eq(AttResBase::getResCode, dto.getResCode()).one(); + if (Objects.isNull(one)){ + throw new IllegalArgumentException("水库编码不存在"); + } + if (StringUtils.isBlank(dto.getStcd())){ + dto.setStcd(one.getStcd()); + } + } if (StringUtils.isNotBlank(dto.getStcd()) && Objects.isNull(stStbprpBService.getById(dto.getStcd()))){ throw new IllegalArgumentException("测站编码不存在"); } if (service.lambdaQuery() .eq(StZqrlB::getStcd, dto.getStcd()) - .eq(StZqrlB::getLnnm, dto.getLnnm()) - .eq(StZqrlB::getBgtm, dto.getBgtm()) - .eq(StZqrlB::getPtno, dto.getPtno()) + .eq(StZqrlB::getZ, dto.getZ()) + .eq(StZqrlB::getQ, dto.getQ()) .count() > 0) { throw new IllegalArgumentException("当前数据已存在"); } @@ -66,9 +79,9 @@ public class StZqrlBController { if (service.lambdaQuery() .eq(StZqrlB::getStcd, dto.getStcd()) - .eq(StZqrlB::getLnnm, dto.getLnnm()) - .eq(StZqrlB::getBgtm, dto.getBgtm()) - .eq(StZqrlB::getPtno, dto.getPtno()) + .eq(StZqrlB::getZ, dto.getZ()) + .eq(StZqrlB::getQ, dto.getQ()) + .eq(StZqrlB::getModitime, dto.getModitime()) .count() > 0) { throw new IllegalArgumentException("当前数据已存在"); } @@ -82,19 +95,22 @@ public class StZqrlBController { @Operation(summary = "删除") @PostMapping("/del") public R del(@Validated(Delete.class) @RequestBody StZqrlB dto) { + if (StringUtils.isNotBlank(dto.getStcd()) && Objects.isNull(stStbprpBService.getById(dto.getStcd()))){ + throw new IllegalArgumentException("测站编码不存在"); + } if (service.lambdaQuery() .eq(StZqrlB::getStcd, dto.getStcd()) - .eq(StZqrlB::getLnnm, dto.getLnnm()) - .eq(StZqrlB::getBgtm, dto.getBgtm()) - .eq(StZqrlB::getPtno, dto.getPtno()) + .eq(StZqrlB::getZ, dto.getZ()) + .eq(StZqrlB::getQ, dto.getQ()) + .eq(StZqrlB::getModitime, dto.getModitime()) .count() != 1) { throw new IllegalArgumentException("当前数据不存在"); } return R.ok(service.lambdaUpdate() .eq(StZqrlB::getStcd, dto.getStcd()) - .eq(StZqrlB::getLnnm, dto.getLnnm()) - .eq(StZqrlB::getBgtm, dto.getBgtm()) - .eq(StZqrlB::getPtno, dto.getPtno()) + .eq(StZqrlB::getZ, dto.getZ()) + .eq(StZqrlB::getQ, dto.getQ()) + .eq(StZqrlB::getModitime, dto.getModitime()) .remove() ); } diff --git a/src/main/java/com/gunshi/project/xyt/controller/StZvarlBController.java b/src/main/java/com/gunshi/project/xyt/controller/StZvarlBController.java index 87f3be5..bb77250 100644 --- a/src/main/java/com/gunshi/project/xyt/controller/StZvarlBController.java +++ b/src/main/java/com/gunshi/project/xyt/controller/StZvarlBController.java @@ -3,7 +3,9 @@ package com.gunshi.project.xyt.controller; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.gunshi.core.result.R; +import com.gunshi.project.xyt.model.AttResBase; import com.gunshi.project.xyt.model.StZvarlB; +import com.gunshi.project.xyt.service.AttResBaseService; import com.gunshi.project.xyt.service.StStbprpBService; import com.gunshi.project.xyt.service.StZvarlBService; import com.gunshi.project.xyt.validate.markers.Delete; @@ -35,20 +37,31 @@ public class StZvarlBController { @Autowired private StZvarlBService service; + @Autowired + private AttResBaseService resBaseService; + @Autowired private StStbprpBService stStbprpBService; @Operation(summary = "新增") @PostMapping("/insert") public R insert(@Validated(Insert.class) @RequestBody StZvarlB dto) { + if (StringUtils.isNotBlank(dto.getResCode())){ + AttResBase one = resBaseService.lambdaQuery().eq(AttResBase::getResCode, dto.getResCode()).one(); + if (Objects.isNull(one)){ + throw new IllegalArgumentException("水库编码不存在"); + } + if (StringUtils.isBlank(dto.getStcd())){ + dto.setStcd(one.getStcd()); + } + } if (StringUtils.isNotBlank(dto.getStcd()) && Objects.isNull(stStbprpBService.getById(dto.getStcd()))){ throw new IllegalArgumentException("测站编码不存在"); } - if (service.lambdaQuery() .eq(StZvarlB::getStcd, dto.getStcd()) - .eq(StZvarlB::getMstm, dto.getMstm()) - .eq(StZvarlB::getPtno, dto.getPtno()) + .eq(StZvarlB::getRz, dto.getRz()) + .eq(StZvarlB::getW, dto.getW()) .count() > 0) { throw new IllegalArgumentException("当前数据已存在"); } @@ -64,15 +77,13 @@ public class StZvarlBController { throw new IllegalArgumentException("测站编码不存在"); } - if (service.lambdaQuery() + boolean result = service.lambdaUpdate() + .set(StZvarlB::getRz, dto.getRz()) + .set(StZvarlB::getW, dto.getW()) + .set(StZvarlB::getWsfa, dto.getWsfa()) .eq(StZvarlB::getStcd, dto.getStcd()) - .eq(StZvarlB::getMstm, dto.getMstm()) - .eq(StZvarlB::getPtno, dto.getPtno()) - .count() > 0) { - throw new IllegalArgumentException("当前数据已存在"); - } - dto.setModitime(null); - boolean result = service.updateById(dto); + .eq(StZvarlB::getModitime, dto.getModitime()) + .update(); return R.ok(result ? dto : null); } @@ -80,16 +91,18 @@ public class StZvarlBController { @PostMapping("/del") public R del(@Validated(Delete.class) @RequestBody StZvarlB dto) { if (service.lambdaQuery() + .eq(StZvarlB::getRz, dto.getRz()) + .eq(StZvarlB::getW, dto.getW()) .eq(StZvarlB::getStcd, dto.getStcd()) - .eq(StZvarlB::getMstm, dto.getMstm()) - .eq(StZvarlB::getPtno, dto.getPtno()) + .eq(StZvarlB::getModitime, dto.getModitime()) .count() != 1) { throw new IllegalArgumentException("当前数据不存在"); } return R.ok(service.lambdaUpdate() + .eq(StZvarlB::getRz, dto.getRz()) + .eq(StZvarlB::getW, dto.getW()) .eq(StZvarlB::getStcd, dto.getStcd()) - .eq(StZvarlB::getMstm, dto.getMstm()) - .eq(StZvarlB::getPtno, dto.getPtno()) + .eq(StZvarlB::getModitime, dto.getModitime()) .remove() ); } diff --git a/src/main/java/com/gunshi/project/xyt/mapper/IaCDanadMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/IaCDanadMapper.java index 1b58267..1e715d2 100644 --- a/src/main/java/com/gunshi/project/xyt/mapper/IaCDanadMapper.java +++ b/src/main/java/com/gunshi/project/xyt/mapper/IaCDanadMapper.java @@ -22,15 +22,16 @@ public interface IaCDanadMapper extends BaseMapper { """) List getDetailsAndMonitoringDataLis(); @Select(""" """) diff --git a/src/main/java/com/gunshi/project/xyt/mapper/IaCFlrvvlgMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/IaCFlrvvlgMapper.java index 2911d69..ca7aa05 100644 --- a/src/main/java/com/gunshi/project/xyt/mapper/IaCFlrvvlgMapper.java +++ b/src/main/java/com/gunshi/project/xyt/mapper/IaCFlrvvlgMapper.java @@ -21,7 +21,7 @@ public interface IaCFlrvvlgMapper extends BaseMapper { """) diff --git a/src/main/java/com/gunshi/project/xyt/mapper/ShpPlacementMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/ShpPlacementMapper.java index 64b337b..113e075 100644 --- a/src/main/java/com/gunshi/project/xyt/mapper/ShpPlacementMapper.java +++ b/src/main/java/com/gunshi/project/xyt/mapper/ShpPlacementMapper.java @@ -18,8 +18,9 @@ public interface ShpPlacementMapper extends BaseMapper { @Select(""" """) List getDetailsAndMonitoringDataList(); diff --git a/src/main/java/com/gunshi/project/xyt/model/StZqrlB.java b/src/main/java/com/gunshi/project/xyt/model/StZqrlB.java index 8632b80..4c3262d 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StZqrlB.java +++ b/src/main/java/com/gunshi/project/xyt/model/StZqrlB.java @@ -39,7 +39,7 @@ public class StZqrlB implements Serializable { @TableId(value="stcd", type= IdType.AUTO) @Schema(description="测站编码") @Size(max = 20,message = "测站编码最大长度要小于 8") - @NotBlank(message = "测站编码不能为空",groups = {Insert.class, Update.class, Delete.class}) + @NotBlank(message = "测站编码不能为空") private String stcd; /** @@ -48,7 +48,6 @@ public class StZqrlB implements Serializable { @TableField(value="lnnm") @Schema(description="曲线名称") @Size(max = 30,message = "曲线名称最大长度要小于 30") - @NotBlank(message = "曲线名称不能为空",groups = {Insert.class, Update.class, Delete.class}) private String lnnm; /** @@ -57,7 +56,6 @@ public class StZqrlB implements Serializable { @TableField(value="bgtm") @Schema(description="启用时间") // @Size(max = 0,message = "启用时间最大长度要小于 0") - @NotNull(message = "启用时间不能为空",groups = {Insert.class, Update.class, Delete.class}) @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") private Date bgtm; @@ -67,7 +65,6 @@ public class StZqrlB implements Serializable { @TableField(value="ptno") @Schema(description="点序号") // @Size(max = 0,message = "点序号最大长度要小于 0") - @NotNull(message = "点序号不能为空",groups = {Insert.class, Update.class, Delete.class}) private Integer ptno; /** @@ -76,7 +73,7 @@ public class StZqrlB implements Serializable { @TableField(value="z") @Schema(description="水位") // @Size(max = 0,message = "水位最大长度要小于 0") - @NotNull(message = "水位不能为空",groups = {Insert.class, Update.class}) + @NotNull(message = "水位不能为空",groups = {Insert.class, Update.class, Delete.class}) private BigDecimal z; /** @@ -85,7 +82,7 @@ public class StZqrlB implements Serializable { @TableField(value="q") @Schema(description="流量") // @Size(max = 0,message = "流量最大长度要小于 0") - @NotNull(message = "流量不能为空",groups = {Insert.class, Update.class}) + @NotNull(message = "流量不能为空",groups = {Insert.class, Update.class, Delete.class}) private BigDecimal q; /** @@ -105,4 +102,8 @@ public class StZqrlB implements Serializable { @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") private Date moditime; + + @Schema(description="水库代码") + @TableField(exist = false) + private String resCode; } \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/StZvarlB.java b/src/main/java/com/gunshi/project/xyt/model/StZvarlB.java index 5b82588..d21c65e 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StZvarlB.java +++ b/src/main/java/com/gunshi/project/xyt/model/StZvarlB.java @@ -36,8 +36,7 @@ public class StZvarlB implements Serializable { */ @TableId(value="stcd") @Schema(description="测站编码") - @Size(max = 20,message = "测站编码最大长度要小于 8",groups = {Insert.class, Update.class, Delete.class}) - @NotNull(message = "测站编码不能为空",groups = {Insert.class, Update.class, Delete.class}) + @Size(max = 20,message = "测站编码最大长度要小于 8") private String stcd; /** @@ -46,7 +45,6 @@ public class StZvarlB implements Serializable { @TableField(value="mstm") @Schema(description="施测时间") // @Size(max = 0,message = "施测时间最大长度要小于 0") - @NotNull(message = "施测时间不能为空",groups = {Insert.class, Update.class, Delete.class}) @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") private Date mstm; @@ -56,7 +54,6 @@ public class StZvarlB implements Serializable { @TableField(value="ptno") @Schema(description="点序号") // @Size(max = 0,message = "点序号最大长度要小于 0") - @NotNull(message = "点序号不能为空",groups = {Insert.class, Update.class, Delete.class}) private Integer ptno; /** @@ -64,7 +61,7 @@ public class StZvarlB implements Serializable { */ @TableField(value="rz") @Schema(description="库水位") - @NotNull(message = "库水位不能为空",groups = {Insert.class, Update.class}) + @NotNull(message = "库水位不能为空",groups = {Insert.class, Update.class, Delete.class}) private BigDecimal rz; /** @@ -72,7 +69,7 @@ public class StZvarlB implements Serializable { */ @TableField(value="w") @Schema(description="蓄水量") - @NotNull(message = "蓄水量不能为空",groups = {Insert.class, Update.class}) + @NotNull(message = "蓄水量不能为空",groups = {Insert.class, Update.class, Delete.class}) private BigDecimal w; /** @@ -100,4 +97,8 @@ public class StZvarlB implements Serializable { // @Size(max = 0,message = "库容(万m³)最大长度要小于 0") private BigDecimal totCap; + @Schema(description="水库代码") + @TableField(exist = false) + private String resCode; + } \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/service/FileAssociationsService.java b/src/main/java/com/gunshi/project/xyt/service/FileAssociationsService.java index 13ab47c..955ff5a 100644 --- a/src/main/java/com/gunshi/project/xyt/service/FileAssociationsService.java +++ b/src/main/java/com/gunshi/project/xyt/service/FileAssociationsService.java @@ -30,7 +30,7 @@ public class FileAssociationsService extends ServiceImpl files, String tableName, String businessId) { if (CollectionUtils.isEmpty(files)) { log.info("fileIds is null!"); @@ -82,6 +82,62 @@ public class FileAssociationsService extends ServiceImpl files, String tableName, String businessId, String type) { + if (CollectionUtils.isEmpty(files)) { + log.info("fileIds is null!"); + } + + // 查询是否添加 + List dbList = this.lambdaQuery() + .eq(FileAssociations::getTableName, tableName) + .eq(FileAssociations::getBusinessId, businessId) + .eq(FileAssociations::getType, type) + .eq(FileAssociations::getDel, REC) + .list(); + + if (CollectionUtils.isNotEmpty(dbList)) { + Set fileIds = dbList.stream().map(FileAssociations::getFileId) + .collect(Collectors.toSet()); + // 删除已添加数据, 删除重复数据 删除不成功即新数据 + files = files.stream() + .filter(fileAssociations -> !fileIds.remove(fileAssociations.getFileId())) + .collect(Collectors.toList()); + +// if (CollectionUtils.isNotEmpty(files)) { + + // 删除 + if (this.lambdaUpdate() + .set(FileAssociations::getDel, DEL) + .eq(FileAssociations::getTableName, tableName) + .eq(FileAssociations::getBusinessId, businessId) + .eq(FileAssociations::getType, type) + .in(FileAssociations::getFileId, fileIds) + .update()) { + log.info("delete file {} success!", fileIds); + } + +// } + } + + + // 做新增 + if (CollectionUtils.isNotEmpty(files)) { + + files.forEach(fileId -> { + fileId.setId(IdWorker.getId()); + fileId.setTableName(tableName); + fileId.setType(type); + fileId.setBusinessId(businessId); + }); + + if (!this.saveBatch(files)) { + log.error("save file error!"); + } + + } + } @CacheEvict(value = THIS_REDIS_KEY, key = "#p0 +':*'", allEntries = true)