From 6b07eb90a0e03bf203315131ee3cfa727c6c46ff Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期二, 08 七月 2025 11:57:14 +0800
Subject: [PATCH] yys  1.入库管理-删除      2.入库管理-导出

---
 src/main/java/com/ruoyi/procurementrecord/controller/ProcurementRecordController.java    |   17 ++++++++
 src/main/java/com/ruoyi/procurementrecord/service/ProcurementRecordService.java          |    5 ++
 src/main/java/com/ruoyi/procurementrecord/mapper/ProcurementRecordMapper.java            |    2 +
 src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml                  |   23 +++++++++++
 src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java                    |    8 ++--
 src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java |   57 ++++++++++++++++++++++------
 src/main/java/com/ruoyi/procurementrecord/dto/ProcurementUpdateDto.java                  |    3 +
 7 files changed, 98 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/ruoyi/procurementrecord/controller/ProcurementRecordController.java b/src/main/java/com/ruoyi/procurementrecord/controller/ProcurementRecordController.java
index b522be4..078a489 100644
--- a/src/main/java/com/ruoyi/procurementrecord/controller/ProcurementRecordController.java
+++ b/src/main/java/com/ruoyi/procurementrecord/controller/ProcurementRecordController.java
@@ -13,10 +13,12 @@
 import com.ruoyi.procurementrecord.dto.ProcurementUpdateDto;
 import com.ruoyi.procurementrecord.service.ProcurementRecordService;
 import com.ruoyi.purchase.dto.InvoicePurchaseReportDto;
+import com.ruoyi.quality.pojo.QualityInspect;
 import io.swagger.annotations.Api;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
 /**
@@ -51,6 +53,12 @@
         return AjaxResult.success(procurementRecordService.updatePro(procurementDto));
     }
 
+    @PostMapping("/del")
+    @Log(title = "閲囪喘鍏ュ簱-鍏ュ簱绠$悊-鍒犻櫎鍏ュ簱", businessType = BusinessType.DELETE)
+    public AjaxResult deletePro(@RequestBody ProcurementUpdateDto procurementDto) {
+        return AjaxResult.success(procurementRecordService.deletePro(procurementDto));
+    }
+
     @GetMapping("/listPage")
     @Log(title = "閲囪喘鍏ュ簱-鍏ュ簱绠$悊-鍏ュ簱鏌ヨ", businessType = BusinessType.OTHER)
     public AjaxResult listPage(Page page, ProcurementPageDto procurementDto) {
@@ -58,5 +66,14 @@
         return AjaxResult.success(result);
     }
 
+    /**
+     * 瀵煎嚭
+     * @param response
+     */
+    @PostMapping("/export")
+    public void export(HttpServletResponse response) {
+        procurementRecordService.export(response);
+    }
+
 
 }
diff --git a/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java b/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java
index cfa078b..37ab99e 100644
--- a/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java
+++ b/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java
@@ -30,20 +30,20 @@
     /**
      * 鍑哄叆搴撴暟閲�
      */
-    @Excel(name = "鍑哄叆搴撴暟閲�")
+    @Excel(name = "鍏ュ簱鏁伴噺")
     private BigDecimal inboundNum;
 
     /**
      * 鍑哄叆搴撴椂闂�
      */
-    @Excel(name = "鍑哄叆搴撴椂闂�")
+    @Excel(name = "鍏ュ簱鏃堕棿")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime createDate;
 
     /**
      * 鍑哄叆搴撶敤鎴�
      */
-    @Excel(name = "鍑哄叆搴撶敤鎴�")
+    @Excel(name = "鍏ュ簱浜�")
     private String createBy;
 
     /**
@@ -74,7 +74,7 @@
     /**
      * 绋庣巼
      */
