From e83d4cecece6e8677392229e996dea22bbe2d1e9 Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期二, 24 六月 2025 18:05:47 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/java/com/ruoyi/sales/dto/SalesLedgerDto.java                            |    3 
 src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java             |    2 
 src/main/resources/mapper/purchase/ProductRecordMapper.xml                       |    4 
 src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java     |   17 ++
 src/main/java/com/ruoyi/device/service/IDeviceLedgerService.java                 |    3 
 src/main/java/com/ruoyi/other/pojo/TempFile.java                                 |    2 
 src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml                      |    2 
 src/main/java/com/ruoyi/sales/pojo/SalesLedger.java                              |    3 
 src/main/java/com/ruoyi/other/controller/TempFileController.java                 |    2 
 src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java            |   12 ++
 src/main/java/com/ruoyi/purchase/dto/ProductRecordDto.java                       |    5 
 src/main/java/com/ruoyi/purchase/service/ITicketRegistrationService.java         |    3 
 src/main/java/com/ruoyi/common/enums/SalesLedgerType.java                        |   35 +++++
 src/main/java/com/ruoyi/sales/pojo/PurchaseLedgerFile.java                       |   44 +++++++
 src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java           |    4 
 src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java        |    4 
 src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java       |    4 
 doc/add.sql                                                                      |    9 +
 src/main/java/com/ruoyi/purchase/pojo/PurchaseLedger.java                        |    8 +
 src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java      |   20 ++
 src/main/java/com/ruoyi/purchase/mapper/PurchaseLedgerMapper.java                |    3 
 src/main/java/com/ruoyi/purchase/service/impl/InvoicePurchaseServiceImpl.java    |    5 
 src/main/java/com/ruoyi/purchase/dto/PurchaseLedgerDto.java                      |   23 +++
 src/main/java/com/ruoyi/sales/service/ICommonFileService.java                    |    2 
 src/main/java/com/ruoyi/common/enums/FileNameType.java                           |   31 +++++
 src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java    |   14 ++
 src/main/java/com/ruoyi/sales/service/impl/CommonFileServiceImpl.java            |    2 
 src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java              |    2 
 src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java         |    6 +
 src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java |   29 ++++
 src/main/java/com/ruoyi/purchase/controller/InvoicePurchaseController.java       |    2 
 src/main/java/com/ruoyi/other/service/TempFileService.java                       |    2 
 src/main/java/com/ruoyi/sales/pojo/CommonFile.java                               |    2 
 33 files changed, 276 insertions(+), 33 deletions(-)

diff --git a/doc/add.sql b/doc/add.sql
index 359bc49..2980a2f 100644
--- a/doc/add.sql
+++ b/doc/add.sql
@@ -55,4 +55,11 @@
     create_user        varchar(255) not null comment '褰曞叆浜�',
     update_user        varchar(255) not null comment '鏇存柊浜�',
     tenant_id          bigint       not null comment '绉熸埛id'
-);
\ No newline at end of file
+);
+
+
+alter table purchase_ledger
+    add payment_method varchar(255) null;
+alter table sales_ledger
+    add payment_method varchar(255) null;
+
diff --git a/src/main/java/com/ruoyi/common/enums/FileNameType.java b/src/main/java/com/ruoyi/common/enums/FileNameType.java
new file mode 100644
index 0000000..36b7735
--- /dev/null
+++ b/src/main/java/com/ruoyi/common/enums/FileNameType.java
@@ -0,0 +1,31 @@
+package com.ruoyi.common.enums;
+
+public enum FileNameType {
+
+    SALE(1),      // 閿�鍞�
+    PURCHASE(2),  // 閲囪喘
+    INVOICE(3),     //鍙戠エ
+    PURCHASELEDGER(4);  //
+
+    private final int value;
+
+    FileNameType(int value) {
+        this.value = value;
+    }
+
+    public int getValue() {
+        return value;
+
+    }
+
+    // 鏍规嵁鏁存暟鍊艰幏鍙栧搴旂殑鏋氫妇鍊�
+    public static FileNameType fromValue(int value) {
+        for (FileNameType type : FileNameType.values()) {
+            if (type.getValue() == value) {
+                return type;
+            }
+        }
+        throw new IllegalArgumentException("Invalid value: " + value);
+    }
+}
+
diff --git a/src/main/java/com/ruoyi/common/enums/SalesLedgerType.java b/src/main/java/com/ruoyi/common/enums/SalesLedgerType.java
new file mode 100644
index 0000000..cd76069
--- /dev/null
+++ b/src/main/java/com/ruoyi/common/enums/SalesLedgerType.java
@@ -0,0 +1,35 @@
+package com.ruoyi.common.enums;
+
+
+public enum SalesLedgerType {
+    SALES_LEDGER_TYPE_SALES_LEDGER(1, "閿�鍞彴璐�"),
+    SALES_LEDGER_TYPE_PURCHASE_LEDGER(2, "閲囪喘鍙拌处");
+
+    private final Integer value;
+    private final String label;
+
+    SalesLedgerType(Integer value, String label) {
+        this.value = value;
+        this.label = label;
+    }
+
+    public Integer getValue() {
+        return value;
+    }
+
+    public String getLabel() {
+        return label;
+    }
+
+    /**
+     * 鏍规嵁鍊艰幏鍙栧搴旂殑鏋氫妇
+     */
+    public static SalesLedgerType fromValue(Integer value) {
+        for (SalesLedgerType type : values()) {
+            if (type.getValue().equals(value)) {
+                return type;
+            }
+        }
+        throw new IllegalArgumentException("鏈煡鐨� SalesLedgerType 鍊�: " + value);
+    }
+}
diff --git a/src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java b/src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java
index e39c658..b3f283a 100644
--- a/src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java
+++ b/src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java
@@ -12,6 +12,7 @@
 import org.apache.commons.lang3.ArrayUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
