From b171ec6af0b75dc1fac552af55ad73455e0fb1b8 Mon Sep 17 00:00:00 2001 From: zt Date: Wed, 3 Dec 2025 17:01:37 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9A=90=E6=82=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DesVolumeCatalogController.java | 19 +- .../DesVolumeCatalogQueryReq.java | 5 + .../dromara/design/domain/vo/DelayContVo.java | 23 +++ .../service/IDesVolumeCatalogService.java | 7 + .../design/service/IDesVolumeFileService.java | 3 + .../impl/DesVolumeCatalogServiceImpl.java | 25 +++ .../domain/QltQualityConstructionLog.java | 10 ++ .../QltQualityConstructionLogCreateReq.java | 10 ++ .../QltQualityConstructionLogVo.java | 11 ++ .../QltQualityConstructionLogServiceImpl.java | 2 + .../HazardHiddenDangerController.java | 105 ++++++++++++ .../safety/domain/HazardHiddenDanger.java | 138 +++++++++++++++ .../dromara/safety/domain/HseSafetyLog.java | 10 ++ .../domain/bo/HazardHiddenDangerBo.java | 138 +++++++++++++++ .../dto/safetylog/HseSafetyLogCreateReq.java | 10 ++ .../domain/vo/HazardHiddenDangerVo.java | 162 ++++++++++++++++++ .../domain/vo/safetylog/HseSafetyLogVo.java | 12 ++ .../mapper/HazardHiddenDangerMapper.java | 15 ++ .../service/IHazardHiddenDangerService.java | 70 ++++++++ .../impl/HazardHiddenDangerServiceImpl.java | 145 ++++++++++++++++ .../safety/HazardHiddenDangerMapper.xml | 7 + 21 files changed, 923 insertions(+), 4 deletions(-) create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/DelayContVo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/HazardHiddenDangerController.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/HazardHiddenDanger.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/bo/HazardHiddenDangerBo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/HazardHiddenDangerVo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/mapper/HazardHiddenDangerMapper.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHazardHiddenDangerService.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/impl/HazardHiddenDangerServiceImpl.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/safety/HazardHiddenDangerMapper.xml diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesVolumeCatalogController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesVolumeCatalogController.java index b46d5a9a..7abb4fcc 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesVolumeCatalogController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesVolumeCatalogController.java @@ -26,6 +26,7 @@ import org.dromara.design.domain.dto.volumecatalog.DesVolumeCatalogCreateReq; import org.dromara.design.domain.dto.volumecatalog.DesVolumeCatalogQueryReq; import org.dromara.design.domain.dto.volumecatalog.DesVolumeCatalogUpdateReq; import org.dromara.design.domain.vo.CopyUserVo; +import org.dromara.design.domain.vo.DelayContVo; import org.dromara.design.domain.vo.DesUserVo; import org.dromara.design.domain.vo.volumecatalog.DesVolumeCatalogVo; import org.dromara.design.domain.vo.volumefile.DesVolumeFileVo; @@ -45,10 +46,7 @@ import java.io.IOException; import java.io.InputStream; import java.time.LocalDate; import java.time.ZoneId; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Date; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; /** @@ -131,6 +129,16 @@ public class DesVolumeCatalogController extends BaseController { return toAjax(desVolumeCatalogService.viewerFile(id)); } + /** + * 计划过期统计 + */ + @GetMapping("/delayCont/{projectId}") + public R delayCont(@PathVariable Long projectId) { + return R.ok(desVolumeCatalogService.delayCont(projectId)); + } + + + /** * 新增卷册目录 */ @@ -167,6 +175,9 @@ public class DesVolumeCatalogController extends BaseController { } + + + /** * 收资清单模板导出 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/volumecatalog/DesVolumeCatalogQueryReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/volumecatalog/DesVolumeCatalogQueryReq.java index 750602b9..47b290af 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/volumecatalog/DesVolumeCatalogQueryReq.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/volumecatalog/DesVolumeCatalogQueryReq.java @@ -46,4 +46,9 @@ public class DesVolumeCatalogQueryReq implements Serializable { */ private String designSubitem; + /** + * 0-不延期,1-延期 + */ + private String delay; + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/DelayContVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/DelayContVo.java new file mode 100644 index 00000000..7d54aa4b --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/DelayContVo.java @@ -0,0 +1,23 @@ +package org.dromara.design.domain.vo; + + +import lombok.Data; + +@Data +public class DelayContVo { + + /** + * 总数 + */ + private Integer total; + + /** + * 延迟数 + */ + private Integer delay; + + /** + * 今日数 + */ + private Integer today; +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IDesVolumeCatalogService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IDesVolumeCatalogService.java index a5e5cb04..bf3f5e04 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IDesVolumeCatalogService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IDesVolumeCatalogService.java @@ -11,7 +11,9 @@ import org.dromara.design.domain.DesVolumeFile; import org.dromara.design.domain.dto.volumecatalog.DesVolumeCatalogCreateReq; import org.dromara.design.domain.dto.volumecatalog.DesVolumeCatalogQueryReq; import org.dromara.design.domain.dto.volumecatalog.DesVolumeCatalogUpdateReq; +import org.dromara.design.domain.vo.DelayContVo; import org.dromara.design.domain.vo.volumecatalog.DesVolumeCatalogVo; +import org.springframework.web.bind.annotation.PathVariable; import java.util.Collection; import java.util.List; @@ -130,4 +132,9 @@ public interface IDesVolumeCatalogService extends IService { * @return 设计子项列表 */ List listDesignSubitem(Long projectId); + + /** + * 统计 + */ + DelayContVo delayCont(Long projectId); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IDesVolumeFileService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IDesVolumeFileService.java index 948060ed..2958cf2f 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IDesVolumeFileService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IDesVolumeFileService.java @@ -100,4 +100,7 @@ public interface IDesVolumeFileService extends IService { TableDataInfo queryAppPageList(DesVolumeFileAppPageDto dto, PageQuery pageQuery); AuditFileVo auditFile(AuditFileDto dto); + + + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/DesVolumeCatalogServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/DesVolumeCatalogServiceImpl.java index f1a03153..4f66d4ef 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/DesVolumeCatalogServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/DesVolumeCatalogServiceImpl.java @@ -28,6 +28,7 @@ import org.dromara.design.domain.bo.DesUserBo; import org.dromara.design.domain.dto.volumecatalog.DesVolumeCatalogCreateReq; import org.dromara.design.domain.dto.volumecatalog.DesVolumeCatalogQueryReq; import org.dromara.design.domain.dto.volumecatalog.DesVolumeCatalogUpdateReq; +import org.dromara.design.domain.vo.DelayContVo; import org.dromara.design.domain.vo.volumecatalog.DesVolumeCatalogVo; import org.dromara.design.mapper.DesVolumeCatalogMapper; import org.dromara.design.service.*; @@ -43,6 +44,8 @@ import org.springframework.transaction.annotation.Transactional; import java.io.IOException; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; +import java.time.LocalDate; +import java.time.LocalDateTime; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -236,6 +239,17 @@ public class DesVolumeCatalogServiceImpl extends ServiceImpl list = this.lambdaQuery() + .eq(DesVolumeCatalog::getProjectId, projectId).list(); + DelayContVo delayContVo = new DelayContVo(); + delayContVo.setTotal(list.size()); + delayContVo.setDelay((int)list.stream().filter(item -> item.getPlannedCompletion().isBefore(LocalDate.now()) && item.getDesignState().equals("2")).count()); + delayContVo.setToday((int)list.stream().filter(item -> item.getPlannedCompletion().isEqual(LocalDate.now())).count()); + return delayContVo; + } + /** * 修改卷册目录 * @@ -353,6 +367,7 @@ public class DesVolumeCatalogServiceImpl extends ServiceImpl wrapper.gt(DesVolumeCatalog::getPlannedCompletion, LocalDateTime.now()) + .or() + .eq(DesVolumeCatalog::getDesignState, "1") + ); + } return lqw; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/quality/domain/QltQualityConstructionLog.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/quality/domain/QltQualityConstructionLog.java index dc0f3e94..76a4f904 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/quality/domain/QltQualityConstructionLog.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/quality/domain/QltQualityConstructionLog.java @@ -34,6 +34,11 @@ public class QltQualityConstructionLog extends BaseEntity { */ private Long projectId; + /** + * 类型 1-文字,2-文件 + */ + private String type; + /** * 标题 */ @@ -44,6 +49,11 @@ public class QltQualityConstructionLog extends BaseEntity { */ private LocalDate happenDate; + /** + * 结束日期 + */ + private LocalDate endDate; + /** * 生产情况 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/quality/domain/dto/qualityconstructionlog/QltQualityConstructionLogCreateReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/quality/domain/dto/qualityconstructionlog/QltQualityConstructionLogCreateReq.java index aecdda4c..8c98031c 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/quality/domain/dto/qualityconstructionlog/QltQualityConstructionLogCreateReq.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/quality/domain/dto/qualityconstructionlog/QltQualityConstructionLogCreateReq.java @@ -21,11 +21,21 @@ public class QltQualityConstructionLogCreateReq implements Serializable { */ private Long projectId; + /** + * 类型 1-文字,2-文件 + */ + private String type; + /** * 发生日期 */ private LocalDate happenDate; + /** + * 结束日期 + */ + private LocalDate endDate; + /** * 生产情况 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/quality/domain/vo/qualityconstructionlog/QltQualityConstructionLogVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/quality/domain/vo/qualityconstructionlog/QltQualityConstructionLogVo.java index cb0b3bbd..235850f3 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/quality/domain/vo/qualityconstructionlog/QltQualityConstructionLogVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/quality/domain/vo/qualityconstructionlog/QltQualityConstructionLogVo.java @@ -40,6 +40,11 @@ public class QltQualityConstructionLogVo implements Serializable { */ private Long projectId; + /** + * 类型 1-文字,2-文件 + */ + private String type; + /** * 项目名称 */ @@ -52,6 +57,12 @@ public class QltQualityConstructionLogVo implements Serializable { @ExcelProperty(value = "发生日期") private LocalDate happenDate; + + /** + * 结束日期 + */ + private LocalDate endDate; + /** * 生产情况 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/quality/service/impl/QltQualityConstructionLogServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/quality/service/impl/QltQualityConstructionLogServiceImpl.java index 8a57c237..85b34e1d 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/quality/service/impl/QltQualityConstructionLogServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/quality/service/impl/QltQualityConstructionLogServiceImpl.java @@ -224,6 +224,8 @@ public class QltQualityConstructionLogServiceImpl extends ServiceImpl list(HazardHiddenDangerBo bo, PageQuery pageQuery) { + return hazardHiddenDangerService.queryPageList(bo, pageQuery); + } + + /** + * 导出隐患信息列表 + */ + @SaCheckPermission("safety:hiddenDanger:export") + @Log(title = "隐患信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HazardHiddenDangerBo bo, HttpServletResponse response) { + List list = hazardHiddenDangerService.queryList(bo); + ExcelUtil.exportExcel(list, "隐患信息", HazardHiddenDangerVo.class, response); + } + + /** + * 获取隐患信息详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("safety:hiddenDanger:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(hazardHiddenDangerService.queryById(id)); + } + + /** + * 新增隐患信息 + */ + @SaCheckPermission("safety:hiddenDanger:add") + @Log(title = "隐患信息", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody HazardHiddenDangerBo bo) { + return toAjax(hazardHiddenDangerService.insertByBo(bo)); + } + + /** + * 修改隐患信息 + */ + @SaCheckPermission("safety:hiddenDanger:edit") + @Log(title = "隐患信息", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody HazardHiddenDangerBo bo) { + return toAjax(hazardHiddenDangerService.updateByBo(bo)); + } + + /** + * 删除隐患信息 + * + * @param ids 主键串 + */ + @SaCheckPermission("safety:hiddenDanger:remove") + @Log(title = "隐患信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(hazardHiddenDangerService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/HazardHiddenDanger.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/HazardHiddenDanger.java new file mode 100644 index 00000000..c9b42cd5 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/HazardHiddenDanger.java @@ -0,0 +1,138 @@ +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.LocalDateTime; + +/** + * 隐患信息对象 hazard_hidden_danger + * + * @author Lion Li + * @date 2025-12-03 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("hazard_hidden_danger") +public class HazardHiddenDanger extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 角色ID + */ + @TableId(value = "id") + private Long id; + + /** + * 隐患编号 + */ + private String dangerCode; + + /** + * 隐患名称 + */ + private String dangerName; + + /** + * 隐患类型 + */ + private String dangerType; + + /** + * 隐患描述 + */ + private String dangerDes; + + /** + * 隐患附件 + */ + private String dangerFile; + + + /** + * 上报位置 + */ + private String reportLocation; + + /** + * 上报人 + */ + private Long reporter; + + /** + * 上报人电话 + */ + private String reportPhone; + + /** + * 上报时间 + */ + private LocalDateTime reportTime; + + /** + * 隐患等级ID + */ + private Long dangerLevelId; + + /** + * 评估人 + */ + private Long evaluator; + + /** + * 评估时间 + */ + private LocalDateTime evaluateTime; + + /** + * 评估依据 + */ + private String evaluateBasis; + + /** + * 评估意见 + */ + private String reporterOpinion; + + /** + * 评估附件 + */ + private String reporterFile; + + /** + * 整改时间 + */ + private LocalDateTime rectifyTime; + + /** + * 整改单位 1-班组 2-分包 + */ + private String rectifyUnit; + + /** + * 整改单位ID + */ + private Long rectifyUnitId; + + /** + * 整改负责人Id + */ + private Long rectifyUserId; + + /** + * 状态(1-待评估,2-待整改,3-待复查,4-已闭环) + */ + private String status; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/HseSafetyLog.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/HseSafetyLog.java index 6a83f706..c7ca1206 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/HseSafetyLog.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/HseSafetyLog.java @@ -33,11 +33,21 @@ public class HseSafetyLog extends BaseEntity { */ private Long projectId; + /** + * 类型 1-文字,2-文件 + */ + private String type; + /** * 发生日期 */ private String dateOfOccurrence; + /** + * 结束日期 + */ + private String endDate; + /** * 最高气温 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/bo/HazardHiddenDangerBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/bo/HazardHiddenDangerBo.java new file mode 100644 index 00000000..29de86f0 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/bo/HazardHiddenDangerBo.java @@ -0,0 +1,138 @@ +package org.dromara.safety.domain.bo; + +import org.dromara.safety.domain.HazardHiddenDanger; +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.LocalDateTime; + +/** + * 隐患信息业务对象 hazard_hidden_danger + * + * @author Lion Li + * @date 2025-12-03 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = HazardHiddenDanger.class, reverseConvertGenerate = false) +public class HazardHiddenDangerBo extends BaseEntity { + + /** + * ID + */ + @NotNull(message = "ID不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 隐患编号 + */ + private String dangerCode; + + /** + * 隐患类型 + */ + private String dangerType; + + /** + * 隐患名称 + */ + private String dangerName; + + /** + * 隐患描述 + */ + private String dangerDes; + + /** + * 隐患附件 + */ + private String dangerFile; + + /** + * 上报位置 + */ + private String reportLocation; + + /** + * 上报人 + */ + private Long reporter; + + /** + * 上报人电话 + */ + private String reportPhone; + + /** + * 上报时间 + */ + private LocalDateTime reportTime; + + /** + * 隐患等级ID + */ + private Long dangerLevelId; + + /** + * 评估人 + */ + private Long evaluator; + + /** + * 评估时间 + */ + private LocalDateTime evaluateTime; + + /** + * 评估依据 + */ + private String evaluateBasis; + + /** + * 评估意见 + */ + private String reporterOpinion; + + /** + * 评估附件 + */ + private String reporterFile; + + /** + * 整改时间 + */ + private LocalDateTime rectifyTime; + + /** + * 整改单位 1-班组 2-分包 + */ + private String rectifyUnit; + + /** + * 整改单位ID + */ + private Long rectifyUnitId; + + /** + * 整改负责人Id + */ + private Long rectifyUserId; + + /** + * 状态(1-待评估,2-待整改,3-待复查,4-已闭环) + */ + @NotBlank(message = "状态(1-待评估,2-待整改,3-待复查,4-已闭环)不能为空", groups = { AddGroup.class, EditGroup.class }) + private String status; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/dto/safetylog/HseSafetyLogCreateReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/dto/safetylog/HseSafetyLogCreateReq.java index 00f75912..82cd8054 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/dto/safetylog/HseSafetyLogCreateReq.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/dto/safetylog/HseSafetyLogCreateReq.java @@ -23,12 +23,22 @@ public class HseSafetyLogCreateReq implements Serializable { @NotNull(message = "项目id不能为空") private Long projectId; + /** + * 类型 1-文字,2-文件 + */ + private String type; + /** * 发生日期 */ @NotBlank(message = "发生日期不能为空") private String dateOfOccurrence; + /** + * 结束日期 + */ + private String endDate; + /** * 最高气温 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/HazardHiddenDangerVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/HazardHiddenDangerVo.java new file mode 100644 index 00000000..4c002e41 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/HazardHiddenDangerVo.java @@ -0,0 +1,162 @@ +package org.dromara.safety.domain.vo; + +import org.dromara.safety.domain.HazardHiddenDanger; +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.LocalDateTime; +import java.util.Date; + + + +/** + * 隐患信息视图对象 hazard_hidden_danger + * + * @author Lion Li + * @date 2025-12-03 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = HazardHiddenDanger.class) +public class HazardHiddenDangerVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 角色ID + */ + @ExcelProperty(value = "角色ID") + private Long id; + + /** + * 隐患编号 + */ + @ExcelProperty(value = "隐患编号") + private String dangerCode; + + /** + * 隐患名称 + */ + @ExcelProperty(value = "隐患名称") + private String dangerName; + + /** + * 上报位置 + */ + @ExcelProperty(value = "上报位置") + private String reportLocation; + + /** + * 上报人 + */ + @ExcelProperty(value = "上报人") + private Long reporter; + + /** + * 上报人电话 + */ + private String reportPhone; + + /** + * 上报时间 + */ + @ExcelProperty(value = "上报时间") + private LocalDateTime reportTime; + + /** + * 隐患等级ID + */ + @ExcelProperty(value = "隐患等级ID") + private Long dangerLevelId; + + /** + * 隐患类型 + */ + private String dangerType; + + /** + * 隐患描述 + */ + private String dangerDes; + + /** + * 隐患附件 + */ + private String dangerFile; + + /** + * 评估人 + */ + @ExcelProperty(value = "评估人") + private Long evaluator; + + /** + * 评估时间 + */ + @ExcelProperty(value = "评估时间") + private LocalDateTime evaluateTime; + + /** + * 评估依据 + */ + @ExcelProperty(value = "评估依据") + private String evaluateBasis; + + /** + * 评估意见 + */ + @ExcelProperty(value = "评估意见") + private String reporterOpinion; + + /** + * 评估附件 + */ + @ExcelProperty(value = "评估附件") + private String reporterFile; + + /** + * 整改时间 + */ + @ExcelProperty(value = "整改时间") + private LocalDateTime rectifyTime; + + /** + * 整改单位 1-班组 2-分包 + */ + @ExcelProperty(value = "整改单位 1-班组 2-分包") + private String rectifyUnit; + + /** + * 整改单位ID + */ + @ExcelProperty(value = "整改单位ID") + private Long rectifyUnitId; + + /** + * 整改负责人Id + */ + @ExcelProperty(value = "整改负责人Id") + private Long rectifyUserId; + + /** + * 状态(1-待评估,2-待整改,3-待复查,4-已闭环) + */ + @ExcelProperty(value = "状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "1=-待评估,2-待整改,3-待复查,4-已闭环") + private String status; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/safetylog/HseSafetyLogVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/safetylog/HseSafetyLogVo.java index f83b8c6b..0b8d2542 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/safetylog/HseSafetyLogVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/domain/vo/safetylog/HseSafetyLogVo.java @@ -41,12 +41,24 @@ public class HseSafetyLogVo implements Serializable { @ExcelProperty(value = "项目id") private Long projectId; + + /** + * 类型 1-文字,2-文件 + */ + private String type; + /** * 发生日期 */ @ExcelProperty(value = "发生日期") private String dateOfOccurrence; + /** + * 结束日期 + */ + private String endDate; + + /** * 最高气温 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/mapper/HazardHiddenDangerMapper.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/mapper/HazardHiddenDangerMapper.java new file mode 100644 index 00000000..43046734 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/mapper/HazardHiddenDangerMapper.java @@ -0,0 +1,15 @@ +package org.dromara.safety.mapper; + +import org.dromara.safety.domain.HazardHiddenDanger; +import org.dromara.safety.domain.vo.HazardHiddenDangerVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 隐患信息Mapper接口 + * + * @author Lion Li + * @date 2025-12-03 + */ +public interface HazardHiddenDangerMapper extends BaseMapperPlus { + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHazardHiddenDangerService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHazardHiddenDangerService.java new file mode 100644 index 00000000..8ceff413 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHazardHiddenDangerService.java @@ -0,0 +1,70 @@ +package org.dromara.safety.service; + +import org.dromara.safety.domain.vo.HazardHiddenDangerVo; +import org.dromara.safety.domain.bo.HazardHiddenDangerBo; +import org.dromara.safety.domain.HazardHiddenDanger; +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-03 + */ +public interface IHazardHiddenDangerService extends IService{ + + /** + * 查询隐患信息 + * + * @param id 主键 + * @return 隐患信息 + */ + HazardHiddenDangerVo queryById(Long id); + + /** + * 分页查询隐患信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 隐患信息分页列表 + */ + TableDataInfo queryPageList(HazardHiddenDangerBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的隐患信息列表 + * + * @param bo 查询条件 + * @return 隐患信息列表 + */ + List queryList(HazardHiddenDangerBo bo); + + /** + * 新增隐患信息 + * + * @param bo 隐患信息 + * @return 是否新增成功 + */ + Boolean insertByBo(HazardHiddenDangerBo bo); + + /** + * 修改隐患信息 + * + * @param bo 隐患信息 + * @return 是否修改成功 + */ + Boolean updateByBo(HazardHiddenDangerBo 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/impl/HazardHiddenDangerServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/impl/HazardHiddenDangerServiceImpl.java new file mode 100644 index 00000000..bdb47321 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/impl/HazardHiddenDangerServiceImpl.java @@ -0,0 +1,145 @@ +package org.dromara.safety.service.impl; + +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.HazardHiddenDangerBo; +import org.dromara.safety.domain.vo.HazardHiddenDangerVo; +import org.dromara.safety.domain.HazardHiddenDanger; +import org.dromara.safety.mapper.HazardHiddenDangerMapper; +import org.dromara.safety.service.IHazardHiddenDangerService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 隐患信息Service业务层处理 + * + * @author Lion Li + * @date 2025-12-03 + */ +@RequiredArgsConstructor +@Service +public class HazardHiddenDangerServiceImpl extends ServiceImpl implements IHazardHiddenDangerService { + + private final HazardHiddenDangerMapper baseMapper; + + /** + * 查询隐患信息 + * + * @param id 主键 + * @return 隐患信息 + */ + @Override + public HazardHiddenDangerVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询隐患信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 隐患信息分页列表 + */ + @Override + public TableDataInfo queryPageList(HazardHiddenDangerBo 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(HazardHiddenDangerBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(HazardHiddenDangerBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByDesc(HazardHiddenDanger::getId); + lqw.eq(StringUtils.isNotBlank(bo.getDangerCode()), HazardHiddenDanger::getDangerCode, bo.getDangerCode()); + lqw.like(StringUtils.isNotBlank(bo.getDangerName()), HazardHiddenDanger::getDangerName, bo.getDangerName()); + lqw.eq(StringUtils.isNotBlank(bo.getReportLocation()), HazardHiddenDanger::getReportLocation, bo.getReportLocation()); + lqw.eq(bo.getReporter() != null, HazardHiddenDanger::getReporter, bo.getReporter()); + lqw.eq(bo.getReportTime() != null, HazardHiddenDanger::getReportTime, bo.getReportTime()); + lqw.eq(bo.getDangerLevelId() != null, HazardHiddenDanger::getDangerLevelId, bo.getDangerLevelId()); + lqw.eq(bo.getEvaluator() != null, HazardHiddenDanger::getEvaluator, bo.getEvaluator()); + lqw.eq(bo.getEvaluateTime() != null, HazardHiddenDanger::getEvaluateTime, bo.getEvaluateTime()); + lqw.eq(StringUtils.isNotBlank(bo.getEvaluateBasis()), HazardHiddenDanger::getEvaluateBasis, bo.getEvaluateBasis()); + lqw.eq(StringUtils.isNotBlank(bo.getReporterOpinion()), HazardHiddenDanger::getReporterOpinion, bo.getReporterOpinion()); + lqw.eq(StringUtils.isNotBlank(bo.getReporterFile()), HazardHiddenDanger::getReporterFile, bo.getReporterFile()); + lqw.eq(bo.getRectifyTime() != null, HazardHiddenDanger::getRectifyTime, bo.getRectifyTime()); + lqw.eq(StringUtils.isNotBlank(bo.getRectifyUnit()), HazardHiddenDanger::getRectifyUnit, bo.getRectifyUnit()); + lqw.eq(bo.getRectifyUnitId() != null, HazardHiddenDanger::getRectifyUnitId, bo.getRectifyUnitId()); + lqw.eq(bo.getRectifyUserId() != null, HazardHiddenDanger::getRectifyUserId, bo.getRectifyUserId()); + lqw.eq(StringUtils.isNotBlank(bo.getStatus()), HazardHiddenDanger::getStatus, bo.getStatus()); + return lqw; + } + + /** + * 新增隐患信息 + * + * @param bo 隐患信息 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(HazardHiddenDangerBo bo) { + HazardHiddenDanger add = MapstructUtils.convert(bo, HazardHiddenDanger.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改隐患信息 + * + * @param bo 隐患信息 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(HazardHiddenDangerBo bo) { + HazardHiddenDanger update = MapstructUtils.convert(bo, HazardHiddenDanger.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(HazardHiddenDanger 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/resources/mapper/safety/HazardHiddenDangerMapper.xml b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/safety/HazardHiddenDangerMapper.xml new file mode 100644 index 00000000..1a71bf1a --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/safety/HazardHiddenDangerMapper.xml @@ -0,0 +1,7 @@ + + + + +