From 9f6292334cf2634772b8ef147255f8d207fde15f Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期三, 02 四月 2025 14:30:30 +0800
Subject: [PATCH] 标准库功能修改备份开发

---
 basic-server/src/main/java/com/ruoyi/basic/dto/StandardProductListUpdateRecordDto.java                  |   31 ++++++++++
 basic-server/src/main/resources/mapper/StandardProductListMapper.xml                                    |    9 +-
 basic-server/src/main/java/com/ruoyi/basic/pojo/StandardProductListUpdateRecord.java                    |    9 +++
 basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListUpdateRecordServiceImpl.java |   36 +++++++++++
 basic-server/src/main/resources/mapper/StandardProductListUpdateRecordMapper.xml                        |    8 ++
 basic-server/src/main/java/com/ruoyi/basic/controller/StandardProductListUpdateRecordController.java    |    7 ++
 basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListUpdateRecordService.java          |   12 +++
 basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListMapper.java                        |    2 
 basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListUpdateRecordMapper.java            |    3 
 basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java             |   18 ++++++
 10 files changed, 124 insertions(+), 11 deletions(-)

diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/StandardProductListUpdateRecordController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/StandardProductListUpdateRecordController.java
index ae1963e..b41b70b 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/controller/StandardProductListUpdateRecordController.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/controller/StandardProductListUpdateRecordController.java
@@ -42,4 +42,11 @@
         return Result.success(standardProductListUpdateRecordService.standardProductListRecordRelPage(page,standardProductListUpdateRecordRel));
     }
 
+    @ApiOperation(value = "鏍囧噯鏍戜笅淇敼璁板綍鏂囦欢涓婁紶")
+    @PostMapping("/uploadRecordFile")
+    public Result uploadRecordFile(@RequestParam("file") MultipartFile file,Long recordId) {
+        standardProductListUpdateRecordService.uploadRecordFile(file,recordId);
+        return Result.success();
+    }
+
 }
diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/StandardProductListUpdateRecordDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/StandardProductListUpdateRecordDto.java
new file mode 100644
index 0000000..5a0d1c0
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/dto/StandardProductListUpdateRecordDto.java
@@ -0,0 +1,31 @@
+package com.ruoyi.basic.dto;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.ruoyi.basic.pojo.StandardProductListUpdateRecord;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * 鏍囧噯鏍戜笅鐨勬楠岄」鐩慨鏀硅褰�
+ *
+ */
+@TableName(value ="standard_product_list_update_record")
+@Data
+public class StandardProductListUpdateRecordDto extends StandardProductListUpdateRecord {
+
+    /**
+     * 鍒涘缓鐢ㄦ埛鍚嶇О
+     */
+   private String createUserName;
+
+    /**
+     * 淇敼鐢ㄦ埛鍚嶇О
+     */
+   private String updateUserName;
+}
diff --git a/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListMapper.java
index 9023104..19eeb28 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListMapper.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListMapper.java
@@ -71,7 +71,7 @@
      */
     void saveBatchProductLists(@Param("productLists") List<StandardProductList> productLists);
 
-    void updateProductListCheckStatus(@Param("ids") List<Long> ids,String checkStatus);
+    void updateProductListCheckStatus(@Param("ids") List<Long> ids,@Param("checkStatus") String checkStatus);
 }
 
 
diff --git a/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListUpdateRecordMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListUpdateRecordMapper.java
index d51d5f1..3a2d00a 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListUpdateRecordMapper.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListUpdateRecordMapper.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.basic.dto.StandardProductListUpdateRecordDto;
 import com.ruoyi.basic.pojo.StandardProductListUpdateRecord;
 import org.apache.ibatis.annotations.Param;
 
@@ -22,7 +23,7 @@
      * @param ew
      * @return
      */
-    IPage<StandardProductListUpdateRecord> standardProductListRecordPage(Page page, @Param("ew") QueryWrapper<StandardProductListUpdateRecord> ew);
+    IPage<StandardProductListUpdateRecordDto> standardProductListRecordPage(Page page, @Param("ew") QueryWrapper<StandardProductListUpdateRecord> ew);
 }
 
 
