From 5e79bce73b2cf6a65081082a10f6f4be06413aa3 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期二, 16 十二月 2025 17:23:57 +0800
Subject: [PATCH] yys  采购,销售,库存,生产修改

---
 src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java    |   16 +++
 src/main/java/com/ruoyi/common/vo/FileVo.java                                            |    2 
 src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementRecordOut.java                 |    3 
 src/main/java/com/ruoyi/sales/controller/InvoiceLedgerController.java                    |   20 ++++
 src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementRecordStorage.java             |   10 ++
 src/main/resources/mapper/procurementrecord/ProcurementRecordOutMapper.xml               |   12 +
 src/main/java/com/ruoyi/procurementrecord/controller/ProcurementRecordController.java    |    1 
 src/main/java/com/ruoyi/procurementrecord/pojo/CustomStorage.java                        |    2 
 src/main/resources/mapper/production/SalesLedgerSchedulingMapper.xml                     |    3 
 src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java                    |   15 +++
 src/main/java/com/ruoyi/production/dto/ProductionDispatchAddDto.java                     |    5 +
 src/main/java/com/ruoyi/sales/pojo/InvoiceLedgerFile.java                                |    3 
 src/main/java/com/ruoyi/procurementrecord/dto/ProcurementRecordOutPageDto.java           |   12 ++
 src/main/java/com/ruoyi/production/service/impl/SalesLedgerWorkServiceImpl.java          |    2 
 src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDtoCopy.java                |   17 +++
 src/main/java/com/ruoyi/production/pojo/SalesLedgerScheduling.java                       |    5 +
 src/main/resources/mapper/procurementrecord/CustomStorageMapper.xml                      |   26 +++++
 src/main/java/com/ruoyi/production/dto/ProductionReportDto.java                          |   12 ++
 src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java |   55 +++++++---
 src/main/java/com/ruoyi/production/dto/SalesLedgerSchedulingProcessDto.java              |    4 
 src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java         |    8 -
 src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml                  |   14 ++
 src/main/java/com/ruoyi/procurementrecord/mapper/CustomStorageMapper.java                |    5 +
 src/main/java/com/ruoyi/procurementrecord/dto/ProcurementUpdateDto.java                  |    5 +
 src/main/java/com/ruoyi/procurementrecord/dto/Details.java                               |    3 
 25 files changed, 224 insertions(+), 36 deletions(-)

diff --git a/src/main/java/com/ruoyi/common/vo/FileVo.java b/src/main/java/com/ruoyi/common/vo/FileVo.java
index 8a6ef19..bc7adb8 100644
--- a/src/main/java/com/ruoyi/common/vo/FileVo.java
+++ b/src/main/java/com/ruoyi/common/vo/FileVo.java
@@ -29,5 +29,5 @@
     @ApiModelProperty(value = "淇敼鐢ㄦ埛")
     private Integer updateUser;
 
-    private Integer id;
+    private Long id;
 }
diff --git a/src/main/java/com/ruoyi/procurementrecord/controller/ProcurementRecordController.java b/src/main/java/com/ruoyi/procurementrecord/controller/ProcurementRecordController.java
index 62fb1d2..09ccb4a 100644
--- a/src/main/java/com/ruoyi/procurementrecord/controller/ProcurementRecordController.java
+++ b/src/main/java/com/ruoyi/procurementrecord/controller/ProcurementRecordController.java
@@ -34,6 +34,7 @@
     @Autowired
     private ProcurementRecordService procurementRecordService;
 
+
     @GetMapping("/productlist")
     @Log(title = "閲囪喘鍏ュ簱-鍏ュ簱绠$悊-鏂板鍏ュ簱鏌ヨ", businessType = BusinessType.OTHER)
     public AjaxResult list(ProcurementDto procurementDto) {
diff --git a/src/main/java/com/ruoyi/procurementrecord/dto/Details.java b/src/main/java/com/ruoyi/procurementrecord/dto/Details.java
index 3ec8a1a..2257765 100644
--- a/src/main/java/com/ruoyi/procurementrecord/dto/Details.java
+++ b/src/main/java/com/ruoyi/procurementrecord/dto/Details.java
@@ -13,4 +13,7 @@
     private Integer id;  // 浜у搧id
     private BigDecimal inboundQuantity;  // 鍏ュ簱鏁伴噺
     private BigDecimal warnNum;  // 棰勮鏁伴噺锛堥噰璐叆搴撴墠鏈夛級
+    //鍗曚环
+    private BigDecimal unitPrice;
+    private BigDecimal totalPrice;
 }
