From 57d3881d7c7f88a294824432a482fe206f719eda Mon Sep 17 00:00:00 2001
From: whycxzp <glperry@163.com>
Date: 星期五, 13 六月 2025 13:29:24 +0800
Subject: [PATCH] 维修备件变更日志

---
 src/main/java/com/whyc/service/DeviceSpareService.java |   68 +++++++++++++++++++++++++++++++++
 1 files changed, 67 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/whyc/service/DeviceSpareService.java b/src/main/java/com/whyc/service/DeviceSpareService.java
index 9fbf916..fc58ee0 100644
--- a/src/main/java/com/whyc/service/DeviceSpareService.java
+++ b/src/main/java/com/whyc/service/DeviceSpareService.java
@@ -7,10 +7,13 @@
 import com.whyc.dto.Response;
 import com.whyc.mapper.DeviceSpareMapper;
 import com.whyc.pojo.web_site.DeviceSpare;
+import com.whyc.pojo.web_site.DeviceSpareLog;
 import com.whyc.util.CommonUtil;
 import com.whyc.util.ThreadLocalUtil;
 import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
@@ -24,6 +27,9 @@
 
     @Resource
     private DeviceSpareMapper mapper;
+
+    @Autowired
+    private DeviceSpareLogService deviceSpareLogService;
 
     public Response<PageInfo<DeviceSpare>> getPage(Integer pageNum, Integer pageSize, String type, String name) {
         PageHelper.startPage(pageNum, pageSize);
@@ -40,6 +46,7 @@
         return new Response<List<DeviceSpare>>().set(1, mapper.selectList(query));
     }
 
+    @Transactional
     public Response add(DeviceSpare spare, List<MultipartFile> file) throws IOException {
         //瀵筬ile杩涜澶勭悊,淇濆瓨鍒版枃浠跺す涓�
         //瀵瑰瓨鍌ㄨ矾寰勮繘琛屽畾涔�
@@ -73,10 +80,69 @@
         }
         spare.setPictureUrl(pictureUrlSb.toString());
         mapper.insert(spare);
-        return new Response().setII(1,"澧炲姞瀹屾垚");
+
+        //鍙樻洿鏃ュ織
+        DeviceSpareLog deviceSpareLog = new DeviceSpareLog();
+        deviceSpareLog.setDeviceSpareId(spare.getId());
+        deviceSpareLog.setCreateTime(now);
+        deviceSpareLog.setOperationType(1);
+
+        StringBuilder detailSb = new StringBuilder();
+        detailSb.append("鏂板鐗╂枡绫诲瀷,");
+        detailSb.append("鐗╂枡鍚嶇О:").append(spare.getName()).append(",");
+        detailSb.append("鐗╂枡鍨嬪彿:").append(spare.getModel()).append(",");
+        detailSb.append("鐗╂枡鐗堟湰:").append(spare.getVersion()).append(",");
+        detailSb.append("鐗╂枡鍝佺墝:").append(spare.getBrand()).append(",");
+        detailSb.append("鐗╂枡鏁伴噺:").append(spare.getQuantity()).append(",");
+        detailSb.append("鐗╂枡绫诲瀷:").append(spare.getType()).append(",");
+        detailSb.append("鐗╂枡渚涘簲鍟�:").append(spare.getSupplier());
+        deviceSpareLog.setOperationDetail(detailSb.toString());
+
+        deviceSpareLogService.add(deviceSpareLog);
+
+
+
+        return new Response().setII(1,"鏂板瀹屾垚");
     }
 
+    @Transactional
     public Response update(DeviceSpare spare) {
+        //鏍规嵁id鏌ヨ鏁版嵁搴撲腑鐨勭墿鏂�
+        DeviceSpare spareInDB = mapper.selectById(spare.getId());
+        //瀵规瘮姣忎釜瀛楁鏄惁涓�鏍�,涓嶄竴鏍风殑璁板綍涓嬫潵
+        DeviceSpareLog deviceSpareLog = new DeviceSpareLog();
+        deviceSpareLog.setDeviceSpareId(spare.getId());
+        deviceSpareLog.setCreateTime(new Date());
+        deviceSpareLog.setOperationType(2);
+
+        StringBuilder detailSb = new StringBuilder();
+        detailSb.append("淇敼鐗╂枡,");
+        if (!spareInDB.getName().equals(spare.getName())) {
+            detailSb.append("鐗╂枡鍚嶇О:").append(spareInDB.getName()).append("->").append(spare.getName()).append(",");
+        }
+        if (!spareInDB.getModel().equals(spare.getModel())) {
+            detailSb.append("鐗╂枡鍨嬪彿:").append(spareInDB.getModel()).append("->").append(spare.getModel()).append(",");
+        }
+        if (!spareInDB.getVersion().equals(spare.getVersion())) {
+            detailSb.append("鐗╂枡鐗堟湰:").append(spareInDB.getVersion()).append("->").append(spare.getVersion()).append(",");
+        }
+        if (!spareInDB.getBrand().equals(spare.getBrand())) {
+            detailSb.append("鐗╂枡鍝佺墝:").append(spareInDB.getBrand()).append("->").append(spare.getBrand()).append(",");
+        }
+        if (!spareInDB.getQuantity().equals(spare.getQuantity())) {
+            detailSb.append("鐗╂枡鏁伴噺:").append(spareInDB.getQuantity()).append("->").append(spare.getQuantity()).append(",");
+        }
+        if (!spareInDB.getType().equals(spare.getType())) {
+            detailSb.append("鐗╂枡绫诲瀷:").append(spareInDB.getType()).append("->").append(spare.getType()).append(",");
+        }
+        if (!spareInDB.getSupplier().equals(spare.getSupplier())) {
+            detailSb.append("鐗╂枡渚涘簲鍟�:").append(spareInDB.getSupplier()).append("->").append(spare.getSupplier()).append(",");
+        }
+        //detailSb鍘婚櫎鏈�鍚庝竴涓�楀彿
+        detailSb.deleteCharAt(detailSb.length()-1);
+        deviceSpareLog.setOperationDetail(detailSb.toString());
+        deviceSpareLogService.add(deviceSpareLog);
+
         mapper.updateById(spare);
         return new Response().setII(1,"淇敼瀹屾垚");
     }

--
Gitblit v1.9.1