From fdd43be39db005e58e9a85ebefab0719557b0758 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 28 一月 2026 10:16:41 +0800
Subject: [PATCH] 安全生产--危险源台账

---
 src/main/java/com/ruoyi/safe/mapper/SafeHazardMapper.java                |   22 ++++
 src/main/java/com/ruoyi/safe/controller/SafeCertificationController.java |    2 
 src/main/java/com/ruoyi/safe/service/impl/SafeHazardServiceImpl.java     |   30 ++++++
 src/main/resources/mapper/safe/SafeHazardMapper.xml                      |   44 ++++++++
 src/main/java/com/ruoyi/safe/controller/SafeHazardController.java        |   54 ++++++++++
 src/main/java/com/ruoyi/safe/pojo/SafeHazard.java                        |   86 +++++++++++++++++
 src/main/java/com/ruoyi/safe/service/SafeHazardService.java              |   19 +++
 7 files changed, 256 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/ruoyi/safe/controller/SafeCertificationController.java b/src/main/java/com/ruoyi/safe/controller/SafeCertificationController.java
index 88a61c4..898b9d2 100644
--- a/src/main/java/com/ruoyi/safe/controller/SafeCertificationController.java
+++ b/src/main/java/com/ruoyi/safe/controller/SafeCertificationController.java
@@ -50,7 +50,7 @@
     }
     @ApiOperation("鍒犻櫎瀹夊叏瑙勭▼涓庤祫璐ㄧ鐞�")
     @DeleteMapping("/{ids}")