diff --git a/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java b/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java
index 4670aa0..2ac434b 100644
--- a/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java
+++ b/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java
@@ -3,6 +3,7 @@
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
@@ -61,6 +62,20 @@
     @Excel(name = "鍏ュ簱鏁伴噺")
     private BigDecimal inboundNum;
 
+    /**
+     * 鍏ュ簱鍗曚环
+     */
+    @ApiModelProperty(value = "鍏ュ簱鍗曚环")
+    @Excel(name = "鍏ュ簱鍗曚环")
+    private BigDecimal unitPrice;
+
+    /**
+     * 鍏ュ簱鎬讳环
+     */
+    @ApiModelProperty(value = "鍏ュ簱鎬讳环")
+    @Excel(name = "鍏ュ簱鎬讳环")
+    private BigDecimal totalPrice;
+
     @Excel(name = "棰勮鏁伴噺")
     private BigDecimal warnNum;
 
diff --git a/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDtoCopy.java b/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDtoCopy.java
index ce41cd3..b5dcb70 100644
--- a/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDtoCopy.java
+++ b/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDtoCopy.java
@@ -2,6 +2,7 @@
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.math.BigDecimal;
@@ -57,6 +58,20 @@
     private BigDecimal inboundNum;
 
     /**
+     * 鍏ュ簱鍗曚环
+     */
+    @ApiModelProperty(value = "鍏ュ簱鍗曚环")
+    @Excel(name = "鍏ュ簱鍗曚环")
+    private BigDecimal unitPrice;
+
+    /**
+     * 鍏ュ簱鎬讳环
+     */
+    @ApiModelProperty(value = "鍏ュ簱鎬讳环")
+    @Excel(name = "鍏ュ簱鎬讳环")
+    private BigDecimal totalPrice;
+
+    /**
      * 寰呭嚭搴撴暟閲�
      */
     @Excel(name = "寰呭嚭搴撴暟閲�")
@@ -65,7 +80,7 @@
      * 鍑哄簱鏁伴噺
      */
     @Excel(name = "鍑哄簱鏁伴噺")
-    private BigDecimal totalInboundNum;
+    private BigDecimal totalInboundNum = BigDecimal.ZERO;
 
     /**
      * 鏈�浣庡簱瀛樻暟閲�
diff --git a/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementRecordOutPageDto.java b/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementRecordOutPageDto.java
index bc319ac..173893a 100644
--- a/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementRecordOutPageDto.java
+++ b/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementRecordOutPageDto.java
@@ -44,6 +44,18 @@
     private BigDecimal inboundNum;
 
     /**
+     * 鍗曚环
+     */
+    @Excel(name = "鍗曚环")
+    private BigDecimal unitPrice;
+
+    /**
+     * 鎬讳环
+     */
+    @Excel(name = "鎬讳环")
+    private BigDecimal totalPrice;
+
+    /**
      * 鍑哄叆搴撴椂闂�
      */
 //    @Excel(name = "鍑哄簱鏃堕棿")
diff --git a/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementUpdateDto.java b/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementUpdateDto.java
index 82e02f1..594f508 100644
--- a/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementUpdateDto.java
+++ b/src/main/java/com/ruoyi/procurementrecord/dto/ProcurementUpdateDto.java
@@ -20,4 +20,9 @@
 
     private List<Integer> ids;
 
+    /**
+     * 鍑哄簱绫诲瀷 1-閲囪喘 2-閿�鍞� 3-鑷畾涔�
+     */
+    private Integer type;
+
 }
diff --git a/src/main/java/com/ruoyi/procurementrecord/mapper/CustomStorageMapper.java b/src/main/java/com/ruoyi/procurementrecord/mapper/CustomStorageMapper.java
index 06469b6..1b4b703 100644
--- a/src/main/java/com/ruoyi/procurementrecord/mapper/CustomStorageMapper.java
+++ b/src/main/java/com/ruoyi/procurementrecord/mapper/CustomStorageMapper.java
@@ -1,11 +1,16 @@
 package com.ruoyi.procurementrecord.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 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.procurementrecord.pojo.CustomStorage;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * @author :yys
  * @date : 2025/11/10 13:11
  */
 public interface CustomStorageMapper extends BaseMapper<CustomStorage> {
+    IPage<CustomStorage> listPageCopyByCustom(Page page,@Param("req") CustomStorage customStorageLambdaQueryWrapper);
 }
