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