From 35d1cfc66807695dab6ef2845a9c908344fef8d7 Mon Sep 17 00:00:00 2001 From: zt Date: Sat, 6 Dec 2025 18:39:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=B1=E5=A4=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BusProjectTeamController.java | 8 + .../projectteam/BusProjectTeamQueryReq.java | 5 + .../impl/BusProjectTeamServiceImpl.java | 2 + .../HseDangerArchiveController.java | 105 ++++++++++++ .../HseDangerousEngineeringController.java | 14 +- .../controller/HseSpecialPlanController.java | 12 +- .../safety/domain/HseDangerArchive.java | 132 ++++++++++++++ .../dromara/safety/domain/HseSpecialPlan.java | 10 ++ .../safety/domain/bo/HseDangerArchiveBo.java | 132 ++++++++++++++ .../domain/bo/HseDangerousEngineeringBo.java | 6 +- .../safety/domain/vo/HseDangerArchiveVo.java | 162 ++++++++++++++++++ .../domain/vo/HseDangerousEngineeringVo.java | 11 +- .../domain/vo/HseSpecialPlanCountVo.java | 47 +++++ .../safety/domain/vo/HseSpecialPlanVo.java | 2 + .../safety/mapper/HseDangerArchiveMapper.java | 15 ++ .../service/IHseDangerArchiveService.java | 70 ++++++++ .../service/IHseSpecialPlanService.java | 8 + .../impl/HseDangerArchiveServiceImpl.java | 149 ++++++++++++++++ .../impl/HseSpecialPlanServiceImpl.java | 25 ++- .../mapper/safety/HseDangerArchiveMapper.xml | 7 + 20 files changed, 915 insertions(+), 7 deletions(-) create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/HseDangerArchiveController.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/HseDangerArchive.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/bo/HseDangerArchiveBo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/HseDangerArchiveVo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/HseSpecialPlanCountVo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/mapper/HseDangerArchiveMapper.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHseDangerArchiveService.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/impl/HseDangerArchiveServiceImpl.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/safety/HseDangerArchiveMapper.xml diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/BusProjectTeamController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/BusProjectTeamController.java index 3be7f38b..f9fa5bba 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/BusProjectTeamController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/BusProjectTeamController.java @@ -173,4 +173,12 @@ public class BusProjectTeamController extends BaseController { return R.ok(contractorService.queryList(req)); } + /** + * 查询分包单位下的班组列表 + */ + @GetMapping("/teamList") + public R> teamList(BusProjectTeamQueryReq req) { + return R.ok(busProjectTeamService.queryList(req)); + } + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/projectteam/BusProjectTeamQueryReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/projectteam/BusProjectTeamQueryReq.java index d10555ff..e07031e4 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/projectteam/BusProjectTeamQueryReq.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/projectteam/BusProjectTeamQueryReq.java @@ -35,4 +35,9 @@ public class BusProjectTeamQueryReq implements Serializable { */ private String remark; + /** + * 分包公司Id + */ + private Long contractorId; + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectTeamServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectTeamServiceImpl.java index 344cc68b..1cecba85 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectTeamServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectTeamServiceImpl.java @@ -395,10 +395,12 @@ public class BusProjectTeamServiceImpl extends ServiceImpl list(HseDangerArchiveBo bo, PageQuery pageQuery) { + return hseDangerArchiveService.queryPageList(bo, pageQuery); + } + + /** + * 导出危大工程档案列表 + */ + @SaCheckPermission("safety:dangerArchive:export") + @Log(title = "危大工程档案", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HseDangerArchiveBo bo, HttpServletResponse response) { + List list = hseDangerArchiveService.queryList(bo); + ExcelUtil.exportExcel(list, "危大工程档案", HseDangerArchiveVo.class, response); + } + + /** + * 获取危大工程档案详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("safety:dangerArchive:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(hseDangerArchiveService.queryById(id)); + } + + /** + * 新增危大工程档案 + */ + @SaCheckPermission("safety:dangerArchive:add") + @Log(title = "危大工程档案", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody HseDangerArchiveBo bo) { + return toAjax(hseDangerArchiveService.insertByBo(bo)); + } + + /** + * 修改危大工程档案 + */ + @SaCheckPermission("safety:dangerArchive:edit") + @Log(title = "危大工程档案", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody HseDangerArchiveBo bo) { + return toAjax(hseDangerArchiveService.updateByBo(bo)); + } + + /** + * 删除危大工程档案 + * + * @param ids 主键串 + */ + @SaCheckPermission("safety:dangerArchive:remove") + @Log(title = "危大工程档案", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(hseDangerArchiveService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/HseDangerousEngineeringController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/HseDangerousEngineeringController.java index de1a097e..349b73f9 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/HseDangerousEngineeringController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/HseDangerousEngineeringController.java @@ -1,7 +1,9 @@ package org.dromara.safety.controller; +import java.lang.annotation.Target; import java.util.List; +import com.fasterxml.jackson.annotation.JsonGetter; import lombok.RequiredArgsConstructor; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.*; @@ -61,7 +63,7 @@ public class HseDangerousEngineeringController extends BaseController { * * @param id 主键 */ - @SaCheckPermission("safety:dangerousEngineering:query") +// @SaCheckPermission("safety:dangerousEngineering:query") @GetMapping("/{id}") public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long id) { @@ -102,4 +104,14 @@ public class HseDangerousEngineeringController extends BaseController { @PathVariable Long[] ids) { return toAjax(hseDangerousEngineeringService.deleteWithValidByIds(List.of(ids), true)); } + + + /** + * 危大工程信息列表 + */ + @GetMapping("/engineeringList") + public R> engineerList(HseDangerousEngineeringBo bo) { + List list = hseDangerousEngineeringService.queryList(bo); + return R.ok(list); + } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/HseSpecialPlanController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/HseSpecialPlanController.java index 476d6831..6712552a 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/HseSpecialPlanController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/HseSpecialPlanController.java @@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.*; import cn.dev33.satoken.annotation.SaCheckPermission; +import org.dromara.safety.domain.vo.HseSpecialPlanCountVo; import org.springframework.web.bind.annotation.*; import org.springframework.validation.annotation.Validated; import org.dromara.common.idempotent.annotation.RepeatSubmit; @@ -61,7 +62,7 @@ public class HseSpecialPlanController extends BaseController { * * @param id 主键 */ - @SaCheckPermission("safety:specialPlan:query") +// @SaCheckPermission("safety:specialPlan:query") @GetMapping("/{id}") public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long id) { @@ -102,4 +103,13 @@ public class HseSpecialPlanController extends BaseController { @PathVariable Long[] ids) { return toAjax(hseSpecialPlanService.deleteWithValidByIds(List.of(ids), true)); } + + + /** + * 统计 + */ + @GetMapping("/count/{projectId}") + public R count(@PathVariable Long projectId) { + return R.ok(hseSpecialPlanService.count(projectId)); + } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/HseDangerArchive.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/HseDangerArchive.java new file mode 100644 index 00000000..787d12a4 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/HseDangerArchive.java @@ -0,0 +1,132 @@ +package org.dromara.safety.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; +import java.time.LocalDate; + +/** + * 危大工程档案对象 hse_danger_archive + * + * @author Lion Li + * @date 2025-12-06 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hse_danger_archive") +public class HseDangerArchive extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @TableId(value = "id") + private Long id; + + /** + * 项目Id + */ + private Long projectId; + + /** + * 档案编号(自动生成/手动输入) + */ + private String archiveNo; + + /** + * 危大工程ID + */ + private Long deId; + + /** + * 危大工程名称 + */ + private String deName; + + /** + * 档案类别(多个类别用逗号分隔,如:方案,论证) + */ + private String archiveCategory; + + /** + * 归档日期 + */ + private LocalDate archiveDate; + + /** + * 归档人 + */ + private String archiver; + + /** + * 归档单位 + */ + private String archiveUnit; + + /** + * 危险等级 + */ + private String riskLevel; + + /** + * 施工单位 + */ + private String constructionUnit; + + /** + * 标段 + */ + private String section; + + /** + * 档案关键字(多个用逗号分隔) + */ + private String archiveKeywords; + + /** + * 方案定稿文件路径 + */ + private String finalPlanFile; + + /** + * 专家论证资料文件路径 + */ + private String expertArgumentFile; + + /** + * 技术交底资料文件路径 + */ + private String technicalFile; + + /** + * 旁站监理记录文件路径 + */ + private String supervisionRecordFile; + + /** + * 监控日志文件路径 + */ + private String monitoringLogFile; + + /** + * 验收确认书文件路径 + */ + private String acceptanceCertificateFile; + + /** + * 施工影像/附件文件路径 + */ + private String constructionMediaFile; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/HseSpecialPlan.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/HseSpecialPlan.java index 318d43b6..d34f15b2 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/HseSpecialPlan.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/HseSpecialPlan.java @@ -107,21 +107,25 @@ public class HseSpecialPlan extends BaseEntity { /** * 专家结论附件路径 */ + @TableField(updateStrategy = FieldStrategy.ALWAYS) private String expertFile; /** * 论证结论 */ + @TableField(updateStrategy = FieldStrategy.ALWAYS) private String argumentConclusion; /** * 论证日期 */ + @TableField(updateStrategy = FieldStrategy.ALWAYS) private LocalDate argumentDate; /** * 专家组负责人(姓名+单位) */ + @TableField(updateStrategy = FieldStrategy.ALWAYS) private String expertLeader; /** @@ -132,26 +136,31 @@ public class HseSpecialPlan extends BaseEntity { /** * 旁站监理单位 */ + @TableField(updateStrategy = FieldStrategy.ALWAYS) private String supervisionUnit; /** * 旁站监理人 */ + @TableField(updateStrategy = FieldStrategy.ALWAYS) private String supervisor; /** * 旁站实际开始时间 */ + @TableField(updateStrategy = FieldStrategy.ALWAYS) private LocalDateTime supervisionStartTime; /** * 旁站实际结束时间 */ + @TableField(updateStrategy = FieldStrategy.ALWAYS) private LocalDateTime supervisionEndTime; /** * 旁站记录附件路径 */ + @TableField(updateStrategy = FieldStrategy.ALWAYS) private String supervisionFile; /** @@ -162,6 +171,7 @@ public class HseSpecialPlan extends BaseEntity { /** * 关联应急预案编号 */ + @TableField(updateStrategy = FieldStrategy.ALWAYS) private String emergencyPlanNo; /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/bo/HseDangerArchiveBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/bo/HseDangerArchiveBo.java new file mode 100644 index 00000000..8144d32f --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/bo/HseDangerArchiveBo.java @@ -0,0 +1,132 @@ +package org.dromara.safety.domain.bo; + +import org.dromara.safety.domain.HseDangerArchive; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +import java.time.LocalDate; + +/** + * 危大工程档案业务对象 hse_danger_archive + * + * @author Lion Li + * @date 2025-12-06 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = HseDangerArchive.class, reverseConvertGenerate = false) +public class HseDangerArchiveBo extends BaseEntity { + + /** + * ID + */ + @NotNull(message = "ID不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 项目Id + */ + private Long projectId; + + /** + * 档案编号(自动生成/手动输入) + */ + private String archiveNo; + + /** + * 危大工程ID + */ + private Long deId; + + /** + * 危大工程名称 + */ + private String deName; + + /** + * 档案类别(多个类别用逗号分隔,如:方案,论证) + */ + private String archiveCategory; + + /** + * 归档日期 + */ + private LocalDate archiveDate; + + /** + * 归档人 + */ + private String archiver; + + /** + * 归档单位 + */ + private String archiveUnit; + + /** + * 危险等级 + */ + private String riskLevel; + + /** + * 施工单位 + */ + private String constructionUnit; + + /** + * 标段 + */ + private String section; + + /** + * 档案关键字(多个用逗号分隔) + */ + private String archiveKeywords; + + /** + * 方案定稿文件路径 + */ + private String finalPlanFile; + + /** + * 专家论证资料文件路径 + */ + private String expertArgumentFile; + + /** + * 技术交底资料文件路径 + */ + private String technicalFile; + + /** + * 旁站监理记录文件路径 + */ + private String supervisionRecordFile; + + /** + * 监控日志文件路径 + */ + private String monitoringLogFile; + + /** + * 验收确认书文件路径 + */ + private String acceptanceCertificateFile; + + /** + * 施工影像/附件文件路径 + */ + private String constructionMediaFile; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/bo/HseDangerousEngineeringBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/bo/HseDangerousEngineeringBo.java index b8f98bc9..7d252892 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/bo/HseDangerousEngineeringBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/bo/HseDangerousEngineeringBo.java @@ -8,6 +8,8 @@ import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; + +import java.time.LocalDate; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; @@ -51,12 +53,12 @@ public class HseDangerousEngineeringBo extends BaseEntity { /** * 施工开始时间 */ - private Date startTime; + private LocalDate startTime; /** * 预计完成时间 */ - private Date endTime; + private LocalDate endTime; /** * 作业地点 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/HseDangerArchiveVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/HseDangerArchiveVo.java new file mode 100644 index 00000000..a76fc7a1 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/HseDangerArchiveVo.java @@ -0,0 +1,162 @@ +package org.dromara.safety.domain.vo; + +import org.dromara.safety.domain.HseDangerArchive; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.time.LocalDate; +import java.util.Date; + + + +/** + * 危大工程档案视图对象 hse_danger_archive + * + * @author Lion Li + * @date 2025-12-06 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = HseDangerArchive.class) +public class HseDangerArchiveVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @ExcelProperty(value = "ID") + private Long id; + + /** + * 项目Id + */ + @ExcelProperty(value = "项目Id") + private Long projectId; + + /** + * 档案编号(自动生成/手动输入) + */ + @ExcelProperty(value = "档案编号", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "自=动生成/手动输入") + private String archiveNo; + + /** + * 危大工程ID + */ + @ExcelProperty(value = "危大工程ID") + private Long deId; + + /** + * 危大工程名称 + */ + @ExcelProperty(value = "危大工程名称") + private String deName; + + /** + * 档案类别(多个类别用逗号分隔,如:方案,论证) + */ + @ExcelProperty(value = "档案类别", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "多=个类别用逗号分隔,如:方案,论证") + private String archiveCategory; + + /** + * 归档日期 + */ + @ExcelProperty(value = "归档日期") + private LocalDate archiveDate; + + /** + * 归档人 + */ + @ExcelProperty(value = "归档人") + private String archiver; + + /** + * 归档单位 + */ + @ExcelProperty(value = "归档单位") + private String archiveUnit; + + /** + * 危险等级 + */ + @ExcelProperty(value = "危险等级") + private String riskLevel; + + /** + * 施工单位 + */ + @ExcelProperty(value = "施工单位") + private String constructionUnit; + + /** + * 标段 + */ + @ExcelProperty(value = "标段") + private String section; + + /** + * 档案关键字(多个用逗号分隔) + */ + @ExcelProperty(value = "档案关键字", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "多=个用逗号分隔") + private String archiveKeywords; + + /** + * 方案定稿文件路径 + */ + @ExcelProperty(value = "方案定稿文件路径") + private String finalPlanFile; + + /** + * 专家论证资料文件路径 + */ + @ExcelProperty(value = "专家论证资料文件路径") + private String expertArgumentFile; + + /** + * 技术交底资料文件路径 + */ + @ExcelProperty(value = "技术交底资料文件路径") + private String technicalFile; + + /** + * 旁站监理记录文件路径 + */ + @ExcelProperty(value = "旁站监理记录文件路径") + private String supervisionRecordFile; + + /** + * 监控日志文件路径 + */ + @ExcelProperty(value = "监控日志文件路径") + private String monitoringLogFile; + + /** + * 验收确认书文件路径 + */ + @ExcelProperty(value = "验收确认书文件路径") + private String acceptanceCertificateFile; + + /** + * 施工影像/附件文件路径 + */ + @ExcelProperty(value = "施工影像/附件文件路径") + private String constructionMediaFile; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/HseDangerousEngineeringVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/HseDangerousEngineeringVo.java index e385c69c..87b8bfb2 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/HseDangerousEngineeringVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/HseDangerousEngineeringVo.java @@ -1,7 +1,10 @@ package org.dromara.safety.domain.vo; +import java.time.LocalDate; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.common.translation.annotation.Translation; +import org.dromara.common.translation.constant.TransConstant; import org.dromara.safety.domain.HseDangerousEngineering; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; @@ -54,6 +57,10 @@ public class HseDangerousEngineeringVo implements Serializable { @ExcelProperty(value = "风险等级") private String riskLevel; + + @Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "riskLevel",other = "danger_risk_level") + private String riskLevelName; + /** * 作业内容 */ @@ -64,13 +71,13 @@ public class HseDangerousEngineeringVo implements Serializable { * 施工开始时间 */ @ExcelProperty(value = "施工开始时间") - private Date startTime; + private LocalDate startTime; /** * 预计完成时间 */ @ExcelProperty(value = "预计完成时间") - private Date endTime; + private LocalDate endTime; /** * 作业地点 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/HseSpecialPlanCountVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/HseSpecialPlanCountVo.java new file mode 100644 index 00000000..45b8366a --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/HseSpecialPlanCountVo.java @@ -0,0 +1,47 @@ +package org.dromara.safety.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import org.dromara.safety.domain.HseSpecialPlan; + +import java.io.Serial; +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; + + +/** + * 危大工程专项施工方案视图对象 hse_special_plan + * + * @author Lion Li + * @date 2025-12-06 + */ +@Data +public class HseSpecialPlanCountVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + + /** + * 总数 + */ + private Integer total; + + /** + * 需专家论证 + */ + private Long needExpertArgumentNum; + + /** + * 需旁站监理 + */ + private Long needSupervisionNum; + + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/HseSpecialPlanVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/HseSpecialPlanVo.java index 680986a1..2a7730ae 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/HseSpecialPlanVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/HseSpecialPlanVo.java @@ -10,6 +10,8 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; import java.util.Date; diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/mapper/HseDangerArchiveMapper.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/mapper/HseDangerArchiveMapper.java new file mode 100644 index 00000000..2e73bbd8 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/mapper/HseDangerArchiveMapper.java @@ -0,0 +1,15 @@ +package org.dromara.safety.mapper; + +import org.dromara.safety.domain.HseDangerArchive; +import org.dromara.safety.domain.vo.HseDangerArchiveVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 危大工程档案Mapper接口 + * + * @author Lion Li + * @date 2025-12-06 + */ +public interface HseDangerArchiveMapper extends BaseMapperPlus { + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHseDangerArchiveService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHseDangerArchiveService.java new file mode 100644 index 00000000..891bc1f1 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHseDangerArchiveService.java @@ -0,0 +1,70 @@ +package org.dromara.safety.service; + +import org.dromara.safety.domain.vo.HseDangerArchiveVo; +import org.dromara.safety.domain.bo.HseDangerArchiveBo; +import org.dromara.safety.domain.HseDangerArchive; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.Collection; +import java.util.List; + +/** + * 危大工程档案Service接口 + * + * @author Lion Li + * @date 2025-12-06 + */ +public interface IHseDangerArchiveService extends IService{ + + /** + * 查询危大工程档案 + * + * @param id 主键 + * @return 危大工程档案 + */ + HseDangerArchiveVo queryById(Long id); + + /** + * 分页查询危大工程档案列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 危大工程档案分页列表 + */ + TableDataInfo queryPageList(HseDangerArchiveBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的危大工程档案列表 + * + * @param bo 查询条件 + * @return 危大工程档案列表 + */ + List queryList(HseDangerArchiveBo bo); + + /** + * 新增危大工程档案 + * + * @param bo 危大工程档案 + * @return 是否新增成功 + */ + Boolean insertByBo(HseDangerArchiveBo bo); + + /** + * 修改危大工程档案 + * + * @param bo 危大工程档案 + * @return 是否修改成功 + */ + Boolean updateByBo(HseDangerArchiveBo bo); + + /** + * 校验并批量删除危大工程档案信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHseSpecialPlanService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHseSpecialPlanService.java index 48470332..76ad5ee7 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHseSpecialPlanService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHseSpecialPlanService.java @@ -1,5 +1,6 @@ package org.dromara.safety.service; +import org.dromara.safety.domain.vo.HseSpecialPlanCountVo; import org.dromara.safety.domain.vo.HseSpecialPlanVo; import org.dromara.safety.domain.bo.HseSpecialPlanBo; import org.dromara.safety.domain.HseSpecialPlan; @@ -7,6 +8,8 @@ import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; import com.baomidou.mybatisplus.extension.service.IService; +import org.springframework.web.bind.annotation.PathVariable; + import java.util.Collection; import java.util.List; @@ -67,4 +70,9 @@ public interface IHseSpecialPlanService extends IService{ * @return 是否删除成功 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 统计 + */ + HseSpecialPlanCountVo count(Long projectId); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/impl/HseDangerArchiveServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/impl/HseDangerArchiveServiceImpl.java new file mode 100644 index 00000000..7be66158 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/impl/HseDangerArchiveServiceImpl.java @@ -0,0 +1,149 @@ +package org.dromara.safety.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.dromara.safety.domain.bo.HseDangerArchiveBo; +import org.dromara.safety.domain.vo.HseDangerArchiveVo; +import org.dromara.safety.domain.HseDangerArchive; +import org.dromara.safety.mapper.HseDangerArchiveMapper; +import org.dromara.safety.service.IHseDangerArchiveService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 危大工程档案Service业务层处理 + * + * @author Lion Li + * @date 2025-12-06 + */ +@RequiredArgsConstructor +@Service +public class HseDangerArchiveServiceImpl extends ServiceImpl implements IHseDangerArchiveService { + + private final HseDangerArchiveMapper baseMapper; + + /** + * 查询危大工程档案 + * + * @param id 主键 + * @return 危大工程档案 + */ + @Override + public HseDangerArchiveVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询危大工程档案列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 危大工程档案分页列表 + */ + @Override + public TableDataInfo queryPageList(HseDangerArchiveBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的危大工程档案列表 + * + * @param bo 查询条件 + * @return 危大工程档案列表 + */ + @Override + public List queryList(HseDangerArchiveBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(HseDangerArchiveBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByDesc(HseDangerArchive::getId); + lqw.eq(bo.getProjectId() != null, HseDangerArchive::getProjectId, bo.getProjectId()); + lqw.eq(StringUtils.isNotBlank(bo.getArchiveNo()), HseDangerArchive::getArchiveNo, bo.getArchiveNo()); + lqw.eq(bo.getDeId() != null, HseDangerArchive::getDeId, bo.getDeId()); + lqw.like(StringUtils.isNotBlank(bo.getDeName()), HseDangerArchive::getDeName, bo.getDeName()); + lqw.eq(StringUtils.isNotBlank(bo.getArchiveCategory()), HseDangerArchive::getArchiveCategory, bo.getArchiveCategory()); + lqw.eq(bo.getArchiveDate() != null, HseDangerArchive::getArchiveDate, bo.getArchiveDate()); + lqw.eq(StringUtils.isNotBlank(bo.getArchiver()), HseDangerArchive::getArchiver, bo.getArchiver()); + lqw.eq(StringUtils.isNotBlank(bo.getArchiveUnit()), HseDangerArchive::getArchiveUnit, bo.getArchiveUnit()); + lqw.eq(StringUtils.isNotBlank(bo.getRiskLevel()), HseDangerArchive::getRiskLevel, bo.getRiskLevel()); + lqw.eq(StringUtils.isNotBlank(bo.getConstructionUnit()), HseDangerArchive::getConstructionUnit, bo.getConstructionUnit()); + lqw.eq(StringUtils.isNotBlank(bo.getSection()), HseDangerArchive::getSection, bo.getSection()); + lqw.eq(StringUtils.isNotBlank(bo.getArchiveKeywords()), HseDangerArchive::getArchiveKeywords, bo.getArchiveKeywords()); + lqw.eq(StringUtils.isNotBlank(bo.getFinalPlanFile()), HseDangerArchive::getFinalPlanFile, bo.getFinalPlanFile()); + lqw.eq(StringUtils.isNotBlank(bo.getExpertArgumentFile()), HseDangerArchive::getExpertArgumentFile, bo.getExpertArgumentFile()); + lqw.eq(StringUtils.isNotBlank(bo.getTechnicalFile()), HseDangerArchive::getTechnicalFile, bo.getTechnicalFile()); + lqw.eq(StringUtils.isNotBlank(bo.getSupervisionRecordFile()), HseDangerArchive::getSupervisionRecordFile, bo.getSupervisionRecordFile()); + lqw.eq(StringUtils.isNotBlank(bo.getMonitoringLogFile()), HseDangerArchive::getMonitoringLogFile, bo.getMonitoringLogFile()); + lqw.eq(StringUtils.isNotBlank(bo.getAcceptanceCertificateFile()), HseDangerArchive::getAcceptanceCertificateFile, bo.getAcceptanceCertificateFile()); + lqw.eq(StringUtils.isNotBlank(bo.getConstructionMediaFile()), HseDangerArchive::getConstructionMediaFile, bo.getConstructionMediaFile()); + return lqw; + } + + /** + * 新增危大工程档案 + * + * @param bo 危大工程档案 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(HseDangerArchiveBo bo) { + HseDangerArchive add = MapstructUtils.convert(bo, HseDangerArchive.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改危大工程档案 + * + * @param bo 危大工程档案 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(HseDangerArchiveBo bo) { + HseDangerArchive update = MapstructUtils.convert(bo, HseDangerArchive.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(HseDangerArchive entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除危大工程档案信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/impl/HseSpecialPlanServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/impl/HseSpecialPlanServiceImpl.java index 387fe542..c7ea3b51 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/impl/HseSpecialPlanServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/impl/HseSpecialPlanServiceImpl.java @@ -1,6 +1,9 @@ package org.dromara.safety.service.impl; +import cn.hutool.core.lang.Snowflake; +import cn.hutool.core.util.IdUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -9,6 +12,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; +import org.dromara.safety.domain.vo.HseSpecialPlanCountVo; +import org.dromara.safety.service.IHseDangerousEngineeringService; import org.springframework.stereotype.Service; import org.dromara.safety.domain.bo.HseSpecialPlanBo; import org.dromara.safety.domain.vo.HseSpecialPlanVo; @@ -33,6 +38,7 @@ public class HseSpecialPlanServiceImpl extends ServiceImpl 0; if (flag) { bo.setId(add.getId()); @@ -142,7 +151,11 @@ public class HseSpecialPlanServiceImpl extends ServiceImpl 0; } + + @Override + public HseSpecialPlanCountVo count(Long projectId) { + List list = lambdaQuery().eq(HseSpecialPlan::getProjectId, projectId).list(); + HseSpecialPlanCountVo vo = new HseSpecialPlanCountVo(); + vo.setTotal(list.size()); + vo.setNeedExpertArgumentNum(list.stream().filter(item -> item.getNeedExpertArgument() == 1).count()); + vo.setNeedSupervisionNum(list.stream().filter(item -> item.getNeedSupervision() == 1).count()); + return vo; + } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/safety/HseDangerArchiveMapper.xml b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/safety/HseDangerArchiveMapper.xml new file mode 100644 index 00000000..006725b3 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/safety/HseDangerArchiveMapper.xml @@ -0,0 +1,7 @@ + + + + +