diff --git a/src/main/java/com/ruoyi/procurementrecord/pojo/CustomStorage.java b/src/main/java/com/ruoyi/procurementrecord/pojo/CustomStorage.java
index 2be3d52..c9930a2 100644
--- a/src/main/java/com/ruoyi/procurementrecord/pojo/CustomStorage.java
+++ b/src/main/java/com/ruoyi/procurementrecord/pojo/CustomStorage.java
@@ -43,7 +43,7 @@
      */
     @Excel(name = "鍑哄簱鏁伴噺")
     @TableField(exist = false)
-    private BigDecimal totalInboundNum;
+    private BigDecimal totalInboundNum = BigDecimal.ZERO;
     // 鐗╁搧绫诲瀷
     @Excel(name = "鐗╁搧绫诲瀷")
     private String itemType;
diff --git a/src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementRecordOut.java b/src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementRecordOut.java
index 60fc6db..7f1cde6 100644
--- a/src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementRecordOut.java
+++ b/src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementRecordOut.java
@@ -1,6 +1,8 @@
 package com.ruoyi.procurementrecord.pojo;
 
 import com.baomidou.mybatisplus.annotation.*;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Builder;
 import lombok.Data;
 
@@ -47,6 +49,7 @@
      */
     private BigDecimal inboundNum;
 
+
     /**
      * 鍑哄簱绫诲瀷 1-閲囪喘 2-閿�鍞� 3-鑷畾涔�
      */
diff --git a/src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementRecordStorage.java b/src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementRecordStorage.java
index a749788..5240715 100644
--- a/src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementRecordStorage.java
+++ b/src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementRecordStorage.java
@@ -37,6 +37,16 @@
     private BigDecimal inboundNum;
 
     /**
+     * 鍗曚环
+     */
+    private BigDecimal unitPrice;
+
+    /**
+     * 鎬讳环
+     */
+    private BigDecimal totalPrice;
+
+    /**
      * 棰勮鏁伴噺
      */
     private BigDecimal warnNum;
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 f45464b..ff534de 100644
--- a/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java
@@ -119,7 +119,8 @@
         procurementRecordMapper.deleteBatchIds(procurementRecordStorageById.stream().map(ProcurementRecordStorage::getId).collect(Collectors.toList()));
         // 鍒犻櫎鎵�鏈夊搴旂殑鍑哄簱璁板綍
         LambdaQueryWrapper<ProcurementRecordOut> procurementRecordOutLambdaQueryWrapper = new LambdaQueryWrapper<>();
