From 94e23a3d587846f10ea9517bd2e6705093d6a99a Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 28 一月 2026 17:57:39 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_New
---
src/main/java/com/ruoyi/safe/service/impl/SafeHazardRecordServiceImpl.java | 93 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 93 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/safe/service/impl/SafeHazardRecordServiceImpl.java b/src/main/java/com/ruoyi/safe/service/impl/SafeHazardRecordServiceImpl.java
new file mode 100644
index 0000000..2d6fa1d
--- /dev/null
+++ b/src/main/java/com/ruoyi/safe/service/impl/SafeHazardRecordServiceImpl.java
@@ -0,0 +1,93 @@
+package com.ruoyi.safe.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.safe.dto.SafeHazardRecordDto;
+import com.ruoyi.safe.mapper.SafeHazardMapper;
+import com.ruoyi.safe.pojo.SafeHazard;
+import com.ruoyi.safe.pojo.SafeHazardRecord;
+import com.ruoyi.safe.mapper.SafeHazardRecordMapper;
+import com.ruoyi.safe.service.SafeHazardRecordService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.util.List;
+
+/**
+ * <p>
+ * 瀹夊叏鐢熶骇--鍗遍櫓鐗╂枡绠℃帶 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-28 01:13:40
+ */
+@Service
+@Transactional(rollbackFor = Exception.class)
+public class SafeHazardRecordServiceImpl extends ServiceImpl<SafeHazardRecordMapper, SafeHazardRecord> implements SafeHazardRecordService {
+
+ @Autowired
+ private SafeHazardRecordMapper safeHazardRecordMapper;
+ @Autowired
+ private SafeHazardMapper safeHazardMapper;
+
+ @Override
+ public IPage<SafeHazardRecordDto> pageSafeHazardRecord(Page page, SafeHazardRecordDto safeHazardRecordDto) {
+ return safeHazardRecordMapper.pageSafeHazardRecord(page, safeHazardRecordDto);
+ }
+
+ @Override
+ public int borrow(SafeHazardRecord safeHazardRecord) {
+ //鍒ゆ柇鏁伴噺鏄惁婊¤冻
+ SafeHazard safeHazard = safeHazardMapper.selectById(safeHazardRecord.getSafeHazardId());
+ if (safeHazard.getStockQty().compareTo(safeHazardRecord.getApplyQty())<0) {
+ throw new RuntimeException("搴撳瓨鏁伴噺涓嶈冻");
+ }
+ //棰嗙敤
+ 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);
+ return 0;
+ }
+
+ @Override
+ public int returnSafeHazardRecord(SafeHazardRecord safeHazardRecord) {
+ SafeHazard safeHazard = safeHazardMapper.selectById(safeHazardRecord.getSafeHazardId());
+ //褰掕繕
+ safeHazardRecord.setReturnUserId(SecurityUtils.getUserId().intValue());
+ safeHazardRecord.setReturnTime(LocalDate.now());
+ safeHazardRecordMapper.updateById(safeHazardRecord);
+ //澧炲簱瀛�
+ safeHazard.setStockQty(safeHazard.getStockQty().add(safeHazardRecord.getApplyQty()));
+ safeHazardMapper.updateById(safeHazard);
+ return 0;
+ }
+
+ @Override
+ public int delSafeHazardRecord(List<Integer> ids) {
+ List<SafeHazardRecord> safeHazardRecords = safeHazardRecordMapper.selectBatchIds(ids);
+ for (SafeHazardRecord safeHazardRecord : safeHazardRecords) {
+ //鍒ゆ柇鏄惁鏈夊綊杩�
+ if (ObjectUtils.isNull(safeHazardRecord.getReturnUserId())){
+ //娌℃湁褰掕繕,鍒犻櫎棰嗙敤璁板綍闇�瑕佸鍔犲簱瀛�
+ SafeHazard safeHazard = safeHazardMapper.selectById(safeHazardRecord.getSafeHazardId());
+ safeHazard.setStockQty(safeHazard.getStockQty().add(safeHazardRecord.getApplyQty()));
+ safeHazardMapper.updateById(safeHazard);
+ }
+ }
+ safeHazardRecordMapper.deleteBatchIds(ids);
+ return 0;
+ }
+}
--
Gitblit v1.9.3