From b46efc8d8cf388dd1d2cf7d3749b1230bc62f1cd Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 28 一月 2026 14:16:27 +0800
Subject: [PATCH] 安全生产--应急预案查阅

---
 src/main/java/com/ruoyi/safe/mapper/SafeContingencyPlanMapper.java            |   22 ++++
 src/main/java/com/ruoyi/safe/service/impl/SafeHazardRecordServiceImpl.java    |    5 +
 src/main/java/com/ruoyi/safe/controller/SafeCertificationController.java      |    2 
 src/main/java/com/ruoyi/safe/controller/SafeContingencyPlanController.java    |   56 +++++++++++
 src/main/java/com/ruoyi/safe/service/SafeContingencyPlanService.java          |   19 +++
 src/main/resources/mapper/safe/SafeContingencyPlanMapper.xml                  |   38 +++++++
 src/main/java/com/ruoyi/safe/pojo/SafeContingencyPlan.java                    |   87 +++++++++++++++++
 src/main/java/com/ruoyi/safe/service/impl/SafeContingencyPlanServiceImpl.java |   30 ++++++
 8 files changed, 259 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/safe/controller/SafeCertificationController.java b/src/main/java/com/ruoyi/safe/controller/SafeCertificationController.java
index 898b9d2..7e13eb8 100644
--- a/src/main/java/com/ruoyi/safe/controller/SafeCertificationController.java
+++ b/src/main/java/com/ruoyi/safe/controller/SafeCertificationController.java
@@ -43,11 +43,13 @@
     public R add(@RequestBody SafeCertification safeCertification) {
         return R.ok(safeCertificationService.save(safeCertification));
     }
+
     @ApiOperation("淇敼瀹夊叏瑙勭▼涓庤祫璐ㄧ鐞�")
     @PutMapping ()
     public R update(@RequestBody  SafeCertification safeCertification) {
         return R.ok(safeCertificationService.updateById(safeCertification));
     }