@@ -66,6 +67,17 @@
          deviceLedgerService.export(response, ids);
     }
 
+    @PostMapping("import")
+    @ApiModelProperty("瀵煎叆璁惧鍙拌处")
+    public AjaxResult importData(MultipartFile file) {
+        Boolean b = deviceLedgerService.importData(file);
+        if (b) {
+            return AjaxResult.success("瀵煎叆鎴愬姛");
+        }
+        return AjaxResult.error("瀵煎叆澶辫触");
+    }
+
+
     @GetMapping("getDeviceLedger")
     @ApiModelProperty("鑾峰彇璁惧鍙拌处")
     public AjaxResult getDeviceLedger( ) {
diff --git a/src/main/java/com/ruoyi/device/service/IDeviceLedgerService.java b/src/main/java/com/ruoyi/device/service/IDeviceLedgerService.java
index e056a85..a457ca9 100644
--- a/src/main/java/com/ruoyi/device/service/IDeviceLedgerService.java
+++ b/src/main/java/com/ruoyi/device/service/IDeviceLedgerService.java
@@ -6,6 +6,7 @@
 import com.ruoyi.device.dto.DeviceLedgerDto;
 import com.ruoyi.device.pojo.DeviceLedger;
 import com.ruoyi.framework.web.domain.AjaxResult;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
@@ -18,4 +19,6 @@
     AjaxResult updateDeviceLedger(DeviceLedger deviceLedger);
 
     void export(HttpServletResponse response, Long[] ids);
+
+    Boolean importData(MultipartFile file);
 }
diff --git a/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java b/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
index 006ed90..e8405b4 100644
--- a/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
@@ -16,6 +16,7 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
@@ -88,4 +89,9 @@
         }
 
     }
+
+    @Override
+    public Boolean importData(MultipartFile file) {
+        return null;
+    }
 }
diff --git a/src/main/java/com/ruoyi/other/controller/TempFileController.java b/src/main/java/com/ruoyi/other/controller/TempFileController.java
index 59d4e75..1ed7875 100644
--- a/src/main/java/com/ruoyi/other/controller/TempFileController.java
+++ b/src/main/java/com/ruoyi/other/controller/TempFileController.java
@@ -18,7 +18,7 @@
     private TempFileService tempFileService;
 
     @PostMapping("/upload")
