From 6bd1dc0b355e279b709bc49dda5207121e9b41a9 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期四, 15 五月 2025 15:41:26 +0800
Subject: [PATCH] 1.来票台账优化 2.上传优化
---
src/main/java/com/ruoyi/sales/dto/SalesLedgerDto.java | 4
src/main/java/com/ruoyi/purchase/service/IInvoicePurchaseService.java | 10
src/main/java/com/ruoyi/purchase/service/impl/InvoicePurchaseServiceImpl.java | 215 ++++++++++++++++++-
src/main/java/com/ruoyi/purchase/dto/PurchaseLedgerDto.java | 4
src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java | 19
src/main/java/com/ruoyi/sales/service/ICommonFileService.java | 15 +
src/main/java/com/ruoyi/other/pojo/TempFile.java | 1
src/main/java/com/ruoyi/sales/service/impl/CommonFileServiceImpl.java | 63 +++++
src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java | 3
src/main/java/com/ruoyi/other/controller/TempFileController.java | 6
/dev/null | 22 --
src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java | 2
src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java | 22 +-
src/main/java/com/ruoyi/purchase/controller/InvoicePurchaseController.java | 54 +++-
src/main/java/com/ruoyi/purchase/dto/InvoicePurchaseDto.java | 69 ++++++
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java | 19
src/main/java/com/ruoyi/other/service/TempFileService.java | 2
src/main/java/com/ruoyi/sales/pojo/CommonFile.java | 15 +
src/main/java/com/ruoyi/sales/controller/CommonFileController.java | 32 ++
src/main/java/com/ruoyi/sales/mapper/CommonFileMapper.java | 8
src/main/java/com/ruoyi/purchase/pojo/InvoicePurchase.java | 33 ++
21 files changed, 513 insertions(+), 105 deletions(-)
diff --git a/src/main/java/com/ruoyi/other/controller/TempFileController.java b/src/main/java/com/ruoyi/other/controller/TempFileController.java
index 6834d13..59d4e75 100644
--- a/src/main/java/com/ruoyi/other/controller/TempFileController.java
+++ b/src/main/java/com/ruoyi/other/controller/TempFileController.java
@@ -18,10 +18,10 @@
private TempFileService tempFileService;
@PostMapping("/upload")
- public AjaxResult uploadFile(MultipartFile file) {
+ public AjaxResult uploadFile(MultipartFile file, String type) {
try {
- return AjaxResult.success(tempFileService.uploadFile(file));
- }catch (Exception e) {
+ return AjaxResult.success(tempFileService.uploadFile(file, type));
+ } catch (Exception e) {
return AjaxResult.error(e.getMessage());
}
}
diff --git a/src/main/java/com/ruoyi/other/pojo/TempFile.java b/src/main/java/com/ruoyi/other/pojo/TempFile.java
index 26ace93..d3b0e51 100644
--- a/src/main/java/com/ruoyi/other/pojo/TempFile.java
+++ b/src/main/java/com/ruoyi/other/pojo/TempFile.java
@@ -16,4 +16,5 @@
private String originalName; // 鍘熷鏂囦欢鍚�
private String tempPath; // 涓存椂瀛樺偍璺緞
private LocalDateTime expireTime; // 杩囨湡鏃堕棿
+ private String type; // 鍏宠仈琛ㄧ被鍨�
}
diff --git a/src/main/java/com/ruoyi/other/service/TempFileService.java b/src/main/java/com/ruoyi/other/service/TempFileService.java
index 756a8c5..32dba44 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) throws IOException;
+ TempFile uploadFile(MultipartFile file,String 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 f228680..fc041bb 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) throws IOException {
+ public TempFile uploadFile(MultipartFile file,String type) throws IOException {
// 1. 鐢熸垚涓存椂鏂囦欢ID鍜岃矾寰�
String tempId = UUID.randomUUID().toString();
Path tempFilePath = Paths.get(tempDir, tempId + "_" + file.getOriginalFilename());
@@ -52,6 +52,7 @@
tempFileRecord.setOriginalName(file.getOriginalFilename());
tempFileRecord.setTempPath(tempFilePath.toString());
tempFileRecord.setExpireTime(LocalDateTime.now().plusHours(2)); // 2灏忔椂鍚庤繃鏈�
+ tempFileRecord.setType(type);
tempFileMapper.insert(tempFileRecord);
return tempFileRecord;
diff --git a/src/main/java/com/ruoyi/purchase/controller/InvoicePurchaseController.java b/src/main/java/com/ruoyi/purchase/controller/InvoicePurchaseController.java
index 256f9c5..8cd6b5b 100644
--- a/src/main/java/com/ruoyi/purchase/controller/InvoicePurchaseController.java
+++ b/src/main/java/com/ruoyi/purchase/controller/InvoicePurchaseController.java
@@ -1,23 +1,22 @@
package com.ruoyi.purchase.controller;
-import java.util.List;
-import javax.servlet.http.HttpServletResponse;
-
import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.purchase.pojo.InvoicePurchase;
-import com.ruoyi.purchase.service.IInvoicePurchaseService;
-import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.controller.BaseController;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.framework.web.page.TableDataInfo;
+import com.ruoyi.purchase.dto.InvoicePurchaseDto;
+import com.ruoyi.purchase.pojo.InvoicePurchase;
+import com.ruoyi.purchase.service.IInvoicePurchaseService;
+import com.ruoyi.sales.service.ICommonFileService;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
/**
* 鍙戠エ淇℃伅Controller
@@ -32,13 +31,15 @@
private IInvoicePurchaseService invoicePurchaseService;
+ private ICommonFileService commonFileService;
+
/**
* 鏌ヨ鍙戠エ淇℃伅鍒楄〃
*/
@GetMapping("/list")
- public TableDataInfo list(InvoicePurchase invoicePurchase) {
+ public TableDataInfo list(InvoicePurchaseDto invoicePurchaseDto) {
startPage();
- List<InvoicePurchase> list = invoicePurchaseService.selectInvoicePurchaseList(invoicePurchase);
+ List<InvoicePurchaseDto> list = invoicePurchaseService.selectInvoicePurchaseList(invoicePurchaseDto);
return getDataTable(list);
}
@@ -48,18 +49,26 @@
@Log(title = "鍙戠エ淇℃伅", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, InvoicePurchase invoicePurchase) {
- List<InvoicePurchase> list = invoicePurchaseService.selectInvoicePurchaseList(invoicePurchase);
+ List<InvoicePurchase> list = invoicePurchaseService.selectInvoicePurchaseLists(invoicePurchase);
ExcelUtil<InvoicePurchase> util = new ExcelUtil<InvoicePurchase>(InvoicePurchase.class);
util.exportExcel(response, list, "鍙戠エ淇℃伅鏁版嵁");
+ }
+
+ /**
+ * 鏌ヨ鍙戠エ淇℃伅
+ */
+ @GetMapping("/getInvoiceById")
+ public InvoicePurchaseDto getInvoiceById(InvoicePurchaseDto invoicePurchaseDto) {
+ return invoicePurchaseService.getInvoiceById(invoicePurchaseDto);
}
/**
* 鏂板淇敼鍙戠エ淇℃伅
*/
@Log(title = "鍙戠エ淇℃伅", businessType = BusinessType.INSERT)
- @PostMapping ("/addOrUpdateInvoice")
- public AjaxResult addOrUpdateInvoice(@RequestBody InvoicePurchase invoicePurchase) {
- return toAjax(invoicePurchaseService.addOrUpdateInvoice(invoicePurchase));
+ @PostMapping("/addOrUpdateInvoice")
+ public AjaxResult addOrUpdateInvoice(@RequestBody InvoicePurchaseDto invoicePurchaseDto) throws IOException {
+ return toAjax(invoicePurchaseService.addOrUpdateInvoice(invoicePurchaseDto));
}
/**
@@ -70,4 +79,13 @@
public AjaxResult remove(@RequestBody Long[] ids) {
return toAjax(invoicePurchaseService.delInvoice(ids));
}
+
+ @PostMapping("/upload")
+ public AjaxResult uploadFile(MultipartFile file, Long id, String type) {
+ try {
+ return AjaxResult.success(commonFileService.uploadFile(file, id, type));
+ } catch (Exception e) {
+ return AjaxResult.error(e.getMessage());
+ }
+ }
}
diff --git a/src/main/java/com/ruoyi/purchase/dto/InvoicePurchaseDto.java b/src/main/java/com/ruoyi/purchase/dto/InvoicePurchaseDto.java
index 8a51b96..c8a8671 100644
--- a/src/main/java/com/ruoyi/purchase/dto/InvoicePurchaseDto.java
+++ b/src/main/java/com/ruoyi/purchase/dto/InvoicePurchaseDto.java
@@ -1,7 +1,76 @@
package com.ruoyi.purchase.dto;
+import com.ruoyi.sales.pojo.CommonFile;
import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.util.List;
@Data
public class InvoicePurchaseDto {
+
+ private Long id;
+
+ /**
+ * 閲囪喘鍙拌处id
+ */
+ private Long purchaseLedgerId;
+
+ /**
+ * 閲囪喘鍚堝悓鍙�
+ */
+ private String purchaseContractNo;
+
+ /**
+ * 鍏宠仈閿�鍞彴璐︿富琛ㄤ富閿�
+ */
+ private Long salesLedgerId;
+
+ /**
+ * 閿�鍞悎鍚屽彿
+ */
+ private String salesContractNo;
+
+ /**
+ * 渚涘簲鍟嗗悕绉�
+ */
+ private String supplierName;
+
+ /**
+ * 鍙戠エ鍙�
+ */
+ private String invoiceNumber;
+
+ /**
+ * 鍙戠エ閲戦锛堝厓锛�
+ */
+ private BigDecimal invoiceAmount;
+
+ /**
+ * 绋庣巼
+ */
+ private BigDecimal taxRate;
+
+ /**
+ * 寮�绁ㄤ汉ID
+ */
+ private Long issUerId;
+
+ /**
+ * 寮�绁ㄤ汉
+ */
+ private String issUer;
+
+ /**
+ * 寮�绁ㄦ棩鏈�
+ */
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ private LocalDate issueDate;
+
+ private List<String> tempFileIds;
+ private List<CommonFile> CommonFiles;
+
+ private String fileName;
}
diff --git a/src/main/java/com/ruoyi/purchase/dto/PurchaseLedgerDto.java b/src/main/java/com/ruoyi/purchase/dto/PurchaseLedgerDto.java
index cddb7b8..ff81462 100644
--- a/src/main/java/com/ruoyi/purchase/dto/PurchaseLedgerDto.java
+++ b/src/main/java/com/ruoyi/purchase/dto/PurchaseLedgerDto.java
@@ -1,7 +1,7 @@
package com.ruoyi.purchase.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
-import com.ruoyi.sales.pojo.SalesLedgerFile;
+import com.ruoyi.sales.pojo.CommonFile;
import com.ruoyi.sales.pojo.SalesLedgerProduct;
import lombok.Data;
@@ -90,7 +90,7 @@
private List<String> tempFileIds;
- private List<SalesLedgerFile> SalesLedgerFiles;
+ private List<CommonFile> SalesLedgerFiles;
/**
* 涓氬姟鍛樻墜鏈哄彿
*/
diff --git a/src/main/java/com/ruoyi/purchase/pojo/InvoicePurchase.java b/src/main/java/com/ruoyi/purchase/pojo/InvoicePurchase.java
index 5097798..bcc868d 100644
--- a/src/main/java/com/ruoyi/purchase/pojo/InvoicePurchase.java
+++ b/src/main/java/com/ruoyi/purchase/pojo/InvoicePurchase.java
@@ -1,12 +1,13 @@
package com.ruoyi.purchase.pojo;
-import java.math.BigDecimal;
-import java.util.Date;
-
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.util.Date;
/**
* 鍙戠エ淇℃伅瀵硅薄 invoice_purchase
@@ -26,10 +27,20 @@
private Long id;
/**
+ * 閲囪喘鍙拌处id
+ */
+ private Long purchaseLedgerId;
+
+ /**
* 閲囪喘鍚堝悓鍙�
*/
@Excel(name = "閲囪喘鍚堝悓鍙�")
private String purchaseContractNo;
+
+ /**
+ * 鍏宠仈閿�鍞彴璐︿富琛ㄤ富閿�
+ */
+ private Long salesLedgerId;
/**
* 閿�鍞悎鍚屽彿
@@ -52,32 +63,36 @@
/**
* 鍙戠エ閲戦锛堝厓锛�
*/
- @Excel(name = "鍙戠エ閲戦", readConverterExp = "鍏�=")
+ @Excel(name = "鍙戠エ閲戦(鍏�)")
private BigDecimal invoiceAmount;
/**
* 绋庣巼
*/
- @Excel(name = "绋庣巼")
+ @Excel(name = "绋庣巼(%)")
private BigDecimal taxRate;
+
+ /**
+ * 寮�绁ㄤ汉ID
+ */
+ private Long issUerId;
/**
* 寮�绁ㄤ汉
*/
@Excel(name = "寮�绁ㄤ汉")
- private String issuer;
+ private String issUer;
/**
* 寮�绁ㄦ棩鏈�
*/
- @JsonFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd" ,timezone = "GMT+8")
@Excel(name = "寮�绁ㄦ棩鏈�", width = 30, dateFormat = "yyyy-MM-dd")
- private Date issueDate;
+ private LocalDate issueDate;
/**
* 鍙戠エ鏂囦欢锛圥DF鏍煎紡锛�
*/
- @Excel(name = "鍙戠エ鏂囦欢", readConverterExp = "P=DF鏍煎紡")
private String invoiceFile;
/**
diff --git a/src/main/java/com/ruoyi/purchase/service/IInvoicePurchaseService.java b/src/main/java/com/ruoyi/purchase/service/IInvoicePurchaseService.java
index ae99e9d..fe664f8 100644
--- a/src/main/java/com/ruoyi/purchase/service/IInvoicePurchaseService.java
+++ b/src/main/java/com/ruoyi/purchase/service/IInvoicePurchaseService.java
@@ -2,8 +2,10 @@
import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.purchase.dto.InvoicePurchaseDto;
import com.ruoyi.purchase.pojo.InvoicePurchase;
+import java.io.IOException;
import java.util.List;
/**
@@ -13,9 +15,13 @@
* @date 2025-05-14
*/
public interface IInvoicePurchaseService extends IService<InvoicePurchase> {
- List<InvoicePurchase> selectInvoicePurchaseList(InvoicePurchase invoicePurchase);
+ List<InvoicePurchaseDto> selectInvoicePurchaseList(InvoicePurchaseDto invoicePurchaseDto);
int delInvoice(Long[] ids);
- int addOrUpdateInvoice(InvoicePurchase invoicePurchase);
+ int addOrUpdateInvoice(InvoicePurchaseDto invoicePurchaseDto) throws IOException;
+
+ InvoicePurchaseDto getInvoiceById(InvoicePurchaseDto invoicePurchaseDto);
+
+ List<InvoicePurchase> selectInvoicePurchaseLists(InvoicePurchase invoicePurchase);
}
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 f9a2487..5a0a9b4 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/InvoicePurchaseServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/InvoicePurchaseServiceImpl.java
@@ -2,15 +2,38 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.other.mapper.TempFileMapper;
+import com.ruoyi.other.pojo.TempFile;
+import com.ruoyi.project.system.domain.SysUser;
+import com.ruoyi.project.system.mapper.SysUserMapper;
+import com.ruoyi.purchase.dto.InvoicePurchaseDto;
import com.ruoyi.purchase.mapper.InvoicePurchaseMapper;
+import com.ruoyi.purchase.mapper.PurchaseLedgerMapper;
import com.ruoyi.purchase.pojo.InvoicePurchase;
+import com.ruoyi.purchase.pojo.PurchaseLedger;
import com.ruoyi.purchase.service.IInvoicePurchaseService;
-import lombok.AllArgsConstructor;
+import com.ruoyi.sales.mapper.CommonFileMapper;
+import com.ruoyi.sales.pojo.CommonFile;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.io.FilenameUtils;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
-import java.util.Arrays;
-import java.util.List;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.nio.file.StandardCopyOption;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
+import java.util.stream.Collectors;
/**
* 鍙戠エ淇℃伅Service涓氬姟灞傚鐞�
@@ -19,14 +42,80 @@
* @date 2025-05-14
*/
@Service
-@AllArgsConstructor
+@RequiredArgsConstructor
+@Slf4j
public class InvoicePurchaseServiceImpl extends ServiceImpl<InvoicePurchaseMapper, InvoicePurchase> implements IInvoicePurchaseService {
- private InvoicePurchaseMapper invoicePurchaseMapper;
+ private final InvoicePurchaseMapper invoicePurchaseMapper;
+
+ private final PurchaseLedgerMapper purchaseLedgerMapper;
+
+ private final SysUserMapper userMapper;
+
+ private final CommonFileMapper commonFileMapper;
+
+ private final TempFileMapper tempFileMapper;
+
+ @Value("${file.upload-dir}")
+ private String uploadDir;
@Override
- public List<InvoicePurchase> selectInvoicePurchaseList(InvoicePurchase invoicePurchase) {
- return invoicePurchaseMapper.selectList(new LambdaQueryWrapper<>());
+ public List<InvoicePurchaseDto> selectInvoicePurchaseList(InvoicePurchaseDto invoicePurchaseDto) {
+ // 鏋勫缓鍙戠エ鏌ヨ鏉′欢
+ LambdaQueryWrapper<InvoicePurchase> queryWrapper = new LambdaQueryWrapper<>();
+ Optional.ofNullable(invoicePurchaseDto)
+ .ifPresent(dto -> {
+ if (StringUtils.hasText(dto.getPurchaseContractNo())) {
+ queryWrapper.like(InvoicePurchase::getPurchaseContractNo, dto.getPurchaseContractNo());
+ }
+ if (StringUtils.hasText(dto.getSupplierName())) {
+ queryWrapper.like(InvoicePurchase::getSupplierName, dto.getSupplierName());
+ }
+ // 澶勭悊鏃ユ湡绫诲瀷瀛楁
+ if (dto.getIssueDate() != null) {
+ queryWrapper.eq(InvoicePurchase::getIssueDate,invoicePurchaseDto.getIssueDate());
+ }
+ });
+
+ // 鏌ヨ鍙戠エ鍒楄〃
+ List<InvoicePurchase> invoiceList = invoicePurchaseMapper.selectList(queryWrapper);
+
+ // 濡傛灉娌℃湁鏌ヨ鍒板彂绁紝鐩存帴杩斿洖绌哄垪琛�
+ if (CollectionUtils.isEmpty(invoiceList)) {
+ return Collections.emptyList();
+ }
+
+ // 鎻愬彇鎵�鏈夊彂绁↖D
+ List<Long> invoiceIds = invoiceList.stream()
+ .map(InvoicePurchase::getId)
+ .collect(Collectors.toList());
+
+ // 鎵归噺鏌ヨ杩欎簺鍙戠エ鍏宠仈鐨勬枃浠朵俊鎭�
+ LambdaQueryWrapper<CommonFile> fileQueryWrapper = new LambdaQueryWrapper<>();
+ fileQueryWrapper.in(CommonFile::getCommonId, invoiceIds)
+ .eq(CommonFile::getType,"3");
+ List<CommonFile> fileList = commonFileMapper.selectList(fileQueryWrapper);
+
+ // 灏嗘枃浠朵俊鎭槧灏勫埌瀵瑰簲鐨勫彂绁↖D
+ Map<Long, String> fileMap = fileList.stream()
+ .collect(Collectors.toMap(
+ CommonFile::getCommonId,
+ CommonFile::getName,
+ (existing, replacement) -> existing // 濡傛灉鏈夊涓枃浠讹紝鍙栫涓�涓�
+ ));
+
+ // 灏嗘枃浠朵俊鎭缃埌鍙戠エDTO涓�
+ List<InvoicePurchaseDto> resultList = new ArrayList<>();
+ for (InvoicePurchase invoice : invoiceList) {
+ InvoicePurchaseDto dto = new InvoicePurchaseDto();
+ // 灏咺nvoicePurchase鐨勫睘鎬у鍒跺埌DTO
+ BeanUtils.copyProperties(invoice, dto);
+ // 璁剧疆鏂囦欢鍚嶏紝濡傛灉瀛樺湪鐨勮瘽
+ dto.setFileName(fileMap.getOrDefault(invoice.getId(), null));
+ resultList.add(dto);
+ }
+
+ return resultList;
}
@Override
@@ -35,11 +124,115 @@
}
@Override
- public int addOrUpdateInvoice(InvoicePurchase invoicePurchase) {
- if (invoicePurchase.getId() == null) {
- return invoicePurchaseMapper.insert(invoicePurchase);
+ public int addOrUpdateInvoice(InvoicePurchaseDto invoicePurchaseDto) throws IOException {
+ int i;
+ PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectById(invoicePurchaseDto.getPurchaseLedgerId());
+ InvoicePurchase invoicePurchase = new InvoicePurchase();
+ BeanUtils.copyProperties(invoicePurchaseDto, invoicePurchase);
+ invoicePurchase.setPurchaseContractNo(purchaseLedger.getPurchaseContractNumber());
+ invoicePurchase.setSalesContractNo(purchaseLedger.getSalesContractNo());
+ SysUser sysUser = userMapper.selectUserById(invoicePurchase.getIssUerId());
+ invoicePurchase.setIssUer(sysUser.getNickName());
+ invoicePurchase.setTenantId(purchaseLedger.getTenantId());
+ if (invoicePurchaseDto.getId() == null) {
+ i = invoicePurchaseMapper.insert(invoicePurchase);
} else {
- return invoicePurchaseMapper.updateById(invoicePurchase);
+ i = invoicePurchaseMapper.updateById(invoicePurchase);
}
+
+ // 杩佺Щ涓存椂鏂囦欢鍒版寮忕洰褰�
+ if (invoicePurchaseDto.getTempFileIds() != null && !invoicePurchaseDto.getTempFileIds().isEmpty()) {
+ migrateTempFilesToFormal(invoicePurchase.getId(), invoicePurchaseDto.getTempFileIds());
+ }
+
+ return i;
+ }
+
+ /**
+ * 灏嗕复鏃舵枃浠惰縼绉诲埌姝e紡鐩綍
+ *
+ * @param businessId 涓氬姟ID锛堥攢鍞彴璐D锛�
+ * @param tempFileIds 涓存椂鏂囦欢ID鍒楄〃
+ * @throws IOException 鏂囦欢鎿嶄綔寮傚父
+ */
+ private void migrateTempFilesToFormal(Long businessId, List<String> tempFileIds) throws IOException {
+ if (CollectionUtils.isEmpty(tempFileIds)) {
+ return;
+ }
+
+ // 鏋勫缓姝e紡鐩綍璺緞锛堟寜涓氬姟绫诲瀷鍜屾棩鏈熷垎缁勶級
+ String formalDir = uploadDir + LocalDate.now().format(DateTimeFormatter.ISO_LOCAL_DATE);
+
+ Path formalDirPath = Paths.get(formalDir);
+
+ // 纭繚姝e紡鐩綍瀛樺湪锛堥�掑綊鍒涘缓锛�
+ if (!Files.exists(formalDirPath)) {
+ Files.createDirectories(formalDirPath);
+ }
+
+ for (String tempFileId : tempFileIds) {
+ // 鏌ヨ涓存椂鏂囦欢璁板綍
+ TempFile tempFile = tempFileMapper.selectById(tempFileId);
+ if (tempFile == null) {
+ log.warn("涓存椂鏂囦欢涓嶅瓨鍦紝璺宠繃澶勭悊: {}", tempFileId);
+ continue;
+ }
+
+ // 鏋勫缓姝e紡鏂囦欢鍚嶏紙鍖呭惈涓氬姟ID鍜屾椂闂存埑锛岄伩鍏嶅啿绐侊級
+ String originalFilename = tempFile.getOriginalName();
+ String fileExtension = FilenameUtils.getExtension(originalFilename);
+ String formalFilename = businessId + "_" +
+ System.currentTimeMillis() + "_" +
+ UUID.randomUUID().toString().substring(0, 8) +
+ (com.ruoyi.common.utils.StringUtils.hasText(fileExtension) ? "." + fileExtension : "");
+
+ Path formalFilePath = formalDirPath.resolve(formalFilename);
+
+ try {
+ // 鎵ц鏂囦欢杩佺Щ锛堜娇鐢ㄥ師瀛愭搷浣滅‘淇濆畨鍏ㄦ�э級
+ Files.move(
+ Paths.get(tempFile.getTempPath()),
+ formalFilePath,
+ StandardCopyOption.REPLACE_EXISTING,
+ StandardCopyOption.ATOMIC_MOVE
+ );
+ log.info("鏂囦欢杩佺Щ鎴愬姛: {} -> {}", tempFile.getTempPath(), formalFilePath);
+
+ // 鏇存柊鏂囦欢璁板綍锛堝叧鑱斿埌涓氬姟ID锛�
+ CommonFile fileRecord = new CommonFile();
+ fileRecord.setCommonId(businessId);
+ fileRecord.setName(originalFilename);
+ fileRecord.setUrl(formalFilePath.toString());
+ fileRecord.setCreateTime(LocalDateTime.now());
+ fileRecord.setType(tempFile.getType());
+ commonFileMapper.insert(fileRecord);
+
+ log.info("鏂囦欢杩佺Щ鎴愬姛: {} -> {}", tempFile.getTempPath(), formalFilePath);
+ } catch (IOException e) {
+ log.error("鏂囦欢杩佺Щ澶辫触: {}", tempFile.getTempPath(), e);
+ // 鍙�夋嫨鍥炴粴浜嬪姟鎴栬褰曞け璐ユ枃浠�
+ throw new IOException("鏂囦欢杩佺Щ寮傚父", e);
+ }
+ }
+ }
+
+ @Override
+ public InvoicePurchaseDto getInvoiceById(InvoicePurchaseDto invoicePurchaseDto) {
+ InvoicePurchase invoicePurchase = invoicePurchaseMapper.selectById(invoicePurchaseDto.getId());
+ InvoicePurchaseDto resultDto = new InvoicePurchaseDto();
+ BeanUtils.copyProperties(invoicePurchase, resultDto);
+
+ // 鏌ヨ涓婁紶鏂囦欢
+ LambdaQueryWrapper<CommonFile> commonFileLambdaQueryWrapper = new LambdaQueryWrapper<>();
+ commonFileLambdaQueryWrapper.eq(CommonFile::getCommonId, invoicePurchaseDto.getId())
+ .eq(CommonFile::getType, "3");
+ List<CommonFile> commonFiles = commonFileMapper.selectList(commonFileLambdaQueryWrapper);
+ resultDto.setCommonFiles(commonFiles);
+ return resultDto;
+ }
+
+ @Override
+ public List<InvoicePurchase> selectInvoicePurchaseLists(InvoicePurchase invoicePurchase) {
+ return invoicePurchaseMapper.selectList(new LambdaQueryWrapper<>());
}
}
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 f49faf8..35ea9f5 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -14,11 +14,11 @@
import com.ruoyi.purchase.mapper.PurchaseLedgerMapper;
import com.ruoyi.purchase.pojo.PurchaseLedger;
import com.ruoyi.purchase.service.IPurchaseLedgerService;
-import com.ruoyi.sales.mapper.SalesLedgerFileMapper;
+import com.ruoyi.sales.mapper.CommonFileMapper;
import com.ruoyi.sales.mapper.SalesLedgerMapper;
import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
+import com.ruoyi.sales.pojo.CommonFile;
import com.ruoyi.sales.pojo.SalesLedger;
-import com.ruoyi.sales.pojo.SalesLedgerFile;
import com.ruoyi.sales.pojo.SalesLedgerProduct;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -59,7 +59,7 @@
private final TempFileMapper tempFileMapper;
- private final SalesLedgerFileMapper salesLedgerFileMapper;
+ private final CommonFileMapper commonFileMapper;
@Value("${file.upload-dir}")
private String uploadDir;
@@ -207,12 +207,13 @@
log.info("鏂囦欢杩佺Щ鎴愬姛: {} -> {}", tempFile.getTempPath(), formalFilePath);
// 鏇存柊鏂囦欢璁板綍锛堝叧鑱斿埌涓氬姟ID锛�
- SalesLedgerFile fileRecord = new SalesLedgerFile();
- fileRecord.setLedgerId(businessId);
+ CommonFile fileRecord = new CommonFile();
+ fileRecord.setCommonId(businessId);
fileRecord.setName(originalFilename);
fileRecord.setUrl(formalFilePath.toString());
fileRecord.setCreateTime(LocalDateTime.now());
- salesLedgerFileMapper.insert(fileRecord);
+ fileRecord.setType("2");
+ commonFileMapper.insert(fileRecord);
// 鍒犻櫎涓存椂鏂囦欢璁板綍
tempFileMapper.deleteById(tempFile);
@@ -246,9 +247,9 @@
List<SalesLedgerProduct> products = salesLedgerProductMapper.selectList(productWrapper);
// 3.鏌ヨ涓婁紶鏂囦欢
- LambdaQueryWrapper<SalesLedgerFile> salesLedgerFileWrapper = new LambdaQueryWrapper<>();
- salesLedgerFileWrapper.eq(SalesLedgerFile::getLedgerId, purchaseLedger.getId());
- List<SalesLedgerFile> salesLedgerFiles = salesLedgerFileMapper.selectList(salesLedgerFileWrapper);
+ LambdaQueryWrapper<CommonFile> salesLedgerFileWrapper = new LambdaQueryWrapper<>();
+ salesLedgerFileWrapper.eq(CommonFile::getCommonId, purchaseLedger.getId());
+ List<CommonFile> salesLedgerFiles = commonFileMapper.selectList(salesLedgerFileWrapper);
// 4. 杞崲 DTO
PurchaseLedgerDto resultDto = new PurchaseLedgerDto();
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 4e39558..d67b5fb 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
@@ -38,7 +38,7 @@
private SalesLedgerProductMapper salesLedgerProductMapper;
- private final SysUserMapper userMapper;
+ private SysUserMapper userMapper;
@Override
diff --git a/src/main/java/com/ruoyi/sales/controller/CommonFileController.java b/src/main/java/com/ruoyi/sales/controller/CommonFileController.java
new file mode 100644
index 0000000..beb2df9
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/controller/CommonFileController.java
@@ -0,0 +1,32 @@
+package com.ruoyi.sales.controller;
+
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.framework.web.controller.BaseController;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.sales.service.ICommonFileService;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/commonFile")
+@AllArgsConstructor
+public class CommonFileController extends BaseController {
+
+ private ICommonFileService commonFileService;
+
+ /**
+ * 闄勪欢鍒犻櫎
+ */
+ @Log(title = "闄勪欢鍒犻櫎", businessType = BusinessType.DELETE)
+ @DeleteMapping("/delCommonFile")
+ public AjaxResult delCommonFile(@RequestBody Long[] ids) {
+ if (ids == null || ids.length == 0) {
+ return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
+ }
+ return toAjax(commonFileService.delCommonFileByIds(ids));
+ }
+}
diff --git a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
index ace01c0..fae38e5 100644
--- a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
+++ b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
@@ -1,20 +1,20 @@
package com.ruoyi.sales.controller;
-import java.util.*;
-import javax.servlet.http.HttpServletResponse;
-
import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.sales.dto.SalesLedgerDto;
-import com.ruoyi.sales.pojo.SalesLedger;
-import com.ruoyi.sales.service.ISalesLedgerFileService;
-import com.ruoyi.sales.service.ISalesLedgerService;
-import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.*;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.controller.BaseController;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.framework.web.page.TableDataInfo;
+import com.ruoyi.sales.dto.SalesLedgerDto;
+import com.ruoyi.sales.pojo.SalesLedger;
+import com.ruoyi.sales.service.ICommonFileService;
+import com.ruoyi.sales.service.ISalesLedgerService;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
/**
* 閿�鍞彴璐ontroller
@@ -29,7 +29,7 @@
private ISalesLedgerService salesLedgerService;
- private ISalesLedgerFileService salesLedgerFileService;
+ private ICommonFileService commonFileService;
/**
* 鏌ヨ閿�鍞彴璐﹀垪琛�
@@ -101,6 +101,6 @@
if (ids == null || ids.length == 0) {
return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
}
- return toAjax(salesLedgerFileService.deleteSalesLedgerByIds(ids));
+ return toAjax(commonFileService.deleteSalesLedgerByIds(ids));
}
}
diff --git a/src/main/java/com/ruoyi/sales/dto/SalesLedgerDto.java b/src/main/java/com/ruoyi/sales/dto/SalesLedgerDto.java
index af98858..1e79daa 100644
--- a/src/main/java/com/ruoyi/sales/dto/SalesLedgerDto.java
+++ b/src/main/java/com/ruoyi/sales/dto/SalesLedgerDto.java
@@ -1,7 +1,7 @@
package com.ruoyi.sales.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
-import com.ruoyi.sales.pojo.SalesLedgerFile;
+import com.ruoyi.sales.pojo.CommonFile;
import com.ruoyi.sales.pojo.SalesLedgerProduct;
import lombok.Data;
@@ -25,7 +25,7 @@
private Boolean hasChildren = false;
private List<SalesLedgerProduct> productData;
private List<String> tempFileIds;
- private List<SalesLedgerFile> SalesLedgerFiles;
+ private List<CommonFile> SalesLedgerFiles;
private Integer Type;
}
diff --git a/src/main/java/com/ruoyi/sales/mapper/CommonFileMapper.java b/src/main/java/com/ruoyi/sales/mapper/CommonFileMapper.java
new file mode 100644
index 0000000..fa2fc39
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/mapper/CommonFileMapper.java
@@ -0,0 +1,8 @@
+package com.ruoyi.sales.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.sales.pojo.CommonFile;
+
+public interface CommonFileMapper extends BaseMapper<CommonFile> {
+}
diff --git a/src/main/java/com/ruoyi/sales/mapper/SalesLedgerFileMapper.java b/src/main/java/com/ruoyi/sales/mapper/SalesLedgerFileMapper.java
deleted file mode 100644
index a5cf660..0000000
--- a/src/main/java/com/ruoyi/sales/mapper/SalesLedgerFileMapper.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package com.ruoyi.sales.mapper;
-
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.sales.pojo.SalesLedgerFile;
-
-public interface SalesLedgerFileMapper extends BaseMapper<SalesLedgerFile> {
-}
diff --git a/src/main/java/com/ruoyi/sales/pojo/SalesLedgerFile.java b/src/main/java/com/ruoyi/sales/pojo/CommonFile.java
similarity index 74%
rename from src/main/java/com/ruoyi/sales/pojo/SalesLedgerFile.java
rename to src/main/java/com/ruoyi/sales/pojo/CommonFile.java
index ace387a..77e8b7d 100644
--- a/src/main/java/com/ruoyi/sales/pojo/SalesLedgerFile.java
+++ b/src/main/java/com/ruoyi/sales/pojo/CommonFile.java
@@ -5,17 +5,21 @@
import java.time.LocalDateTime;
+/**
+ * 閫氱敤闄勪欢涓婁紶琛�
+ */
+
@Data
-@TableName("sales_ledger_file")
-public class SalesLedgerFile {
+@TableName("common_file")
+public class CommonFile {
private static final long serialVersionUID = 1L;
@TableId(type = IdType.AUTO)
private Long id;
- /** 閿�鍞彴璐D */
- private Long ledgerId;
+ /** 鍏宠仈琛ㄤ富閿瓺 */
+ private Long commonId;
/** 鏂囦欢鍚嶇О */
private String name;
@@ -23,6 +27,9 @@
/** 鏂囦欢璺緞 */
private String url;
+ /** 鍏宠仈琛� */
+ private String type;
+
/** 鍒涘缓鏃堕棿 */
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
diff --git a/src/main/java/com/ruoyi/sales/service/ICommonFileService.java b/src/main/java/com/ruoyi/sales/service/ICommonFileService.java
new file mode 100644
index 0000000..a00aa9c
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/service/ICommonFileService.java
@@ -0,0 +1,15 @@
+package com.ruoyi.sales.service;
+
+import com.ruoyi.sales.pojo.CommonFile;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+
+public interface ICommonFileService {
+
+ int deleteSalesLedgerByIds(Long[] ids);
+
+ CommonFile uploadFile(MultipartFile file, Long id, String type) throws IOException;
+
+ int delCommonFileByIds(Long[] ids);
+}
diff --git a/src/main/java/com/ruoyi/sales/service/ISalesLedgerFileService.java b/src/main/java/com/ruoyi/sales/service/ISalesLedgerFileService.java
deleted file mode 100644
index 4cbbeb5..0000000
--- a/src/main/java/com/ruoyi/sales/service/ISalesLedgerFileService.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.ruoyi.sales.service;
-
-public interface ISalesLedgerFileService {
-
- int deleteSalesLedgerByIds(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
new file mode 100644
index 0000000..ee45642
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/service/impl/CommonFileServiceImpl.java
@@ -0,0 +1,63 @@
+package com.ruoyi.sales.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.sales.mapper.CommonFileMapper;
+import com.ruoyi.sales.pojo.CommonFile;
+import com.ruoyi.sales.service.ICommonFileService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Arrays;
+import java.util.UUID;
+
+@Service
+@RequiredArgsConstructor
+public class CommonFileServiceImpl extends ServiceImpl<CommonFileMapper, CommonFile> implements ICommonFileService {
+
+ private final CommonFileMapper commonFileMapper;
+
+ @Value("${file.upload-dir}")
+ private String uploadDir;
+
+
+ @Override
+ public int deleteSalesLedgerByIds(Long[] ids) {
+ return commonFileMapper.deleteBatchIds(Arrays.asList(ids));
+ }
+
+ @Override
+ public CommonFile uploadFile(MultipartFile file, Long id, String type) throws IOException {
+ // 1. 鐢熸垚姝e紡鏂囦欢ID鍜岃矾寰�
+ String tempId = UUID.randomUUID().toString();
+ Path tempFilePath = Paths.get(uploadDir, tempId + "_" + file.getOriginalFilename());
+
+ // 2. 纭繚鐩綍瀛樺湪
+ Path parentDir = tempFilePath.getParent();
+ if (parentDir != null) {
+ Files.createDirectories(parentDir); // 閫掑綊鍒涘缓鐩綍
+ }
+
+ // 3. 淇濆瓨鏂囦欢鍒扮洰褰�
+ file.transferTo(tempFilePath.toFile());
+
+ // 4. 淇濆瓨鏂囦欢璁板綍
+ CommonFile commonFile = new CommonFile();
+ commonFile.setCommonId(id);
+ commonFile.setName(file.getOriginalFilename());
+ commonFile.setUrl(tempFilePath.toString());
+ commonFile.setType(type);
+ commonFileMapper.insert(commonFile);
+ return commonFile;
+ }
+
+ @Override
+ public int delCommonFileByIds(Long[] ids) {
+ return commonFileMapper.deleteBatchIds(Arrays.asList(ids));
+ }
+}
diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerFileServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerFileServiceImpl.java
deleted file mode 100644
index 41b82d1..0000000
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerFileServiceImpl.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.ruoyi.sales.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.sales.mapper.SalesLedgerFileMapper;
-import com.ruoyi.sales.pojo.SalesLedgerFile;
-import com.ruoyi.sales.service.ISalesLedgerFileService;
-import lombok.AllArgsConstructor;
-import org.springframework.stereotype.Service;
-
-import java.util.Arrays;
-
-@Service
-@AllArgsConstructor
-public class SalesLedgerFileServiceImpl extends ServiceImpl<SalesLedgerFileMapper, SalesLedgerFile> implements ISalesLedgerFileService {
-
- private SalesLedgerFileMapper salesLedgerFileMapper;
-
- @Override
- public int deleteSalesLedgerByIds(Long[] ids) {
- return salesLedgerFileMapper.deleteBatchIds(Arrays.asList(ids));
- }
-}
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 777bbb4..988410d 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -12,11 +12,11 @@
import com.ruoyi.other.mapper.TempFileMapper;
import com.ruoyi.other.pojo.TempFile;
import com.ruoyi.sales.dto.SalesLedgerDto;
-import com.ruoyi.sales.mapper.SalesLedgerFileMapper;
+import com.ruoyi.sales.mapper.CommonFileMapper;
import com.ruoyi.sales.mapper.SalesLedgerMapper;
import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
+import com.ruoyi.sales.pojo.CommonFile;
import com.ruoyi.sales.pojo.SalesLedger;
-import com.ruoyi.sales.pojo.SalesLedgerFile;
import com.ruoyi.sales.pojo.SalesLedgerProduct;
import com.ruoyi.sales.service.ISalesLedgerService;
import lombok.RequiredArgsConstructor;
@@ -58,7 +58,7 @@
private final SalesLedgerProductMapper salesLedgerProductMapper;
- private final SalesLedgerFileMapper salesLedgerFileMapper;
+ private final CommonFileMapper commonFileMapper;
private final TempFileMapper tempFileMapper;
@@ -93,9 +93,9 @@
List<SalesLedgerProduct> products = salesLedgerProductMapper.selectList(productWrapper);
// 3.鏌ヨ涓婁紶鏂囦欢
- LambdaQueryWrapper<SalesLedgerFile> salesLedgerFileWrapper = new LambdaQueryWrapper<>();
- salesLedgerFileWrapper.eq(SalesLedgerFile::getLedgerId, salesLedger.getId());
- List<SalesLedgerFile> salesLedgerFiles = salesLedgerFileMapper.selectList(salesLedgerFileWrapper);
+ LambdaQueryWrapper<CommonFile> salesLedgerFileWrapper = new LambdaQueryWrapper<>();
+ salesLedgerFileWrapper.eq(CommonFile::getCommonId, salesLedger.getId());
+ List<CommonFile> salesLedgerFiles = commonFileMapper.selectList(salesLedgerFileWrapper);
// 4. 杞崲 DTO
SalesLedgerDto resultDto = new SalesLedgerDto();
@@ -266,12 +266,13 @@
log.info("鏂囦欢杩佺Щ鎴愬姛: {} -> {}", tempFile.getTempPath(), formalFilePath);
// 鏇存柊鏂囦欢璁板綍锛堝叧鑱斿埌涓氬姟ID锛�
- SalesLedgerFile fileRecord = new SalesLedgerFile();
- fileRecord.setLedgerId(businessId);
+ CommonFile fileRecord = new CommonFile();
+ fileRecord.setCommonId(businessId);
fileRecord.setName(originalFilename);
fileRecord.setUrl(formalFilePath.toString());
fileRecord.setCreateTime(LocalDateTime.now());
- salesLedgerFileMapper.insert(fileRecord);
+ fileRecord.setType("1");
+ commonFileMapper.insert(fileRecord);
// 鍒犻櫎涓存椂鏂囦欢璁板綍
tempFileMapper.deleteById(tempFile);
--
Gitblit v1.9.3