-        procurementRecordOutLambdaQueryWrapper.in(ProcurementRecordOut::getProcurementRecordStorageId, procurementDto.getIds());
+        procurementRecordOutLambdaQueryWrapper.in(ProcurementRecordOut::getProcurementRecordStorageId, procurementDto.getIds())
+                .eq(ProcurementRecordOut::getType,procurementDto.getType());
         List<ProcurementRecordOut> procurementRecordOuts = procurementRecordOutMapper.selectList(procurementRecordOutLambdaQueryWrapper);
         if(!CollectionUtils.isEmpty(procurementRecordOuts)){
             procurementRecordOutMapper.deleteBatchIds(procurementRecordOuts.stream().map(ProcurementRecordOut::getId).collect(Collectors.toList()));
@@ -537,6 +538,7 @@
             // 濡傛灉娌℃湁鐩稿叧鐨勫嚭搴撹褰曪紝璺宠繃璇ユ潯鏁版嵁
             if(CollectionUtils.isEmpty(collect1)){
                 dto.setInboundNum0(dto.getInboundNum());
+                dto.setTotalInboundNum(BigDecimal.ZERO);
                 continue;
             }
 
@@ -548,28 +550,33 @@
             dto.setTotalInboundNum(totalInboundNum);
             // 寰呭嚭搴撴暟閲� = 鎬绘暟閲� - 宸插嚭搴撴暟閲�
             dto.setInboundNum0(dto.getInboundNum().subtract(totalInboundNum));
+            // 搴撳瓨浠峰��
+            if(dto.getUnitPrice() != null){
+                dto.setTotalPrice(dto.getTotalInboundNum().multiply(dto.getUnitPrice()));
+            }
         }
         return procurementPageDtoCopyIPage;
     }
 
     @Override
     public IPage<CustomStorage> listPageCopyByCustom(Page page, CustomStorage customStorage) {
-        LambdaQueryWrapper<CustomStorage> customStorageLambdaQueryWrapper = new LambdaQueryWrapper<>();
-        customStorageLambdaQueryWrapper.groupBy(CustomStorage::getProductCategory, CustomStorage::getSpecificationModel);
-        if(customStorage != null){
-            if(!StringUtils.isEmpty(customStorage.getSupplierName())){
-                customStorageLambdaQueryWrapper.like(CustomStorage::getSupplierName, customStorage.getSupplierName());
-            }
-            // 绛涢�夊叆搴撴椂闂�
-            if(customStorage.getInboundDate() != null){
-                customStorageLambdaQueryWrapper.eq(CustomStorage::getInboundDate, customStorage.getInboundDate());
-            }
-            if(!StringUtils.isEmpty(customStorage.getProductCategory())){
-                customStorageLambdaQueryWrapper.like(CustomStorage::getProductCategory, customStorage.getProductCategory());
-            }
-        }
-        customStorageLambdaQueryWrapper.orderByDesc(CustomStorage::getInboundDate);
-        IPage<CustomStorage> pageList = customStorageMapper.selectPage(page, customStorageLambdaQueryWrapper);
+//        LambdaQueryWrapper<CustomStorage> customStorageLambdaQueryWrapper = new LambdaQueryWrapper<>();
+//        customStorageLambdaQueryWrapper.groupBy(CustomStorage::getProductCategory, CustomStorage::getSpecificationModel,CustomStorage::getTaxInclusiveUnitPrice);
+//        if(customStorage != null){
+//            if(!StringUtils.isEmpty(customStorage.getSupplierName())){
+//                customStorageLambdaQueryWrapper.like(CustomStorage::getSupplierName, customStorage.getSupplierName());
+//            }
+//            // 绛涢�夊叆搴撴椂闂�
+//            if(customStorage.getInboundDate() != null){
+//                customStorageLambdaQueryWrapper.eq(CustomStorage::getInboundDate, customStorage.getInboundDate());
+//            }
+//            if(!StringUtils.isEmpty(customStorage.getProductCategory())){
+//                customStorageLambdaQueryWrapper.like(CustomStorage::getProductCategory, customStorage.getProductCategory());
+//            }
+//        }
+//        customStorageLambdaQueryWrapper.orderByDesc(CustomStorage::getInboundDate);
+        IPage<CustomStorage> pageList = customStorageMapper.listPageCopyByCustom(page, customStorage);
+
         List<CustomStorage> procurementPageDtoCopyList = pageList.getRecords();
         // 璁$畻寰呭叆搴撴暟閲�
         // 鏌ヨ閲囪喘璁板綍宸插叆搴撴暟閲�
@@ -593,6 +600,7 @@
             // 濡傛灉娌℃湁鐩稿叧鐨勫嚭搴撹褰曪紝璺宠繃璇ユ潯鏁版嵁
             if(CollectionUtils.isEmpty(collect1)){
                 dto.setInboundNum0(dto.getInboundNum());
+                dto.setTotalInboundNum(BigDecimal.ZERO);
                 continue;
             }
 
@@ -604,6 +612,10 @@
             dto.setTotalInboundNum(totalInboundNum);
             // 寰呭嚭搴撴暟閲� = 鎬绘暟閲� - 宸插嚭搴撴暟閲�
             dto.setInboundNum0(dto.getInboundNum().subtract(totalInboundNum));
+            // 搴撳瓨浠峰��
+            if(dto.getTaxInclusiveUnitPrice() != null){
+                dto.setTaxInclusiveTotalPrice(dto.getInboundNum0().multiply(dto.getTaxInclusiveUnitPrice()));
+            }
         }
         pageList.setRecords(procurementPageDtoCopyList);
         return pageList;
@@ -636,6 +648,8 @@
                     .inboundNum(detail.getInboundQuantity())
                     .type(procurementDto.getType())
                     .warnNum(detail.getWarnNum())
+                    .unitPrice(detail.getUnitPrice())
+                    .totalPrice(detail.getInboundQuantity().multiply(detail.getUnitPrice()))
                     .createTime(LocalDateTime.now())
                     .createUser(loginUser.getUserId())
                     .updateTime(LocalDateTime.now())
