From 3d6da0d6465fa63cf8b214bf7371eab4949f5488 Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期四, 03 四月 2025 11:28:01 +0800
Subject: [PATCH] 标准库树下检验项目修改供应商绑定备份修改

---
 basic-server/src/main/java/com/ruoyi/basic/dto/StandardProductListUpdateRecordDto.java                  |    3 
 basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListSupplierAskService.java           |    4 
 basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListUpdateRecordServiceImpl.java |    4 
 basic-server/src/main/resources/mapper/StandardProductListUpdateRecordMapper.xml                        |   16 +-
 basic-server/src/main/java/com/ruoyi/basic/controller/StandardTreeController.java                       |    2 
 basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListSupplierAskBackupRelMapper.java    |   24 ++++
 basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListSupplierAskMapper.java             |    4 
 basic-server/src/main/java/com/ruoyi/basic/pojo/StandardProductListSupplierAskBackupRel.java            |   58 +++++++++
 basic-server/src/main/java/com/ruoyi/basic/pojo/StandardProductList.java                                |    1 
 basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListSupplierAskServiceImpl.java  |   78 ++++++++++++
 basic-server/src/main/resources/mapper/StandardProductListSupplierAskMapper.xml                         |   26 ++++
 basic-server/src/main/java/com/ruoyi/basic/controller/StandardProductListUpdateRecordController.java    |    4 
 basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListUpdateRecordService.java          |    4 
 basic-server/src/main/resources/mapper/StandardProductListSupplierAskBackupRelMapper.xml                |   39 ++++++
 basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListUpdateRecordMapper.java            |    4 
 basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java             |   45 ++++++-
 16 files changed, 289 insertions(+), 27 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 75f504d..6c7de97 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
@@ -32,8 +32,8 @@
 
     @ApiOperation(value = "鏍囧噯鏍戜笅淇敼璁板綍鍒嗛〉鏌ヨ")
     @GetMapping("/standardProductListRecordPage")
-    public Result standardProductListRecordPage(Page page, StandardProductListUpdateRecord standardProductListUpdateRecord) {
-        return Result.success(standardProductListUpdateRecordService.standardProductListRecordPage(page,standardProductListUpdateRecord));
+    public Result standardProductListRecordPage(Page page, StandardProductListUpdateRecordDto standardProductListUpdateRecordDto) {
+        return Result.success(standardProductListUpdateRecordService.standardProductListRecordPage(page,standardProductListUpdateRecordDto));
     }
 
     @ApiOperation(value = "鏍囧噯鏍戜笅妫�楠岄」淇敼璁板綍鏌ヨ")
diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/StandardTreeController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/StandardTreeController.java
index 28e9326..c398be5 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/controller/StandardTreeController.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/controller/StandardTreeController.java
@@ -222,7 +222,7 @@
     @ApiOperation(value = "鍒犻櫎鍘傚瑕佹眰鍊肩粦瀹�")
     @DeleteMapping("/deleteProductSupplierAsk")
     public Result deleteProductSupplierAsk(Integer supplierAskId) {
-        standardProductListSupplierAskService.removeById(supplierAskId);
+        standardProductListSupplierAskService.deleteProductSupplierAsk(supplierAskId);
         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
index 5a0d1c0..40e746c 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/dto/StandardProductListUpdateRecordDto.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/dto/StandardProductListUpdateRecordDto.java
@@ -15,7 +15,6 @@
  * 鏍囧噯鏍戜笅鐨勬楠岄」鐩慨鏀硅褰�
  *
  */
-@TableName(value ="standard_product_list_update_record")
 @Data
 public class StandardProductListUpdateRecordDto extends StandardProductListUpdateRecord {
 
@@ -23,9 +22,9 @@
      * 鍒涘缓鐢ㄦ埛鍚嶇О
      */
    private String createUserName;
-
     /**
      * 淇敼鐢ㄦ埛鍚嶇О
      */
+
    private String updateUserName;
 }
diff --git a/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListSupplierAskBackupRelMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListSupplierAskBackupRelMapper.java
new file mode 100644
index 0000000..752935e
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListSupplierAskBackupRelMapper.java
@@ -0,0 +1,24 @@
+package com.ruoyi.basic.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.basic.pojo.StandardProductListSupplierAskBackupRel;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface StandardProductListSupplierAskBackupRelMapper extends BaseMapper<StandardProductListSupplierAskBackupRel> {
+
+    /**
+     * 鏍规嵁鏍囧噯鏍戜笅妫�楠岄」id鍒犻櫎鍏宠仈鍘傚澶囦唤鏁版嵁
+     * @param productIds
+     * @return
+     */
+    int batchDeleteByProductIds(@Param("productIds") List<Long> productIds);
+
+    /**
+     * 鎵归噺鎻掑叆鍏宠仈鍘傚澶囦唤鏁版嵁
+     * @param list
+     * @return
+     */
+    int batchInsertSupplierAskBackUpRel(@Param("list") List<StandardProductListSupplierAskBackupRel> list);
+}
diff --git a/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListSupplierAskMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListSupplierAskMapper.java
index ff3cdfb..c1a7a7f 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListSupplierAskMapper.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListSupplierAskMapper.java
@@ -3,6 +3,9 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.basic.pojo.StandardProductListSupplierAsk;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * 妫�楠岄」鐩巶瀹跺瘑搴︾粦瀹氳〃
@@ -13,6 +16,7 @@
 @Mapper
 public interface StandardProductListSupplierAskMapper extends BaseMapper<StandardProductListSupplierAsk> {
 
+    int batchInsertSupplierAsk(@Param("list") List<StandardProductListSupplierAsk> list);
 
 }
 
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 3a2d00a..5fd4707 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
@@ -20,10 +20,10 @@
      * 鏍囧噯鏍戜笅妫�楠岄」淇敼璁板綍鍒嗛〉鏌ヨ
      *
      * @param page
-     * @param ew
+     * @param record
      * @return
      */
-    IPage<StandardProductListUpdateRecordDto> standardProductListRecordPage(Page page, @Param("ew") QueryWrapper<StandardProductListUpdateRecord> ew);
+    IPage<StandardProductListUpdateRecordDto> standardProductListRecordPage(Page page, @Param("record") StandardProductListUpdateRecordDto record);
 }
 
 
diff --git a/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardProductList.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardProductList.java
index 9cd10b8..1d44755 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardProductList.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardProductList.java
@@ -221,5 +221,6 @@
     private String conductorType;
 
     @ApiModelProperty("瀹℃牳鐘舵�� 0 鏈彁浜� 1 瀹℃牳涓� 2 瀹℃牳閫氳繃 3 瀹℃牳鏈�氳繃")
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
     private String checkStatus;
 }
