liyong
13 小时以前 e1ab708f43c6d3bb48ccb048f953e9ef759790ec
2025-07-03 来票台账可修改
已修改5个文件
75 ■■■■■ 文件已修改
src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/mapper/ProductRecordMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/service/IProductRecordService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/purchase/ProductRecordMapper.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>