-    @Excel(name = "绋庣巼")
+    @Excel(name = "绋庣巼(%)")
     private BigDecimal taxRate;
 
     /**
diff --git a/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementUpdateDto.java b/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementUpdateDto.java
index 2e122b9..153884e 100644
--- a/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementUpdateDto.java
+++ b/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementUpdateDto.java
@@ -3,6 +3,7 @@
 import lombok.Data;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * @author :yys
@@ -15,4 +16,6 @@
 
     private BigDecimal quantityStock;
 
+    private List<Integer> ids;
+
 }
diff --git a/src/main/java/com/ruoyi/procurementrecord/mapper/ProcurementRecordMapper.java b/src/main/java/com/ruoyi/procurementrecord/mapper/ProcurementRecordMapper.java
index e1c7f28..c472256 100644
--- a/src/main/java/com/ruoyi/procurementrecord/mapper/ProcurementRecordMapper.java
+++ b/src/main/java/com/ruoyi/procurementrecord/mapper/ProcurementRecordMapper.java
@@ -25,4 +25,6 @@
     List<ProcurementDto> listProcurementBySalesLedgerId(@Param("req") ProcurementDto procurementDto);
 
     IPage<ProcurementPageDto> listPage(Page page,@Param("req")  ProcurementPageDto procurementDto);
+
+    List<ProcurementPageDto> list();
 }
diff --git a/src/main/java/com/ruoyi/procurementrecord/service/ProcurementRecordService.java b/src/main/java/com/ruoyi/procurementrecord/service/ProcurementRecordService.java
index 7343054..d0806c4 100644
--- a/src/main/java/com/ruoyi/procurementrecord/service/ProcurementRecordService.java
+++ b/src/main/java/com/ruoyi/procurementrecord/service/ProcurementRecordService.java
@@ -9,6 +9,7 @@
 import com.ruoyi.procurementrecord.dto.ProcurementUpdateDto;
 import com.ruoyi.procurementrecord.pojo.ProcurementRecord;
 
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
 /**
@@ -23,4 +24,8 @@
     IPage<ProcurementPageDto> listPage(Page page, ProcurementPageDto procurementDto);
 
     int updatePro(ProcurementUpdateDto procurementDto);
+
+    int deletePro(ProcurementUpdateDto procurementDto);
+
+    void export(HttpServletResponse response);
 }
diff --git a/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java b/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java
index 112e168..c67cec1 100644
--- a/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java
@@ -5,11 +5,13 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.security.LoginUser;
 import com.ruoyi.procurementrecord.dto.*;
 import com.ruoyi.procurementrecord.mapper.ProcurementRecordMapper;
 import com.ruoyi.procurementrecord.pojo.ProcurementRecord;
 import com.ruoyi.procurementrecord.service.ProcurementRecordService;
+import com.ruoyi.quality.pojo.QualityInspect;
 import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
 import com.ruoyi.sales.pojo.SalesLedgerProduct;
 import lombok.RequiredArgsConstructor;
@@ -17,6 +19,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import javax.servlet.http.HttpServletResponse;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.List;
@@ -58,6 +61,7 @@
             
             // 濡傛灉娌℃湁鐩稿叧鐨勫叆搴撹褰曪紝璺宠繃璇ユ潯鏁版嵁
             if(CollectionUtils.isEmpty(collect1)){
+                dto.setQuantity0(dto.getQuantity());
                 continue;
             }
             
@@ -72,14 +76,41 @@
         return procurementDtos;
     }
 
-    @Override
-    public int updatePro(ProcurementUpdateDto procurementDto) {
-        ProcurementRecord procurementRecord = procurementRecordMapper.selectById(procurementDto.getId());
+    public ProcurementRecord getProcurementRecordById(Integer id){
+        ProcurementRecord procurementRecord = procurementRecordMapper.selectById(id);
         if(procurementRecord == null) {
             throw new RuntimeException("鏈壘鍒拌閲囪喘鍏ュ簱璁板綍");
         }
-        procurementRecord.setInboundNum(procurementDto.getQuantityStock());
-        return procurementRecordMapper.updateById(procurementRecord);
+        return procurementRecord;
+    }
+
+    public List<ProcurementRecord> getProcurementRecordByIds(List<Integer> id){
+        List<ProcurementRecord> procurementRecord = procurementRecordMapper.selectBatchIds(id);
+        if(procurementRecord == null) {
+            throw new RuntimeException("鏈壘鍒拌閲囪喘鍏ュ簱璁板綍");
+        }
+        return procurementRecord;
+    }
+
+    @Override
+    public int updatePro(ProcurementUpdateDto procurementDto) {
+        ProcurementRecord procurementRecordById = getProcurementRecordById(procurementDto.getId());
+        procurementRecordById.setInboundNum(procurementDto.getQuantityStock());
+        return procurementRecordMapper.updateById(procurementRecordById);
+    }
+
+    @Override
+    public int deletePro(ProcurementUpdateDto procurementDto) {
+        List<ProcurementRecord> procurementRecordById = getProcurementRecordByIds(procurementDto.getIds());
+        procurementRecordMapper.deleteBatchIds(procurementRecordById.stream().map(ProcurementRecord::getId).collect(Collectors.toList()));
+        return 0;
+    }
+
+    @Override
+    public void export(HttpServletResponse response) {
+        List<ProcurementPageDto> list =procurementRecordMapper.list();
+        ExcelUtil<ProcurementPageDto> util = new ExcelUtil<ProcurementPageDto>(ProcurementPageDto.class);
+        util.exportExcel(response, list, "鍏ュ簱鍙拌处");
     }
 
     @Override
@@ -103,14 +134,14 @@
                     .createBy(procurementDto.getNickName());
             this.save(procurementRecordBuilder.build());
             // 鍏ュ簱鎴愬姛鍑忔帀閲囪喘鏁伴噺
-            LambdaQueryWrapper<SalesLedgerProduct> salesLedgerProductLambdaQueryWrapper = new LambdaQueryWrapper<>();
-            salesLedgerProductLambdaQueryWrapper.eq(SalesLedgerProduct::getId, detail.getId());
-            SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectOne(salesLedgerProductLambdaQueryWrapper);
-            if(salesLedgerProduct == null){
-               throw new RuntimeException("鏈壘鍒拌鍟嗗搧");
-            }
-            salesLedgerProduct.setQuantity(salesLedgerProduct.getQuantity().subtract(detail.getInboundQuantity()));
-            salesLedgerProductMapper.updateById(salesLedgerProduct);
+//            LambdaQueryWrapper<SalesLedgerProduct> salesLedgerProductLambdaQueryWrapper = new LambdaQueryWrapper<>();
+//            salesLedgerProductLambdaQueryWrapper.eq(SalesLedgerProduct::getId, detail.getId());
+//            SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectOne(salesLedgerProductLambdaQueryWrapper);
+//            if(salesLedgerProduct == null){
+//               throw new RuntimeException("鏈壘鍒拌鍟嗗搧");
+//            }
+//            salesLedgerProduct.setQuantity(salesLedgerProduct.getQuantity().subtract(detail.getInboundQuantity()));
+//            salesLedgerProductMapper.updateById(salesLedgerProduct);
         }
         return 1;
     }
diff --git a/src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml b/src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml
index 0af090e..d5f8046 100644
--- a/src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml
+++ b/src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml
@@ -11,6 +11,7 @@
             t2.specification_model,
             t2.unit,
             t2.quantity,
+            t2.quantity as quantity0,
             t2.tax_rate,
             t2.tax_inclusive_unit_price,
             t2.tax_inclusive_total_price,
@@ -53,4 +54,26 @@
             </if>
         </where>
     </select>
+    <select id="list" resultType="com.ruoyi.procurementrecord.dto.ProcurementPageDto">
+        select
+            t3.supplier_name,
+            t3.purchase_contract_number,
+            t2.product_category,
+            t1.id,
+            t2.specification_model,
+            t2.unit,
+            t2.quantity,
+            t2.quantity as quantity0,
+            t2.tax_rate,
+            t2.tax_inclusive_unit_price,
+            t2.tax_inclusive_total_price,
+            t2.tax_exclusive_total_price,
+            t1.inbound_batches,
+            t1.inbound_num,
+            t1.create_date,
+            t1.create_by
+        from  procurement_record t1
+                  left join sales_ledger_product t2 on t2.id = t1.sales_ledger_product_id
+                  left join purchase_ledger t3 on t3.id = t2.sales_ledger_id
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3