From e1ab708f43c6d3bb48ccb048f953e9ef759790ec Mon Sep 17 00:00:00 2001 From: liyong <18434998025@163.com> Date: 星期一, 07 七月 2025 16:06:08 +0800 Subject: [PATCH] 2025-07-03 来票台账可修改 --- src/main/java/com/ruoyi/purchase/service/IProductRecordService.java | 5 ++ src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java | 38 ++++++++++++++++++- src/main/resources/mapper/purchase/ProductRecordMapper.xml | 20 ++++++++++ src/main/java/com/ruoyi/purchase/mapper/ProductRecordMapper.java | 2 + src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java | 10 ++++- 5 files changed, 71 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java b/src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java index 40ec673..1791d23 100644 --- a/src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java +++ b/src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java @@ -83,11 +83,17 @@ return toAjax(ticketRegistrationService.addOrUpdateRegistration(ticketRegistrationDto)); } + + @GetMapping("/getProductRecordById") + public AjaxResult getProductRecordById(Long id) { + return AjaxResult.success(productRecordService.getProductRecordById(id)); + } + @ApiModelProperty("淇敼鏉ョエ鐧昏") @PostMapping("/updateRegistration") - public AjaxResult updateRegistration(@RequestBody TicketRegistrationDto ticketRegistrationDto) { + public AjaxResult updateRegistration(@RequestBody ProductRecordDto productRecordDto) { - return AjaxResult.success(); + return productRecordService.updateRecord(productRecordDto); } /** diff --git a/src/main/java/com/ruoyi/purchase/mapper/ProductRecordMapper.java b/src/main/java/com/ruoyi/purchase/mapper/ProductRecordMapper.java index fb691ed..9d003ba 100644 --- a/src/main/java/com/ruoyi/purchase/mapper/ProductRecordMapper.java +++ b/src/main/java/com/ruoyi/purchase/mapper/ProductRecordMapper.java @@ -17,4 +17,6 @@ public interface ProductRecordMapper extends BaseMapper<ProductRecord> { IPage<ProductRecordDto> productRecordPage(Page page, @Param("c") TicketRegistrationDto ticketRegistrationDto); + + ProductRecordDto getProductRecordById(Long id); } diff --git a/src/main/java/com/ruoyi/purchase/service/IProductRecordService.java b/src/main/java/com/ruoyi/purchase/service/IProductRecordService.java index 235f096..2fa21ca 100644 --- a/src/main/java/com/ruoyi/purchase/service/IProductRecordService.java +++ b/src/main/java/com/ruoyi/purchase/service/IProductRecordService.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.framework.web.domain.AjaxResult; import com.ruoyi.purchase.dto.ProductRecordDto; import com.ruoyi.purchase.dto.TicketRegistrationDto; import com.ruoyi.purchase.pojo.ProductRecord; @@ -20,4 +21,8 @@ List<ProductRecord> selectProductRecordList(TicketRegistrationDto ticketRegistrationDto); IPage<ProductRecordDto> productRecordPage(Page page, TicketRegistrationDto ticketRegistrationDto); + + AjaxResult updateRecord(ProductRecordDto productRecordDto); + + ProductRecordDto getProductRecordById(Long id); } 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 ee393d0..fd9752b 100644 --- a/src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java +++ b/src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java @@ -5,15 +5,21 @@ 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.framework.web.domain.AjaxResult; import com.ruoyi.purchase.dto.ProductRecordDto; import com.ruoyi.purchase.dto.TicketRegistrationDto; import com.ruoyi.purchase.mapper.ProductRecordMapper; +import com.ruoyi.purchase.mapper.PurchaseLedgerMapper; import com.ruoyi.purchase.pojo.ProductRecord; +import com.ruoyi.purchase.pojo.PurchaseLedger; import com.ruoyi.purchase.service.IProductRecordService; import com.ruoyi.sales.mapper.CommonFileMapper; +import com.ruoyi.sales.mapper.SalesLedgerProductMapper; import com.ruoyi.sales.pojo.CommonFile; +import com.ruoyi.sales.pojo.SalesLedgerProduct; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -34,8 +40,10 @@ @Autowired private CommonFileMapper commonFileMapper; - - + @Autowired + private SalesLedgerProductMapper salesLedgerProductMapper; + @Autowired + private PurchaseLedgerMapper purchaseLedgerMapper; /** @@ -61,4 +69,30 @@ }); return productRecordDtoIPage; } + + @Override + public AjaxResult updateRecord(ProductRecordDto productRecordDto) { + SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectById(productRecordDto.getSaleLedgerProjectId()); + ProductRecord productRecord = productRecordMapper.selectById(productRecordDto.getId()); + if (salesLedgerProduct != null) { + salesLedgerProduct.setFutureTicketsAmount(salesLedgerProduct.getFutureTicketsAmount().add(productRecord.getTicketsAmount()).subtract(productRecordDto.getTicketsAmount())); + salesLedgerProduct.setFutureTickets(salesLedgerProduct.getFutureTickets().add(productRecord.getTicketsNum().subtract(productRecordDto.getTicketsNum()))); + salesLedgerProductMapper.updateById(salesLedgerProduct); + + } + PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectById(productRecord.getPurchaseLedgerId()); + if (purchaseLedger != null) { + purchaseLedger.setReceiptPaymentAmount(purchaseLedger.getReceiptPaymentAmount()); + } + BeanUtils.copyProperties(productRecordDto,productRecord); + productRecordMapper.updateById(productRecord); + + return AjaxResult.success("淇敼鎴愬姛"); + } + + @Override + public ProductRecordDto getProductRecordById(Long id) { + ProductRecordDto productRecordDto = productRecordMapper.getProductRecordById(id); + return productRecordDto; + } } diff --git a/src/main/resources/mapper/purchase/ProductRecordMapper.xml b/src/main/resources/mapper/purchase/ProductRecordMapper.xml index 980727c..dd5aac6 100644 --- a/src/main/resources/mapper/purchase/ProductRecordMapper.xml +++ b/src/main/resources/mapper/purchase/ProductRecordMapper.xml @@ -39,4 +39,24 @@ and tr.purchase_contract_number like concat('%',#{c.purchaseContractNumber},'%') </if> </select> + <select id="getProductRecordById" resultType="com.ruoyi.purchase.dto.ProductRecordDto"> + SELECT + sl.sales_contract_no, + sl.customer_contract_no, + sl.customer_name, + pm.model AS product_model, + pl.purchase_contract_number, + pl.supplier_name, + pr.*, + 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.id = pr.ticket_registration_id + left join product_model pm on pm.id = pr.product_model_id + + WHERE type = 2 and pr.id = #{id} + </select> </mapper> \ No newline at end of file -- Gitblit v1.9.3