diff --git a/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardProductListSupplierAskBackupRel.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardProductListSupplierAskBackupRel.java
new file mode 100644
index 0000000..5e47719
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardProductListSupplierAskBackupRel.java
@@ -0,0 +1,58 @@
+package com.ruoyi.basic.pojo;
+
+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 io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * 妫�楠岄」鐩巶瀹跺瘑搴︾粦瀹氳〃
+ *
+ * @author zhuo
+ * @since 2024-09-23
+ */
+@TableName(value ="standard_product_list_supplier_ask_backup_rel")
+@Data
+public class StandardProductListSupplierAskBackupRel {
+
+    @TableId(type = IdType.AUTO)
+    private Integer supplierAskId;
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty("妫�楠岄」鐩甶d")
+    private Long productListId;
+
+    @ApiModelProperty("鍘傚鍚嶇О")
+    private String supplierName;
+
+    @ApiModelProperty("瑕佹眰鍊�")
+    private String ask;
+
+    @ApiModelProperty("瑕佹眰鎻忚堪")
+    private String tell;
+
+    @ApiModelProperty(value = "鍒涘缓浜篿d")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+
+
+    @ApiModelProperty(value = "淇敼浜篿d")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime updateTime;
+
+}
+
diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListSupplierAskService.java b/basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListSupplierAskService.java
index c32d0e4..4c8b584 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListSupplierAskService.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListSupplierAskService.java
@@ -19,5 +19,9 @@
 
     Integer updateProductSupplierAsk(StandardProductListSupplierAsk supplierAsk);
 
+    void deleteProductSupplierAsk(Integer supplierAskId);
+
+    void backupSupplierAsk(StandardProductListSupplierAsk supplierAsk);
+
 }
 
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 38529c4..c8b4f8b 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
@@ -25,10 +25,10 @@
     /**
      * 鏍囧噯鏍戜笅妫�楠岄」淇敼璁板綍鍒嗛〉鏌ヨ
      * @param page
-     * @param record
+     * @param standardProductListUpdateRecordDto
      * @return
      */
