From 94c1fb9de0b2ef6108f842f6820ab4181b0423a7 Mon Sep 17 00:00:00 2001 From: wany <13995595726@qq.com> Date: Wed, 28 Aug 2024 15:20:16 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E7=99=BD=E8=9A=81=E6=99=AE=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi | 2 +- .../controller/TermiteSurveyController.java | 65 +++++++++ .../xyt/entity/so/TermiteSurveyPageSo.java | 28 ++++ .../project/xyt/mapper/BzDictRelMapper.java | 15 ++ .../xyt/mapper/RiskControlDictRelMapper.java | 15 -- .../xyt/mapper/RiskControlInfoMapper.java | 8 +- .../xyt/mapper/TermiteSurveyDetailMapper.java | 15 ++ .../xyt/mapper/TermiteSurveyMapper.java | 40 ++++++ ...RiskControlDictRel.java => BzDictRel.java} | 30 ++-- .../project/xyt/model/RiskControlInfo.java | 2 +- .../project/xyt/model/TermiteSurvey.java | 91 ++++++++++++ .../xyt/model/TermiteSurveyDetail.java | 132 ++++++++++++++++++ ...tRelService.java => BzDictRelService.java} | 33 +++-- .../xyt/service/FileAssociationsService.java | 11 +- .../xyt/service/RiskControlInfoService.java | 14 +- .../service/TermiteSurveyDetailService.java | 129 +++++++++++++++++ .../xyt/service/TermiteSurveyService.java | 73 ++++++++++ 17 files changed, 652 insertions(+), 51 deletions(-) create mode 100644 src/main/java/com/gunshi/project/xyt/controller/TermiteSurveyController.java create mode 100644 src/main/java/com/gunshi/project/xyt/entity/so/TermiteSurveyPageSo.java create mode 100644 src/main/java/com/gunshi/project/xyt/mapper/BzDictRelMapper.java delete mode 100644 src/main/java/com/gunshi/project/xyt/mapper/RiskControlDictRelMapper.java create mode 100644 src/main/java/com/gunshi/project/xyt/mapper/TermiteSurveyDetailMapper.java create mode 100644 src/main/java/com/gunshi/project/xyt/mapper/TermiteSurveyMapper.java rename src/main/java/com/gunshi/project/xyt/model/{RiskControlDictRel.java => BzDictRel.java} (64%) create mode 100644 src/main/java/com/gunshi/project/xyt/model/TermiteSurvey.java create mode 100644 src/main/java/com/gunshi/project/xyt/model/TermiteSurveyDetail.java rename src/main/java/com/gunshi/project/xyt/service/{RiskControlDictRelService.java => BzDictRelService.java} (50%) create mode 100644 src/main/java/com/gunshi/project/xyt/service/TermiteSurveyDetailService.java create mode 100644 src/main/java/com/gunshi/project/xyt/service/TermiteSurveyService.java diff --git a/ruoyi b/ruoyi index d456ff1..16e1fc9 160000 --- a/ruoyi +++ b/ruoyi @@ -1 +1 @@ -Subproject commit d456ff189647e16ffaaa170738d785eeee1253c0 +Subproject commit 16e1fc95534519a06bc1dca0df64ffceeb3c9931 diff --git a/src/main/java/com/gunshi/project/xyt/controller/TermiteSurveyController.java b/src/main/java/com/gunshi/project/xyt/controller/TermiteSurveyController.java new file mode 100644 index 0000000..3909b6d --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/controller/TermiteSurveyController.java @@ -0,0 +1,65 @@ +package com.gunshi.project.xyt.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.core.result.R; +import com.gunshi.project.xyt.entity.so.TermiteSurveyPageSo; +import com.gunshi.project.xyt.model.TermiteSurvey; +import com.gunshi.project.xyt.service.TermiteSurveyService; +import com.gunshi.project.xyt.validate.markers.Insert; +import com.gunshi.project.xyt.validate.markers.Update; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +/** + * 描述: 白蚁普查 + * author: xusan + * date: 2024-08-28 10:29:58 + */ +@Tag(name = "白蚁普查") +@RestController +@RequestMapping(value="/termite/survey") +public class TermiteSurveyController extends AbstractCommonFileController{ + + @Autowired + private TermiteSurveyService service; + + + @Operation(summary = "新增") + @PostMapping("/insert") + public R insert(@Validated(Insert.class) @RequestBody TermiteSurvey dto) { + return R.ok(service.saveData(dto)); + } + + @Operation(summary = "修改") + @PostMapping("/update") + public R update(@Validated(Update.class) @RequestBody TermiteSurvey dto) { + return R.ok(service.updateData(dto)); + } + + @Operation(summary = "删除") + @GetMapping("/del/{id}") + public R del(@Schema(name = "id") @PathVariable("id") Long id) { + return R.ok(service.delData(id)); + } + + @Operation(summary = "详情") + @GetMapping("/detail/{id}") + public R detail(@Schema(name = "id") @PathVariable("id") Long id) { + return R.ok(service.detail(id)); + } + + @Operation(summary = "分页") + @PostMapping("/page") + public R> page(@RequestBody @Validated TermiteSurveyPageSo page) { + return R.ok(service.pageQuery(page)); + } + + + @Override + public String getGroupId() { + return "termiteSurvey"; + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/TermiteSurveyPageSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/TermiteSurveyPageSo.java new file mode 100644 index 0000000..63a5dfb --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/entity/so/TermiteSurveyPageSo.java @@ -0,0 +1,28 @@ +package com.gunshi.project.xyt.entity.so; + +import com.gunshi.db.dto.PageSo; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * Description: + * Created by wanyan on 2024/3/19 + * + * @author wanyan + * @version 1.0 + */ +@Data +@Schema(description = "白蚁普查分页查询对象") +public class TermiteSurveyPageSo { + + @NotNull(message = "分页参数不能为空") + @Schema(description = "分页参数") + private PageSo pageSo; + + @Schema(description="年份") + private Integer year; + + @Schema(description="危害情况(0无危害 1有危害)") + private Integer isHarm; +} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/BzDictRelMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/BzDictRelMapper.java new file mode 100644 index 0000000..11b4744 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/mapper/BzDictRelMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.xyt.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.xyt.model.BzDictRel; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 业务关联字典 + * author: xusan + * date: 2024-08-28 10:05:21 + */ +@Mapper +public interface BzDictRelMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/RiskControlDictRelMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/RiskControlDictRelMapper.java deleted file mode 100644 index 0e208da..0000000 --- a/src/main/java/com/gunshi/project/xyt/mapper/RiskControlDictRelMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.gunshi.project.xyt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.RiskControlDictRel; -import org.apache.ibatis.annotations.Mapper; - -/** - * 描述: 风险管控关联字典 - * author: xusan - * date: 2024-08-22 14:18:58 - */ -@Mapper -public interface RiskControlDictRelMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/RiskControlInfoMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/RiskControlInfoMapper.java index 4c28523..00ead3a 100644 --- a/src/main/java/com/gunshi/project/xyt/mapper/RiskControlInfoMapper.java +++ b/src/main/java/com/gunshi/project/xyt/mapper/RiskControlInfoMapper.java @@ -1,7 +1,7 @@ package com.gunshi.project.xyt.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.gunshi.project.xyt.model.RiskControlDictRel; +import com.gunshi.project.xyt.model.BzDictRel; import com.gunshi.project.xyt.model.RiskControlInfo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -19,14 +19,14 @@ public interface RiskControlInfoMapper extends BaseMapper { @Select(""" """) - List queryRelList(@Param("ids") List ids); + List queryRelList(@Param("ids") List ids); } \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/TermiteSurveyDetailMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/TermiteSurveyDetailMapper.java new file mode 100644 index 0000000..148b130 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/mapper/TermiteSurveyDetailMapper.java @@ -0,0 +1,15 @@ +package com.gunshi.project.xyt.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.gunshi.project.xyt.model.TermiteSurveyDetail; +import org.apache.ibatis.annotations.Mapper; + +/** + * 描述: 白蚁普查明细 + * author: xusan + * date: 2024-08-28 10:25:17 + */ +@Mapper +public interface TermiteSurveyDetailMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/TermiteSurveyMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/TermiteSurveyMapper.java new file mode 100644 index 0000000..5765595 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/mapper/TermiteSurveyMapper.java @@ -0,0 +1,40 @@ +package com.gunshi.project.xyt.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.project.xyt.entity.so.TermiteSurveyPageSo; +import com.gunshi.project.xyt.model.TermiteSurvey; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + * 描述: 白蚁普查 + * author: xusan + * date: 2024-08-28 10:29:58 + */ +@Mapper +public interface TermiteSurveyMapper extends BaseMapper { + + @Select(""" + + """) + Page pageQuery(Page page,@Param("obj") TermiteSurveyPageSo page1); +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/RiskControlDictRel.java b/src/main/java/com/gunshi/project/xyt/model/BzDictRel.java similarity index 64% rename from src/main/java/com/gunshi/project/xyt/model/RiskControlDictRel.java rename to src/main/java/com/gunshi/project/xyt/model/BzDictRel.java index b0f7d9e..2672a73 100644 --- a/src/main/java/com/gunshi/project/xyt/model/RiskControlDictRel.java +++ b/src/main/java/com/gunshi/project/xyt/model/BzDictRel.java @@ -8,19 +8,22 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Size; import lombok.Data; import java.io.Serializable; /** -* 描述: 风险管控关联字典 +* 描述: 业务关联字典 * author: xusan -* date: 2024-08-22 14:18:58 +* date: 2024-08-28 10:05:20 */ -@Schema(description="风险管控关联字典") +@Schema(description="业务关联字典") @Data -@TableName("public.risk_control_dict_rel") -public class RiskControlDictRel implements Serializable { +@TableName("public.bz_dict_rel") +public class BzDictRel implements Serializable { + + public final static String thisTableName = "BzDictRel"; private static final long serialVersionUID = 1L; @@ -33,12 +36,12 @@ public class RiskControlDictRel implements Serializable { private Long id; /** - * 风险管控id + * 业务id */ - @TableField(value="risk_control_id") - @Schema(description="风险管控id") + @TableField(value="business_id") + @Schema(description="业务id") @JsonSerialize(using = ToStringSerializer.class) - private Long riskControlId; + private Long businessId; /** * 字典id @@ -48,7 +51,16 @@ public class RiskControlDictRel implements Serializable { @JsonSerialize(using = ToStringSerializer.class) private Long sysDictId; + /** + * 业务类型 + */ + @TableField(value="group_id") + @Schema(description="业务类型") + @Size(max = 100,message = "业务类型最大长度要小于 100") + private String groupId; + @TableField(exist = false) @Schema(description = "字典名称") private String dictNm; + } \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/RiskControlInfo.java b/src/main/java/com/gunshi/project/xyt/model/RiskControlInfo.java index 2d597fc..9339fe8 100644 --- a/src/main/java/com/gunshi/project/xyt/model/RiskControlInfo.java +++ b/src/main/java/com/gunshi/project/xyt/model/RiskControlInfo.java @@ -99,7 +99,7 @@ public class RiskControlInfo implements Serializable { @TableField(exist = false) @Schema(description = "可能导致的后果") - private List result; + private List result; @TableField(exist = false) @Schema(description = "现场图片") diff --git a/src/main/java/com/gunshi/project/xyt/model/TermiteSurvey.java b/src/main/java/com/gunshi/project/xyt/model/TermiteSurvey.java new file mode 100644 index 0000000..624ae5d --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/model/TermiteSurvey.java @@ -0,0 +1,91 @@ +package com.gunshi.project.xyt.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.core.dateformat.DateFormatString; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** +* 描述: 白蚁普查 +* author: xusan +* date: 2024-08-28 10:29:58 +*/ +@Schema(description="白蚁普查") +@Data +@TableName("public.termite_survey") +public class TermiteSurvey implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 上报时间 + */ + @TableField(value="report_date") + @Schema(description="上报时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") + private Date reportDate; + + /** + * 普查类型(1日常检查排查 2定期普查 3专项调查) + */ + @TableField(value="survey_type") + @Schema(description="普查类型(1日常检查排查 2定期普查 3专项调查)") + private Integer surveyType; + + /** + * 普查方式(1人工排查法 2引诱法 3仪器探测法 4其它) + */ + @TableField(value="survey_way") + @Schema(description="普查方式(1人工排查法 2引诱法 3仪器探测法 4其它)") + private Integer surveyWay; + + /** + * 上报人id + */ + @TableField(value="report_user_id") + @Schema(description="上报人id") + @JsonSerialize(using = ToStringSerializer.class) + private Long reportUserId; + + /** + * 上报人 + */ + @TableField(value="report_user_name") + @Schema(description="上报人") + @Size(max = 50,message = "上报人最大长度要小于 50") + private String reportUserName; + + @TableField(exist = false) + @Schema(description = "白蚁危害处数") + private Integer harmNum; + + @TableField(exist = false) + @Schema(description = "已处置处数") + private Integer handleNum; + + @TableField(exist = false) + @Schema(description = "明细") + private List details; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/TermiteSurveyDetail.java b/src/main/java/com/gunshi/project/xyt/model/TermiteSurveyDetail.java new file mode 100644 index 0000000..16cd475 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/model/TermiteSurveyDetail.java @@ -0,0 +1,132 @@ +package com.gunshi.project.xyt.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.List; + +/** +* 描述: 白蚁普查明细 +* author: xusan +* date: 2024-08-28 10:25:17 +*/ +@Schema(description="白蚁普查明细") +@Data +@TableName("public.termite_survey_detail") +public class TermiteSurveyDetail implements Serializable { + + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value="id", type= IdType.AUTO) + @Schema(description="主键") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + /** + * 普查id + */ + @TableField(value="survey_id") + @Schema(description="普查id") + @JsonSerialize(using = ToStringSerializer.class) + private Long surveyId; + + /** + * 部位 + */ + @TableField(value="position") + @Schema(description="部位") + @Size(max = 50,message = "部位最大长度要小于 50") + private String position; + + /** + * 危害情况(0 无危害 1有危害) + */ + @TableField(value="is_harm") + @Schema(description="危害情况(0 无危害 1有危害)") + private Integer isHarm; + + /** + * 桩号 + */ + @TableField(value="pile_number") + @Schema(description="桩号") + @Size(max = 50,message = "桩号最大长度要小于 50") + private String pileNumber; + + /** + * 普查长度(m) + */ + @TableField(value="survey_len") + @Schema(description="普查长度(m)") + private BigDecimal surveyLen; + + /** + * 是否致险(0否 1是) + */ + @TableField(value="is_danger") + @Schema(description="是否致险(0否 1是)") + private Integer isDanger; + + /** + * 渗漏处数 + */ + @TableField(value="leakage") + @Schema(description="渗漏处数") + private Integer leakage; + + /** + * 穿坝处数 + */ + @TableField(value="dam_cross") + @Schema(description="穿坝处数") + private Integer damCross; + + /** + * 跌窝处数 + */ + @TableField(value="fall_nest") + @Schema(description="跌窝处数") + private Integer fallNest; + + /** + * 是否已处置(0否 1是) + */ + @TableField(value="is_handle") + @Schema(description="是否已处置(0否 1是)") + private Integer isHandle; + + /** + * 处置情况说明 + */ + @TableField(value="handle_desc") + @Schema(description="处置情况说明") + @Size(max = 500,message = "处置情况说明最大长度要小于 500") + private String handleDesc; + + @TableField(exist = false) + @Schema(description = "活动迹象") + private List actSign; + + @TableField(exist = false) + @Schema(description = "现场图片") + private List pics; + + @TableField(exist = false) + @Schema(description = "现场视频") + private List videos; + +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/service/RiskControlDictRelService.java b/src/main/java/com/gunshi/project/xyt/service/BzDictRelService.java similarity index 50% rename from src/main/java/com/gunshi/project/xyt/service/RiskControlDictRelService.java rename to src/main/java/com/gunshi/project/xyt/service/BzDictRelService.java index 7002c30..6a6bf62 100644 --- a/src/main/java/com/gunshi/project/xyt/service/RiskControlDictRelService.java +++ b/src/main/java/com/gunshi/project/xyt/service/BzDictRelService.java @@ -4,8 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gunshi.project.xyt.mapper.RiskControlDictRelMapper; -import com.gunshi.project.xyt.model.RiskControlDictRel; +import com.gunshi.project.xyt.mapper.BzDictRelMapper; +import com.gunshi.project.xyt.model.BzDictRel; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; @@ -14,36 +14,43 @@ import org.springframework.transaction.annotation.Transactional; import java.util.List; /** - * 描述: 风险管控关联字典 + * 描述: 业务关联字典 * author: xusan - * date: 2024-08-22 14:18:58 + * date: 2024-08-28 10:05:21 */ @Service @Slf4j @Transactional(rollbackFor = Exception.class) -public class RiskControlDictRelService extends ServiceImpl +public class BzDictRelService extends ServiceImpl { - - public void saveRel(List result, Long id) { + public void saveRel(List result, Long id,String groupId) { if (CollectionUtils.isNotEmpty(result)) { result.stream().forEach(rel->{ rel.setId(IdWorker.getId()); - rel.setRiskControlId(id); + if(id != null){ + rel.setBusinessId(id); + } + rel.setGroupId(groupId); }); this.saveBatch(result); } - } public void deleteRel(Long id) { - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(RiskControlDictRel::getRiskControlId,id); + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(BzDictRel::getBusinessId,id); this.remove(queryWrapper); } - public void updateRel(List result, Long id) { + public void updateRel(List result, Long id,String groupId) { deleteRel(id); - saveRel(result,id); + saveRel(result,id,groupId); + } + + public void removeByBzIds(List detailIds) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.in(BzDictRel::getBusinessId,detailIds); + this.remove(queryWrapper); } } 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 3af3cca..6dc4662 100644 --- a/src/main/java/com/gunshi/project/xyt/service/FileAssociationsService.java +++ b/src/main/java/com/gunshi/project/xyt/service/FileAssociationsService.java @@ -2,6 +2,8 @@ package com.gunshi.project.xyt.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gunshi.project.xyt.mapper.FileAssociationsMapper; import com.gunshi.project.xyt.model.FileAssociations; @@ -13,6 +15,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; +import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; @@ -152,7 +155,9 @@ public class FileAssociationsService extends ServiceImpl businessIds) { + return this.remove(new QueryWrapper().in("business_id", businessIds)); + } + } diff --git a/src/main/java/com/gunshi/project/xyt/service/RiskControlInfoService.java b/src/main/java/com/gunshi/project/xyt/service/RiskControlInfoService.java index bb0f1d6..e94192f 100644 --- a/src/main/java/com/gunshi/project/xyt/service/RiskControlInfoService.java +++ b/src/main/java/com/gunshi/project/xyt/service/RiskControlInfoService.java @@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gunshi.project.xyt.entity.so.AttCctvBasePage; import com.gunshi.project.xyt.mapper.RiskControlInfoMapper; -import com.gunshi.project.xyt.model.RiskControlDictRel; +import com.gunshi.project.xyt.model.BzDictRel; import com.gunshi.project.xyt.model.RiskControlInfo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -34,14 +34,14 @@ public class RiskControlInfoService extends ServiceImpl records) { List ids = records.stream().map(RiskControlInfo::getId).collect(Collectors.toList()); - List relList = this.baseMapper.queryRelList(ids); - Map> map = relList.stream().collect(Collectors.groupingBy(RiskControlDictRel::getRiskControlId)); + List relList = this.baseMapper.queryRelList(ids); + Map> map = relList.stream().collect(Collectors.groupingBy(BzDictRel::getBusinessId)); for (RiskControlInfo record : records) { record.setResult(map.get(record.getId())); } diff --git a/src/main/java/com/gunshi/project/xyt/service/TermiteSurveyDetailService.java b/src/main/java/com/gunshi/project/xyt/service/TermiteSurveyDetailService.java new file mode 100644 index 0000000..fbecb8b --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/service/TermiteSurveyDetailService.java @@ -0,0 +1,129 @@ +package com.gunshi.project.xyt.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.xyt.mapper.RiskControlInfoMapper; +import com.gunshi.project.xyt.mapper.TermiteSurveyDetailMapper; +import com.gunshi.project.xyt.model.BzDictRel; +import com.gunshi.project.xyt.model.FileAssociations; +import com.gunshi.project.xyt.model.TermiteSurvey; +import com.gunshi.project.xyt.model.TermiteSurveyDetail; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 描述: 白蚁普查明细 + * author: xusan + * date: 2024-08-28 10:25:17 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class TermiteSurveyDetailService extends ServiceImpl +{ + @Autowired + private FileAssociationsService fileService; + + @Autowired + private BzDictRelService bzDictRelService; + + @Autowired + private RiskControlInfoMapper controlInfoMapper; + + public void saveDetail(List details, Long id) { + if(!CollectionUtils.isEmpty(details)){ + List picList = new ArrayList<>(); + List videoList = new ArrayList<>(); + List relList = new ArrayList<>(); + for (TermiteSurveyDetail detail : details){ + Long detailId = IdWorker.getId(); + detail.setId(detailId); + detail.setSurveyId(id); + if(CollectionUtils.isNotEmpty(detail.getActSign())){ + detail.getActSign().stream().forEach(o->o.setBusinessId(detailId)); + relList.addAll(detail.getActSign()); + } + if(CollectionUtils.isNotEmpty(detail.getPics())){ + detail.getPics().stream().forEach(o->o.setBusinessId(detailId.toString())); + picList.addAll(detail.getPics()); + } + if(CollectionUtils.isNotEmpty(detail.getVideos())){ + detail.getVideos().stream().forEach(o->o.setBusinessId(detailId.toString())); + videoList.addAll(detail.getVideos()); + } + } + this.saveBatch(details); + bzDictRelService.saveRel(relList,null,getGroupId()); + fileService.save(picList,null,getGroupId(),getPicType()); + fileService.save(videoList,null,getGroupId(),getVideoType()); + } + + } + + private String getPicType() { + return "termitePic"; + } + + private String getVideoType() { + return "termiteVideo"; + } + + public String getGroupId() { + return "termiteSurvey"; + } + + + public void updateDetail(List details, Long id) { + delDetail(id); + saveDetail(details,id); + } + + public void delDetail(Long id) { + List list = getDetailById(id); + if(CollectionUtils.isEmpty(list)){ + return; + } + List detailIds = list.stream().map(TermiteSurveyDetail::getId).collect(Collectors.toList()); + List ids = detailIds.stream().map(Object::toString).collect(Collectors.toList()); + //删除附件 + fileService.removeByBzIds(ids); + //删除字典 + bzDictRelService.removeByBzIds(detailIds); + this.removeBatchByIds(detailIds); + } + + public TermiteSurvey detail(TermiteSurvey termiteSurvey) { + List list = getDetailById(termiteSurvey.getId()); + if(CollectionUtils.isEmpty(list)){ + return termiteSurvey; + } + List ids = list.stream().map(TermiteSurveyDetail::getId).collect(Collectors.toList()); + List relList = controlInfoMapper.queryRelList(ids); + Map> map = relList.stream().collect(Collectors.groupingBy(BzDictRel::getBusinessId)); + for(TermiteSurveyDetail detail : list){ + detail.setActSign(map.get(detail.getId())); + detail.setPics(fileService.queryFileList(detail.getId().toString(),getGroupId(),getPicType())); + detail.setVideos(fileService.queryFileList(detail.getId().toString(),getGroupId(),getVideoType())); + } + termiteSurvey.setDetails(list); + return termiteSurvey; + } + + private List getDetailById(Long id){ + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(TermiteSurveyDetail::getSurveyId,id); + return this.list(queryWrapper); + } +} + + diff --git a/src/main/java/com/gunshi/project/xyt/service/TermiteSurveyService.java b/src/main/java/com/gunshi/project/xyt/service/TermiteSurveyService.java new file mode 100644 index 0000000..65e24be --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/service/TermiteSurveyService.java @@ -0,0 +1,73 @@ +package com.gunshi.project.xyt.service; + +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.xyt.entity.so.TermiteSurveyPageSo; +import com.gunshi.project.xyt.mapper.TermiteSurveyMapper; +import com.gunshi.project.xyt.model.TermiteSurvey; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Objects; + +/** + * 描述: 白蚁普查 + * author: xusan + * date: 2024-08-28 10:29:58 + */ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class TermiteSurveyService extends ServiceImpl +{ + @Autowired + private TermiteSurveyDetailService detailService; + + public TermiteSurvey saveData(TermiteSurvey dto) { + dto.setId(IdWorker.getId()); + boolean result = this.save(dto); + if (result) { + detailService.saveDetail(dto.getDetails(),dto.getId()); + } + return dto; + } + + public TermiteSurvey updateData(TermiteSurvey dto) { + if (Objects.isNull(this.getById(dto.getId()))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean result = this.updateById(dto); + if (result) { + detailService.updateDetail(dto.getDetails(),dto.getId()); + } + return dto; + } + + public Boolean delData(Long id) { + if (Objects.isNull(this.getById(id))) { + throw new IllegalArgumentException("当前数据不存在"); + } + boolean data = this.removeById(id); + if (data) { + detailService.delDetail(id); + } + return data; + } + + public TermiteSurvey detail(Long id) { + TermiteSurvey termiteSurvey = this.getById(id); + if(Objects.isNull(termiteSurvey)){ + throw new IllegalArgumentException("当前数据不存在"); + } + return detailService.detail(termiteSurvey); + } + + public Page pageQuery(TermiteSurveyPageSo page) { + return this.baseMapper.pageQuery(page.getPageSo().toPage(),page); + } +} + + From e5a07d53285ba18a7e0321b194b6771e2c9b49a9 Mon Sep 17 00:00:00 2001 From: wany <13995595726@qq.com> Date: Wed, 28 Aug 2024 16:50:58 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E7=99=BD=E8=9A=81=E9=98=B2=E6=B2=BB?= =?UTF-8?q?=E5=AE=A3=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TermiteAdverController.java | 39 +++++++++++++++++++ .../xyt/mapper/TermiteSurveyMapper.java | 11 ++++++ 2 files changed, 50 insertions(+) create mode 100644 src/main/java/com/gunshi/project/xyt/controller/TermiteAdverController.java diff --git a/src/main/java/com/gunshi/project/xyt/controller/TermiteAdverController.java b/src/main/java/com/gunshi/project/xyt/controller/TermiteAdverController.java new file mode 100644 index 0000000..b431256 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/controller/TermiteAdverController.java @@ -0,0 +1,39 @@ +package com.gunshi.project.xyt.controller; + +import com.gunshi.core.result.R; +import com.gunshi.file.model.FileDescriptor; +import com.gunshi.project.xyt.mapper.TermiteSurveyMapper; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 描述: 白蚁防治宣传 + * author: xusan + * date: 2024-08-28 10:29:58 + */ +@Tag(name = "白蚁防治宣传") +@RestController +@RequestMapping(value="/termite/adver") +public class TermiteAdverController extends AbstractCommonFileController{ + + @Autowired + private TermiteSurveyMapper termiteSurveyMapper; + + @Operation(summary = "宣传资料") + @GetMapping("/list") + public R> list() { + return R.ok(termiteSurveyMapper.queryFileList(getGroupId())); + } + + + @Override + public String getGroupId() { + return "termiteAdver"; + } +} \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/TermiteSurveyMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/TermiteSurveyMapper.java index 5765595..8a93d6a 100644 --- a/src/main/java/com/gunshi/project/xyt/mapper/TermiteSurveyMapper.java +++ b/src/main/java/com/gunshi/project/xyt/mapper/TermiteSurveyMapper.java @@ -2,12 +2,15 @@ package com.gunshi.project.xyt.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.file.model.FileDescriptor; import com.gunshi.project.xyt.entity.so.TermiteSurveyPageSo; import com.gunshi.project.xyt.model.TermiteSurvey; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + /** * 描述: 白蚁普查 * author: xusan @@ -37,4 +40,12 @@ public interface TermiteSurveyMapper extends BaseMapper { """) Page pageQuery(Page page,@Param("obj") TermiteSurveyPageSo page1); + + @Select(""" + + """) + List queryFileList(@Param("groupId") String groupId); + } \ No newline at end of file From ffe2d3d2f4071a46a1b34433fc2db1c6657db1df Mon Sep 17 00:00:00 2001 From: wany <13995595726@qq.com> Date: Wed, 28 Aug 2024 17:43:20 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E5=AD=97=E5=85=B8?= =?UTF-8?q?=E9=80=9A=E8=BF=87=E7=88=B6=E7=BC=96=E7=A0=81=E6=9F=A5=E5=AD=90?= =?UTF-8?q?=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../project/xyt/controller/SysDictBController.java | 6 ++++++ .../com/gunshi/project/xyt/mapper/SysDictBMapper.java | 10 ++++++++++ .../gunshi/project/xyt/service/SysDictBService.java | 3 +++ 3 files changed, 19 insertions(+) diff --git a/src/main/java/com/gunshi/project/xyt/controller/SysDictBController.java b/src/main/java/com/gunshi/project/xyt/controller/SysDictBController.java index 41cd68e..9569eda 100644 --- a/src/main/java/com/gunshi/project/xyt/controller/SysDictBController.java +++ b/src/main/java/com/gunshi/project/xyt/controller/SysDictBController.java @@ -106,6 +106,12 @@ public class SysDictBController { return R.ok(query.list()); } + @Operation(summary = "列表 通过父编码查子项") + @GetMapping("/listByCd") + public R> listByCd(@Schema(name = "dictCd",description = "父编码") @RequestParam(name = "dictCd") String dictCd) { + return R.ok(service.listByCd(dictCd)); + } + @Operation(summary = "分页 只查父项") @PostMapping("/page") public R> page(@RequestBody GenericPageParams page) { diff --git a/src/main/java/com/gunshi/project/xyt/mapper/SysDictBMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/SysDictBMapper.java index f607b4c..0082f2b 100644 --- a/src/main/java/com/gunshi/project/xyt/mapper/SysDictBMapper.java +++ b/src/main/java/com/gunshi/project/xyt/mapper/SysDictBMapper.java @@ -3,6 +3,10 @@ package com.gunshi.project.xyt.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.gunshi.project.xyt.model.SysDictB; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** * 描述: 系统字典表 @@ -12,4 +16,10 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface SysDictBMapper extends BaseMapper { + @Select(""" + + """) + List listByCd(@Param("dictCd") String dictCd); } \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/service/SysDictBService.java b/src/main/java/com/gunshi/project/xyt/service/SysDictBService.java index bb22267..4be4b69 100644 --- a/src/main/java/com/gunshi/project/xyt/service/SysDictBService.java +++ b/src/main/java/com/gunshi/project/xyt/service/SysDictBService.java @@ -52,6 +52,9 @@ public class SysDictBService extends ServiceImpl return sorteds; } + public List listByCd(String dictCd) { + return this.baseMapper.listByCd(dictCd); + } }