From d09f76ca1ffd2ab091c14327b8e50d92dfa1df7e Mon Sep 17 00:00:00 2001 From: yaowanxin <3588231647@qq.com> Date: 星期三, 27 八月 2025 09:49:50 +0800 Subject: [PATCH] 新增应收,台账,改变文件上传方式 --- main-business/src/main/java/com/ruoyi/business/dto/ReceiptPaymentDto.java | 22 +++ main-business/src/main/java/com/ruoyi/business/other/service/impl/TempFileServiceImpl.java | 4 main-business/src/main/java/com/ruoyi/business/entity/ReceiptPayment.java | 64 +++++++++ main-business/src/main/java/com/ruoyi/business/controller/ReceiptPaymentController.java | 83 +++++++++++ main-business/src/main/resources/mapper/ReceiptPaymentMapper.xml | 61 ++++++++ main-business/src/main/java/com/ruoyi/business/service/ReceiptPaymentService.java | 54 +++++++ main-business/src/main/java/com/ruoyi/business/service/impl/ReceiptPaymentServiceImpl.java | 87 ++++++++++++ main-business/src/main/java/com/ruoyi/business/mapper/ReceiptPaymentMapper.java | 39 +++++ 8 files changed, 412 insertions(+), 2 deletions(-) diff --git a/main-business/src/main/java/com/ruoyi/business/controller/ReceiptPaymentController.java b/main-business/src/main/java/com/ruoyi/business/controller/ReceiptPaymentController.java new file mode 100644 index 0000000..da6322b --- /dev/null +++ b/main-business/src/main/java/com/ruoyi/business/controller/ReceiptPaymentController.java @@ -0,0 +1,83 @@ +package com.ruoyi.business.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import com.ruoyi.business.dto.ReceiptPaymentDto; +import com.ruoyi.business.entity.ReceiptPayment; +import com.ruoyi.business.service.ReceiptPaymentService; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +@RestController +@RequestMapping("/receiptPayment") +public class ReceiptPaymentController extends BaseController { + + @Autowired + private ReceiptPaymentService receiptPaymentService; + + /** + * 搴旀敹鍙拌处鏂板 + * @param receiptPayment + * @return + */ + @PostMapping("/saveOrUpdate") + public AjaxResult receiptPaymentSaveOrUpdate (@RequestBody ReceiptPayment receiptPayment) { + receiptPaymentService.receiptPaymentSaveOrUpdate(receiptPayment); + return AjaxResult.success(); + } + + /** + * 搴旀敹鍙拌处淇敼 + * @param receiptPayment + * @return + */ + @PostMapping("/update") + public AjaxResult receiptPaymentUpdate (@RequestBody ReceiptPayment receiptPayment) { + return AjaxResult.success(receiptPaymentService.receiptPaymentUpdate(receiptPayment)); + } + + /** + * 搴旀敹鍙拌处鍒犻櫎 + * @param ids + * @return + */ + @DeleteMapping("/del") + public AjaxResult receiptPaymentDel (@RequestBody List<Integer> ids) { + return AjaxResult.success(receiptPaymentService.receiptPaymentDel(ids)); + } + + /** + * 搴旀敹鍙拌处璇︽儏 + * @param id + * @return + */ + @GetMapping("/invoiceInfo") + public AjaxResult invoiceInfo (Integer id) { + return AjaxResult.success(receiptPaymentService.invoiceInfo(id)); + } + + /** + * 鏌ヨ搴旀敹璁板綍 + */ + @GetMapping("/receiptPaymentHistoryListPage") + public IPage<ReceiptPaymentDto> receiptPaymentHistoryListPage(Page page, ReceiptPaymentDto receiptPaymentDto) { + return receiptPaymentService.receiptPaymentHistoryListPage(page,receiptPaymentDto); + } + + /** + * 鏌ヨ搴旀敹璁板綍涓嶅垎椤� + */ + @GetMapping("/receiptPaymentHistoryListNoPage") + public List<ReceiptPaymentDto> receiptPaymentHistoryListNoPage(ReceiptPaymentDto receiptPaymentDto) { + return receiptPaymentService.receiptPaymentHistoryListNoPage(receiptPaymentDto); + } +} diff --git a/main-business/src/main/java/com/ruoyi/business/dto/ReceiptPaymentDto.java b/main-business/src/main/java/com/ruoyi/business/dto/ReceiptPaymentDto.java new file mode 100644 index 0000000..f211c0c --- /dev/null +++ b/main-business/src/main/java/com/ruoyi/business/dto/ReceiptPaymentDto.java @@ -0,0 +1,22 @@ +package com.ruoyi.business.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.ruoyi.business.entity.ReceiptPayment; +import com.ruoyi.common.annotation.Excel; +import lombok.Data; + +@Data +public class ReceiptPaymentDto extends ReceiptPayment { + @Excel(name = "瀹㈡埛") + private String customer; + @Excel(name = "鐓ょ") + private String coal; + + @TableField(exist = false) + @Excel(isExport = false) + private String receiptPaymentDateStart; + @TableField(exist = false) + @Excel(isExport = false) + private String receiptPaymentDateEnd; + +} diff --git a/main-business/src/main/java/com/ruoyi/business/entity/ReceiptPayment.java b/main-business/src/main/java/com/ruoyi/business/entity/ReceiptPayment.java new file mode 100644 index 0000000..4fcddae --- /dev/null +++ b/main-business/src/main/java/com/ruoyi/business/entity/ReceiptPayment.java @@ -0,0 +1,64 @@ +package com.ruoyi.business.entity; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; + +@Data +@TableName("receipt_payment") +public class ReceiptPayment { + + /** + * 搴忓彿 + */ + @TableId(type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value = "鍥炴褰㈠紡 0鐢垫眹1鎵垮厬") + private String receiptPaymentType; + + @ApiModelProperty(value = "搴旀敹閲戦") + private BigDecimal receiptPaymentAmount; + + @ApiModelProperty(value = "鐧昏浜�") + private String registrant; + + @ApiModelProperty(value = "閿�鍞褰曡〃涓婚敭ID") + private Integer salesRecordId; + + @ApiModelProperty(value = "鏉ユ鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate receiptPaymentDate; + + @ApiModelProperty(value = "鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty(value = "淇敼鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty(value = "淇敼鐢ㄦ埛") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty(value = "绉熸埛ID") + @TableField(fill = FieldFill.INSERT) + private Long tenantId; + +} diff --git a/main-business/src/main/java/com/ruoyi/business/mapper/ReceiptPaymentMapper.java b/main-business/src/main/java/com/ruoyi/business/mapper/ReceiptPaymentMapper.java new file mode 100644 index 0000000..e44fe20 --- /dev/null +++ b/main-business/src/main/java/com/ruoyi/business/mapper/ReceiptPaymentMapper.java @@ -0,0 +1,39 @@ +package com.ruoyi.business.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import com.ruoyi.business.dto.ReceiptPaymentDto; +import com.ruoyi.business.dto.SalesRecordDto; +import com.ruoyi.business.entity.ReceiptPayment; +import org.apache.ibatis.annotations.Param; + +import java.math.BigDecimal; +import java.util.List; + +public interface ReceiptPaymentMapper extends BaseMapper<ReceiptPayment> { + + /** + * 鏌ヨ宸茬粡缁戝畾鍙戠エ鐨勫紑绁ㄥ彴璐� + * @param page + * @param receiptPaymentDto + * @return + */ + IPage<ReceiptPaymentDto> bindInvoiceNoRegPage(Page page, @Param("receiptPaymentDto") ReceiptPaymentDto receiptPaymentDto); + + /** + * 寮�绁ㄥ彴璐﹁鎯� + * @param id + * @return + */ + SalesRecordDto invoiceInfo(Integer id); + + + + /** + * 鏌ヨ鍥炴璁板綍涓嶅垎椤� + */ + List<ReceiptPaymentDto> receiptPaymentHistoryListNoPage( @Param("params") ReceiptPaymentDto receiptPaymentDto); + +} diff --git a/main-business/src/main/java/com/ruoyi/business/other/service/impl/TempFileServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/other/service/impl/TempFileServiceImpl.java index b024478..4258116 100644 --- a/main-business/src/main/java/com/ruoyi/business/other/service/impl/TempFileServiceImpl.java +++ b/main-business/src/main/java/com/ruoyi/business/other/service/impl/TempFileServiceImpl.java @@ -38,10 +38,10 @@ @Autowired private CommonFileMapper commonFileMapper; - @Value("${file.upload-dir}") +// @Value("${file.upload-dir}") private String uploadDir; - @Value("${file.temp-dir}") +// @Value("${file.temp-dir}") private String tempDir; // 涓婁紶鍒颁复鏃剁洰褰� diff --git a/main-business/src/main/java/com/ruoyi/business/service/ReceiptPaymentService.java b/main-business/src/main/java/com/ruoyi/business/service/ReceiptPaymentService.java new file mode 100644 index 0000000..2637915 --- /dev/null +++ b/main-business/src/main/java/com/ruoyi/business/service/ReceiptPaymentService.java @@ -0,0 +1,54 @@ +package com.ruoyi.business.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.business.dto.ReceiptPaymentDto; +import com.ruoyi.business.dto.SalesRecordDto; +import com.ruoyi.business.entity.ReceiptPayment; +import jakarta.servlet.http.HttpServletResponse; + +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; + +public interface ReceiptPaymentService { + + /** + * 鍥炴鐧昏鏂板 + * @param receiptPayment + * @return + */ + int receiptPaymentSaveOrUpdate(ReceiptPayment receiptPayment); + + /** + * 鍥炴鐧昏淇敼 + * @param receiptPayment + * @return + */ + int receiptPaymentUpdate(ReceiptPayment receiptPayment); + + /** + * 鍥炴鐧昏鍒犻櫎 + * @param ids + * @return + */ + int receiptPaymentDel(List<Integer> ids); + + /** + * 寮�绁ㄥ彴璐﹁鎯� + * @param id + * @return + */ + SalesRecordDto invoiceInfo(Integer id); + + /** + * 鏌ヨ鍥炴璁板綍鍒嗛〉 + */ + IPage<ReceiptPaymentDto> receiptPaymentHistoryListPage(Page page, ReceiptPaymentDto receiptPaymentDto); + + /** + * 鏌ヨ鍥炴璁板綍涓嶅垎椤� + */ + List<ReceiptPaymentDto> receiptPaymentHistoryListNoPage(ReceiptPaymentDto receiptPaymentDto); + +} diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/ReceiptPaymentServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/ReceiptPaymentServiceImpl.java new file mode 100644 index 0000000..6fd62c3 --- /dev/null +++ b/main-business/src/main/java/com/ruoyi/business/service/impl/ReceiptPaymentServiceImpl.java @@ -0,0 +1,87 @@ +package com.ruoyi.business.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.business.dto.ReceiptPaymentDto; +import com.ruoyi.business.dto.SalesRecordDto; +import com.ruoyi.business.entity.ReceiptPayment; +import com.ruoyi.business.entity.SalesRecord; +import com.ruoyi.business.mapper.ReceiptPaymentMapper; +import com.ruoyi.business.mapper.SalesRecordMapper; +import com.ruoyi.business.service.ReceiptPaymentService; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import org.springframework.util.ObjectUtils; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.YearMonth; +import java.util.*; +import java.util.stream.Collectors; + +@Service +public class ReceiptPaymentServiceImpl extends ServiceImpl<ReceiptPaymentMapper, ReceiptPayment> implements ReceiptPaymentService { + + @Autowired + private ReceiptPaymentMapper receiptPaymentMapper; + @Autowired + private SalesRecordMapper salesRecordMapper; + + /** + * 鍥炴鐧昏鏂板 + * @param receiptPayment + * @return + */ + @Override + public int receiptPaymentSaveOrUpdate(ReceiptPayment receiptPayment) { + SalesRecord salesRecord = salesRecordMapper.selectById(receiptPayment.getSalesRecordId()); + if (ObjectUtils.isEmpty(salesRecord)){ + throw new RuntimeException("閿�鍞褰曚笉瀛樺湪"); + } + return receiptPaymentMapper.insert(receiptPayment); + } + + /** + * 鍥炴鐧昏淇敼 + * @param receiptPayment + * @return + */ + @Override + public int receiptPaymentUpdate(ReceiptPayment receiptPayment) { + return receiptPaymentMapper.updateById(receiptPayment); + } + + /** + * 鍥炴鐧昏鍒犻櫎 + * @param ids + * @return + */ + @Override + public int receiptPaymentDel(List<Integer> ids) { + LambdaQueryWrapper<ReceiptPayment> delQuery = new LambdaQueryWrapper<>(); + delQuery.in(ReceiptPayment::getId, ids); + return receiptPaymentMapper.delete(delQuery); + } + + @Override + public SalesRecordDto invoiceInfo(Integer id) { + return receiptPaymentMapper.invoiceInfo(id); + } + + @Override + public IPage<ReceiptPaymentDto> receiptPaymentHistoryListPage(Page page, ReceiptPaymentDto receiptPaymentDto) { + return receiptPaymentMapper.bindInvoiceNoRegPage(page, receiptPaymentDto); + } + + @Override + public List<ReceiptPaymentDto> receiptPaymentHistoryListNoPage(ReceiptPaymentDto receiptPaymentDto) { + return receiptPaymentMapper.receiptPaymentHistoryListNoPage(receiptPaymentDto); + } + +} diff --git a/main-business/src/main/resources/mapper/ReceiptPaymentMapper.xml b/main-business/src/main/resources/mapper/ReceiptPaymentMapper.xml new file mode 100644 index 0000000..f2ce721 --- /dev/null +++ b/main-business/src/main/resources/mapper/ReceiptPaymentMapper.xml @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.ruoyi.business.mapper.ReceiptPaymentMapper"> + + <select id="invoiceInfo" resultType="com.ruoyi.business.dto.SalesRecordDto"> + SELECT + T1.*, + T3.coal + FROM + sales_record T1 + LEFT JOIN customer T2 ON T1.customer_id = T2.id + LEFT JOIN coal_info T3 ON T1.coal_id = T3.id + WHERE T1.id = #{id} + </select> + <select id="bindInvoiceNoRegPage" resultType="com.ruoyi.business.dto.ReceiptPaymentDto"> + SELECT + T1.*, + T2.customer, + T3.coal + FROM + receipt_payment T1 + LEFT JOIN sales_record T2 ON T1.sales_record_id = T2.id + LEFT JOIN coal_info T3 ON T2.coal_id = T3.id + where 1=1 + <if test="receiptPaymentDto.customer != null and receiptPaymentDto.customer != ''"> + and T2.customer like concat('%',#{receiptPaymentDto.customer},'%') + </if> + <if test="receiptPaymentDto.coal != null and receiptPaymentDto.coal != ''"> + and T3.coal like concat('%',#{receiptPaymentDto.coal},'%') + </if> + <if test="receiptPaymentDto.receiptPaymentDateStart != null and receiptPaymentDto.receiptPaymentDateEnd != ''"> + and T1.receipt_payment_date between to_timestamp(#{receiptPaymentDto.receiptPaymentDateStart}, 'yyyy-MM-dd HH24:mi:ss') AND + to_timestamp(#{receiptPaymentDto.receiptPaymentDateEnd}, 'yyyy-MM-dd HH24:mi:ss') + </if> + </select> + <select id="receiptPaymentHistoryListNoPage" resultType="com.ruoyi.business.dto.ReceiptPaymentDto"> + SELECT + T1.*, + T2.customer, + T3.coal + FROM + receipt_payment T1 + LEFT JOIN sales_record T2 ON T1.sales_record_id = T2.id + LEFT JOIN coal_info T3 ON T2.coal_id = T3.id + where 1=1 + <if test="receiptPaymentDto.customer != null and receiptPaymentDto.customer != ''"> + and T2.customer like concat('%',#{receiptPaymentDto.customer},'%') + </if> + <if test="receiptPaymentDto.coal != null and receiptPaymentDto.coal != ''"> + and T3.coal like concat('%',#{receiptPaymentDto.coal},'%') + </if> + <if test="receiptPaymentDto.receiptPaymentDateStart != null and receiptPaymentDto.receiptPaymentDateEnd != ''"> + and T1.receipt_payment_date between to_timestamp(#{receiptPaymentDto.receiptPaymentDateStart}, 'yyyy-MM-dd HH24:mi:ss') AND + to_timestamp(#{receiptPaymentDto.receiptPaymentDateEnd}, 'yyyy-MM-dd HH24:mi:ss') + </if> + </select> + + +</mapper> \ No newline at end of file -- Gitblit v1.9.3