-    public AjaxResult uploadFile(MultipartFile file, String type) {
+    public AjaxResult uploadFile(MultipartFile file, Integer type) {
         try {
             return AjaxResult.success(tempFileService.uploadFile(file, type));
         } catch (Exception e) {
diff --git a/src/main/java/com/ruoyi/other/pojo/TempFile.java b/src/main/java/com/ruoyi/other/pojo/TempFile.java
index d3b0e51..bff7805 100644
--- a/src/main/java/com/ruoyi/other/pojo/TempFile.java
+++ b/src/main/java/com/ruoyi/other/pojo/TempFile.java
@@ -16,5 +16,5 @@
     private String originalName;   // 鍘熷鏂囦欢鍚�
     private String tempPath;       // 涓存椂瀛樺偍璺緞
     private LocalDateTime expireTime; // 杩囨湡鏃堕棿
-    private String type;       // 鍏宠仈琛ㄧ被鍨�
+    private Integer type;       // 鍏宠仈琛ㄧ被鍨�
 }
diff --git a/src/main/java/com/ruoyi/other/service/TempFileService.java b/src/main/java/com/ruoyi/other/service/TempFileService.java
index 32dba44..049f977 100644
--- a/src/main/java/com/ruoyi/other/service/TempFileService.java
+++ b/src/main/java/com/ruoyi/other/service/TempFileService.java
@@ -6,5 +6,5 @@
 import java.io.IOException;
 
 public interface TempFileService {
-    TempFile uploadFile(MultipartFile file,String type) throws IOException;
+    TempFile uploadFile(MultipartFile file,Integer type) throws IOException;
 }
diff --git a/src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java b/src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java
index fc041bb..eb801bc 100644
--- a/src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java
+++ b/src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java
@@ -32,7 +32,7 @@
 
     // 涓婁紶鍒颁复鏃剁洰褰�
     @Override
-    public TempFile uploadFile(MultipartFile file,String type) throws IOException {
+    public TempFile uploadFile(MultipartFile file,Integer type) throws IOException {
         // 1. 鐢熸垚涓存椂鏂囦欢ID鍜岃矾寰�
         String tempId = UUID.randomUUID().toString();
         Path tempFilePath = Paths.get(tempDir, tempId + "_" + file.getOriginalFilename());
diff --git a/src/main/java/com/ruoyi/purchase/controller/InvoicePurchaseController.java b/src/main/java/com/ruoyi/purchase/controller/InvoicePurchaseController.java
index 8cd6b5b..a69d204 100644
--- a/src/main/java/com/ruoyi/purchase/controller/InvoicePurchaseController.java
+++ b/src/main/java/com/ruoyi/purchase/controller/InvoicePurchaseController.java
@@ -81,7 +81,7 @@
     }
 
     @PostMapping("/upload")
-    public AjaxResult uploadFile(MultipartFile file, Long id, String type) {
+    public AjaxResult uploadFile(MultipartFile file, Long id, Integer type) {
         try {
             return AjaxResult.success(commonFileService.uploadFile(file, id, type));
         } catch (Exception e) {
diff --git a/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java b/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java
index ea6eda5..21a601e 100644
--- a/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java
+++ b/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java
@@ -134,8 +134,8 @@
      * 鏌ヨ閲囪喘鍙拌处鍒楄〃
      */
     @GetMapping("/listPage")
-    public IPage<PurchaseLedger> listPage(Page page, PurchaseLedger purchaseLedger) {
-         return purchaseLedgerService.selectPurchaseLedgerListPage(page ,purchaseLedger);
+    public AjaxResult listPage(Page page, PurchaseLedgerDto purchaseLedger) {
+         return AjaxResult.success(purchaseLedgerService.selectPurchaseLedgerListPage(page ,purchaseLedger));
     }
 
     @ApiOperation("鐢熸垚閲囪喘搴忓垪鍙�")
diff --git a/src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java b/src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java
index 1ccb59b..9d50979 100644
--- a/src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java
+++ b/src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java
@@ -15,6 +15,8 @@
 import com.ruoyi.purchase.service.IProductRecordService;
 import com.ruoyi.purchase.service.ITicketRegistrationService;
 import com.ruoyi.sales.service.ICommonFileService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import org.springframework.web.bind.annotation.*;
@@ -33,6 +35,7 @@
 @RestController
 @RequestMapping("/purchase/registration")
 @AllArgsConstructor
+@Api(tags = "鏉ョエ鐧昏")
 public class TicketRegistrationController extends BaseController {
 
     private ITicketRegistrationService ticketRegistrationService;
@@ -89,7 +92,7 @@
     }
 
     @PostMapping("/upload")
-    public AjaxResult uploadFile(MultipartFile file, Long id, String type) {
+    public AjaxResult uploadFile(MultipartFile file, Long id, Integer type) {
         try {
             return AjaxResult.success(commonFileService.uploadFile(file, id, type));
         } catch (Exception e) {
@@ -130,4 +133,13 @@
     public IPage<TicketRegistration> listPage(Page page, TicketRegistration ticketRegistration) {
         return ticketRegistrationService.selectTicketRegistrationListPage(page,ticketRegistration);
     }
+
+    @ApiModelProperty("鏍规嵁id鏌ヨ鏉ユ紓鐧昏")
+    @GetMapping("/getPuargeById")
+    public AjaxResult getPuargeById(Long id) {
+        return AjaxResult.success(ticketRegistrationService.getPuargeById( id));
+    }
+
+
+
 }
diff --git a/src/main/java/com/ruoyi/purchase/dto/ProductRecordDto.java b/src/main/java/com/ruoyi/purchase/dto/ProductRecordDto.java
index b375739..ab7365f 100644
--- a/src/main/java/com/ruoyi/purchase/dto/ProductRecordDto.java
+++ b/src/main/java/com/ruoyi/purchase/dto/ProductRecordDto.java
@@ -1,7 +1,10 @@
 package com.ruoyi.purchase.dto;
 
 import com.ruoyi.purchase.pojo.ProductRecord;
+import com.ruoyi.sales.pojo.CommonFile;
 import lombok.Data;
+
+import java.util.List;
 
 @Data
 public class ProductRecordDto extends ProductRecord {
@@ -25,4 +28,6 @@
     private String invoiceNumber;
 
     private String unTicketsPrice;
+
+    private List<CommonFile> commonFiles;
 }
diff --git a/src/main/java/com/ruoyi/purchase/dto/PurchaseLedgerDto.java b/src/main/java/com/ruoyi/purchase/dto/PurchaseLedgerDto.java
index 71c56e2..02bc251 100644
--- a/src/main/java/com/ruoyi/purchase/dto/PurchaseLedgerDto.java
+++ b/src/main/java/com/ruoyi/purchase/dto/PurchaseLedgerDto.java
@@ -1,8 +1,10 @@
 package com.ruoyi.purchase.dto;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.sales.pojo.CommonFile;
 import com.ruoyi.sales.pojo.SalesLedgerProduct;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.math.BigDecimal;
@@ -133,5 +135,26 @@
      */
     private Long ticketRegistrationId;
 
+    /**
+     * 鍚堝悓閲戦锛堜骇鍝佸惈绋庢�讳环锛�
+     */
+    private BigDecimal contractAmount = BigDecimal.ZERO;
+
+
+    @TableField(exist = false)
+    @ApiModelProperty("鏉ョエ閲戦")
+    private BigDecimal receiptPaymentAmount =  BigDecimal.ZERO;
+
+    @ApiModelProperty("鏈潵绁ㄩ噾棰�")
+    @TableField(exist = false)
+    private BigDecimal unReceiptPaymentAmount =BigDecimal.ZERO;
+
+    @ApiModelProperty("鏂囦欢绫诲瀷  鍙� 4")
+    @TableField(exist = false)
+    private Integer type;
+
+
+    @ApiModelProperty(value = "浠樻鏂瑰紡")
+    private String paymentMethod;
 
 }
diff --git a/src/main/java/com/ruoyi/purchase/mapper/PurchaseLedgerMapper.java b/src/main/java/com/ruoyi/purchase/mapper/PurchaseLedgerMapper.java
index 62c128d..0713f6c 100644
--- a/src/main/java/com/ruoyi/purchase/mapper/PurchaseLedgerMapper.java
+++ b/src/main/java/com/ruoyi/purchase/mapper/PurchaseLedgerMapper.java
@@ -3,6 +3,7 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ruoyi.purchase.dto.PurchaseLedgerDto;
 import com.ruoyi.purchase.pojo.PurchaseLedger;
 import org.apache.ibatis.annotations.Param;
 
@@ -18,5 +19,5 @@
 
     int updateContractAmountById(@Param("id") Long id, @Param("totalTaxInclusiveAmount") BigDecimal totalTaxInclusiveAmount);
 
-    IPage<PurchaseLedger> selectPurchaseLedgerListPage(IPage ipage, @Param("c") PurchaseLedger purchaseLedger);
+    IPage<PurchaseLedgerDto> selectPurchaseLedgerListPage(IPage ipage, @Param("c") PurchaseLedgerDto purchaseLedger);
 }
diff --git a/src/main/java/com/ruoyi/purchase/pojo/PurchaseLedger.java b/src/main/java/com/ruoyi/purchase/pojo/PurchaseLedger.java
index 5ee4125..c0fcb50 100644
--- a/src/main/java/com/ruoyi/purchase/pojo/PurchaseLedger.java
+++ b/src/main/java/com/ruoyi/purchase/pojo/PurchaseLedger.java
@@ -136,6 +136,14 @@
     @TableField(exist = false)
     private String unReceiptPaymentAmount;
 
+    @ApiModelProperty("鏂囦欢绫诲瀷  鍙� 4")
+    @TableField(exist = false)
+    private Integer type;
+
+
+
+    @ApiModelProperty(value = "浠樻鏂瑰紡")
+    private String paymentMethod;
 
 
 }
diff --git a/src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java b/src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java
index 2190972..3979810 100644
--- a/src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java
+++ b/src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java
@@ -34,7 +34,7 @@
 
     PurchaseLedgerDto getPurchaseNoById(Long id);
 
-    IPage<PurchaseLedger> selectPurchaseLedgerListPage(IPage ipage, PurchaseLedger purchaseLedger);
+    IPage<PurchaseLedgerDto> selectPurchaseLedgerListPage(IPage ipage, PurchaseLedgerDto purchaseLedger);
 
     List<InvoiceRegistrationProduct> getProductBySalesNo(Long id);
 
diff --git a/src/main/java/com/ruoyi/purchase/service/ITicketRegistrationService.java b/src/main/java/com/ruoyi/purchase/service/ITicketRegistrationService.java
index 9c234f7..2ad75e7 100644
--- a/src/main/java/com/ruoyi/purchase/service/ITicketRegistrationService.java
+++ b/src/main/java/com/ruoyi/purchase/service/ITicketRegistrationService.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.purchase.dto.PurchaseLedgerDto;
 import com.ruoyi.purchase.dto.TicketRegistrationDto;
 import com.ruoyi.purchase.pojo.TicketRegistration;
 
@@ -28,4 +29,6 @@
     List getTicketNo(TicketRegistrationDto ticketRegistrationDto);
 
     IPage<TicketRegistration> selectTicketRegistrationListPage(Page page, TicketRegistration ticketRegistration);
+
+    PurchaseLedgerDto getPuargeById(Long id);
 }
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/InvoicePurchaseServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/InvoicePurchaseServiceImpl.java
index cc8bb73..b2ed2fb 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/InvoicePurchaseServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/InvoicePurchaseServiceImpl.java
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.enums.FileNameType;
 import com.ruoyi.common.utils.bean.BeanUtils;
 import com.ruoyi.other.mapper.TempFileMapper;
 import com.ruoyi.project.system.domain.SysUser;
@@ -88,7 +89,7 @@
         // 鎵归噺鏌ヨ杩欎簺鍙戠エ鍏宠仈鐨勬枃浠朵俊鎭�
         LambdaQueryWrapper<CommonFile> fileQueryWrapper = new LambdaQueryWrapper<>();
         fileQueryWrapper.in(CommonFile::getCommonId, invoiceIds)
-                .eq(CommonFile::getType,"3");
+                .eq(CommonFile::getType, FileNameType.INVOICE.getValue());
         List<CommonFile> fileList = commonFileMapper.selectList(fileQueryWrapper);
 
         // 灏嗘枃浠朵俊鎭槧灏勫埌瀵瑰簲鐨勫彂绁↖D
@@ -152,7 +153,7 @@
         // 鏌ヨ涓婁紶鏂囦欢
         LambdaQueryWrapper<CommonFile> commonFileLambdaQueryWrapper = new LambdaQueryWrapper<>();
         commonFileLambdaQueryWrapper.eq(CommonFile::getCommonId, invoicePurchaseDto.getId())
-                .eq(CommonFile::getType, "3");
+                .eq(CommonFile::getType, FileNameType.INVOICE.getValue());
         List<CommonFile> commonFiles = commonFileMapper.selectList(commonFileLambdaQueryWrapper);
         resultDto.setCommonFiles(commonFiles);
         return resultDto;
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java
index 02fa3e0..a8b594d 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java
@@ -4,12 +4,17 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.enums.FileNameType;
 import com.ruoyi.purchase.dto.ProductRecordDto;
 import com.ruoyi.purchase.dto.TicketRegistrationDto;
 import com.ruoyi.purchase.mapper.ProductRecordMapper;
 import com.ruoyi.purchase.pojo.ProductRecord;
 import com.ruoyi.purchase.service.IProductRecordService;
+import com.ruoyi.sales.mapper.CommonFileMapper;
+import com.ruoyi.sales.pojo.CommonFile;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -24,7 +29,13 @@
 @AllArgsConstructor
 public class ProductRecordServiceImpl extends ServiceImpl<ProductRecordMapper, ProductRecord> implements IProductRecordService {
 
+    @Autowired
     private ProductRecordMapper productRecordMapper;
+
+    @Autowired
+    private CommonFileMapper commonFileMapper;
+
+
 
 
     /**
@@ -41,8 +52,11 @@
 
     @Override
     public IPage<ProductRecordDto> productRecordPage(Page page, TicketRegistrationDto ticketRegistrationDto) {
-
-        return productRecordMapper.productRecordPage(page, ticketRegistrationDto);
+        IPage<ProductRecordDto> productRecordDtoIPage = productRecordMapper.productRecordPage(page, ticketRegistrationDto);
+        productRecordDtoIPage.getRecords().forEach(productRecordDto -> {
+            productRecordDto.setCommonFiles(commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>().eq(CommonFile::getCommonId, productRecordDto.getTicketRegistrationId())
+                    .eq(CommonFile::getType, FileNameType.PURCHASELEDGER.getValue())));
+        });
+        return productRecordDtoIPage;
     }
-
 }
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
index 845b18d..d8518a3 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -12,6 +12,7 @@
 import com.ruoyi.basic.pojo.Product;
 import com.ruoyi.basic.pojo.ProductModel;
 import com.ruoyi.basic.pojo.SupplierManage;
+import com.ruoyi.common.enums.FileNameType;
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
@@ -280,7 +281,7 @@
                 fileRecord.setName(originalFilename);
                 fileRecord.setUrl(formalFilePath.toString());
                 fileRecord.setCreateTime(LocalDateTime.now());
-                fileRecord.setType("2");
+                fileRecord.setType(FileNameType.PURCHASE.getValue());
                 commonFileMapper.insert(fileRecord);
 
                 // 鍒犻櫎涓存椂鏂囦欢璁板綍
@@ -303,7 +304,7 @@
         // 鎵归噺鍒犻櫎鍏宠仈鐨勯噰璐彴璐︿骇鍝�
         LambdaQueryWrapper<SalesLedgerProduct> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.in(SalesLedgerProduct::getSalesLedgerId, ids)
-                .eq(SalesLedgerProduct::getType, "2");
+                .eq(SalesLedgerProduct::getType, 2);
         salesLedgerProductMapper.delete(queryWrapper);
         // 鎵归噺鍒犻櫎鍏宠仈鐨勯噰璐彴璐︾殑鏉ョエ鐧昏
         LambdaQueryWrapper<TicketRegistration> ticketRegistrationLambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -371,6 +372,7 @@
         }
         // 鍒涘缓骞跺~鍏匘TO
         PurchaseLedgerDto resultDto = new PurchaseLedgerDto();
+        resultDto.setSalesLedgerId(purchaseLedger.getSalesLedgerId());
         resultDto.setSalesContractNoId(purchaseLedger.getSalesLedgerId());
         resultDto.setSalesContractNo(purchaseLedger.getSalesContractNo());
         resultDto.setSupplierName(purchaseLedger.getSupplierName());
@@ -413,6 +415,7 @@
     public PurchaseLedgerDto getPurchaseNoById(Long id) {
         PurchaseLedgerDto purchaseLedgerDto = new PurchaseLedgerDto();
         PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectById(id);
+
         BeanUtils.copyProperties(purchaseLedger, purchaseLedgerDto);
 //        TicketRegistration ticketRegistration = ticketRegistrationMapper.selectOne(new LambdaQueryWrapper<TicketRegistration>().eq(TicketRegistration::getPurchaseLedgerId, id));
 //        if (ticketRegistration != null) {
@@ -424,9 +427,13 @@
     }
 
     @Override
-    public IPage<PurchaseLedger> selectPurchaseLedgerListPage(IPage ipage, PurchaseLedger purchaseLedger) {
-
-        return purchaseLedgerMapper.selectPurchaseLedgerListPage(ipage, purchaseLedger);
+    public IPage<PurchaseLedgerDto> selectPurchaseLedgerListPage(IPage ipage, PurchaseLedgerDto purchaseLedger) {
+        IPage<PurchaseLedgerDto> purchaseLedgerDtoIPage = purchaseLedgerMapper.selectPurchaseLedgerListPage(ipage, purchaseLedger);
+        purchaseLedgerDtoIPage.getRecords().forEach(purchaseLedgerDto -> {
+            List<CommonFile> commonFiles = commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>().eq(CommonFile::getCommonId, purchaseLedgerDto.getId()).eq(CommonFile::getType, FileNameType.PURCHASELEDGER.getValue()));
+            purchaseLedgerDto.setSalesLedgerFiles(commonFiles);
+        });
+        return purchaseLedgerDtoIPage;
     }
 
     @Override
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 f572cf2..9ec44e8 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
@@ -6,6 +6,8 @@
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.enums.FileNameType;
+import com.ruoyi.common.enums.SalesLedgerType;
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.StringUtils;
@@ -13,6 +15,7 @@
 import com.ruoyi.other.mapper.TempFileMapper;
 import com.ruoyi.other.pojo.TempFile;
 import com.ruoyi.purchase.dto.PaymentRegistrationDto;
+import com.ruoyi.purchase.dto.PurchaseLedgerDto;
 import com.ruoyi.purchase.dto.TicketRegistrationDto;
 import com.ruoyi.purchase.mapper.PaymentRegistrationMapper;
 import com.ruoyi.purchase.mapper.ProductRecordMapper;
@@ -26,6 +29,8 @@
 import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
 import com.ruoyi.sales.pojo.CommonFile;
 import com.ruoyi.sales.pojo.SalesLedgerProduct;
+import com.ruoyi.sales.service.ISalesLedgerProductService;
+import com.ruoyi.sales.service.impl.SalesLedgerProductServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.io.FilenameUtils;
@@ -71,6 +76,9 @@
     private final TempFileMapper tempFileMapper;
 
     private final ProductRecordMapper productRecordMapper;
+
+    @Autowired
+    private ISalesLedgerProductService salesLedgerProductService;
 
     @Autowired
     private PaymentRegistrationMapper paymentRegistrationMapper;
@@ -276,8 +284,8 @@
             queryWrapper.like(TicketRegistration::getPurchaseContractNumber, ticketRegistration.getPurchaseContractNumber())
                     .like(TicketRegistration::getSupplierName, ticketRegistration.getSupplierName());
         }
-        if (!ObjectUtils.isEmpty(ticketRegistration.getIssueDateStart())&&!ObjectUtils.isEmpty(ticketRegistration.getIssueDateEnd())) {
-            queryWrapper.between(TicketRegistration::getIssueDate,LocalDate.parse(ticketRegistration.getIssueDateStart(), DateTimeFormatter.ofPattern("yyyy-MM-dd")), LocalDate.parse(ticketRegistration.getIssueDateEnd(), DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+        if (!ObjectUtils.isEmpty(ticketRegistration.getIssueDateStart()) && !ObjectUtils.isEmpty(ticketRegistration.getIssueDateEnd())) {
+            queryWrapper.between(TicketRegistration::getIssueDate, LocalDate.parse(ticketRegistration.getIssueDateStart(), DateTimeFormatter.ofPattern("yyyy-MM-dd")), LocalDate.parse(ticketRegistration.getIssueDateEnd(), DateTimeFormatter.ofPattern("yyyy-MM-dd")));
         }
         IPage<TicketRegistration> ticketRegistrationIPage = ticketRegistrationMapper.selectPage(page, queryWrapper);
         // 璁$畻宸蹭粯娆鹃噾棰�
@@ -307,6 +315,23 @@
         return ticketRegistrationIPage;
     }
 
+    @Override
+    public PurchaseLedgerDto getPuargeById(Long id) {
+        PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectById(id);
+        PurchaseLedgerDto purchaseLedgerDto = new PurchaseLedgerDto();
+        BeanUtils.copyProperties(purchaseLedger, purchaseLedgerDto);
+        SalesLedgerProduct salesLedgerProduct = new SalesLedgerProduct();
+        salesLedgerProduct.setSalesLedgerId(id);
+        salesLedgerProduct.setType(SalesLedgerType.SALES_LEDGER_TYPE_SALES_LEDGER.getValue());
+        List<SalesLedgerProduct> salesLedgerProducts = salesLedgerProductService.selectSalesLedgerProductList(salesLedgerProduct);
+        purchaseLedgerDto.setProductData(salesLedgerProducts);
+        List<CommonFile> commonFiles = commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>()
+                .eq(CommonFile::getType, FileNameType.PURCHASELEDGER.getValue())
+                .eq(CommonFile::getCommonId, id));
+        purchaseLedgerDto.setSalesLedgerFiles(commonFiles);
+        return purchaseLedgerDto;
+    }
+
     private void handleSalesLedgerProducts(Long salesLedgerId, List<SalesLedgerProduct> products, Integer type) {
         if (products == null || products.isEmpty()) {
             return;
diff --git a/src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java b/src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java
index 8e14547..4c38a59 100644
--- a/src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java
+++ b/src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java
@@ -38,10 +38,10 @@
      * 鏌ヨ浜у搧淇℃伅鍒楄〃
      */
     @GetMapping("/list")
-    public List<SalesLedgerProduct> list(SalesLedgerProduct salesLedgerProduct)
+    public AjaxResult list(SalesLedgerProduct salesLedgerProduct)
     {
         List<SalesLedgerProduct> list = salesLedgerProductService.selectSalesLedgerProductList(salesLedgerProduct);
-        return list;
+        return AjaxResult.success(list);
     }
 
     /**
diff --git a/src/main/java/com/ruoyi/sales/dto/SalesLedgerDto.java b/src/main/java/com/ruoyi/sales/dto/SalesLedgerDto.java
index aeea446..c9caf71 100644
--- a/src/main/java/com/ruoyi/sales/dto/SalesLedgerDto.java
+++ b/src/main/java/com/ruoyi/sales/dto/SalesLedgerDto.java
@@ -34,4 +34,7 @@
     private LocalDate executionDate;
 
     private Boolean status;
+
+    @ApiModelProperty(value = "浠樻鏂瑰紡")
+    private String paymentMethod;
 }
diff --git a/src/main/java/com/ruoyi/sales/pojo/CommonFile.java b/src/main/java/com/ruoyi/sales/pojo/CommonFile.java
index 77e8b7d..239fd0d 100644
--- a/src/main/java/com/ruoyi/sales/pojo/CommonFile.java
+++ b/src/main/java/com/ruoyi/sales/pojo/CommonFile.java
@@ -28,7 +28,7 @@
     private String url;
 
     /** 鍏宠仈琛� */
-    private String type;
+    private Integer type;
 
     /** 鍒涘缓鏃堕棿 */
     @TableField(fill = FieldFill.INSERT)
diff --git a/src/main/java/com/ruoyi/sales/pojo/PurchaseLedgerFile.java b/src/main/java/com/ruoyi/sales/pojo/PurchaseLedgerFile.java
new file mode 100644
index 0000000..c0f76bb
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/pojo/PurchaseLedgerFile.java
@@ -0,0 +1,44 @@
+package com.ruoyi.sales.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+public class PurchaseLedgerFile {
+
+    @ApiModelProperty(value = "鏂囦欢鍚嶇О")
+    private String name;
+
+    @ApiModelProperty(value = "鏂囦欢璺緞")
+    private String url;
+
+    @ApiModelProperty(value = "鏂囦欢澶у皬")
+    private int fileSize;
+
+    @ApiModelProperty(value = "寮�绁ㄥ彴璐D")
+    private Integer purchaseLedgerId;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "淇敼鏃堕棿")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+
+    @ApiModelProperty(value = "淇敼鐢ㄦ埛")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
+
+    @ApiModelProperty(value = "绉熸埛ID")
+    @TableField(fill = FieldFill.INSERT)
+    private Long tenantId;
+}
diff --git a/src/main/java/com/ruoyi/sales/pojo/SalesLedger.java b/src/main/java/com/ruoyi/sales/pojo/SalesLedger.java
index 06b8369..2a8c660 100644
--- a/src/main/java/com/ruoyi/sales/pojo/SalesLedger.java
+++ b/src/main/java/com/ruoyi/sales/pojo/SalesLedger.java
@@ -110,5 +110,8 @@
     @TableField(exist = false)
     @ApiModelProperty(value = "宸插紑绁ㄩ噾棰�(鍏�)")
     private BigDecimal invoiceTotal;
+
+    @ApiModelProperty(value = "浠樻鏂瑰紡")
+    private String paymentMethod;
 }
 
diff --git a/src/main/java/com/ruoyi/sales/service/ICommonFileService.java b/src/main/java/com/ruoyi/sales/service/ICommonFileService.java
index a00aa9c..398fc5d 100644
--- a/src/main/java/com/ruoyi/sales/service/ICommonFileService.java
+++ b/src/main/java/com/ruoyi/sales/service/ICommonFileService.java
@@ -9,7 +9,7 @@
 
     int deleteSalesLedgerByIds(Long[] ids);
 
-    CommonFile uploadFile(MultipartFile file, Long id, String type) throws IOException;
+    CommonFile uploadFile(MultipartFile file, Long id, Integer type) throws IOException;
 
     int delCommonFileByIds(Long[] ids);
 }
diff --git a/src/main/java/com/ruoyi/sales/service/impl/CommonFileServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/CommonFileServiceImpl.java
index 464810e..f46d3ae 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/CommonFileServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/CommonFileServiceImpl.java
@@ -46,7 +46,7 @@
     }
 
     @Override
-    public CommonFile uploadFile(MultipartFile file, Long id, String type) throws IOException {
+    public CommonFile uploadFile(MultipartFile file, Long id, Integer type) throws IOException {
         // 1. 鐢熸垚姝e紡鏂囦欢ID鍜岃矾寰�
         String tempId = UUID.randomUUID().toString();
         Path tempFilePath = Paths.get(uploadDir, tempId + "_" + file.getOriginalFilename());
diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
index a85755e..a31835b 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -10,6 +10,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.basic.mapper.CustomerMapper;
 import com.ruoyi.basic.pojo.Customer;
+import com.ruoyi.common.enums.FileNameType;
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
@@ -428,7 +429,8 @@
                 fileRecord.setName(originalFilename);
                 fileRecord.setUrl(formalFilePath.toString());
                 fileRecord.setCreateTime(LocalDateTime.now());
-                fileRecord.setType("1");
+                //閿�鍞�
+                fileRecord.setType(FileNameType.SALE.getValue());
                 commonFileMapper.insert(fileRecord);
 
                 // 鍒犻櫎涓存椂鏂囦欢璁板綍
diff --git a/src/main/resources/mapper/purchase/ProductRecordMapper.xml b/src/main/resources/mapper/purchase/ProductRecordMapper.xml
index 80133ac..35f08ac 100644
--- a/src/main/resources/mapper/purchase/ProductRecordMapper.xml
+++ b/src/main/resources/mapper/purchase/ProductRecordMapper.xml
@@ -7,7 +7,6 @@
 
     <select id="productRecordPage" resultType="com.ruoyi.purchase.dto.ProductRecordDto">
         SELECT
-        distinct
         sl.sales_contract_no,
         sl.customer_contract_no,
         sl.customer_name,
@@ -18,11 +17,10 @@
         tr.invoice_number,
         ROUND(pr.tickets_amount/(1+pr.tax_rate/100),2 ) as un_tickets_price,
         ROUND(pr.tickets_amount-pr.tickets_amount/(1+pr.tax_rate/100),2 )as invoice_amount
-
         FROM product_record pr
         left join purchase_ledger pl on pl.id = pr.purchase_ledger_id
         left join sales_ledger sl on sl.id = pl.sales_ledger_id
-        left join ticket_registration tr on tr.purchase_ledger_id = pl.id
+        left join ticket_registration tr on tr.id = pr.ticket_registration_id
         left join product_model pm on pm.id = pr.product_model_id
         WHERE type = 2
         <if test="c.salesContractNo != null and c.salesContractNo != ''">
diff --git a/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml b/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
index ddd0082..03c9a18 100644
--- a/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
+++ b/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
@@ -9,7 +9,7 @@
         SET contract_amount = #{totalTaxInclusiveAmount}
         WHERE id = #{id}
     </update>
-    <select id="selectPurchaseLedgerListPage" resultType="com.ruoyi.purchase.pojo.PurchaseLedger">
+    <select id="selectPurchaseLedgerListPage" resultType="com.ruoyi.purchase.dto.PurchaseLedgerDto">
         select
         pl.id,
         pl.purchase_contract_number ,

--
Gitblit v1.9.3