-    public R delQualityUnqualified(@RequestBody List<Integer> ids) {
+    public R delSafeCertification(@RequestBody List<Integer> ids) {
         return R.ok(safeCertificationService.removeBatchByIds(ids));
     }
 
diff --git a/src/main/java/com/ruoyi/safe/controller/SafeHazardController.java b/src/main/java/com/ruoyi/safe/controller/SafeHazardController.java
new file mode 100644
index 0000000..6e999d1
--- /dev/null
+++ b/src/main/java/com/ruoyi/safe/controller/SafeHazardController.java
@@ -0,0 +1,54 @@
+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.SafeHazard;
+import com.ruoyi.safe.service.SafeCertificationService;
+import com.ruoyi.safe.service.SafeHazardService;
+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 10:09:24
+ */
+@RestController
+@RequestMapping("/safeHazard")
+@Api(tags = "瀹夊叏鐢熶骇--鍗遍櫓婧愬彴璐�")
+public class SafeHazardController {
+
+    @Autowired
+    private SafeHazardService safeHazardService;
+
+    @GetMapping("/page")
+    @ApiOperation("鍒嗛〉鏌ヨ")
+    public R page(Page page, SafeHazard safeHazard) {
+        return R.ok(safeHazardService.pageSafeHazard(page, safeHazard));
+    }
+
+    @ApiOperation("鏂板鍗遍櫓婧愬彴璐�")
+    @PostMapping()
+    public R add(@RequestBody SafeHazard safeHazard) {
+        return R.ok(safeHazardService.save(safeHazard));
+    }
+    @ApiOperation("淇敼鍗遍櫓婧愬彴璐�")
+    @PutMapping ()
+    public R update(@RequestBody  SafeHazard safeHazard) {
+        return R.ok(safeHazardService.updateById(safeHazard));
+    }
+    @ApiOperation("鍒犻櫎鍗遍櫓婧愬彴璐�")
+    @DeleteMapping("/{ids}")
+    public R delSafeHazard(@RequestBody List<Integer> ids) {
+        return R.ok(safeHazardService.removeBatchByIds(ids));
+    }
+
+}
diff --git a/src/main/java/com/ruoyi/safe/mapper/SafeHazardMapper.java b/src/main/java/com/ruoyi/safe/mapper/SafeHazardMapper.java
new file mode 100644
index 0000000..072d53b
--- /dev/null
+++ b/src/main/java/com/ruoyi/safe/mapper/SafeHazardMapper.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.SafeHazard;
+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 10:09:24
+ */
+@Mapper
+public interface SafeHazardMapper extends BaseMapper<SafeHazard> {
+
+    IPage<SafeHazard> pageSafeHazard(Page page, @Param("c") SafeHazard safeHazard);
+}
diff --git a/src/main/java/com/ruoyi/safe/pojo/SafeHazard.java b/src/main/java/com/ruoyi/safe/pojo/SafeHazard.java
new file mode 100644
index 0000000..e900138
--- /dev/null
+++ b/src/main/java/com/ruoyi/safe/pojo/SafeHazard.java
@@ -0,0 +1,86 @@
+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.math.BigDecimal;
+import java.time.LocalDateTime;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 瀹夊叏鐢熶骇--鍗遍櫓婧愬彴璐�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-28 10:09:24
+ */
+@Getter
+@Setter
+@TableName("safe_hazard")
+@ApiModel(value = "SafeHazard瀵硅薄", description = "瀹夊叏鐢熶骇--鍗遍櫓婧愬彴璐�")
+public class SafeHazard implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty("鍗遍櫓婧愬悕绉�")
+    private String name;
+
+    @ApiModelProperty("鍗遍櫓婧愮紪鐮�")
+    private String code;
+
+    @ApiModelProperty("鍗遍櫓婧愮被鍨�")
+    private String type;
+
+    @ApiModelProperty("椋庨櫓绛夌骇")
+    private String riskLevel;
+
+    @ApiModelProperty("鎵�鍦ㄤ綅缃�")
+    private String location;
+
+    @ApiModelProperty("瑙勬牸 / 椋庨櫓鎻忚堪")
+    private String specInfo;
+
+    @ApiModelProperty("绠℃帶鎺柦")
+    private String controlMeasures;
+
+    @ApiModelProperty("绠℃帶璐d换浜� ID")
+    private Integer principalUserId;
+
+    @ApiModelProperty("绠℃帶璐d换浜�")
+    @TableField(exist = false)
+    private String principalUser;
+
+    @ApiModelProperty("璐d换浜鸿仈绯荤數璇�")
+    private String principalMobile;
+
+    @ApiModelProperty("搴撳瓨鏁伴噺")
+    private BigDecimal stockQty;
+
+    @ApiModelProperty("澶囨敞")
+    private String remark;
+
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    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/SafeHazardService.java b/src/main/java/com/ruoyi/safe/service/SafeHazardService.java
new file mode 100644
index 0000000..e407ef6
--- /dev/null
+++ b/src/main/java/com/ruoyi/safe/service/SafeHazardService.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.SafeHazard;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 瀹夊叏鐢熶骇--鍗遍櫓婧愬彴璐� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-28 10:09:24
+ */
+public interface SafeHazardService extends IService<SafeHazard> {
+
+    IPage<SafeHazard> pageSafeHazard(Page page, SafeHazard safeHazard);
+}
diff --git a/src/main/java/com/ruoyi/safe/service/impl/SafeHazardServiceImpl.java b/src/main/java/com/ruoyi/safe/service/impl/SafeHazardServiceImpl.java
new file mode 100644
index 0000000..de7efc7
--- /dev/null
+++ b/src/main/java/com/ruoyi/safe/service/impl/SafeHazardServiceImpl.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.SafeHazard;
+import com.ruoyi.safe.mapper.SafeHazardMapper;
+import com.ruoyi.safe.service.SafeHazardService;
+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 10:09:24
+ */
+@Service
+public class SafeHazardServiceImpl extends ServiceImpl<SafeHazardMapper, SafeHazard> implements SafeHazardService {
+
+    @Autowired
+    private SafeHazardMapper safeHazardMapper;
+
+    @Override
+    public IPage<SafeHazard> pageSafeHazard(Page page, SafeHazard safeHazard) {
+        return safeHazardMapper.pageSafeHazard(page, safeHazard);
+    }
+}
diff --git a/src/main/resources/mapper/safe/SafeHazardMapper.xml b/src/main/resources/mapper/safe/SafeHazardMapper.xml
new file mode 100644
index 0000000..328a5a5
--- /dev/null
+++ b/src/main/resources/mapper/safe/SafeHazardMapper.xml
@@ -0,0 +1,44 @@
+<?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.SafeHazardMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.ruoyi.safe.pojo.SafeHazard">
+        <id column="id" property="id" />
+        <result column="name" property="name" />
+        <result column="code" property="code" />
+        <result column="type" property="type" />
+        <result column="risk_level" property="riskLevel" />
+        <result column="location" property="location" />
+        <result column="spec_info" property="specInfo" />
+        <result column="control_measures" property="controlMeasures" />
+        <result column="principal_user_id" property="principalUserId" />
+        <result column="principal_mobile" property="principalMobile" />
+        <result column="stock_qty" property="stockQty" />
+        <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="pageSafeHazard" resultType="com.ruoyi.safe.pojo.SafeHazard">
+        select sh.*, su.nick_name principalUser
+        from safe_hazard sh
+        left join sys_user su on sh.principal_user_id = su.user_id
+        where 1=1
+        <if test="c.name != null and c.name != ''">
+            and sh.name like concat('%', #{c.name}, '%')
+        </if>
+        <if test="c.code != null and c.code != ''">
+            and sh.code like concat('%', #{c.code}, '%')
+        </if>
+        <if test="c.type != null and c.type != ''">
+            and sh.type like concat('%', #{c.type}, '%')
+        </if>
+        <if test="c.riskLevel != null and c.riskLevel != ''">
+            and sh.risk_level like concat('%', #{c.riskLevel}, '%')
+        </if>
+    </select>
+
+</mapper>

--
Gitblit v1.9.3