@@ -715,12 +729,13 @@
         for (ProcurementPageDtoCopy dto : procurementPageDtoCopyList) {
             // 鏍规嵁閲囪喘鍙拌处ID绛涢�夊搴旂殑鍑哄簱璁板綍
             List<ProcurementRecordOut> collect1 = procurementRecords.stream()
-                    .filter(ProcurementRecordOut -> ProcurementRecordOut.getProcurementRecordStorageId().equals(dto.getId()))
+                    .filter(ProcurementRecordOut -> ProcurementRecordOut.getProcurementRecordStorageId().equals(dto.getId()) && ProcurementRecordOut.getType().equals(1))
                     .collect(Collectors.toList());
 
             // 濡傛灉娌℃湁鐩稿叧鐨勫嚭搴撹褰曪紝璺宠繃璇ユ潯鏁版嵁
             if(CollectionUtils.isEmpty(collect1)){
                 dto.setInboundNum0(dto.getInboundNum());
+                dto.setTotalInboundNum(BigDecimal.ZERO);
                 continue;
             }
 
@@ -732,6 +747,10 @@
             dto.setTotalInboundNum(totalInboundNum);
             // 寰呭嚭搴撴暟閲� = 鎬绘暟閲� - 宸插嚭搴撴暟閲�
             dto.setInboundNum0(dto.getInboundNum().subtract(totalInboundNum));
+            // 搴撳瓨浠峰��
+            if(dto.getUnitPrice() != null){
+                dto.setTotalPrice(dto.getInboundNum0().multiply(dto.getUnitPrice()));
+            }
         }
         return procurementPageDtoCopyIPage;
     }
diff --git a/src/main/java/com/ruoyi/production/dto/ProductionDispatchAddDto.java b/src/main/java/com/ruoyi/production/dto/ProductionDispatchAddDto.java
index 6385f0f..67a6332 100644
--- a/src/main/java/com/ruoyi/production/dto/ProductionDispatchAddDto.java
+++ b/src/main/java/com/ruoyi/production/dto/ProductionDispatchAddDto.java
@@ -43,6 +43,11 @@
      * 鐢熶骇鐐掓満
      */
     private String speculativeTradingName;
+    /**
+     * 浜х嚎
+     */
+    @ApiModelProperty(value = "浜х嚎")
+    private String productionLine;
 
     /**
      * 瑙勬牸鍨嬪彿
diff --git a/src/main/java/com/ruoyi/production/dto/ProductionReportDto.java b/src/main/java/com/ruoyi/production/dto/ProductionReportDto.java
index 6b5e164..727decb 100644
--- a/src/main/java/com/ruoyi/production/dto/ProductionReportDto.java
+++ b/src/main/java/com/ruoyi/production/dto/ProductionReportDto.java
@@ -38,4 +38,16 @@
     @ApiModelProperty(value = "鐢熶骇鏃ユ湡")
     private String schedulingDate;
 
+
+    /**
+     * 鍏ュ簱鍗曚环
+     */
+    @ApiModelProperty(value = "鍏ュ簱鍗曚环")
+    private BigDecimal unitPrice;
+
+    /**
+     * 鍏ュ簱鎬讳环
+     */
+    @ApiModelProperty(value = "鍏ュ簱鎬讳环")
+    private BigDecimal totalPrice;
 }
diff --git a/src/main/java/com/ruoyi/production/dto/SalesLedgerSchedulingProcessDto.java b/src/main/java/com/ruoyi/production/dto/SalesLedgerSchedulingProcessDto.java
index 10d472a..b04e43e 100644
--- a/src/main/java/com/ruoyi/production/dto/SalesLedgerSchedulingProcessDto.java
+++ b/src/main/java/com/ruoyi/production/dto/SalesLedgerSchedulingProcessDto.java
@@ -35,6 +35,10 @@
     @Excel(name = "鐢熶骇鐐掓満")
     private String speculativeTradingName;
 
+    @ApiModelProperty(value = "浜х嚎")
+    @Excel(name = "浜х嚎")
+    private String productionLine;
+
     @ApiModelProperty(value = "寮�濮嬫椂闂�")
     private String entryDateStart;
 