+
     @ApiOperation("鍒犻櫎瀹夊叏瑙勭▼涓庤祫璐ㄧ鐞�")
     @DeleteMapping("/{ids}")
     public R delSafeCertification(@RequestBody List<Integer> ids) {
diff --git a/src/main/java/com/ruoyi/safe/controller/SafeContingencyPlanController.java b/src/main/java/com/ruoyi/safe/controller/SafeContingencyPlanController.java
new file mode 100644
index 0000000..33d32bd
--- /dev/null
+++ b/src/main/java/com/ruoyi/safe/controller/SafeContingencyPlanController.java
@@ -0,0 +1,56 @@
+package com.ruoyi.safe.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.framework.web.domain.R;
+import com.ruoyi.safe.pojo.SafeCertification;
+import com.ruoyi.safe.pojo.SafeContingencyPlan;
+import com.ruoyi.safe.service.SafeCertificationService;
+import com.ruoyi.safe.service.SafeContingencyPlanService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 瀹夊叏鐢熶骇--搴旀�ラ妗堟煡闃� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-28 02:07:29
+ */
+@RestController
+@RequestMapping("/safeContingencyPlan")
+@Api(tags = "瀹夊叏鐢熶骇--搴旀�ラ妗堟煡闃�")
+public class SafeContingencyPlanController {
+
+    @Autowired
+    private SafeContingencyPlanService safeContingencyPlanService;
+
+    @GetMapping("/page")
+    @ApiOperation("鍒嗛〉鏌ヨ")
+    public R page(Page page, SafeContingencyPlan safeContingencyPlan) {
+        return R.ok(safeContingencyPlanService.pageSafeContingencyPlan(page, safeContingencyPlan));
+    }
+
+    @ApiOperation("鏂板搴旀�ラ妗堟煡闃�")
+    @PostMapping()
+    public R add(@RequestBody SafeContingencyPlan safeContingencyPlan) {
+        return R.ok(safeContingencyPlanService.save(safeContingencyPlan));
+    }
+
+    @ApiOperation("淇敼搴旀�ラ妗堟煡闃�")
+    @PutMapping ()
+    public R update(@RequestBody  SafeContingencyPlan safeContingencyPlan) {
+        return R.ok(safeContingencyPlanService.updateById(safeContingencyPlan));
+    }
+
+    @ApiOperation("鍒犻櫎搴旀�ラ妗堟煡闃�")
+    @DeleteMapping("/{ids}")
+    public R delSafeCertification(@RequestBody List<Integer> ids) {
+        return R.ok(safeContingencyPlanService.removeBatchByIds(ids));
+    }
+
+}
diff --git a/src/main/java/com/ruoyi/safe/mapper/SafeContingencyPlanMapper.java b/src/main/java/com/ruoyi/safe/mapper/SafeContingencyPlanMapper.java
new file mode 100644
index 0000000..a41b347
--- /dev/null
+++ b/src/main/java/com/ruoyi/safe/mapper/SafeContingencyPlanMapper.java
@@ -0,0 +1,22 @@
+package com.ruoyi.safe.mapper;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.safe.pojo.SafeContingencyPlan;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * 瀹夊叏鐢熶骇--搴旀�ラ妗堟煡闃� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-28 02:07:29
+ */
+@Mapper
+public interface SafeContingencyPlanMapper extends BaseMapper<SafeContingencyPlan> {
+
+    IPage<SafeContingencyPlan> pageSafeContingencyPlan(Page page, @Param("c") SafeContingencyPlan safeContingencyPlan);
+}
diff --git a/src/main/java/com/ruoyi/safe/pojo/SafeContingencyPlan.java b/src/main/java/com/ruoyi/safe/pojo/SafeContingencyPlan.java
new file mode 100644
index 0000000..2cad42f
--- /dev/null
+++ b/src/main/java/com/ruoyi/safe/pojo/SafeContingencyPlan.java
@@ -0,0 +1,87 @@
+package com.ruoyi.safe.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.format.annotation.DateTimeFormat;
+
+/**
+ * <p>
+ * 瀹夊叏鐢熶骇--搴旀�ラ妗堟煡闃�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-28 02:07:29
+ */
+@Getter
+@Setter
+@TableName("safe_contingency_plan")
+@ApiModel(value = "SafeContingencyPlan瀵硅薄", description = "瀹夊叏鐢熶骇--搴旀�ラ妗堟煡闃�")
+public class SafeContingencyPlan implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty("搴旀�ラ妗堢紪鐮�")
+    private String planCode;
+
+    @ApiModelProperty("搴旀�ラ妗堝悕绉�")
+    private String planName;
+
+    @ApiModelProperty("棰勬绫诲瀷")
+    private String planType;
+
+    @ApiModelProperty("閫傜敤鑼冨洿")
+    private String applyScope;
+
+    @ApiModelProperty("鏍稿績璐d换浜�")
+    private Integer coreResponsorUserId;
+
+    @ApiModelProperty("鏍稿績璐d换浜�")
+    @TableField(exist = false)
+    private String coreResponsorUserName;
+
+    @ApiModelProperty("搴旀�ュ缃楠�")
+    private String execSteps;
+
+    @ApiModelProperty("鍙戝竷鐢熸晥鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private LocalDate publishTime;
+
+    @ApiModelProperty("澶囨敞")
+    private String remark;
+
+    @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+
+    @ApiModelProperty("鏈�鍚庝慨璁㈡椂闂�")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime updateTime;
+
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
+
+    @TableField(fill = FieldFill.INSERT)
+    private Integer tenantId;
+}
diff --git a/src/main/java/com/ruoyi/safe/service/SafeContingencyPlanService.java b/src/main/java/com/ruoyi/safe/service/SafeContingencyPlanService.java
new file mode 100644
index 0000000..798e93b
--- /dev/null
+++ b/src/main/java/com/ruoyi/safe/service/SafeContingencyPlanService.java
@@ -0,0 +1,19 @@
+package com.ruoyi.safe.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.safe.pojo.SafeContingencyPlan;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 瀹夊叏鐢熶骇--搴旀�ラ妗堟煡闃� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-28 02:07:29
+ */
+public interface SafeContingencyPlanService extends IService<SafeContingencyPlan> {
+
+    IPage<SafeContingencyPlan> pageSafeContingencyPlan(Page page, SafeContingencyPlan safeContingencyPlan);
+}
diff --git a/src/main/java/com/ruoyi/safe/service/impl/SafeContingencyPlanServiceImpl.java b/src/main/java/com/ruoyi/safe/service/impl/SafeContingencyPlanServiceImpl.java
new file mode 100644
index 0000000..b3ebd98
--- /dev/null
+++ b/src/main/java/com/ruoyi/safe/service/impl/SafeContingencyPlanServiceImpl.java
@@ -0,0 +1,30 @@
+package com.ruoyi.safe.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.safe.pojo.SafeContingencyPlan;
+import com.ruoyi.safe.mapper.SafeContingencyPlanMapper;
+import com.ruoyi.safe.service.SafeContingencyPlanService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 瀹夊叏鐢熶骇--搴旀�ラ妗堟煡闃� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-28 02:07:29
+ */
+@Service
+public class SafeContingencyPlanServiceImpl extends ServiceImpl<SafeContingencyPlanMapper, SafeContingencyPlan> implements SafeContingencyPlanService {
+
+    @Autowired
+    private SafeContingencyPlanMapper safeContingencyPlanMapper;
+
+    @Override
+    public IPage<SafeContingencyPlan> pageSafeContingencyPlan(Page page, SafeContingencyPlan safeContingencyPlan) {
+        return safeContingencyPlanMapper.pageSafeContingencyPlan(page, safeContingencyPlan);
+    }
+}
diff --git a/src/main/java/com/ruoyi/safe/service/impl/SafeHazardRecordServiceImpl.java b/src/main/java/com/ruoyi/safe/service/impl/SafeHazardRecordServiceImpl.java
index e6c6a08..2d6fa1d 100644
--- a/src/main/java/com/ruoyi/safe/service/impl/SafeHazardRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/safe/service/impl/SafeHazardRecordServiceImpl.java
@@ -16,6 +16,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
 import java.util.List;
 
 /**
@@ -51,6 +52,10 @@
         safeHazardRecord.setApplyUserId(SecurityUtils.getUserId().intValue());
         safeHazardRecord.setApplyTime(LocalDate.now());
         safeHazardRecordMapper.insert(safeHazardRecord);
+        String datePrefix = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
+        String no = "LY" + String.format("%s%03d", datePrefix, safeHazardRecord.getId());
+        safeHazardRecord.setMaterialRecordCode(no);
+        safeHazardRecordMapper.updateById(safeHazardRecord);
         //鍑忓簱瀛�
         safeHazard.setStockQty(safeHazard.getStockQty().subtract(safeHazardRecord.getApplyQty()));
         safeHazardMapper.updateById(safeHazard);
diff --git a/src/main/resources/mapper/safe/SafeContingencyPlanMapper.xml b/src/main/resources/mapper/safe/SafeContingencyPlanMapper.xml
new file mode 100644
index 0000000..d979545
--- /dev/null
+++ b/src/main/resources/mapper/safe/SafeContingencyPlanMapper.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.safe.mapper.SafeContingencyPlanMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.ruoyi.safe.pojo.SafeContingencyPlan">
+        <id column="id" property="id" />
+        <result column="plan_code" property="planCode" />
+        <result column="plan_name" property="planName" />
+        <result column="plan_type" property="planType" />
+        <result column="apply_scope" property="applyScope" />
+        <result column="core_responsor_user_id" property="coreResponsorUserId" />
+        <result column="exec_steps" property="execSteps" />
+        <result column="publish_time" property="publishTime" />
+        <result column="remark" property="remark" />
+        <result column="create_time" property="createTime" />
+        <result column="create_user" property="createUser" />
+        <result column="update_time" property="updateTime" />
+        <result column="update_user" property="updateUser" />
+        <result column="tenant_id" property="tenantId" />
+    </resultMap>
+    <select id="pageSafeContingencyPlan" resultType="com.ruoyi.safe.pojo.SafeContingencyPlan">
+         select scp.*, su.nick_name coreResponsorUserName
+        from safe_contingency_plan scp
+        left join sys_user su on scp.core_responsor_user_id = su.user_id
+        where 1=1
+        <if test="c.planCode != null and c.planCode != ''">
+            and scp.plan_code like concat('%', #{c.planCode}, '%')
+        </if>
+        <if test="c.planName != null and c.planName != ''">
+            and scp.plan_name like concat('%', #{c.planName}, '%')
+        </if>
+        <if test="c.planType != null and c.planType != ''">
+            and scp.plan_type like concat('%', #{c.planType}, '%')
+        </if>
+    </select>
+
+</mapper>

--
Gitblit v1.9.3