diff --git a/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardProductListUpdateRecord.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardProductListUpdateRecord.java
index c9e228d..5d0e284 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardProductListUpdateRecord.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardProductListUpdateRecord.java
@@ -57,4 +57,13 @@
 
     @ApiModelProperty("澶囨敞")
     private String remark;
+
+    @ApiModelProperty("鏂囦欢璺緞")
+    private String filePath;
+
+    @ApiModelProperty("鏂囦欢鍚嶇О")
+    private String fileName;
+
+    @ApiModelProperty("鏂囦欢棰勮鍦板潃")
+    private String filePreviewPath;
 }
diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListUpdateRecordService.java b/basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListUpdateRecordService.java
index c2ad6b3..3a549c0 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListUpdateRecordService.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListUpdateRecordService.java
@@ -6,9 +6,11 @@
 import com.ruoyi.basic.dto.CopyStandardProductListDto;
 import com.ruoyi.basic.dto.InsSampleReceiveDto;
 import com.ruoyi.basic.dto.ResetTreeDragDTO;
+import com.ruoyi.basic.dto.StandardProductListUpdateRecordDto;
 import com.ruoyi.basic.pojo.StandardProductList;
 import com.ruoyi.basic.pojo.StandardProductListUpdateRecord;
 import com.ruoyi.basic.pojo.StandardProductListUpdateRecordRel;
+import org.springframework.web.multipart.MultipartFile;
 
 import java.util.List;
 import java.util.Map;
@@ -26,7 +28,7 @@
      * @param record
      * @return
      */
-    IPage<StandardProductListUpdateRecord> standardProductListRecordPage(Page page, StandardProductListUpdateRecord record);
+    IPage<StandardProductListUpdateRecordDto> standardProductListRecordPage(Page page, StandardProductListUpdateRecord record);
 
     /**
      * 鏍囧噯鏍戜笅妫�楠岄」淇敼璁板綍鍒嗛〉鏌ヨ
@@ -35,4 +37,12 @@
      * @return
      */
     IPage<StandardProductListUpdateRecordRel> standardProductListRecordRelPage(Page page, StandardProductListUpdateRecordRel standardProductListUpdateRecordRel);
+
+    /**
+     * 鏍囧噯鏍戜笅淇敼璁板綍鏂囦欢涓婁紶
+     *
+     * @param file
+     * @param recordId
+     */
+    void uploadRecordFile(MultipartFile file,Long recordId);
 }
diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java
index 5a53933..4ec53ee 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java
@@ -489,6 +489,24 @@
      */
     @Override
     public boolean updateSection(StandardProductList list) {
+        // 鏍规嵁id 鏌ヨ鍒板師濮嬪��
+        StandardProductList standardProductList = standardProductListMapper.selectById(list.getId());
+        if(ObjectUtils.isEmpty(standardProductList)){
+            throw new RuntimeException("鏇存柊澶辫触,鏈煡鎵惧埌妫�鏌ラ」");
+        }
+        // 鍒ゆ柇褰撳墠鐘舵�� 濡傛灉鏄鏍镐腑
+        if(StandardProductListChcekTypeEnums.CHECK_ING.getCode().equals(list.getCheckStatus())){
+            throw new RuntimeException("瀹℃牳涓笉鏀寔淇敼");
+        }
+        // 鏌ヨ鏈�鏂扮殑涓�娆″叧鑱斿浠� 濡傛灉瀛樺湪璇存槑鏈鏍稿畬缁х画淇敼浜嗐�備笉鍋氭暟鎹鐞嗐��
+        StandardProductListBackupRel standardProductListBackupRel = standardProductListBackupRelMapper.selectById(list.getId());
+        if(ObjectUtils.isEmpty(standardProductListBackupRel)){
+            StandardProductListBackupRel productListBackupRel = new StandardProductListBackupRel();
+            BeanUtils.copyProperties(standardProductList, productListBackupRel);
+            standardProductListBackupRelMapper.insert(productListBackupRel);
+        }
+        // 淇敼鐘舵��
+        list.setCheckStatus(StandardProductListChcekTypeEnums.WAIT_CHECK.getCode());
         standardProductListMapper.updateSection(list);
         return true;
     }
diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListUpdateRecordServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListUpdateRecordServiceImpl.java
index 3c70fa6..030fd98 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListUpdateRecordServiceImpl.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListUpdateRecordServiceImpl.java
@@ -10,21 +10,27 @@
 import com.ruoyi.basic.dto.CopyStandardProductListDto;
 import com.ruoyi.basic.dto.InsSampleReceiveDto;
 import com.ruoyi.basic.dto.ResetTreeDragDTO;
+import com.ruoyi.basic.dto.StandardProductListUpdateRecordDto;
 import com.ruoyi.basic.enums.StandardProductListChcekTypeEnums;
 import com.ruoyi.basic.mapper.*;
 import com.ruoyi.basic.pojo.*;
 import com.ruoyi.basic.service.StandardMethodListService;
 import com.ruoyi.basic.service.StandardProductListService;
 import com.ruoyi.basic.service.StandardProductListUpdateRecordService;
+import com.ruoyi.common.core.domain.MinioResult;
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.QueryWrappers;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.file.MinioUtils;
 import lombok.AllArgsConstructor;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
 
+import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.util.*;
 import java.util.regex.Matcher;
@@ -37,7 +43,6 @@
  * @createDate 2024-03-05 10:33:29
  */
 @Service
-@AllArgsConstructor
 public class StandardProductListUpdateRecordServiceImpl extends ServiceImpl<StandardProductListUpdateRecordMapper, StandardProductListUpdateRecord>
         implements StandardProductListUpdateRecordService {
 
@@ -47,6 +52,12 @@
     @Autowired
     private StandardProductListUpdateRecordRelMapper standardProductListUpdateRecordRelMapper;
 
+    @Resource
+    private MinioUtils minioUtils;
+
+    @Value("${minio.bucketName}")
+    private String bucketName;
+
     /**
      * 鏍囧噯鏍戜笅妫�楠岄」淇敼璁板綍鍒嗛〉鏌ヨ
      * @param page
@@ -54,7 +65,7 @@
      * @return
      */
     @Override
-    public IPage<StandardProductListUpdateRecord> standardProductListRecordPage(Page page, StandardProductListUpdateRecord record) {
+    public IPage<StandardProductListUpdateRecordDto> standardProductListRecordPage(Page page, StandardProductListUpdateRecord record) {
         return standardProductListUpdateRecordMapper.standardProductListRecordPage(page,QueryWrappers.queryWrappers(record));
     }
 
@@ -69,6 +80,27 @@
         return standardProductListUpdateRecordRelMapper.standardProductListRecordRelPage(page,QueryWrappers.queryWrappers(standardProductListUpdateRecordRel));
     }
 
+    /**
+     * 鏍囧噯鏍戜笅淇敼璁板綍鏂囦欢涓婁紶
+     *
+     * @param file
+     * @param recordId
+     */
+    @Override
+    public void uploadRecordFile(MultipartFile file, Long recordId) {
+        try {
+            MinioResult result = minioUtils.upload(bucketName, file, true);
+            // 淇濆瓨璺緞
+            StandardProductListUpdateRecord standardProductListUpdateRecord = new StandardProductListUpdateRecord();
+            standardProductListUpdateRecord.setId(recordId);
+            standardProductListUpdateRecord.setFileName(result.getOriginalName());
+            standardProductListUpdateRecord.setFilePath(result.getBucketFileName());
+            standardProductListUpdateRecord.setFilePreviewPath(result.getPreviewExpiry());
+            standardProductListUpdateRecordMapper.updateById(standardProductListUpdateRecord);
+        }catch (Exception e){
+            throw new RuntimeException("鏂囦欢涓婁紶澶辫触");
+        }
+    }
 }
 
 
diff --git a/basic-server/src/main/resources/mapper/StandardProductListMapper.xml b/basic-server/src/main/resources/mapper/StandardProductListMapper.xml
index 6584dfb..351fb73 100644
--- a/basic-server/src/main/resources/mapper/StandardProductListMapper.xml
+++ b/basic-server/src/main/resources/mapper/StandardProductListMapper.xml
@@ -30,11 +30,11 @@
 
     <!-- 鎵归噺娣诲姞妫�娴嬫爣鍑� -->
     <insert id="saveBatchProductLists">
