From 930bff6cba6c21a359683a2cd47324a5cf107800 Mon Sep 17 00:00:00 2001 From: dfdg <2710245601@qq.com> Date: Fri, 5 Dec 2025 20:10:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=89=E5=85=A8=E4=BA=8B=E6=95=85=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/HseSafetySgzgbhController.java | 87 ++++++++--- .../accident/domain/HseSafetySgdanjl.java | 5 + .../accident/domain/HseSafetySgzgbh.java | 5 + .../safety/accident/domain/HseSafetyZgxx.java | 4 - .../domain/bo/HseSafetySgdanjlBo.java | 6 + .../domain/bo/HseSafetySgdcxqReq.java | 69 +++++++++ .../domain/bo/HseSafetySgssqkReq.java | 49 ++++++ .../accident/domain/bo/HseSafetySgxqReq.java | 40 +++++ .../accident/domain/bo/HseSafetySgzgbhBo.java | 6 + .../domain/bo/HseSafetySgzgfcxqReq.java | 40 +++++ .../accident/domain/bo/HseSafetyZgxxBo.java | 4 - .../domain/vo/HseSafetySgdanjlVo.java | 6 + .../domain/vo/HseSafetySgzgbhHeadVo.java | 30 ++++ .../accident/domain/vo/HseSafetySgzgbhVo.java | 13 +- .../accident/domain/vo/HseSafetyZgxxVo.java | 10 +- .../safety/accident/menu/SGStatusEnum.java | 81 ++++++++++ .../service/IHseSafetyFcxxService.java | 7 + .../service/IHseSafetySgzgbhService.java | 26 ++++ .../service/IHseSafetyZgxxService.java | 7 + .../impl/HseSafetyFcxxServiceImpl.java | 5 + .../impl/HseSafetySgzgbhServiceImpl.java | 139 +++++++++++++++++- .../impl/HseSafetyZgxxServiceImpl.java | 21 ++- 22 files changed, 619 insertions(+), 41 deletions(-) create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetySgdcxqReq.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetySgssqkReq.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetySgxqReq.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetySgzgfcxqReq.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/vo/HseSafetySgzgbhHeadVo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/menu/SGStatusEnum.java diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/controller/HseSafetySgzgbhController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/controller/HseSafetySgzgbhController.java index 23649e52..ad30bb8e 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/controller/HseSafetySgzgbhController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/controller/HseSafetySgzgbhController.java @@ -6,6 +6,11 @@ import lombok.RequiredArgsConstructor; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.*; import cn.dev33.satoken.annotation.SaCheckPermission; +import org.dromara.mechanical.jxzgbh.domain.bo.JxYhzgbhBo; +import org.dromara.mechanical.jxzgbh.domain.vo.JxZgxxHeadVo; +import org.dromara.safety.accident.domain.bo.HseSafetyFcxxBo; +import org.dromara.safety.accident.domain.bo.HseSafetyZgxxBo; +import org.dromara.safety.accident.domain.vo.HseSafetySgzgbhHeadVo; import org.springframework.web.bind.annotation.*; import org.springframework.validation.annotation.Validated; import org.dromara.common.idempotent.annotation.RepeatSubmit; @@ -36,6 +41,14 @@ public class HseSafetySgzgbhController extends BaseController { private final IHseSafetySgzgbhService hseSafetySgzgbhService; + /** + * 头部数据返回 + */ + @SaCheckPermission("jxzgbh:yhzgbh:list") + @GetMapping("/getListHead") + public R getListHead(HseSafetySgzgbhBo bo) { + return R.ok(hseSafetySgzgbhService.getListHead(bo)); + } /** * 查询安全-事故整改闭环列表 */ @@ -48,13 +61,13 @@ public class HseSafetySgzgbhController extends BaseController { /** * 导出安全-事故整改闭环列表 */ - @SaCheckPermission("accident:safetySgzgbh:export") - @Log(title = "安全-事故整改闭环", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HseSafetySgzgbhBo bo, HttpServletResponse response) { - List list = hseSafetySgzgbhService.queryList(bo); - ExcelUtil.exportExcel(list, "安全-事故整改闭环", HseSafetySgzgbhVo.class, response); - } +// @SaCheckPermission("accident:safetySgzgbh:export") +// @Log(title = "安全-事故整改闭环", businessType = BusinessType.EXPORT) +// @PostMapping("/export") +// public void export(HseSafetySgzgbhBo bo, HttpServletResponse response) { +// List list = hseSafetySgzgbhService.queryList(bo); +// ExcelUtil.exportExcel(list, "安全-事故整改闭环", HseSafetySgzgbhVo.class, response); +// } /** * 获取安全-事故整改闭环详细信息 @@ -71,35 +84,61 @@ public class HseSafetySgzgbhController extends BaseController { /** * 新增安全-事故整改闭环 */ +// @SaCheckPermission("accident:safetySgzgbh:add") +// @Log(title = "安全-事故整改闭环", businessType = BusinessType.INSERT) +// @RepeatSubmit() +// @PostMapping() +// public R add(@Validated(AddGroup.class) @RequestBody HseSafetySgzgbhBo bo) { +// return toAjax(hseSafetySgzgbhService.insertByBo(bo)); +// } + + /** + * 新增整改信息 + * @param bo + * @return + */ @SaCheckPermission("accident:safetySgzgbh:add") @Log(title = "安全-事故整改闭环", businessType = BusinessType.INSERT) @RepeatSubmit() - @PostMapping() - public R add(@Validated(AddGroup.class) @RequestBody HseSafetySgzgbhBo bo) { - return toAjax(hseSafetySgzgbhService.insertByBo(bo)); + @PostMapping("/addZGxx") + public R addZGxx(@Validated(AddGroup.class) @RequestBody HseSafetyZgxxBo bo) { + return toAjax(hseSafetySgzgbhService.addZGxx(bo)); + } + + /** + * 新增复查信息 + * @param bo + * @return + */ + @SaCheckPermission("accident:safetySgzgbh:add") + @Log(title = "安全-事故整改闭环", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping("/addFCxx") + public R addFCxx(@Validated(AddGroup.class) @RequestBody HseSafetyFcxxBo bo) { + return toAjax(hseSafetySgzgbhService.addFCxx(bo)); } /** * 修改安全-事故整改闭环 */ - @SaCheckPermission("accident:safetySgzgbh:edit") - @Log(title = "安全-事故整改闭环", businessType = BusinessType.UPDATE) - @RepeatSubmit() - @PutMapping() - public R edit(@Validated(EditGroup.class) @RequestBody HseSafetySgzgbhBo bo) { - return toAjax(hseSafetySgzgbhService.updateByBo(bo)); - } +// @SaCheckPermission("accident:safetySgzgbh:edit") +// @Log(title = "安全-事故整改闭环", businessType = BusinessType.UPDATE) +// @RepeatSubmit() +// @PutMapping() +// public R edit(@Validated(EditGroup.class) @RequestBody HseSafetySgzgbhBo bo) { +// return toAjax(hseSafetySgzgbhService.updateByBo(bo)); +// } /** * 删除安全-事故整改闭环 * * @param ids 主键串 */ - @SaCheckPermission("accident:safetySgzgbh:remove") - @Log(title = "安全-事故整改闭环", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public R remove(@NotEmpty(message = "主键不能为空") - @PathVariable Long[] ids) { - return toAjax(hseSafetySgzgbhService.deleteWithValidByIds(List.of(ids), true)); - } +// @SaCheckPermission("accident:safetySgzgbh:remove") +// @Log(title = "安全-事故整改闭环", businessType = BusinessType.DELETE) +// @DeleteMapping("/{ids}") +// public R remove(@NotEmpty(message = "主键不能为空") +// @PathVariable Long[] ids) { +// return toAjax(hseSafetySgzgbhService.deleteWithValidByIds(List.of(ids), true)); +// } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/HseSafetySgdanjl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/HseSafetySgdanjl.java index 7a192032..47dc66f3 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/HseSafetySgdanjl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/HseSafetySgdanjl.java @@ -74,6 +74,11 @@ public class HseSafetySgdanjl extends BaseEntity { */ private String sgxq; + /** + * 损失情况 + */ + private String ssqk; + /** * 调查详情 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/HseSafetySgzgbh.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/HseSafetySgzgbh.java index 839bd331..a37478c1 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/HseSafetySgzgbh.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/HseSafetySgzgbh.java @@ -39,6 +39,11 @@ public class HseSafetySgzgbh extends BaseEntity { */ private Long projectId; + /** + * 事故id + */ + private Long sgId; + /** * 事故编号 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/HseSafetyZgxx.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/HseSafetyZgxx.java index 38bcc51c..d3507dd9 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/HseSafetyZgxx.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/HseSafetyZgxx.java @@ -64,10 +64,6 @@ public class HseSafetyZgxx extends BaseEntity { */ private String fileId; - /** - * 顺序 - */ - private Long sort; /** * pdf文件(多个文件逗号分隔) diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetySgdanjlBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetySgdanjlBo.java index 9d04cc9a..7a079d5d 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetySgdanjlBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetySgdanjlBo.java @@ -73,6 +73,12 @@ public class HseSafetySgdanjlBo extends BaseEntity { */ private String sgxq; + + /** + * 损失情况 + */ + private String ssqk; + /** * 调查详情 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetySgdcxqReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetySgdcxqReq.java new file mode 100644 index 00000000..c834da62 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetySgdcxqReq.java @@ -0,0 +1,69 @@ +package org.dromara.safety.accident.domain.bo; + +import io.github.linpeilie.annotations.AutoMapper; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.safety.accident.domain.HseSafetySgdc; + +import java.io.Serializable; +import java.util.Date; + +/** + * 安全-事故调查业务对象 hse_safety_sgdc + * + * @author Lion Li + * @date 2025-12-05 + */ +@Data +public class HseSafetySgdcxqReq implements Serializable { + + /** + * 事故详细经过 + */ + private String sgxxjg; + + /** + * 直接原因 + */ + private String zjjy; + + /** + * 间接原因 + */ + private String jjyy; + + /** + * 证据材料说明 + */ + private String zjcl; + + /** + * 责任部门 + */ + private Long zrbm; + + /** + * 主要负责人 + */ + private Long zyfzr; + + /** + * 次要负责人 + */ + private Long cyfzr; + + /** + * 责任划分 + */ + private String zrhf; + + /** + * 责任认定说明 + */ + private String zrrdsm; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetySgssqkReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetySgssqkReq.java new file mode 100644 index 00000000..17d0a9a6 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetySgssqkReq.java @@ -0,0 +1,49 @@ +package org.dromara.safety.accident.domain.bo; + +import io.github.linpeilie.annotations.AutoMapper; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.safety.accident.domain.HseSafetySgsb; + +import java.io.Serializable; +import java.util.Date; + +/** + * 安全-事故上报业务对象 hse_safety_sgsb + * + * @author Lion Li + * @date 2025-12-05 + */ +@Data +public class HseSafetySgssqkReq implements Serializable { + + /** + * 死亡人数 + */ + private Long swrs; + + /** + * 重伤人数 + */ + private Long zsrs; + + /** + * 轻伤人数 + */ + private Long qsrs; + + /** + * 人员信息 + */ + private String ryxx; + + /** + * 初步估算(万元-角分) + */ + private Long cbgs; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetySgxqReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetySgxqReq.java new file mode 100644 index 00000000..531ed2ed --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetySgxqReq.java @@ -0,0 +1,40 @@ +package org.dromara.safety.accident.domain.bo; + +import io.github.linpeilie.annotations.AutoMapper; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.safety.accident.domain.HseSafetySgsb; + +import java.io.Serializable; +import java.util.Date; + +/** + * 安全-事故上报业务对象 hse_safety_sgsb + * + * @author Lion Li + * @date 2025-12-05 + */ +@Data +public class HseSafetySgxqReq implements Serializable { + + + /** + * 事发地点 + */ + private String sfdd; + + /** + * 事故原因 + */ + private String sgyy; + + /** + * 紧急措施 + */ + private String jjcs; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetySgzgbhBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetySgzgbhBo.java index b77896a7..449f7e23 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetySgzgbhBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetySgzgbhBo.java @@ -38,6 +38,12 @@ public class HseSafetySgzgbhBo extends BaseEntity { */ private Long projectId; + + /** + * 事故id + */ + private Long sgId; + /** * 事故编号 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetySgzgfcxqReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetySgzgfcxqReq.java new file mode 100644 index 00000000..26076867 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetySgzgfcxqReq.java @@ -0,0 +1,40 @@ +package org.dromara.safety.accident.domain.bo; + +import io.github.linpeilie.annotations.AutoMapper; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.safety.accident.domain.HseSafetySgzgbh; + +import java.io.Serializable; +import java.util.Date; + +/** + * 安全-事故整改闭环业务对象 hse_safety_sgzgbh + * + * @author Lion Li + * @date 2025-12-05 + */ +@Data +public class HseSafetySgzgfcxqReq implements Serializable { + + /** + * 整改措施 + */ + private String abarbeitungMeasure; + + /** + * 不通过原因 + */ + private String notPassCause; + + /** + * 复查意见详情 + */ + private String reviewOpinionParticulars; + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetyZgxxBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetyZgxxBo.java index a1d07c82..0a41e7a4 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetyZgxxBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/bo/HseSafetyZgxxBo.java @@ -69,10 +69,6 @@ public class HseSafetyZgxxBo extends BaseEntity { */ private String fileId; - /** - * 顺序 - */ - private Long sort; /** * pdf文件(多个文件逗号分隔) diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/vo/HseSafetySgdanjlVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/vo/HseSafetySgdanjlVo.java index 48adfbf9..1d87e90d 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/vo/HseSafetySgdanjlVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/vo/HseSafetySgdanjlVo.java @@ -90,6 +90,12 @@ public class HseSafetySgdanjlVo implements Serializable { @ExcelProperty(value = "事故详情") private String sgxq; + + /** + * 损失情况 + */ + private String ssqk; + /** * 调查详情 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/vo/HseSafetySgzgbhHeadVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/vo/HseSafetySgzgbhHeadVo.java new file mode 100644 index 00000000..d30313ac --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/vo/HseSafetySgzgbhHeadVo.java @@ -0,0 +1,30 @@ +package org.dromara.safety.accident.domain.vo; + + +import lombok.Data; + +@Data +public class HseSafetySgzgbhHeadVo { + /** + * 总数 + */ + private Long zs = 0L; + + /** + * 待整改 + */ + private Long dzg = 0L; + + /** + * 待验收 + */ + private Long dys = 0L; + + + /** + * 已闭环 + */ + private Long ybh = 0L; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/vo/HseSafetySgzgbhVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/vo/HseSafetySgzgbhVo.java index 61e7d4b7..cf7dea04 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/vo/HseSafetySgzgbhVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/vo/HseSafetySgzgbhVo.java @@ -13,7 +13,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; import java.util.Date; - +import java.util.List; /** @@ -48,6 +48,11 @@ public class HseSafetySgzgbhVo implements Serializable { @ExcelProperty(value = "关联项目") private Long projectId; + /** + * 事故id + */ + private Long sgId; + /** * 事故编号 */ @@ -139,4 +144,10 @@ public class HseSafetySgzgbhVo implements Serializable { private String shzt; + /** + * 整改与复查记录 + */ + private List zgxxVos; + + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/vo/HseSafetyZgxxVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/vo/HseSafetyZgxxVo.java index 7661d833..eb3e1c99 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/vo/HseSafetyZgxxVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/domain/vo/HseSafetyZgxxVo.java @@ -79,11 +79,6 @@ public class HseSafetyZgxxVo implements Serializable { @ExcelDictFormat(readConverterExp = "多=个文件逗号分隔") private String fileId; - /** - * 顺序 - */ - @ExcelProperty(value = "顺序") - private Long sort; /** * pdf文件(多个文件逗号分隔) @@ -92,5 +87,10 @@ public class HseSafetyZgxxVo implements Serializable { @ExcelDictFormat(readConverterExp = "多=个文件逗号分隔") private String pdfId; + /** + * 关联复查信息 + */ + private HseSafetyFcxxVo fcxxVo; + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/menu/SGStatusEnum.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/menu/SGStatusEnum.java new file mode 100644 index 00000000..a0a10d8f --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/menu/SGStatusEnum.java @@ -0,0 +1,81 @@ +package org.dromara.safety.accident.menu; + +import lombok.Getter; + +/** + * 消息类型枚举 + * + * @author may + */ +@Getter +public enum SGStatusEnum { + + //事故状态 主数据 + /** + * 已上报 + */ + REPORTED("1", "已上报"), + + /** + * 待调查 + */ + UNDER_INVESTIGATION("5", "待调查"), + /** + * 待整改 + */ + SG_TO_BE_RECTIFIED("9", "待整改"), + /** + * 已整改 + */ + SG_HAS_BEEN_RECTIFIED("14", "已整改"), + + /** + * 已闭环 + */ + SG_CLOSED_LOOP_OPERATION("19", "已闭环"), + + //整改状态 + /** + * 待整改 + */ + TO_BE_RECTIFIED("1", "待整改"), + + /** + * 整改中 + */ + UNDER_RECTIFICATION("2", "整改中"), + /** + * 已整改 + */ + HAS_BEEN_RECTIFIED("3", "已整改"), + + //复查状态 + /** + * 通过 + */ + PASS("1", "通过"), + /** + * 不通过 + */ + NO_PASS("2", "不通过"), + //闭环状态 + /** + * 已闭环 + */ + CLOSED_LOOP_OPERATION("2", "已闭环"), + /** + * 未闭环 + */ + OPEN_LOOP("1", "未闭环"); + + private final String code; + + private final String desc; + + SGStatusEnum(String code, String desc) { + this.code = code; + this.desc = desc; + } + +} + diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/service/IHseSafetyFcxxService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/service/IHseSafetyFcxxService.java index 71f0f068..c8ca83b9 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/service/IHseSafetyFcxxService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/service/IHseSafetyFcxxService.java @@ -67,4 +67,11 @@ public interface IHseSafetyFcxxService extends IService{ * @return 是否删除成功 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 通过整改id获取对应的复查信息 + * @param id + * @return + */ + HseSafetyFcxxVo getInfoVoById(Long id); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/service/IHseSafetySgzgbhService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/service/IHseSafetySgzgbhService.java index b03abfac..b4a9a910 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/service/IHseSafetySgzgbhService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/service/IHseSafetySgzgbhService.java @@ -1,5 +1,9 @@ package org.dromara.safety.accident.service; +import org.dromara.mechanical.jxzgbh.domain.bo.JxYhzgbhBo; +import org.dromara.safety.accident.domain.bo.HseSafetyFcxxBo; +import org.dromara.safety.accident.domain.bo.HseSafetyZgxxBo; +import org.dromara.safety.accident.domain.vo.HseSafetySgzgbhHeadVo; import org.dromara.safety.accident.domain.vo.HseSafetySgzgbhVo; import org.dromara.safety.accident.domain.bo.HseSafetySgzgbhBo; import org.dromara.safety.accident.domain.HseSafetySgzgbh; @@ -67,4 +71,26 @@ public interface IHseSafetySgzgbhService extends IService{ * @return 是否删除成功 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 新增整改信息 + * + * @param bo + * @return + */ + Boolean addZGxx(HseSafetyZgxxBo bo); + + /** + * 新增复查信息 + * @param bo + * @return + */ + Boolean addFCxx(HseSafetyFcxxBo bo); + + /** + * 查询头部信息 + * @param bo + * @return + */ + HseSafetySgzgbhHeadVo getListHead(HseSafetySgzgbhBo bo); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/service/IHseSafetyZgxxService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/service/IHseSafetyZgxxService.java index 205fa5b1..95277a7f 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/service/IHseSafetyZgxxService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/service/IHseSafetyZgxxService.java @@ -67,4 +67,11 @@ public interface IHseSafetyZgxxService extends IService{ * @return 是否删除成功 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 通过主数据id获取整改记录列表 + * @param id + * @return + */ + List getZGBGInfoVoByIdList(Long id); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/service/impl/HseSafetyFcxxServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/service/impl/HseSafetyFcxxServiceImpl.java index ab9f1518..eec03625 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/service/impl/HseSafetyFcxxServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/service/impl/HseSafetyFcxxServiceImpl.java @@ -137,4 +137,9 @@ public class HseSafetyFcxxServiceImpl extends ServiceImpl 0; } + + @Override + public HseSafetyFcxxVo getInfoVoById(Long id) { + return baseMapper.selectVoOne(new LambdaQueryWrapper().eq(HseSafetyFcxx::getZgId, id)); + } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/service/impl/HseSafetySgzgbhServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/service/impl/HseSafetySgzgbhServiceImpl.java index fdbf756c..752053ab 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/service/impl/HseSafetySgzgbhServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/service/impl/HseSafetySgzgbhServiceImpl.java @@ -1,6 +1,8 @@ package org.dromara.safety.accident.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jakarta.annotation.Resource; +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,13 +11,28 @@ 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.common.utils.BatchNumberGenerator; +import org.dromara.mechanical.jxzgbh.domain.JxYhzgbh; +import org.dromara.mechanical.jxzgbh.domain.vo.JxZgxxHeadVo; +import org.dromara.project.domain.vo.project.BusProjectVo; +import org.dromara.project.service.IBusProjectService; +import org.dromara.safety.accident.domain.HseSafetySgsb; +import org.dromara.safety.accident.domain.bo.HseSafetyFcxxBo; +import org.dromara.safety.accident.domain.bo.HseSafetySgdanjlBo; +import org.dromara.safety.accident.domain.bo.HseSafetyZgxxBo; +import org.dromara.safety.accident.domain.vo.HseSafetySgzgbhHeadVo; +import org.dromara.safety.accident.domain.vo.HseSafetyZgxxVo; +import org.dromara.safety.accident.menu.SGStatusEnum; +import org.dromara.safety.accident.service.*; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.dromara.safety.accident.domain.bo.HseSafetySgzgbhBo; import org.dromara.safety.accident.domain.vo.HseSafetySgzgbhVo; import org.dromara.safety.accident.domain.HseSafetySgzgbh; import org.dromara.safety.accident.mapper.HseSafetySgzgbhMapper; -import org.dromara.safety.accident.service.IHseSafetySgzgbhService; +import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDate; import java.util.List; import java.util.Map; import java.util.Collection; @@ -31,6 +48,19 @@ import java.util.Collection; public class HseSafetySgzgbhServiceImpl extends ServiceImpl implements IHseSafetySgzgbhService { private final HseSafetySgzgbhMapper baseMapper; + @Resource + private IHseSafetyZgxxService zgxxService; + @Resource + private IHseSafetyFcxxService fcxxService; + @Lazy + @Resource + private IHseSafetySgsbService sgsbService; + @Lazy + @Resource + private IHseSafetySgdanjlService sgdanjlService; + @Lazy + @Resource + private IBusProjectService projectService; /** * 查询安全-事故整改闭环 @@ -40,7 +70,14 @@ public class HseSafetySgzgbhServiceImpl extends ServiceImpl zgxxVos =zgxxService.getZGBGInfoVoByIdList(vo.getId()); + if(!zgxxVos.isEmpty()){ + vo.setZgxxVos(zgxxVos); + } + } + return vo; } /** @@ -144,4 +181,102 @@ public class HseSafetySgzgbhServiceImpl extends ServiceImpl 0; } + + /** + * 新增整改信息 + * + * @param bo + * @return + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean addZGxx(HseSafetyZgxxBo bo) { + HseSafetySgzgbh sgzgbh = baseMapper.selectById(bo.getId()); + if(sgzgbh == null){ + throw new ServiceException("找不到整改与闭环信息数据!!!"); + } + if (SGStatusEnum.CLOSED_LOOP_OPERATION.getCode().equals(sgzgbh.getReviewStatus())){ + throw new ServiceException("已闭环,不需要再新增整改信息"); + } + if (!SGStatusEnum.TO_BE_RECTIFIED.getCode().equals(sgzgbh.getZgStatus())){ + throw new ServiceException("已整改,不需要再新增整改信息"); + } + HseSafetySgsb hseSafetySgsb = sgsbService.getBaseMapper().selectById(sgzgbh.getSgId()); + if (hseSafetySgsb == null){ + throw new ServiceException("找不到事故信息"); + } + hseSafetySgsb.setSgzt(SGStatusEnum.SG_HAS_BEEN_RECTIFIED.getCode()); + sgsbService.getBaseMapper().updateById(hseSafetySgsb); + //保存整改信息 + Boolean b = zgxxService.insertByBo(bo); + //主数据修改整改状态 + sgzgbh.setZgStatus(SGStatusEnum.HAS_BEEN_RECTIFIED.getCode()); + baseMapper.updateById(sgzgbh); + return b; + } + + /** + * 新增复查信息 + * @param bo + * @return + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean addFCxx(HseSafetyFcxxBo bo) { + HseSafetySgzgbh sgzgbh = baseMapper.selectById(bo.getId()); + if(sgzgbh == null){ + throw new ServiceException("找不到整改与闭环信息数据!!!"); + } + if (SGStatusEnum.CLOSED_LOOP_OPERATION.getCode().equals(sgzgbh.getReviewStatus())){ + throw new ServiceException("已闭环,不需要再新增复查信息"); + } + if (!SGStatusEnum.HAS_BEEN_RECTIFIED.getCode().equals(sgzgbh.getZgStatus())){ + throw new ServiceException("未整改,不能添加复查信息"); + } + HseSafetySgsb hseSafetySgsb = sgsbService.getBaseMapper().selectById(sgzgbh.getSgId()); + if (hseSafetySgsb == null){ + throw new ServiceException("找不到事故信息"); + } + Boolean b = fcxxService.insertByBo(bo); + //修改主数据整改状态合复查状态 + sgzgbh.setFcStatus(bo.getReviewState()); + if (SGStatusEnum.PASS.getCode().equals(bo.getReviewState())){ + sgzgbh.setReviewStatus(SGStatusEnum.CLOSED_LOOP_OPERATION.getCode()); + hseSafetySgsb.setSgzt(SGStatusEnum.SG_CLOSED_LOOP_OPERATION.getCode()); + HseSafetySgdanjlBo sgdanjlBo = new HseSafetySgdanjlBo(); + String banBen = BatchNumberGenerator.generateBatchNumber("ANQSGDANJL-"); + sgdanjlBo.setDanbh(banBen); + BusProjectVo projectVo = projectService.selectById(hseSafetySgsb.getProjectId()); + if (projectVo != null){ + sgdanjlBo.setProject(projectVo.getProjectName()); + } + sgdanjlBo.setSgbh(hseSafetySgsb.getSgbh()); + sgdanjlBo.setSfsj(hseSafetySgsb.getSfsj()); + sgdanjlBo.setSfdd(hseSafetySgsb.getSfdd()); + sgdanjlBo.setSgdj(hseSafetySgsb.getSgdj()); + sgdanjlBo.setSgyy(hseSafetySgsb.getSgyy()); + + + }else { + hseSafetySgsb.setSgzt(SGStatusEnum.SG_TO_BE_RECTIFIED.getCode()); + sgzgbh.setZgStatus(SGStatusEnum.TO_BE_RECTIFIED.getCode()); + } + sgsbService.getBaseMapper().updateById(hseSafetySgsb); + baseMapper.updateById(sgzgbh); + return b; + } + + @Override + public HseSafetySgzgbhHeadVo getListHead(HseSafetySgzgbhBo bo) { + HseSafetySgzgbhHeadVo sgzgbhHeadVo = new HseSafetySgzgbhHeadVo(); + List sgzgbhs = this.getBaseMapper().selectList(new LambdaQueryWrapper().le(HseSafetySgzgbh::getCreateTime, LocalDate.now().plusDays(1)).ge(HseSafetySgzgbh::getCreateTime, LocalDate.now().minusDays(29))); + if ( sgzgbhs != null && !sgzgbhs.isEmpty()) { + sgzgbhHeadVo.setZs((long) sgzgbhs.size()); + sgzgbhHeadVo.setDzg(sgzgbhs.stream().filter(jxYhzgbh -> jxYhzgbh.getZgStatus().equals(SGStatusEnum.TO_BE_RECTIFIED.getCode())).count()); + sgzgbhHeadVo.setDys(sgzgbhs.stream().filter(jxYhzgbh -> SGStatusEnum.HAS_BEEN_RECTIFIED.getCode().equals(jxYhzgbh.getZgStatus()) && SGStatusEnum.OPEN_LOOP.getCode().equals(jxYhzgbh.getReviewStatus())).count()); + sgzgbhHeadVo.setYbh(sgzgbhs.stream().filter(jxYhzgbh -> SGStatusEnum.CLOSED_LOOP_OPERATION.getCode().equals(jxYhzgbh.getReviewStatus())).count()); + } + return sgzgbhHeadVo; + } + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/service/impl/HseSafetyZgxxServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/service/impl/HseSafetyZgxxServiceImpl.java index 53a9769d..8a1572b0 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/service/impl/HseSafetyZgxxServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/accident/service/impl/HseSafetyZgxxServiceImpl.java @@ -1,6 +1,7 @@ package org.dromara.safety.accident.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jakarta.annotation.Resource; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -9,6 +10,9 @@ 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.accident.domain.vo.HseSafetyFcxxVo; +import org.dromara.safety.accident.service.IHseSafetyFcxxService; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.dromara.safety.accident.domain.bo.HseSafetyZgxxBo; import org.dromara.safety.accident.domain.vo.HseSafetyZgxxVo; @@ -32,6 +36,10 @@ public class HseSafetyZgxxServiceImpl extends ServiceImpl 0; } + + @Override + public List getZGBGInfoVoByIdList(Long id) { + List zgxxVos = baseMapper.selectVoList(new LambdaQueryWrapper().eq(HseSafetyZgxx::getMasterId, id)); + if (zgxxVos != null && !zgxxVos.isEmpty()) { + zgxxVos.forEach(vo -> { + HseSafetyFcxxVo fcxxVo= fcxxService.getInfoVoById(vo.getId()); + vo.setFcxxVo(fcxxVo); + }); + } + return zgxxVos; + } }