-    IPage<StandardProductListUpdateRecordDto> standardProductListRecordPage(Page page, StandardProductListUpdateRecord record);
+    IPage<StandardProductListUpdateRecordDto> standardProductListRecordPage(Page page, StandardProductListUpdateRecordDto standardProductListUpdateRecordDto);
 
     /**
      * 鏍囧噯鏍戜笅妫�楠岄」淇敼璁板綍鏌ヨ
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 bf53b75..33a54de 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
@@ -12,6 +12,7 @@
 import com.ruoyi.basic.mapper.*;
 import com.ruoyi.basic.pojo.*;
 import com.ruoyi.basic.service.StandardMethodListService;
+import com.ruoyi.basic.service.StandardProductListSupplierAskService;
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.QueryWrappers;
 import com.ruoyi.common.utils.SecurityUtils;
@@ -68,6 +69,12 @@
     @Autowired
     private StandardProductListUpdateRecordRelMapper standardProductListUpdateRecordRelMapper;
 
+    @Autowired
+    private StandardProductListSupplierAskService standardProductListSupplierAskService;
+
+    @Autowired
+    private StandardProductListSupplierAskBackupRelMapper  standardProductListSupplierAskBackupRelMapper;
+
 
     @Override
     public int upStandardProductList(StandardProductList list) {
@@ -87,6 +94,10 @@
             BeanUtils.copyProperties(standardProductList, productListBackupRel);
             standardProductListBackupRelMapper.insert(productListBackupRel);
         }
+        // 鍏宠仈鍟嗗澶囦唤
+        StandardProductListSupplierAsk standardProductListSupplierAsk = new StandardProductListSupplierAsk();
+        standardProductListSupplierAsk.setProductListId(list.getId());
+        standardProductListSupplierAskService.backupSupplierAsk(standardProductListSupplierAsk);
         // 淇敼鐘舵��
         list.setCheckStatus(StandardProductListChcekTypeEnums.WAIT_CHECK.getCode());
         return standardProductListMapper.updateById(list);
@@ -505,6 +516,10 @@
             BeanUtils.copyProperties(standardProductList, productListBackupRel);
             standardProductListBackupRelMapper.insert(productListBackupRel);
         }
+        // 鍏宠仈鍟嗗澶囦唤
+        StandardProductListSupplierAsk standardProductListSupplierAsk = new StandardProductListSupplierAsk();
+        standardProductListSupplierAsk.setProductListId(list.getId());
+        standardProductListSupplierAskService.backupSupplierAsk(standardProductListSupplierAsk);
         // 淇敼鐘舵��
         list.setCheckStatus(StandardProductListChcekTypeEnums.WAIT_CHECK.getCode());
         standardProductListMapper.updateSection(list);
@@ -713,25 +728,41 @@
         }
         // 瀹℃牳閫氳繃
         if(StandardProductListChcekTypeEnums.PASS_CHECK.getCode().equals(standardProductListUpdateRecord.getCheckStatus())){
-            // 鍒犻櫎澶囦唤鏁版嵁
-            standardProductListBackupRelMapper.deleteBatchIds(standardProductListIds);
             // 淇敼鐘舵��
             standardProductListMapper.updateProductListCheckStatus(standardProductListIds,StandardProductListChcekTypeEnums.PASS_CHECK.getCode());
         }
         // 瀹℃牳鏈�氳繃
         if(StandardProductListChcekTypeEnums.NO_PASS_CHECK.getCode().equals(standardProductListUpdateRecord.getCheckStatus())){
-            // 鏌ヨ鎵�鏈夌殑澶囦唤鏁版嵁
+            // 鏌ヨ鎵�鏈夋爣鍑嗘爲涓嬬殑妫�楠岄」鐩浠芥暟鎹�
             List<StandardProductListBackupRel> standardProductListBackupRelList = standardProductListBackupRelMapper.selectBatchIds(standardProductListIds);
-            // 鍥炴粴鏁版嵁
+            // 鍥炴粴鏍囧噯鏍戜笅鐨勬楠岄」鐩暟鎹�
             for (StandardProductListBackupRel standardProductListBackupRel : standardProductListBackupRelList) {
                 StandardProductList standardProductList = new StandardProductList();
                 BeanUtils.copyProperties(standardProductListBackupRel, standardProductList);
-                standardProductList.setCheckStatus("");
                 standardProductListMapper.updateById(standardProductList);
             }
-            // 鍒犻櫎澶囦唤鏁版嵁
-            standardProductListBackupRelMapper.deleteBatchIds(standardProductListIds);
+            // 鍥炴粴妫�楠岄」鐩巶瀹跺瘑搴︾粦瀹氳〃鏁版嵁
+            QueryWrapper<StandardProductListSupplierAskBackupRel> supplierAskBackupRelQueryWrapper = new QueryWrapper<>();
+            supplierAskBackupRelQueryWrapper.in("product_list_id",standardProductListIds);
+            List<StandardProductListSupplierAskBackupRel> standardProductListSupplierAskBackupRelList = standardProductListSupplierAskBackupRelMapper.selectList(supplierAskBackupRelQueryWrapper);
+            if(!CollectionUtils.isEmpty(standardProductListSupplierAskBackupRelList)){
+                QueryWrapper<StandardProductListSupplierAsk> deleteWrapper = new QueryWrapper<>();
+                deleteWrapper.in("product_list_id",standardProductListIds);
+                standardProductListSupplierAskMapper.delete(deleteWrapper);
+                ArrayList<StandardProductListSupplierAsk> supplierAskRollBackList = new ArrayList<>();
+                for (StandardProductListSupplierAskBackupRel standardProductListSupplierAskBackupRel : standardProductListSupplierAskBackupRelList) {
+                    StandardProductListSupplierAsk standardProductListSupplierAsk = new StandardProductListSupplierAsk();
+                    BeanUtils.copyProperties(standardProductListSupplierAskBackupRel, standardProductListSupplierAsk);
+                    supplierAskRollBackList.add(standardProductListSupplierAsk);
+                }
+                standardProductListSupplierAskMapper.batchInsertSupplierAsk(supplierAskRollBackList);
+            }
+
         }
+        // 鍒犻櫎鏍囧噯鏍戜笅鐨勬楠岄」鐩浠芥暟鎹�
+        standardProductListBackupRelMapper.deleteBatchIds(standardProductListIds);
+        // 鍒犻櫎缁戝畾鍘傚澶囦唤鏁版嵁
+        standardProductListSupplierAskBackupRelMapper.batchDeleteByProductIds(standardProductListIds);
         standardProductListUpdateRecordMapper.updateById(standardProductListUpdateRecord);
     }
 
diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListSupplierAskServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListSupplierAskServiceImpl.java
index f84bca8..feaf3b6 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListSupplierAskServiceImpl.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListSupplierAskServiceImpl.java
@@ -1,13 +1,24 @@
 package com.ruoyi.basic.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.enums.StandardProductListChcekTypeEnums;
+import com.ruoyi.basic.mapper.StandardProductListMapper;
+import com.ruoyi.basic.mapper.StandardProductListSupplierAskBackupRelMapper;
+import com.ruoyi.basic.pojo.StandardProductList;
+import com.ruoyi.basic.pojo.StandardProductListSupplierAskBackupRel;
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.basic.mapper.StandardProductListSupplierAskMapper;
 import com.ruoyi.basic.pojo.StandardProductListSupplierAsk;
 import com.ruoyi.basic.service.StandardProductListSupplierAskService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -18,6 +29,12 @@
  */
 @Service
 public class StandardProductListSupplierAskServiceImpl extends ServiceImpl<StandardProductListSupplierAskMapper, StandardProductListSupplierAsk> implements StandardProductListSupplierAskService {
+
+    @Autowired
+    private StandardProductListSupplierAskBackupRelMapper standardProductListSupplierAskBackupRelMapper;
+
+    @Autowired
+    private StandardProductListMapper standardProductListMapper;
 
     /**
      * 鏌ヨ鍘傚瑕佹眰鍊肩粦瀹�
@@ -39,10 +56,18 @@
      * @return
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Integer addProductSupplierAsk(StandardProductListSupplierAsk supplierAsk) {
         if (supplierAsk.getProductListId() == null) {
             throw new BaseException("缂哄皯浜у搧瀵硅薄id");
         }
+        // 鏂板鍓嶅浠�
+        backupSupplierAsk(supplierAsk);
+        // 淇敼鐘舵�佷负寰呮彁浜�
+        StandardProductList standardProductList = new StandardProductList();
+        standardProductList.setId(supplierAsk.getProductListId());
+        standardProductList.setCheckStatus(StandardProductListChcekTypeEnums.WAIT_CHECK.getCode());
+        standardProductListMapper.updateById(standardProductList);
         // 鏌ヨ鏀瑰巶瀹舵槸鍚︾粦瀹氳繃
         Long count = baseMapper.selectCount(Wrappers.<StandardProductListSupplierAsk>lambdaQuery()
                 .eq(StandardProductListSupplierAsk::getProductListId, supplierAsk.getProductListId())
@@ -51,9 +76,6 @@
             throw new BaseException("璇ヤ骇鍝佸凡缁戝畾杩囪鍘傚");
         }
         baseMapper.insert(supplierAsk);
-        //
-
-
         return supplierAsk.getSupplierAskId();
     }
 
@@ -63,10 +85,18 @@
      * @return
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Integer updateProductSupplierAsk(StandardProductListSupplierAsk supplierAsk) {
         if (supplierAsk.getProductListId() == null) {
             throw new BaseException("缂哄皯妫�楠岄」id");
         }
+        // 淇敼鍓嶅浠�
+        backupSupplierAsk(supplierAsk);
+        // 淇敼鐘舵�佷负寰呮彁浜�
+        StandardProductList standardProductList = new StandardProductList();
+        standardProductList.setId(supplierAsk.getProductListId());
+        standardProductList.setCheckStatus(StandardProductListChcekTypeEnums.WAIT_CHECK.getCode());
+        standardProductListMapper.updateById(standardProductList);
         // 鏌ヨ鏀瑰巶瀹舵槸鍚︾粦瀹氳繃
         Long count = baseMapper.selectCount(Wrappers.<StandardProductListSupplierAsk>lambdaQuery()
                 .ne(StandardProductListSupplierAsk::getSupplierAskId, supplierAsk.getSupplierAskId())
@@ -78,5 +108,47 @@
         baseMapper.updateById(supplierAsk);
         return supplierAsk.getSupplierAskId();
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void deleteProductSupplierAsk(Integer supplierAskId) {
+        StandardProductListSupplierAsk supplierAsk = baseMapper.selectById(supplierAskId);
+        // 鍒犻櫎鍓嶅浠�
+        backupSupplierAsk(supplierAsk);
+        // 淇敼鐘舵�佷负寰呮彁浜�
+        StandardProductList standardProductList = new StandardProductList();
+        standardProductList.setId(supplierAsk.getProductListId());
+        standardProductList.setCheckStatus(StandardProductListChcekTypeEnums.WAIT_CHECK.getCode());
+        standardProductListMapper.updateById(standardProductList);
+        baseMapper.deleteById(supplierAskId);
+    }
+
+    /**
+     * 妫�楠岄」鐩巶瀹跺瘑搴︾粦瀹氬浠借〃琛ㄥ浠�
+     *
+     * @param supplierAsk
+     */
+    @Override
+    public void backupSupplierAsk(StandardProductListSupplierAsk supplierAsk) {
+        // 鏌ヨ澶囦唤鏁版嵁鏄惁瀛樺湪锛屽鏋滄湁涓嶅仛澶囦唤
+        QueryWrapper<StandardProductListSupplierAskBackupRel> backupQueryWrapper = new QueryWrapper<>();
+        backupQueryWrapper.eq("product_list_id", supplierAsk.getProductListId());
+        List<StandardProductListSupplierAskBackupRel> standardProductListSupplierAskBackupRels = standardProductListSupplierAskBackupRelMapper.selectList(backupQueryWrapper);
+        // 鏌ヨ鍘熸暟鎹繘琛屽浠�
+        if(CollectionUtils.isEmpty(standardProductListSupplierAskBackupRels)){
+            QueryWrapper<StandardProductListSupplierAsk> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("product_list_id", supplierAsk.getProductListId());
+            List<StandardProductListSupplierAsk> standardProductListSupplierAskList = baseMapper.selectList(queryWrapper);
+            List<StandardProductListSupplierAskBackupRel> supplierAskBackupRelInsertList = new ArrayList<>();
+            for (StandardProductListSupplierAsk standardProductListSupplierAsk : standardProductListSupplierAskList) {
+                StandardProductListSupplierAskBackupRel standardProductListSupplierAskBackupRel = new StandardProductListSupplierAskBackupRel();
+                BeanUtils.copyProperties(standardProductListSupplierAsk, standardProductListSupplierAskBackupRel);
+                supplierAskBackupRelInsertList.add(standardProductListSupplierAskBackupRel);
+            }
+            if(!CollectionUtils.isEmpty(supplierAskBackupRelInsertList)){
+                standardProductListSupplierAskBackupRelMapper.batchInsertSupplierAskBackUpRel(supplierAskBackupRelInsertList);
+            }
+        }
+    }
 }
 
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 a649d17..e53ae53 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
@@ -65,8 +65,8 @@
      * @return
      */
     @Override