diff --git a/src/main/java/com/ruoyi/production/pojo/SalesLedgerScheduling.java b/src/main/java/com/ruoyi/production/pojo/SalesLedgerScheduling.java
index e50d2d1..ac86061 100644
--- a/src/main/java/com/ruoyi/production/pojo/SalesLedgerScheduling.java
+++ b/src/main/java/com/ruoyi/production/pojo/SalesLedgerScheduling.java
@@ -44,6 +44,11 @@
     private String speculativeTradingName;
 
     /**
+     * 浜х嚎
+     */
+    private String productionLine;
+
+    /**
      * 娲惧伐浜哄悕绉�
      */
     private String schedulingUserName;
diff --git a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java
index cc6292e..11cfafa 100644
--- a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java
@@ -190,10 +190,26 @@
                 i++;
                 continue;
             }
+            String productionLine = "";
+            switch (name.get()){
+                    case "鐐掓満1":
+                    productionLine = "浜х嚎1";
+                    break;
+                    case "鐐掓満2":
+                    productionLine = "浜х嚎2";
+                    break;
+                    case "鐐掓満3":
+                    productionLine = "浜х嚎3";
+                    break;
+                    case "鐐掓満4":
+                    productionLine = "浜х嚎4";
+                    break;
+            }
             SalesLedgerScheduling salesLedgerScheduling = SalesLedgerScheduling.builder()
                     .salesLedgerId(productionDispatchAddDto.getSalesLedgerId())
                     .salesLedgerProductId(productionDispatchAddDto.getSalesLedgerProductId())
                     .speculativeTradingName(name.get())
+                    .productionLine(productionLine)
                     .schedulingUserId(sysUser.getUserId())
                     .schedulingUserName(sysUser.getNickName())
                     .schedulingNum(productionDispatchAddDto.getSchedulingNum())
diff --git a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerWorkServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerWorkServiceImpl.java
index 51172a5..2135a8b 100644
--- a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerWorkServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerWorkServiceImpl.java
@@ -129,6 +129,8 @@
         Details details1 = new Details();
         details1.setInboundQuantity(productionReportDto.getFinishedNum());
         details1.setId(Integer.parseInt(salesLedgerWork.getSalesLedgerProductId().toString()));
