From be43a6e71f665ce97c9fbf973bf43d24fdb24a54 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期三, 28 一月 2026 10:51:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_New
---
src/main/java/com/ruoyi/safe/mapper/SafeHazardMapper.java | 22 +
src/main/java/com/ruoyi/safe/service/SafeCertificationFileService.java | 16 +
src/main/java/com/ruoyi/safe/mapper/SafeCertificationMapper.java | 22 +
src/main/resources/mapper/safe/SafeHazardMapper.xml | 44 +++
src/main/resources/mapper/safe/SafeCertificationMapper.xml | 35 ++
src/main/resources/mapper/safe/SafeCertificationFileMapper.xml | 19 +
src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java | 18 -
src/main/java/com/ruoyi/safe/controller/SafeCertificationController.java | 57 ++++
src/main/java/com/ruoyi/safe/mapper/SafeCertificationFileMapper.java | 18 +
src/main/java/com/ruoyi/safe/service/impl/SafeCertificationFileServiceImpl.java | 20 +
src/main/java/com/ruoyi/safe/service/impl/SafeCertificationServiceImpl.java | 31 ++
src/main/java/com/ruoyi/safe/pojo/SafeCertification.java | 76 ++++++
src/main/java/com/ruoyi/safe/service/impl/SafeHazardServiceImpl.java | 30 ++
src/main/java/com/ruoyi/safe/pojo/SafeCertificationFile.java | 60 +++++
src/main/java/com/ruoyi/safe/service/SafeCertificationService.java | 19 +
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 +
src/main/java/com/ruoyi/safe/controller/SafeCertificationFileController.java | 74 ++++++
19 files changed, 702 insertions(+), 18 deletions(-)
diff --git a/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java b/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
index bd8e0ad..93928ca 100644
--- a/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
+++ b/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
@@ -180,23 +180,6 @@
homeBusinessDto.setMonthPurchaseHaveMoney(unReceiptPaymentAmount.setScale(2, RoundingMode.HALF_UP).toString());
}
// 缁熻搴撳瓨
-// List<ProcurementRecordStorage> procurementRecordStorages = procurementRecordStorageMapper.selectList(null);
-// BigDecimal stockAmount = procurementRecordStorages.stream()
-// .map(ProcurementRecordStorage::getInboundNum)
-// .filter(Objects::nonNull)
-// .reduce(BigDecimal.ZERO, BigDecimal::add);
-// // 鑷畾涔夊簱瀛�
-// List<CustomStorage> customStorages = customStorageMapper.selectList(null);
-// BigDecimal customStockAmount = customStorages.stream()
-// .map(CustomStorage::getInboundNum)
-// .filter(Objects::nonNull)
-// .reduce(BigDecimal.ZERO, BigDecimal::add);
-// List<ProcurementRecordOut> procurementRecordOuts = procurementRecordOutMapper.selectList(null);
-// BigDecimal outboundAmount = procurementRecordOuts.stream()
-// .map(ProcurementRecordOut::getInboundNum)
-// .filter(Objects::nonNull)
-// .reduce(BigDecimal.ZERO, BigDecimal::add);
-// BigDecimal stock = stockAmount.add(customStockAmount).subtract(outboundAmount);
BigDecimal stockQuantityTotal = stockInventoryMapper.selectTotal();
homeBusinessDto.setInventoryNum(stockQuantityTotal.setScale(2, RoundingMode.HALF_UP).toString());
@@ -210,7 +193,6 @@
.map(ProcurementRecordStorage::getInboundNum)
.filter(Objects::nonNull)
.reduce(BigDecimal.ZERO, BigDecimal::add);
-// homeBusinessDto.setInventoryNum(stock.setScale(2, RoundingMode.HALF_UP).toString());
homeBusinessDto.setTodayInventoryNum(stockAmount1.setScale(2, RoundingMode.HALF_UP).toString());
return homeBusinessDto;
}
diff --git a/src/main/java/com/ruoyi/safe/controller/SafeCertificationController.java b/src/main/java/com/ruoyi/safe/controller/SafeCertificationController.java
new file mode 100644
index 0000000..898b9d2
--- /dev/null
+++ b/src/main/java/com/ruoyi/safe/controller/SafeCertificationController.java
@@ -0,0 +1,57 @@
+package com.ruoyi.safe.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.framework.web.domain.R;
+import com.ruoyi.production.dto.ProcessRouteDto;
+import com.ruoyi.production.pojo.ProcessRoute;
+import com.ruoyi.safe.pojo.SafeCertification;
+import com.ruoyi.safe.service.SafeCertificationService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * <p>
+ * 瀹夊叏鐢熶骇--瀹夊叏瑙勭▼涓庤祫璐ㄧ鐞� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-28 09:26:33
+ */
+@RestController
+@RequestMapping("/safeCertification")
+@Api(tags = "瀹夊叏鐢熶骇--瀹夊叏瑙勭▼涓庤祫璐ㄧ鐞�")
+public class SafeCertificationController {
+
+ @Autowired
+ private SafeCertificationService safeCertificationService;
+
+ @GetMapping("/page")
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ public R page(Page<SafeCertification> page, SafeCertification safeCertification) {
+ return R.ok(safeCertificationService.pageSafeCertification(page, safeCertification));
+ }
+
+ @ApiOperation("鏂板瀹夊叏瑙勭▼涓庤祫璐ㄧ鐞�")
+ @PostMapping()
+ 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) {
+ return R.ok(safeCertificationService.removeBatchByIds(ids));
+ }
+
+}
diff --git a/src/main/java/com/ruoyi/safe/controller/SafeCertificationFileController.java b/src/main/java/com/ruoyi/safe/controller/SafeCertificationFileController.java
new file mode 100644
index 0000000..9c4a1a3
--- /dev/null
+++ b/src/main/java/com/ruoyi/safe/controller/SafeCertificationFileController.java
@@ -0,0 +1,74 @@
+package com.ruoyi.safe.controller;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.framework.web.domain.R;
+import com.ruoyi.production.pojo.ProductWorkOrderFile;
+import com.ruoyi.production.service.ProductWorkOrderFileService;
+import com.ruoyi.safe.pojo.SafeCertificationFile;
+import com.ruoyi.safe.service.SafeCertificationFileService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * <p>
+ * 瀹夊叏鐢熶骇--瀹夊叏瑙勭▼涓庤祫璐ㄧ鐞�--闄勪欢 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-28 09:45:20
+ */
+@RestController
+@RequestMapping("/safeCertificationFile")
+@Api(tags = "瀹夊叏鐢熶骇--瀹夊叏瑙勭▼涓庤祫璐ㄧ鐞�--闄勪欢")
+public class SafeCertificationFileController {
+
+ @Resource
+ private SafeCertificationFileService safeCertificationFileService;
+
+
+ /**
+ * 鏂板
+ * @param safeCertificationFile
+ * @return
+ */
+ @PostMapping("/add")
+ @ApiOperation("鏂板")
+ public R add(@RequestBody SafeCertificationFile safeCertificationFile) {
+ return R.ok(safeCertificationFileService.save(safeCertificationFile));
+ }
+
+ /**
+ * 鍒犻櫎
+ * @param ids
+ * @return
+ */
+ @DeleteMapping("/del")
+ @ApiOperation("鍒犻櫎")
+ public R delQualityUnqualified(@RequestBody List<Integer> ids) {
+ if(CollectionUtils.isEmpty(ids)){
+ return R.fail("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+ }
+ //鍒犻櫎妫�楠岄檮浠�
+ return R.ok(safeCertificationFileService.removeBatchByIds(ids));
+ }
+
+ /**
+ *鍒嗛〉鏌ヨ
+ * @param page
+ * @param safeCertificationFile
+ * @return
+ */
+ @GetMapping("/listPage")
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ public R listPage(Page page, SafeCertificationFile safeCertificationFile) {
+ return R.ok(safeCertificationFileService.page(page, Wrappers.<SafeCertificationFile>lambdaQuery().eq(SafeCertificationFile::getSafeCertificationId,safeCertificationFile.getSafeCertificationId())));
+ }
+
+}
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/SafeCertificationFileMapper.java b/src/main/java/com/ruoyi/safe/mapper/SafeCertificationFileMapper.java
new file mode 100644
index 0000000..470ef8f
--- /dev/null
+++ b/src/main/java/com/ruoyi/safe/mapper/SafeCertificationFileMapper.java
@@ -0,0 +1,18 @@
+package com.ruoyi.safe.mapper;
+
+import com.ruoyi.safe.pojo.SafeCertificationFile;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 瀹夊叏鐢熶骇--瀹夊叏瑙勭▼涓庤祫璐ㄧ鐞�--闄勪欢 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-28 09:45:20
+ */
+@Mapper
+public interface SafeCertificationFileMapper extends BaseMapper<SafeCertificationFile> {
+
+}
diff --git a/src/main/java/com/ruoyi/safe/mapper/SafeCertificationMapper.java b/src/main/java/com/ruoyi/safe/mapper/SafeCertificationMapper.java
new file mode 100644
index 0000000..84d5dae
--- /dev/null
+++ b/src/main/java/com/ruoyi/safe/mapper/SafeCertificationMapper.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.SafeCertification;
+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 09:26:33
+ */
+@Mapper
+public interface SafeCertificationMapper extends BaseMapper<SafeCertification> {
+
+ IPage<SafeCertification> pageSafeCertification(Page<SafeCertification> page, @Param("c") SafeCertification safeCertification);
+}
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/SafeCertification.java b/src/main/java/com/ruoyi/safe/pojo/SafeCertification.java
new file mode 100644
index 0000000..60a768a
--- /dev/null
+++ b/src/main/java/com/ruoyi/safe/pojo/SafeCertification.java
@@ -0,0 +1,76 @@
+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 09:26:33
+ */
+@Getter
+@Setter
+@TableName("safe_certification")
+@ApiModel(value = "SafeCertification瀵硅薄", description = "瀹夊叏鐢熶骇--瀹夊叏瑙勭▼涓庤祫璐ㄧ鐞�")
+public class SafeCertification 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 version;
+
+ @ApiModelProperty("澶囨敞")
+ private String remark;
+
+ @ApiModelProperty("鏈夋晥鏈�")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ private LocalDate effectiveTime;
+
+ @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;
+
+ @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/pojo/SafeCertificationFile.java b/src/main/java/com/ruoyi/safe/pojo/SafeCertificationFile.java
new file mode 100644
index 0000000..e9efecc
--- /dev/null
+++ b/src/main/java/com/ruoyi/safe/pojo/SafeCertificationFile.java
@@ -0,0 +1,60 @@
+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.LocalDateTime;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * <p>
+ * 瀹夊叏鐢熶骇--瀹夊叏瑙勭▼涓庤祫璐ㄧ鐞�--闄勪欢
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-28 09:45:20
+ */
+@Getter
+@Setter
+@TableName("safe_certification_file")
+@ApiModel(value = "SafeCertificationFile瀵硅薄", description = "瀹夊叏鐢熶骇--瀹夊叏瑙勭▼涓庤祫璐ㄧ鐞�--闄勪欢")
+public class SafeCertificationFile implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("鍏宠仈瀹夊叏鐢熶骇璧勮川id")
+ @NotBlank(message = "鍏宠仈瀹夊叏鐢熶骇璧勮川id涓嶈兘涓虹┖")
+ private Integer safeCertificationId;
+
+ private String name;
+
+ private String url;
+
+ private Object fileSize;
+
+ @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/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/SafeCertificationFileService.java b/src/main/java/com/ruoyi/safe/service/SafeCertificationFileService.java
new file mode 100644
index 0000000..a8a8488
--- /dev/null
+++ b/src/main/java/com/ruoyi/safe/service/SafeCertificationFileService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.safe.service;
+
+import com.ruoyi.safe.pojo.SafeCertificationFile;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 瀹夊叏鐢熶骇--瀹夊叏瑙勭▼涓庤祫璐ㄧ鐞�--闄勪欢 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-28 09:45:20
+ */
+public interface SafeCertificationFileService extends IService<SafeCertificationFile> {
+
+}
diff --git a/src/main/java/com/ruoyi/safe/service/SafeCertificationService.java b/src/main/java/com/ruoyi/safe/service/SafeCertificationService.java
new file mode 100644
index 0000000..05d7520
--- /dev/null
+++ b/src/main/java/com/ruoyi/safe/service/SafeCertificationService.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.SafeCertification;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 瀹夊叏鐢熶骇--瀹夊叏瑙勭▼涓庤祫璐ㄧ鐞� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-28 09:26:33
+ */
+public interface SafeCertificationService extends IService<SafeCertification> {
+
+ IPage<SafeCertification> pageSafeCertification(Page<SafeCertification> page, SafeCertification safeCertification);
+}
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/SafeCertificationFileServiceImpl.java b/src/main/java/com/ruoyi/safe/service/impl/SafeCertificationFileServiceImpl.java
new file mode 100644
index 0000000..bf9854d
--- /dev/null
+++ b/src/main/java/com/ruoyi/safe/service/impl/SafeCertificationFileServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.safe.service.impl;
+
+import com.ruoyi.safe.pojo.SafeCertificationFile;
+import com.ruoyi.safe.mapper.SafeCertificationFileMapper;
+import com.ruoyi.safe.service.SafeCertificationFileService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 瀹夊叏鐢熶骇--瀹夊叏瑙勭▼涓庤祫璐ㄧ鐞�--闄勪欢 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-28 09:45:20
+ */
+@Service
+public class SafeCertificationFileServiceImpl extends ServiceImpl<SafeCertificationFileMapper, SafeCertificationFile> implements SafeCertificationFileService {
+
+}
diff --git a/src/main/java/com/ruoyi/safe/service/impl/SafeCertificationServiceImpl.java b/src/main/java/com/ruoyi/safe/service/impl/SafeCertificationServiceImpl.java
new file mode 100644
index 0000000..51162bc
--- /dev/null
+++ b/src/main/java/com/ruoyi/safe/service/impl/SafeCertificationServiceImpl.java
@@ -0,0 +1,31 @@
+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.SafeCertification;
+import com.ruoyi.safe.mapper.SafeCertificationMapper;
+import com.ruoyi.safe.service.SafeCertificationService;
+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 09:26:33
+ */
+@Service
+public class SafeCertificationServiceImpl extends ServiceImpl<SafeCertificationMapper, SafeCertification> implements SafeCertificationService {
+
+ @Autowired
+ private SafeCertificationMapper safeCertificationMapper;
+
+
+ @Override
+ public IPage<SafeCertification> pageSafeCertification(Page<SafeCertification> page, SafeCertification safeCertification) {
+ return safeCertificationMapper.pageSafeCertification(page, safeCertification);
+ }
+}
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/SafeCertificationFileMapper.xml b/src/main/resources/mapper/safe/SafeCertificationFileMapper.xml
new file mode 100644
index 0000000..b7ad5d2
--- /dev/null
+++ b/src/main/resources/mapper/safe/SafeCertificationFileMapper.xml
@@ -0,0 +1,19 @@
+<?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.SafeCertificationFileMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.safe.pojo.SafeCertificationFile">
+ <id column="id" property="id" />
+ <result column="safe_certification_id" property="safeCertificationId" />
+ <result column="name" property="name" />
+ <result column="url" property="url" />
+ <result column="file_size" property="fileSize" />
+ <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>
+
+</mapper>
diff --git a/src/main/resources/mapper/safe/SafeCertificationMapper.xml b/src/main/resources/mapper/safe/SafeCertificationMapper.xml
new file mode 100644
index 0000000..880c82d
--- /dev/null
+++ b/src/main/resources/mapper/safe/SafeCertificationMapper.xml
@@ -0,0 +1,35 @@
+<?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.SafeCertificationMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.safe.pojo.SafeCertification">
+ <id column="id" property="id" />
+ <result column="name" property="name" />
+ <result column="code" property="code" />
+ <result column="type" property="type" />
+ <result column="version" property="version" />
+ <result column="remark" property="remark" />
+ <result column="effective_time" property="effectiveTime" />
+ <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="pageSafeCertification" resultType="com.ruoyi.safe.pojo.SafeCertification">
+ select sc.*
+ from safe_certification sc
+ where 1=1
+ <if test="c.name != null and c.name != ''">
+ and sc.name like concat('%', #{c.name}, '%')
+ </if>
+ <if test="c.code != null and c.code != ''">
+ and sc.code like concat('%', #{c.code}, '%')
+ </if>
+ <if test="c.type != null and c.type != ''">
+ and sc.type like concat('%', #{c.type}, '%')
+ </if>
+ </select>
+
+</mapper>
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