-        INSERT INTO standard_product_list (id, inspection_item, inspection_item_en, inspection_item_subclass, inspection_item_subclass_en, factory, laboratory, sample_type, sample, model, son_laboratory, unit, price, man_hour, man_hour_group, inspection_item_type, inspection_value_type, checkout_number, section, cores, method, method_s, man_day, bsm, ask, tell, standard_method_list_id, template_id, state, dic, tree, structure_item_parameter_id, inspection_item_class, inspection_item_class_en, radius, radius_list, rates, sort, conductor_material, conductor_type)
+        INSERT INTO standard_product_list (id, inspection_item, inspection_item_en, inspection_item_subclass, inspection_item_subclass_en, factory, laboratory, sample_type, sample, model, son_laboratory, unit, price, man_hour, man_hour_group, inspection_item_type, inspection_value_type, checkout_number, section, cores, method, method_s, man_day, bsm, ask, tell, standard_method_list_id, template_id, state, dic, tree, structure_item_parameter_id, inspection_item_class, inspection_item_class_en, radius, radius_list, rates, sort, conductor_material, conductor_type, check_status)
         VALUES
         <foreach item="item" collection="productLists" open="(" separator="),(" close=")">
             #{item.id}, #{item.inspectionItem}, #{item.inspectionItemEn}, #{item.inspectionItemSubclass}, #{item.inspectionItemSubclassEn}, #{item.factory}, #{item.sonLaboratory}, #{item.sampleType}, #{item.sample}, #{item.model}, #{item.sonLaboratory}, #{item.unit}, #{item.price}, #{item.manHour}, #{item.manHourGroup}, #{item.inspectionItemType}, #{item.inspectionValueType}, #{item.checkoutNumber}, #{item.section}, #{item.cores}, #{item.method}, #{item.methodS}, #{item.manDay}, #{item.bsm}, #{item.ask}, #{item.tell}, #{item.standardMethodListId}, #{item.templateId}, #{item.state}, #{item.dic}, #{item.tree}, #{item.structureItemParameterId},
-            #{item.inspectionItemClass}, #{item.inspectionItemClassEn}, #{item.radius}, #{item.radiusList}, #{item.rates}, #{item.sort}, #{item.conductorMaterial}, #{item.conductorType}
+            #{item.inspectionItemClass}, #{item.inspectionItemClassEn}, #{item.radius}, #{item.radiusList}, #{item.rates}, #{item.sort}, #{item.conductorMaterial}, #{item.conductorType}, #{item.checkStatus}
         </foreach>
 
     </insert>
@@ -51,7 +51,8 @@
             ask=#{productList.ask},
             tell=#{productList.tell},
             update_user=#{productList.updateUser},
-            update_time=#{productList.updateTime}
+            update_time=#{productList.updateTime},
+            check_status=#{checkStatus}
         WHERE id = #{productList.id}
     </update>
     <update id="updateSortUp">
@@ -158,7 +159,7 @@
     <update id="updateProductListCheckStatus">
         UPDATE standard_product_list SET check_status = #{checkStatus}
         WHERE ID IN
-        <foreach collection="ids" open="(" close=")" item="item">
+        <foreach collection="ids" open="(" close=")" item="item" separator=",">
             #{item}
         </foreach>
     </update>
diff --git a/basic-server/src/main/resources/mapper/StandardProductListUpdateRecordMapper.xml b/basic-server/src/main/resources/mapper/StandardProductListUpdateRecordMapper.xml
index c6f7d17..e9388ef 100644
--- a/basic-server/src/main/resources/mapper/StandardProductListUpdateRecordMapper.xml
+++ b/basic-server/src/main/resources/mapper/StandardProductListUpdateRecordMapper.xml
@@ -3,8 +3,12 @@
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.basic.mapper.StandardProductListUpdateRecordMapper">
-    <select id="standardProductListRecordPage" resultType="com.ruoyi.basic.pojo.StandardProductListUpdateRecord">
-        select * from standard_product_list_update_record
+    <select id="standardProductListRecordPage" resultType="com.ruoyi.basic.dto.StandardProductListUpdateRecordDto">
+        SELECT *,
+        ( SELECT NAME FROM `user` WHERE id = create_user ) AS createUserName,
+        ( SELECT NAME FROM `user` WHERE id = update_user ) AS updateUserName
+        FROM
+        standard_product_list_update_record
         <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
             ${ew.customSqlSegment}
         </if>

--
Gitblit v1.9.3