+        details1.setUnitPrice(productionReportDto.getUnitPrice());
+        details1.setTotalPrice(productionReportDto.getTotalPrice());
         details.add(details1);
         procurementRecordOutAdd.setDetails(details);
         procurementRecordService.add(procurementRecordOutAdd);
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
index 4d06156..32db960 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
@@ -222,13 +222,7 @@
             Path formalFilePath = formalDirPath.resolve(formalFilename);
 
             try {
-                // 鎵ц鏂囦欢杩佺Щ锛堜娇鐢ㄥ師瀛愭搷浣滅‘淇濆畨鍏ㄦ�э級
-//                Files.move(
-//                        Paths.get(tempFile.getTempPath()),
-//                        formalFilePath,
-//                        StandardCopyOption.REPLACE_EXISTING,
-//                        StandardCopyOption.ATOMIC_MOVE
-//                );
+
                 // 鍘熷瓙绉诲姩澶辫触锛屼娇鐢ㄥ鍒�+鍒犻櫎
                 Files.copy(Paths.get(tempFile.getTempPath()), formalFilePath, StandardCopyOption.REPLACE_EXISTING);
                 Files.deleteIfExists(Paths.get(tempFile.getTempPath()));
diff --git a/src/main/java/com/ruoyi/sales/controller/InvoiceLedgerController.java b/src/main/java/com/ruoyi/sales/controller/InvoiceLedgerController.java
index fc19d5d..b7ce1c1 100644
--- a/src/main/java/com/ruoyi/sales/controller/InvoiceLedgerController.java
+++ b/src/main/java/com/ruoyi/sales/controller/InvoiceLedgerController.java
@@ -1,12 +1,16 @@
 package com.ruoyi.sales.controller;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.sales.dto.InvoiceLedgerDto;
 import com.ruoyi.sales.dto.InvoiceRegistrationProductDto;
+import com.ruoyi.sales.mapper.InvoiceLedgerFileMapper;
 import com.ruoyi.sales.mapper.InvoiceRegistrationProductMapper;
 import com.ruoyi.sales.pojo.InvoiceRegistrationProduct;
 import com.ruoyi.sales.service.InvoiceLedgerService;
+import io.jsonwebtoken.lang.Collections;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -25,6 +29,9 @@
 
     @Autowired
     private InvoiceRegistrationProductMapper invoiceRegistrationProductMapper;
+
+    @Autowired
+    private InvoiceLedgerFileMapper invoiceLedgerFileMapper;
 
     /**
      * 寮�绁ㄥ彴璐︽柊澧�
@@ -70,6 +77,19 @@
     }
 
     /**
+     * 寮�绁ㄥ彴璐︽枃浠跺垹闄�
+     */
+    @DeleteMapping("/delFile")
+    @Log(title = "寮�绁ㄥ彴璐�", businessType = BusinessType.DELETE)
+    public AjaxResult invoiceLedgerDelFile(@RequestBody List<Integer> ids) {
+        if(Collections.isEmpty(ids)) return AjaxResult.error("璇烽�夋嫨瑕佸垹闄ょ殑鏂囦欢");
+        invoiceLedgerFileMapper.deleteBatchIds(ids);
+        return AjaxResult.success();
+    }
+
+
+
+    /**
      * 寮�绁ㄥ彴璐︽枃浠朵笂浼�
      * @param file
      * @return
diff --git a/src/main/java/com/ruoyi/sales/pojo/InvoiceLedgerFile.java b/src/main/java/com/ruoyi/sales/pojo/InvoiceLedgerFile.java
index 474e949..344b369 100644
--- a/src/main/java/com/ruoyi/sales/pojo/InvoiceLedgerFile.java
+++ b/src/main/java/com/ruoyi/sales/pojo/InvoiceLedgerFile.java
@@ -10,6 +10,9 @@
 @Data
 public class InvoiceLedgerFile {
 
+    @ApiModelProperty(value = "鏂囦欢ID")
+    private Long id;
+
     @ApiModelProperty(value = "鏂囦欢鍚嶇О")
     private String name;
 
diff --git a/src/main/resources/mapper/procurementrecord/CustomStorageMapper.xml b/src/main/resources/mapper/procurementrecord/CustomStorageMapper.xml
new file mode 100644
index 0000000..e29cc8d
--- /dev/null
+++ b/src/main/resources/mapper/procurementrecord/CustomStorageMapper.xml
@@ -0,0 +1,26 @@
+<?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.procurementrecord.mapper.CustomStorageMapper">
+
+    <select id="listPageCopyByCustom" resultType="com.ruoyi.procurementrecord.pojo.CustomStorage">
+        select *,
+               sum(inbound_num) as inboundNum,
+               sum(inbound_num) as inboundNum0,
+               sum(tax_inclusive_total_price) as taxInclusiveTotalPrice
+               from custom_storage
+        <where>
+            <if test="req.productCategory != null and req.productCategory != ''">
+                and product_category like  concat('%',#{req.productCategory},'%')
+            </if>
+            <if test="req.supplierName !=null and req.supplierName != ''">
+                and supplier_name like concat('%',#{req.supplierName},'%')
+            </if>
+            <if test="req.inboundDate !=null">
+                and inbound_date like concat('%',#{req.inboundDate},'%')
+            </if>
+
+        </where>
+        group by product_category, specification_model, tax_inclusive_unit_price
+        order by inbound_date desc
+    </select>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml b/src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml
index 093f4e5..6119edd 100644
--- a/src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml
+++ b/src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml
@@ -42,6 +42,8 @@
         t2.tax_inclusive_unit_price,
         (t1.inbound_num * t2.tax_inclusive_unit_price) as taxInclusiveTotalPrice,
         (t1.inbound_num * t2.tax_inclusive_unit_price - t1.inbound_num * t2.tax_inclusive_unit_price * t2.tax_rate / 100) as taxExclusiveTotalPrice,
+        t1.unit_price,
+        t1.total_price,
         t1.inbound_batches,
         t1.inbound_num,
         t1.inbound_num as inboundNum0,
@@ -131,9 +133,10 @@
         t2.tax_inclusive_total_price,
         t2.tax_exclusive_total_price,
         t1.inbound_batches,
+        t1.unit_price as unitPrice,
+        sum(t1.total_price) as totalPrice,
         sum(t1.inbound_num) as inboundNum,
         sum(t1.inbound_num) as inboundNum0,
-        t1.inbound_num as totalInboundNum,
         t1.create_time,
         t1.update_time,
         t1.create_by,
@@ -168,7 +171,7 @@
                 and t1.create_time &lt;= #{req.endDate}
             </if>
         </where>
-        group by t3.supplier_name,t2.product_category,t2.specification_model
+        group by t2.product_category,t2.specification_model,t1.unit_price
         order by t1.create_time desc
     </select>
     <select id="listCopy" resultType="com.ruoyi.procurementrecord.dto.ProcurementPageDtoCopy">
@@ -243,6 +246,8 @@
         t2.tax_inclusive_unit_price,
         (t1.inbound_num * t2.tax_inclusive_unit_price) as taxInclusiveTotalPrice,
         (t1.inbound_num * t2.tax_inclusive_unit_price - t1.inbound_num * t2.tax_inclusive_unit_price * t2.tax_rate / 100) as taxExclusiveTotalPrice,
+        t1.unit_price,
+        t1.total_price,
         t1.inbound_batches,
         t1.inbound_num,
         t1.inbound_num as inboundNum0,
@@ -284,9 +289,10 @@
         t2.tax_inclusive_total_price,
         t2.tax_exclusive_total_price,
         t1.inbound_batches,
+        sum(t1.total_price) as totalPrice,
+        t1.unit_price,
         sum(t1.inbound_num) as inboundNum,
         sum(t1.inbound_num) as inboundNum0,
-        t1.inbound_num as totalInboundNum,
         t1.create_time,
         t1.update_time,
         t1.create_by,
@@ -321,7 +327,7 @@
                 and t1.create_time &lt;= #{req.endDate}
             </if>
         </where>
-        group by t2.product_category,t2.specification_model
+        group by t2.product_category,t2.specification_model,t1.unit_price
         order by t1.create_time desc
     </select>
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/procurementrecord/ProcurementRecordOutMapper.xml b/src/main/resources/mapper/procurementrecord/ProcurementRecordOutMapper.xml
index 1d67c65..9330aac 100644
--- a/src/main/resources/mapper/procurementrecord/ProcurementRecordOutMapper.xml
+++ b/src/main/resources/mapper/procurementrecord/ProcurementRecordOutMapper.xml
@@ -17,10 +17,13 @@
         t1.inbound_num,
         t1.create_time,
         t1.create_by,
-        t2.warn_num
+        t2.warn_num,
+        t4.unit_price,
+        t4.unit_price *  t1.inbound_num as totalPrice
         from  procurement_record_out t1
         left join sales_ledger_product t2 on t2.id = t1.sales_ledger_product_id and t2.type = 2
         left join purchase_ledger t3 on t3.id = t2.sales_ledger_id
+        left join procurement_record_storage t4 on t4.id = t1.procurement_record_storage_id
         <where>
             and t1.type = 1
             <if test="req.supplierName != null and req.supplierName != ''">
@@ -113,10 +116,13 @@
         t2.tax_exclusive_total_price,
         t1.inbound_num,
         t1.create_time,
-        t1.create_by
+        t1.create_by,
+        t4.unit_price,
+        t4.unit_price *  t1.inbound_num as totalPrice
         from  procurement_record_out t1
         left join sales_ledger_product t2 on t2.id = t1.sales_ledger_product_id and t2.type = 1
         left join sales_ledger t3 on t3.id = t2.sales_ledger_id
+        left join procurement_record_storage t4 on t4.id = t1.procurement_record_storage_id
         <where>
             and t1.type = 2
             <if test="req.customerName != null and req.customerName != ''">
@@ -141,7 +147,7 @@
         t2.unit,
         t2.tax_rate,
         t2.tax_inclusive_unit_price,
-        t2.tax_inclusive_total_price,
+        t2.tax_inclusive_unit_price * t1.inbound_num as totalPrice,
         t2.tax_exclusive_total_price,
         t1.inbound_num,
         t1.create_time,
diff --git a/src/main/resources/mapper/production/SalesLedgerSchedulingMapper.xml b/src/main/resources/mapper/production/SalesLedgerSchedulingMapper.xml
index f0e3fc1..72321ec 100644
--- a/src/main/resources/mapper/production/SalesLedgerSchedulingMapper.xml
+++ b/src/main/resources/mapper/production/SalesLedgerSchedulingMapper.xml
@@ -86,7 +86,8 @@
         T1.customer_name,
         t3.product_category,
         t3.specification_model,
-        t3.unit
+        t3.unit,
+        T2.production_line
         FROM
         sales_ledger_scheduling T2
         LEFT JOIN sales_ledger T1 ON T1.id = T2.sales_ledger_id

--
Gitblit v1.9.3