From 436d2ae994f2ab3553da7f8a2828ef80cf982eae Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期四, 08 五月 2025 17:10:39 +0800
Subject: [PATCH] 开票登记功能开发
---
src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml | 38 ++++
src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java | 111 ++++++++++++
src/main/java/com/ruoyi/sales/dto/InvoiceRegistrationProductDto.java | 9 +
src/main/java/com/ruoyi/sales/mapper/InvoiceRegistrationMapper.java | 19 ++
src/main/java/com/ruoyi/sales/pojo/InvoiceRegistrationProduct.java | 87 +++++++++
src/main/java/com/ruoyi/sales/service/InvoiceRegistrationService.java | 49 +++++
src/main/java/com/ruoyi/sales/pojo/InvoiceRegistration.java | 53 +++++
src/main/resources/mapper/sales/InvoiceRegistrationMapper.xml | 21 ++
src/main/java/com/ruoyi/sales/controller/InvoiceRegistrationController.java | 73 ++++++++
src/main/java/com/ruoyi/sales/dto/InvoiceRegistrationDto.java | 16 +
src/main/java/com/ruoyi/sales/mapper/InvoiceRegistrationProductMapper.java | 19 ++
11 files changed, 495 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/sales/controller/InvoiceRegistrationController.java b/src/main/java/com/ruoyi/sales/controller/InvoiceRegistrationController.java
new file mode 100644
index 0000000..5dd3c0f
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/controller/InvoiceRegistrationController.java
@@ -0,0 +1,73 @@
+package com.ruoyi.sales.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.sales.dto.InvoiceRegistrationDto;
+import com.ruoyi.sales.dto.InvoiceRegistrationProductDto;
+import com.ruoyi.sales.service.InvoiceRegistrationService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/invoiceRegistration")
+public class InvoiceRegistrationController {
+
+ @Autowired
+ private InvoiceRegistrationService invoiceRegistrationService;
+
+ /**
+ * 寮�绁ㄧ櫥璁版柊澧�
+ * @param invoiceRegistrationDto
+ * @return
+ */
+ @PostMapping("/add")
+ public AjaxResult invoiceRegistrationAdd(@RequestBody InvoiceRegistrationDto invoiceRegistrationDto) {
+ invoiceRegistrationService.invoiceRegistrationAdd(invoiceRegistrationDto);
+ return AjaxResult.success();
+ }
+
+ /**
+ * 寮�绁ㄧ櫥璁板垹闄�
+ * @param ids
+ * @return
+ */
+ @DeleteMapping("/del")
+ public AjaxResult invoiceRegistrationDel(List<Integer> ids) {
+ invoiceRegistrationService.invoiceRegistrationDel(ids);
+ return AjaxResult.success();
+ }
+
+ /**
+ * 寮�绁ㄨ褰曚慨鏀�
+ * @param invoiceRegistrationDto
+ * @return
+ */
+ @PostMapping("/update")
+ public AjaxResult invoiceRegistrationUpdate(@RequestBody InvoiceRegistrationDto invoiceRegistrationDto) {
+ invoiceRegistrationService.invoiceRegistrationUpdate(invoiceRegistrationDto);
+ return AjaxResult.success();
+ }
+
+ /**
+ * 寮�绁ㄧ櫥璁板垎椤垫煡璇�
+ * @param page
+ * @param invoiceRegistrationDto
+ * @return
+ */
+ @GetMapping("/listPage")
+ public AjaxResult invoiceRegistrationListPage(Page page, InvoiceRegistrationDto invoiceRegistrationDto) {
+ return AjaxResult.success(invoiceRegistrationService.invoiceRegistrationListPage(page, invoiceRegistrationDto));
+ }
+
+ /**
+ * 寮�绁ㄧ櫥璁颁骇鍝佹煡璇�
+ * @param invoiceRegistrationProductDto
+ * @return
+ */
+ @GetMapping("/productList")
+ public AjaxResult invoiceRegistrationProductList(InvoiceRegistrationProductDto invoiceRegistrationProductDto) {
+ return AjaxResult.success(invoiceRegistrationService.invoiceRegistrationProductList(invoiceRegistrationProductDto));
+ }
+}
diff --git a/src/main/java/com/ruoyi/sales/dto/InvoiceRegistrationDto.java b/src/main/java/com/ruoyi/sales/dto/InvoiceRegistrationDto.java
new file mode 100644
index 0000000..92d95fa
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/dto/InvoiceRegistrationDto.java
@@ -0,0 +1,16 @@
+package com.ruoyi.sales.dto;
+
+import com.ruoyi.sales.pojo.InvoiceRegistration;
+import com.ruoyi.sales.pojo.InvoiceRegistrationProduct;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class InvoiceRegistrationDto extends InvoiceRegistration {
+
+ @ApiModelProperty(name = "寮�绁ㄧ櫥璁颁骇鍝侀泦鍚�")
+ private List<InvoiceRegistrationProductDto> productDtoList;
+
+}
diff --git a/src/main/java/com/ruoyi/sales/dto/InvoiceRegistrationProductDto.java b/src/main/java/com/ruoyi/sales/dto/InvoiceRegistrationProductDto.java
new file mode 100644
index 0000000..9a86ebd
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/dto/InvoiceRegistrationProductDto.java
@@ -0,0 +1,9 @@
+package com.ruoyi.sales.dto;
+
+import com.ruoyi.sales.pojo.InvoiceRegistrationProduct;
+import lombok.Data;
+
+@Data
+public class InvoiceRegistrationProductDto extends InvoiceRegistrationProduct {
+
+}
diff --git a/src/main/java/com/ruoyi/sales/mapper/InvoiceRegistrationMapper.java b/src/main/java/com/ruoyi/sales/mapper/InvoiceRegistrationMapper.java
new file mode 100644
index 0000000..88a3ebf
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/mapper/InvoiceRegistrationMapper.java
@@ -0,0 +1,19 @@
+package com.ruoyi.sales.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.sales.dto.InvoiceRegistrationDto;
+import com.ruoyi.sales.pojo.InvoiceRegistration;
+import org.apache.ibatis.annotations.Param;
+
+public interface InvoiceRegistrationMapper extends BaseMapper<InvoiceRegistration> {
+
+ /**
+ * 寮�绁ㄧ櫥璁板垎椤垫煡璇�
+ * @param page
+ * @param invoiceRegistrationDto
+ * @return
+ */
+ IPage<InvoiceRegistrationDto> invoiceRegistrationListPage(Page page, @Param("invoiceRegistrationDto") InvoiceRegistrationDto invoiceRegistrationDto);
+}
diff --git a/src/main/java/com/ruoyi/sales/mapper/InvoiceRegistrationProductMapper.java b/src/main/java/com/ruoyi/sales/mapper/InvoiceRegistrationProductMapper.java
new file mode 100644
index 0000000..754a7d7
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/mapper/InvoiceRegistrationProductMapper.java
@@ -0,0 +1,19 @@
+package com.ruoyi.sales.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.sales.dto.InvoiceRegistrationProductDto;
+import com.ruoyi.sales.pojo.InvoiceRegistrationProduct;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface InvoiceRegistrationProductMapper extends BaseMapper<InvoiceRegistrationProduct> {
+
+ /**
+ * 寮�绁ㄧ櫥璁颁骇鍝佹煡璇�
+ * @param invoiceRegistrationProductDto
+ * @return
+ */
+ List<InvoiceRegistrationProductDto> invoiceRegistrationProductList(@Param("invoiceRegistrationProductDto") InvoiceRegistrationProductDto invoiceRegistrationProductDto);
+
+}
diff --git a/src/main/java/com/ruoyi/sales/pojo/InvoiceRegistration.java b/src/main/java/com/ruoyi/sales/pojo/InvoiceRegistration.java
new file mode 100644
index 0000000..0b8849d
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/pojo/InvoiceRegistration.java
@@ -0,0 +1,53 @@
+package com.ruoyi.sales.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+@TableName("invoice_registration")
+public class InvoiceRegistration {
+
+ /**
+ * 搴忓彿
+ */
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty(value = "閿�鍞彴璐ales_ledger涓婚敭")
+ private Integer salesLedgerId;
+
+ @ApiModelProperty(value = "閿�鍞悎鍚屽彿")
+ private String salesContractNo;
+
+ @ApiModelProperty(value = "瀹㈡埛鍚嶇ОID")
+ private Integer customerId;
+
+ @ApiModelProperty(value = "涓氬姟鍛�")
+ private String salesman;
+
+ @ApiModelProperty(value = "椤圭洰鍚嶇О")
+ private String projectName;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛")
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @ApiModelProperty(value = "淇敼鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty(value = "淇敼鐢ㄦ埛")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+
+ @ApiModelProperty(value = "绉熸埛ID")
+ @TableField(fill = FieldFill.INSERT)
+ private Integer tenantId;
+}
diff --git a/src/main/java/com/ruoyi/sales/pojo/InvoiceRegistrationProduct.java b/src/main/java/com/ruoyi/sales/pojo/InvoiceRegistrationProduct.java
new file mode 100644
index 0000000..3e683d8
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/pojo/InvoiceRegistrationProduct.java
@@ -0,0 +1,87 @@
+package com.ruoyi.sales.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@TableName("invoice_registration_product")
+@Data
+public class InvoiceRegistrationProduct {
+
+ /**
+ * 搴忓彿
+ */
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty(value = "鍏宠仈閿�鍞彴璐︿富琛ㄤ富閿�")
+ private Integer salesLedgerId;
+
+ @ApiModelProperty(value = "sales_ledger_product涓婚敭")
+ private Integer salesLedgerProductId;
+
+ @ApiModelProperty(value = "寮�绁ㄧ櫥璁拌〃invoice_registration涓婚敭")
+ private Integer invoiceRegistrationId;
+
+ @ApiModelProperty(value = "浜у搧澶х被")
+ private String productCategory;
+
+ @ApiModelProperty(value = "瑙勬牸鍨嬪彿")
+ private String specificationModel;
+
+ @ApiModelProperty(value = "鍗曚綅")
+ private String unit;
+
+ @ApiModelProperty(value = "鏁伴噺")
+ private BigDecimal quantity;
+
+ @ApiModelProperty(value = "绋庣巼")
+ private BigDecimal taxRate;
+
+ @ApiModelProperty(value = "鍚◣鍗曚环")
+ private BigDecimal taxInclusiveUnitPrice;
+
+ @ApiModelProperty(value = "鍚◣鎬讳环")
+ private BigDecimal taxInclusiveTotalPrice;
+
+ @ApiModelProperty(value = "涓嶅惈绋庢�讳环")
+ private BigDecimal taxExclusiveTotalPrice;
+
+ @ApiModelProperty(value = "鍙戠エ绫诲瀷")
+ private String invoiceType;
+
+ @ApiModelProperty(value = "寮�绁ㄦ暟")
+ private Integer invoiceNum;
+
+ @ApiModelProperty(value = "鏈紑绁ㄦ暟")
+ private Integer noInvoiceNum;
+
+ @ApiModelProperty(value = "寮�绁ㄩ噾棰�")
+ private BigDecimal invoiceAmount;
+
+ @ApiModelProperty(value = "鏈紑绁ㄩ噾棰�")
+ private BigDecimal noInvoiceAmount;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛")
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @ApiModelProperty(value = "淇敼鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty(value = "淇敼鐢ㄦ埛")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+
+ @ApiModelProperty(value = "绉熸埛ID")
+ @TableField(fill = FieldFill.INSERT)
+ private Integer tenantId;
+}
diff --git a/src/main/java/com/ruoyi/sales/service/InvoiceRegistrationService.java b/src/main/java/com/ruoyi/sales/service/InvoiceRegistrationService.java
new file mode 100644
index 0000000..8cdd13d
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/service/InvoiceRegistrationService.java
@@ -0,0 +1,49 @@
+package com.ruoyi.sales.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.sales.dto.InvoiceRegistrationDto;
+import com.ruoyi.sales.dto.InvoiceRegistrationProductDto;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+
+public interface InvoiceRegistrationService {
+
+ /**
+ * 寮�绁ㄧ櫥璁版柊澧�
+ * @param invoiceRegistrationDto
+ * @return
+ */
+ void invoiceRegistrationAdd(InvoiceRegistrationDto invoiceRegistrationDto);
+
+ /**
+ * 寮�绁ㄧ櫥璁板垹闄�
+ * @param ids
+ * @return
+ */
+ int invoiceRegistrationDel(List<Integer> ids);
+
+
+ /**
+ * 寮�绁ㄨ褰曚慨鏀�
+ * @param invoiceRegistrationDto
+ * @return
+ */
+ void invoiceRegistrationUpdate(InvoiceRegistrationDto invoiceRegistrationDto);
+
+ /**
+ * 寮�绁ㄧ櫥璁板垎椤垫煡璇�
+ * @param page
+ * @param invoiceRegistrationDto
+ * @return
+ */
+ IPage<InvoiceRegistrationDto> invoiceRegistrationListPage(Page page, InvoiceRegistrationDto invoiceRegistrationDto);
+
+ /**
+ * 寮�绁ㄧ櫥璁颁骇鍝佹煡璇�
+ * @param invoiceRegistrationProductDto
+ * @return
+ */
+ List<InvoiceRegistrationProductDto> invoiceRegistrationProductList(InvoiceRegistrationProductDto invoiceRegistrationProductDto);
+}
diff --git a/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java
new file mode 100644
index 0000000..eaf278b
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java
@@ -0,0 +1,111 @@
+package com.ruoyi.sales.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.sales.dto.InvoiceRegistrationDto;
+import com.ruoyi.sales.dto.InvoiceRegistrationProductDto;
+import com.ruoyi.sales.mapper.InvoiceRegistrationMapper;
+import com.ruoyi.sales.mapper.InvoiceRegistrationProductMapper;
+import com.ruoyi.sales.pojo.InvoiceRegistration;
+import com.ruoyi.sales.pojo.InvoiceRegistrationProduct;
+import com.ruoyi.sales.service.InvoiceRegistrationService;
+import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Collections;
+import java.util.List;
+
+@Service
+public class InvoiceRegistrationServiceImpl extends ServiceImpl<InvoiceRegistrationMapper, InvoiceRegistration> implements InvoiceRegistrationService {
+
+ private InvoiceRegistrationMapper invoiceRegistrationMapper;
+
+ private InvoiceRegistrationProductMapper invoiceRegistrationProductMapper;
+
+
+ /**
+ * 寮�绁ㄧ櫥璁版柊澧�
+ * @param invoiceRegistrationDto
+ * @return
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void invoiceRegistrationAdd(InvoiceRegistrationDto invoiceRegistrationDto) {
+ InvoiceRegistration invoiceRegistration = new InvoiceRegistration();
+ BeanUtils.copyProperties(invoiceRegistrationDto, invoiceRegistration);
+ // 鏂板寮�绁ㄧ櫥璁�
+ invoiceRegistrationMapper.insert(invoiceRegistration);
+ List<InvoiceRegistrationProductDto> productDtoList = invoiceRegistrationDto.getProductDtoList();
+ // 鏂板寮�绁ㄤ骇鍝佺櫥璁�
+ if(CollectionUtils.isNotEmpty(productDtoList)){
+ for (InvoiceRegistrationProductDto invoiceRegistrationProductDto : productDtoList) {
+ InvoiceRegistrationProduct invoiceRegistrationProduct = new InvoiceRegistrationProduct();
+ BeanUtils.copyProperties(invoiceRegistrationProductDto, invoiceRegistrationProduct);
+ invoiceRegistrationProduct.setInvoiceRegistrationId(invoiceRegistration.getId());
+ invoiceRegistrationProductMapper.insert(invoiceRegistrationProduct);
+ }
+ }
+ }
+
+ /**
+ * 寮�绁ㄧ櫥璁板垹闄�
+ * @param ids
+ * @return
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int invoiceRegistrationDel(List<Integer> ids) {
+ int excuteNum = invoiceRegistrationMapper.deleteBatchIds(ids);
+ LambdaQueryWrapper<InvoiceRegistrationProduct> delWrapper = new LambdaQueryWrapper<>();
+ delWrapper.in(InvoiceRegistrationProduct::getInvoiceRegistrationId, ids);
+ invoiceRegistrationProductMapper.delete(delWrapper);
+ return excuteNum;
+ }
+
+ /**
+ * 寮�绁ㄨ褰曚慨鏀�
+ * @param invoiceRegistrationDto
+ * @return
+ */
+ @Override
+ public void invoiceRegistrationUpdate(InvoiceRegistrationDto invoiceRegistrationDto) {
+ InvoiceRegistration invoiceRegistration = new InvoiceRegistration();
+ BeanUtils.copyProperties(invoiceRegistrationDto, invoiceRegistration);
+ // 寮�绁ㄧ櫥璁颁慨鏀�
+ invoiceRegistrationMapper.updateById(invoiceRegistration);
+ List<InvoiceRegistrationProductDto> productDtoList = invoiceRegistrationDto.getProductDtoList();
+ // 寮�绁ㄤ骇鍝佺櫥璁颁慨鏀�
+ if(CollectionUtils.isNotEmpty(productDtoList)){
+ for (InvoiceRegistrationProductDto invoiceRegistrationProductDto : productDtoList) {
+ InvoiceRegistrationProduct invoiceRegistrationProduct = new InvoiceRegistrationProduct();
+ BeanUtils.copyProperties(invoiceRegistrationProductDto, invoiceRegistrationProduct);
+ invoiceRegistrationProductMapper.updateById(invoiceRegistrationProduct);
+ }
+ }
+ }
+
+ /**
+ * 寮�绁ㄧ櫥璁板垎椤垫煡璇�
+ * @param page
+ * @param invoiceRegistrationDto
+ * @return
+ */
+ @Override
+ public IPage<InvoiceRegistrationDto> invoiceRegistrationListPage(Page page, InvoiceRegistrationDto invoiceRegistrationDto) {
+ return null;
+ }
+
+ /**
+ * 寮�绁ㄧ櫥璁颁骇鍝佹煡璇�
+ * @param invoiceRegistrationProductDto
+ * @return
+ */
+ @Override
+ public List<InvoiceRegistrationProductDto> invoiceRegistrationProductList(InvoiceRegistrationProductDto invoiceRegistrationProductDto) {
+ return Collections.emptyList();
+ }
+}
diff --git a/src/main/resources/mapper/sales/InvoiceRegistrationMapper.xml b/src/main/resources/mapper/sales/InvoiceRegistrationMapper.xml
new file mode 100644
index 0000000..b263bb6
--- /dev/null
+++ b/src/main/resources/mapper/sales/InvoiceRegistrationMapper.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.sales.mapper.InvoiceRegistrationMapper">
+ <select id="invoiceRegistrationListPage" resultType="com.ruoyi.sales.dto.InvoiceRegistrationDto">
+ SELECT
+ id ,
+ sales_ledger_id ,
+ sales_contract_no ,
+ customer_id ,
+ salesman ,
+ project_name ,
+ create_time ,
+ create_user ,
+ update_time ,
+ update_user ,
+ tenant_id
+ FROM invoice_registration
+ </select>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml b/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml
new file mode 100644
index 0000000..5a6b7c1
--- /dev/null
+++ b/src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.sales.mapper.InvoiceRegistrationProductMapper">
+
+ <select id="invoiceRegistrationProductList" resultType="com.ruoyi.sales.dto.InvoiceRegistrationDto">
+ SELECT
+ id ,
+ sales_ledger_id ,
+ sales_ledger_product_id ,
+ invoice_registration_id ,
+ product_category ,
+ specification_model ,
+ unit ,
+ quantity ,
+ tax_rate ,
+ tax_inclusive_unit_price ,
+ tax_inclusive_total_price ,
+ tax_exclusive_total_price ,
+ invoice_type ,
+ invoice_num ,
+ invoice_amount ,
+ no_invoice_num ,
+ no_invoice_amount ,
+ create_time ,
+ create_user ,
+ update_time ,
+ update_user ,
+ tenant_id ,
+ FROM invoice_registration_product
+ <where>
+ <if test="invoiceRegistrationProductDto.invoiceRegistrationId != null">
+ invoice_registration_id = #{invoiceRegistrationProductDto.invoiceRegistrationId}
+ </if>
+ </where>
+ </select>
+</mapper>
\ No newline at end of file
--
Gitblit v1.9.3