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