From e1b5e5a884384d2b2058c9e02efe626e4f9675b4 Mon Sep 17 00:00:00 2001 From: liyong <18434998025@163.com> Date: 星期一, 14 七月 2025 13:02:52 +0800 Subject: [PATCH] 采购台账-付款登记查询、修改、删除 付款流水信息 --- src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java | 17 +++++ src/main/java/com/ruoyi/purchase/service/IPaymentRegistrationService.java | 2 src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java | 7 ++ src/main/java/com/ruoyi/purchase/mapper/PurchaseLedgerMapper.java | 4 + src/main/java/com/ruoyi/purchase/service/ITicketRegistrationService.java | 3 + src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml | 19 ++++++ src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java | 35 +++++++++++ src/main/resources/mapper/purchase/InvoicePurchaseMapper.xml | 35 ++++++----- 8 files changed, 104 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java b/src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java index 0f2d5f4..ab38808 100644 --- a/src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java +++ b/src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java @@ -8,17 +8,22 @@ 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.PaymentRegistrationDto; import com.ruoyi.purchase.dto.ProductRecordDto; import com.ruoyi.purchase.dto.TicketRegistrationDto; +import com.ruoyi.purchase.pojo.PaymentRegistration; import com.ruoyi.purchase.pojo.ProductRecord; import com.ruoyi.purchase.pojo.TicketRegistration; +import com.ruoyi.purchase.service.IPaymentRegistrationService; import com.ruoyi.purchase.service.IProductRecordService; import com.ruoyi.purchase.service.ITicketRegistrationService; +import com.ruoyi.purchase.service.impl.PaymentRegistrationServiceImpl; 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.beans.factory.annotation.Autowired; import org.springframework.security.core.parameters.P; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; @@ -40,11 +45,15 @@ @Api(tags = "鏉ョエ鐧昏") public class TicketRegistrationController extends BaseController { + private final PaymentRegistrationServiceImpl paymentRegistrationServiceImpl; private ITicketRegistrationService ticketRegistrationService; private ICommonFileService commonFileService; private IProductRecordService productRecordService; + + @Autowired + private IPaymentRegistrationService paymentRegistrationService; /** * 鏌ヨ鏉ョエ鐧昏鍒楄〃 @@ -56,6 +65,32 @@ return getDataTable(list); } + @ApiOperation("鏍规嵁id鏌ヨ浠樻娴佹按淇℃伅") + @GetMapping("/getById") + public List<PaymentRegistrationDto> getById( Long id ) { + return ticketRegistrationService.getPaymentRegistrationDtoById(id); + } + + @ApiOperation("鏍规嵁id鏌ヨ浠樻娴佹按") + @GetMapping("/getPaymentRegistrationById") + public AjaxResult getPaymentRegistrationById(Long id) { + PaymentRegistration byId = paymentRegistrationService.getById(id); + return AjaxResult.success(byId); + } + + @ApiOperation("淇敼浠樻娴佹按") + @PutMapping("/updatePaymentRegistration") + @Log(title = "淇敼浠樻娴佹按", businessType = BusinessType.UPDATE) + public AjaxResult updatePaymentRegistration(@RequestBody PaymentRegistration paymentRegistratio) { + return AjaxResult.success(paymentRegistrationService.updatePaymentRegistration(paymentRegistratio)); + } + + @ApiOperation("鍒犻櫎浠樻娴佹按") + @DeleteMapping("/delPaymentRegistration") + public AjaxResult delPaymentRegistration(@RequestBody Long id) { + return toAjax(paymentRegistrationService.delPaymentRegistration(id)); + } + /** * 瀵煎嚭鏉ョエ鐧昏鍒楄〃 */ diff --git a/src/main/java/com/ruoyi/purchase/mapper/PurchaseLedgerMapper.java b/src/main/java/com/ruoyi/purchase/mapper/PurchaseLedgerMapper.java index 0713f6c..da04f8d 100644 --- a/src/main/java/com/ruoyi/purchase/mapper/PurchaseLedgerMapper.java +++ b/src/main/java/com/ruoyi/purchase/mapper/PurchaseLedgerMapper.java @@ -3,11 +3,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.ruoyi.purchase.dto.PaymentRegistrationDto; import com.ruoyi.purchase.dto.PurchaseLedgerDto; import com.ruoyi.purchase.pojo.PurchaseLedger; import org.apache.ibatis.annotations.Param; import java.math.BigDecimal; +import java.util.List; /** * 閲囪喘鍙拌处Mapper鎺ュ彛 @@ -20,4 +22,6 @@ int updateContractAmountById(@Param("id") Long id, @Param("totalTaxInclusiveAmount") BigDecimal totalTaxInclusiveAmount); IPage<PurchaseLedgerDto> selectPurchaseLedgerListPage(IPage ipage, @Param("c") PurchaseLedgerDto purchaseLedger); + + List<PaymentRegistrationDto> getPaymentRegistrationDtoById(Long id); } diff --git a/src/main/java/com/ruoyi/purchase/service/IPaymentRegistrationService.java b/src/main/java/com/ruoyi/purchase/service/IPaymentRegistrationService.java index 9001e16..c975099 100644 --- a/src/main/java/com/ruoyi/purchase/service/IPaymentRegistrationService.java +++ b/src/main/java/com/ruoyi/purchase/service/IPaymentRegistrationService.java @@ -97,4 +97,6 @@ IPage<PaymentRegistrationDto> paymentHistoryListPage(Page page, PaymentRegistrationDto paymentRegistrationDto); Boolean delete(Long[] ids); + + int delPaymentRegistration(Long ids); } diff --git a/src/main/java/com/ruoyi/purchase/service/ITicketRegistrationService.java b/src/main/java/com/ruoyi/purchase/service/ITicketRegistrationService.java index 2ad75e7..6c1cf5b 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.PaymentRegistrationDto; import com.ruoyi.purchase.dto.PurchaseLedgerDto; import com.ruoyi.purchase.dto.TicketRegistrationDto; import com.ruoyi.purchase.pojo.TicketRegistration; @@ -31,4 +32,6 @@ IPage<TicketRegistration> selectTicketRegistrationListPage(Page page, TicketRegistration ticketRegistration); PurchaseLedgerDto getPuargeById(Long id); + + List<PaymentRegistrationDto> getPaymentRegistrationDtoById(Long id); } diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java index dad32cb..30e838f 100644 --- a/src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java +++ b/src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java @@ -138,7 +138,9 @@ */ @Override public int updatePaymentRegistration(PaymentRegistration paymentRegistration) { - TicketRegistration ticketRegistration = ticketRegistrationMapper.selectById(paymentRegistration.getTicketRegistrationId()); + PaymentRegistration paymentRegistration1 = paymentRegistrationMapper.selectById(paymentRegistration.getId()); + + TicketRegistration ticketRegistration = ticketRegistrationMapper.selectById(paymentRegistration.getTicketRegistrationId()==null?paymentRegistration1.getTicketRegistrationId():paymentRegistration.getTicketRegistrationId()); List<PaymentRegistration> paymentRegistrations = paymentRegistrationMapper.selectList(new QueryWrapper<PaymentRegistration>() .eq("ticket_registration_id", paymentRegistration.getTicketRegistrationId()).ne("id", paymentRegistration.getId())); @@ -449,6 +451,19 @@ return true; } + @Override + public int delPaymentRegistration(Long id) { +// PaymentRegistration paymentRegistration = paymentRegistrationMapper.selectById(id); +// TicketRegistration ticketRegistration = ticketRegistrationMapper.selectById(paymentRegistration.getTicketRegistrationId()); +// if (ticketRegistration != null) { +// ticketRegistration.setPaymentAmountTotal(ticketRegistration.getPaymentAmountTotal().subtract(paymentRegistration.getCurrentPaymentAmount())); +// ticketRegistration.setUnPaymentAmountTotal(ticketRegistration.getUnPaymentAmountTotal().add(paymentRegistration.getCurrentPaymentAmount())); +// ticketRegistrationMapper.updateById(ticketRegistration); +// } + + return paymentRegistrationMapper.deleteById(id); + } + // 鎵归噺鏌ヨ閲囪喘鍙拌处锛堝綋鏈堬級 private Map<Long, List<PurchaseLedger>> batchQueryPurchaseLedgers(List<Long> supplierIds, LocalDate startDate, LocalDate endDate) { LambdaQueryWrapper<PurchaseLedger> query = new LambdaQueryWrapper<>(); 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 b01fdc2..4c85afb 100644 --- a/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java +++ b/src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java @@ -30,7 +30,6 @@ 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; @@ -376,6 +375,12 @@ return purchaseLedgerDto; } + @Override + public List<PaymentRegistrationDto> getPaymentRegistrationDtoById(Long id) { + List<PaymentRegistrationDto> paymentRegistrationDtos =purchaseLedgerMapper.getPaymentRegistrationDtoById(id); + return paymentRegistrationDtos; + } + private void handleSalesLedgerProducts(Long salesLedgerId, List<SalesLedgerProduct> products, Integer type) { if (products == null || products.isEmpty()) { return; diff --git a/src/main/resources/mapper/purchase/InvoicePurchaseMapper.xml b/src/main/resources/mapper/purchase/InvoicePurchaseMapper.xml index fe0b44c..3d91391 100644 --- a/src/main/resources/mapper/purchase/InvoicePurchaseMapper.xml +++ b/src/main/resources/mapper/purchase/InvoicePurchaseMapper.xml @@ -6,23 +6,26 @@ <select id="selectPurchaseReport" resultType="com.ruoyi.purchase.dto.InvoicePurchaseReportDto"> - select sl.customer_contract_no, - sl.customer_name, - sl.project_name, - sl.contract_amount, - pl.contract_amount as purchase_amount, - sum(slp.tax_exclusive_total_price) as sale_tax_exclusive_total_price, - sum(pr.tax_exclusive_total_price) as tax_exclusive_total_price, - (sl.contract_amount-pl.contract_amount) as balance, - CONCAT(FORMAT((sl.contract_amount - pl.contract_amount) / sl.contract_amount * 100, 2), '%') AS balance_ratio, - sl.contract_amount-sum(slp.tax_exclusive_total_price)-(pl.contract_amount-sum(pr.tax_exclusive_total_price)) as balance_amount + select A.*, + FORMAT(A.contract_amount-A.sale_tax_exclusive_total_price-A.purchase_amount+A.tax_exclusive_total_price,2) as balance_amount + from (select sl.customer_contract_no, + sl.id, + pl.id as pl_id, + sl.customer_name, + sl.project_name, + sl.contract_amount, + pl.contract_amount as purchase_amount, + sum(slp.tax_exclusive_total_price) /count(slp.id) as sale_tax_exclusive_total_price, + sum(slp1.tax_exclusive_total_price) as tax_exclusive_total_price, + (sl.contract_amount - pl.contract_amount) as balance, + CONCAT(FORMAT((sl.contract_amount - pl.contract_amount) / sl.contract_amount * 100, 2), + '%') AS balance_ratio from purchase_ledger pl - left join sales_ledger sl on pl.sales_ledger_id = sl.id - left join product_record pr on pr.purchase_ledger_id = pl.id - left join sales_ledger_product slp on slp.sales_ledger_id = sl.id - - group by sl.customer_contract_no, sl.customer_name, sl.project_name, sl.contract_amount, pl.contract_amount - having sl.customer_contract_no is not null + left join sales_ledger sl on pl.sales_ledger_id = sl.id + left join sales_ledger_product slp on slp.sales_ledger_id = sl.id and slp.type = 1 + left join sales_ledger_product slp1 on slp1.sales_ledger_id = pl.id and slp1.type = 2 + group by sl.customer_contract_no, sl.customer_name, sl.project_name, sl.contract_amount, pl.contract_amount,sl.id,pl.id + having sl.customer_contract_no is not null) A <where> <if test="c.customerName != null and c.customerName != ''"> and sl.customer_name like concat('%',#{c.customerName},'%') diff --git a/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml b/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml index 7c0755d..3fed962 100644 --- a/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml +++ b/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml @@ -35,4 +35,23 @@ pl.contract_amount </select> + <select id="getPaymentRegistrationDtoById" resultType="com.ruoyi.purchase.dto.PaymentRegistrationDto"> + SELECT + T1.id, + T1.payment_date, + T2.supplier_name, + T1.current_payment_amount, + T1.payment_method, + T3.nick_name AS registrant, + T1.registrationt_date + FROM + payment_registration T1 + LEFT JOIN + supplier_manage T2 ON T1.supplier_id = T2.id + LEFT JOIN + sys_user T3 ON T3.user_id = T1.registrant_id + left join ticket_registration T4 on T1.ticket_registration_id = T4.id + WHERE + T4.id = #{id} + </select> </mapper> \ No newline at end of file -- Gitblit v1.9.3