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); } /** 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); } 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); } 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; } } 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>