-    public IPage<StandardProductListUpdateRecordDto> standardProductListRecordPage(Page page, StandardProductListUpdateRecord record) {
-        return standardProductListUpdateRecordMapper.standardProductListRecordPage(page,QueryWrappers.queryWrappers(record));
+    public IPage<StandardProductListUpdateRecordDto> standardProductListRecordPage(Page page, StandardProductListUpdateRecordDto record) {
+        return standardProductListUpdateRecordMapper.standardProductListRecordPage(page,record);
     }
 
     /**
diff --git a/basic-server/src/main/resources/mapper/StandardProductListSupplierAskBackupRelMapper.xml b/basic-server/src/main/resources/mapper/StandardProductListSupplierAskBackupRelMapper.xml
new file mode 100644
index 0000000..5bc5ab8
--- /dev/null
+++ b/basic-server/src/main/resources/mapper/StandardProductListSupplierAskBackupRelMapper.xml
@@ -0,0 +1,39 @@
+<?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.basic.mapper.StandardProductListSupplierAskBackupRelMapper">
+
+    <delete id="batchDeleteByProductIds">
+        delete from standard_product_list_supplier_ask_backup_rel
+        where product_list_id in
+        <foreach collection="productIds" open="(" close=")" separator="," item="item">
+            #{item}
+        </foreach>
+    </delete>
+
+    <insert id="batchInsertSupplierAskBackUpRel">
+        INSERT INTO standard_product_list_supplier_ask_backup_rel (
+            supplier_ask_id,
+            product_list_id,
+            supplier_name,
+            ask,
+            tell,
+            create_user,
+            update_user,
+            create_time,
+            update_time
+        )values
+        <foreach collection="list" item="item" separator=",">
+            (
+            #{item.supplierAskId},
+            #{item.productListId},
+            #{item.supplierName},
+            #{item.ask},
+            #{item.tell},
+            #{item.createUser},
+            #{item.updateUser},
+            #{item.createTime},
+            #{item.updateTime}
+            )
+        </foreach>
+    </insert>
+</mapper>
diff --git a/basic-server/src/main/resources/mapper/StandardProductListSupplierAskMapper.xml b/basic-server/src/main/resources/mapper/StandardProductListSupplierAskMapper.xml
index 9c9c6b1..673073f 100644
--- a/basic-server/src/main/resources/mapper/StandardProductListSupplierAskMapper.xml
+++ b/basic-server/src/main/resources/mapper/StandardProductListSupplierAskMapper.xml
@@ -2,4 +2,30 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
 <mapper namespace="com.ruoyi.basic.mapper.StandardProductListSupplierAskMapper">
 
+    <insert id="batchInsertSupplierAsk">
+        INSERT INTO standard_product_list_supplier_ask (
+            supplier_ask_id,
+            product_list_id,
+            supplier_name,
+            ask,
+            tell,
+            create_user,
+            update_user,
+            create_time,
+            update_time
+        )values
+        <foreach collection="list" item="item" separator=",">
+            (
+            #{item.supplierAskId},
+            #{item.productListId},
+            #{item.supplierName},
+            #{item.ask},
+            #{item.tell},
+            #{item.createUser},
+            #{item.updateUser},
+            #{item.createTime},
+            #{item.updateTime}
+            )
+        </foreach>
+    </insert>
 </mapper>
diff --git a/basic-server/src/main/resources/mapper/StandardProductListUpdateRecordMapper.xml b/basic-server/src/main/resources/mapper/StandardProductListUpdateRecordMapper.xml
index e9388ef..e3a5a2e 100644
--- a/basic-server/src/main/resources/mapper/StandardProductListUpdateRecordMapper.xml
+++ b/basic-server/src/main/resources/mapper/StandardProductListUpdateRecordMapper.xml
@@ -5,12 +5,16 @@
 <mapper namespace="com.ruoyi.basic.mapper.StandardProductListUpdateRecordMapper">
     <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
+               T2.name AS create_user_name,
+               T3.name AS update_user_name
         FROM
-        standard_product_list_update_record
-        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
-            ${ew.customSqlSegment}
-        </if>
+            standard_product_list_update_record T1
+        LEFT JOIN user T2 ON T1.create_user = T2.id
+        LEFT JOIN user T3 ON T1.update_user = T3.id
+        <where>
+            <if test="record.createUserName != null and record.createUserName != ''">
+                T2.name like concat('%',#{record.createUserName},'%')
+            </if>
+        </where>
     </select>
 </mapper>

--
Gitblit v1.9.3