y 2 rokov pred
rodič
commit
e714478dd2

+ 4 - 20
src/main/java/com/ydtech/modules/inv/controller/InvAccountIncoiceController.java

@@ -74,35 +74,19 @@ public class InvAccountIncoiceController {
                 .like(!StringUtils.isEmpty(invAccountIncoice.getClearFlag()), InvAccountIncoice::getClearFlag,invAccountIncoice.getClearFlag());
 
 
-        if (!ObjectUtils.isEmpty(invAccountIncoice.getInvoiceTime())) {
-            lambdaQuery.eq(InvAccountIncoice::getInvoiceTime, invAccountIncoice.getInvoiceTime().toString());
+        if (!ObjectUtils.isEmpty(invAccountIncoice.getInvoiceTimeStart()) && !ObjectUtils.isEmpty(invAccountIncoice.getInvoiceTimeEnd())) {
+            lambdaQuery.ge(InvAccountIncoice::getInvoiceTime, invAccountIncoice.getInvoiceTimeStart().toString());
+            lambdaQuery.le(InvAccountIncoice::getInvoiceTime, invAccountIncoice.getInvoiceTimeEnd().toString());
         }
 
         Page<InvAccountIncoice> invAccountIncoicePage = this.invAccountIncoiceService.page(page, lambdaQuery);
 
-        InvAccountIncoiceResult invAccountIncoiceResult = new InvAccountIncoiceResult();
+        InvAccountIncoiceResult invAccountIncoiceResult = this.invAccountIncoiceService.selectAccountIncoice(invAccountIncoice);
         invAccountIncoiceResult.setRecords(invAccountIncoicePage.getRecords());
         invAccountIncoiceResult.setCurrent(invAccountIncoice.getPageNo());
         invAccountIncoiceResult.setTotal(invAccountIncoicePage.getTotal());
         invAccountIncoiceResult.setSize(invAccountIncoice.getPageSize());
 
-        List<InvAccountIncoice> records = invAccountIncoicePage.getRecords();
-        invAccountIncoiceResult.setNotPayoutMoneySum("0");
-        invAccountIncoiceResult.setInvoiceMoneySum("0");
-        invAccountIncoiceResult.setNoHasTaxSum("0");
-        invAccountIncoiceResult.setInvoiceNumSum("0");
-        invAccountIncoiceResult.setPayoutMoneySum("0");
-        invAccountIncoiceResult.setTaxSum("0");
-
-        records.forEach(inv -> {
-            invAccountIncoiceResult.setNotPayoutMoneySum(String.valueOf(new BigDecimal(inv.getNotPayoutMoney()).add(new BigDecimal(invAccountIncoiceResult.getNotPayoutMoneySum()))));
-            invAccountIncoiceResult.setInvoiceMoneySum(String.valueOf(new BigDecimal(inv.getInvoiceMoney()).add(new BigDecimal(invAccountIncoiceResult.getInvoiceMoneySum()))));
-            invAccountIncoiceResult.setNoHasTaxSum(String.valueOf(new BigDecimal(inv.getNoHasTax()).add(new BigDecimal(invAccountIncoiceResult.getNoHasTaxSum()))));
-            invAccountIncoiceResult.setInvoiceNumSum(String.valueOf(new BigDecimal(inv.getInvoiceNum()).add(new BigDecimal(invAccountIncoiceResult.getInvoiceNumSum()))));
-            invAccountIncoiceResult.setPayoutMoneySum(String.valueOf(new BigDecimal(inv.getPayoutMoney()).add(new BigDecimal(invAccountIncoiceResult.getPayoutMoneySum()))));
-            invAccountIncoiceResult.setTaxSum(String.valueOf(new BigDecimal(inv.getTax()).add(new BigDecimal(invAccountIncoiceResult.getTaxSum()))));
-        });
-
         return HttpResult.ok(invAccountIncoiceResult);
     }
 

+ 6 - 0
src/main/java/com/ydtech/modules/inv/dao/InvAccountIncoiceMapper.java

@@ -3,7 +3,11 @@ package com.ydtech.modules.inv.dao;
 import java.util.List;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ydtech.modules.inv.model.InvAccountIncoice;
+import com.ydtech.modules.inv.model.InvAccountIncoiceResult;
+import com.ydtech.modules.inv.model.vo.InvAccountIncoiceQueryVo;
 import org.apache.ibatis.annotations.Param;
 
 
@@ -32,5 +36,7 @@ int insertBatch(@Param("entities") List<InvAccountIncoice> entities);
 */
 int insertOrUpdateBatch(@Param("entities") List<InvAccountIncoice> entities);
 
+InvAccountIncoiceResult selectAccountIncoice(InvAccountIncoiceQueryVo invAccountIncoiceQueryVo);
+
 }
 

+ 4 - 14
src/main/java/com/ydtech/modules/inv/model/InvAccountIncoiceResult.java

@@ -3,6 +3,7 @@ package com.ydtech.modules.inv.model;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -17,22 +18,11 @@ public class InvAccountIncoiceResult {
     private List<InvAccountIncoice> records;
 
     @ApiModelProperty("开票金额总和")
-    private String invoiceMoneySum;
-
-    @ApiModelProperty("进账金额总和")
-    private String payoutMoneySum;
-
-    @ApiModelProperty("未进账金额总和")
-    private String notPayoutMoneySum;
-
-    @ApiModelProperty("开票数总和")
-    private String invoiceNumSum;
+    private BigDecimal invoiceMoneySum;
 
     @ApiModelProperty("税额总和")
-    private String taxSum;
+    private BigDecimal taxSum;
 
     @ApiModelProperty("不含税金额总和")
-    private String noHasTaxSum;
-
-
+    private BigDecimal noHasTaxSum;
 }

+ 6 - 2
src/main/java/com/ydtech/modules/inv/model/vo/InvAccountIncoiceQueryVo.java

@@ -23,9 +23,13 @@ public class InvAccountIncoiceQueryVo implements Serializable {
     @ApiModelProperty(value = "对方单位")
     private String otherUnit;
 
-    @ApiModelProperty(value = "开票日期")
+    @ApiModelProperty(value = "开票日期开始")
     @JsonFormat(pattern = "yyyy-MM-dd")
-    private LocalDate invoiceTime;
+    private LocalDate invoiceTimeStart;
+
+    @ApiModelProperty(value = "开票日期结束")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private LocalDate invoiceTimeEnd;
 
     //发票类型
     @ApiModelProperty(value = "发票类型")

+ 3 - 0
src/main/java/com/ydtech/modules/inv/service/InvAccountIncoiceService.java

@@ -3,6 +3,7 @@ package com.ydtech.modules.inv.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.inv.model.InvAccountIncoice;
+import com.ydtech.modules.inv.model.InvAccountIncoiceResult;
 import com.ydtech.modules.inv.model.vo.InvAccountIncoiceQueryVo;
 
 
@@ -20,6 +21,8 @@ public interface InvAccountIncoiceService extends IService<InvAccountIncoice> {
 
     HttpResult delInvAccountIncoice(InvAccountIncoice invAccountIncoice);
 
+    InvAccountIncoiceResult selectAccountIncoice(InvAccountIncoiceQueryVo invAccountIncoiceQueryVo);
+
     String excel(InvAccountIncoiceQueryVo invAccountIncoiceQueryVo);
 
 }

+ 13 - 2
src/main/java/com/ydtech/modules/inv/service/impl/InvAccountIncoiceServiceImpl.java

@@ -294,6 +294,16 @@ public class InvAccountIncoiceServiceImpl extends ServiceImpl<InvAccountIncoiceM
         return HttpResult.ok("撤销成功");
     }
 
+    /**
+     * 统计总和
+     * @param invAccountIncoiceQueryVo
+     * @return
+     */
+    @Override
+    public InvAccountIncoiceResult  selectAccountIncoice(InvAccountIncoiceQueryVo invAccountIncoiceQueryVo) {
+        return invAccountIncoiceMapper.selectAccountIncoice(invAccountIncoiceQueryVo);
+    }
+
     @Override
     public String excel(InvAccountIncoiceQueryVo invAccountIncoiceQueryVo) {
         LambdaQueryWrapper<InvAccountIncoice> lambdaQuery = new LambdaQueryWrapper<>();
@@ -307,8 +317,9 @@ public class InvAccountIncoiceServiceImpl extends ServiceImpl<InvAccountIncoiceM
                 .like(!StringUtils.isEmpty(invAccountIncoiceQueryVo.getOtherUnit()), InvAccountIncoice::getOtherUnit, invAccountIncoiceQueryVo.getOtherUnit());
 
 
-        if (!ObjectUtils.isEmpty(invAccountIncoiceQueryVo.getInvoiceTime())) {
-            lambdaQuery.eq(InvAccountIncoice::getInvoiceTime, invAccountIncoiceQueryVo.getInvoiceTime().toString());
+        if (!ObjectUtils.isEmpty(invAccountIncoiceQueryVo.getInvoiceTimeStart()) && !ObjectUtils.isEmpty(invAccountIncoiceQueryVo.getInvoiceTimeEnd())) {
+            lambdaQuery.ge(InvAccountIncoice::getInvoiceTime, invAccountIncoiceQueryVo.getInvoiceTimeStart().toString());
+            lambdaQuery.le(InvAccountIncoice::getInvoiceTime, invAccountIncoiceQueryVo.getInvoiceTimeEnd().toString());
         }
         List<InvAccountIncoice> invAccountIncoices = invAccountIncoiceMapper.selectList(lambdaQuery);
 

+ 0 - 6
src/main/resources/mapper/modules/inv/InvAccountExcelMapper.xml

@@ -89,12 +89,6 @@
         <if test="insAccountExcel.updateBy!= null and insAccountExcel.updateBy!= ''">
             and update_by = #{insAccountExcel.updateBy}
         </if>
-        <if test="insAccountExcel.updateTime!= null">
-            and update_time &gt;= #{insAccountExcel.updateTime}
-        </if>
-        <if test="insAccountExcel.updateTime!= null">
-            and update_time &lt;= #{insAccountExcel.updateTime}
-        </if>
         <if test="insAccountExcel.createBy!= null and insAccountExcel.createBy!= ''">
             and create_by = #{insAccountExcel.createBy}
         </if>

+ 28 - 0
src/main/resources/mapper/modules/inv/InvAccountIncoiceMapper.xml

@@ -47,6 +47,34 @@
         </foreach>
         on duplicate key update
 biller = values(biller) invoice_subjects = values(invoice_subjects) invoice_by = values(invoice_by) other_unit = values(other_unit) invoice_num = values(invoice_num) invoice_time = values(invoice_time) no_has_tax = values(no_has_tax) rate = values(rate) tax = values(tax) invoice_money = values(invoice_money) invoice_type = values(invoice_type) payout_time = values(payout_time) payout_money = values(payout_money) not_payout_money = values(not_payout_money) del_flag = values(del_flag)     </insert>
+    <select id="selectAccountIncoice" resultType="com.ydtech.modules.inv.model.InvAccountIncoiceResult">
+        SELECT
+            sum(round(invoice_money,2)) as invoice_money_sum,
+            sum( round(tax, 2) ) as tax_sum,
+            sum( round(no_has_tax, 2) ) as no_has_tax_sum
+        FROM inv_account_incoice WHERE del_flag = '0'
+        <if test="invoiceTimeStart != null">
+            and invoice_time &gt;=  #{invoiceTimeStart}
+        </if>
+        <if test="invoiceTimeEnd != null">
+            and invoice_time &lt;= #{invoiceTimeEnd}
+        </if>
+        <if test="biller != null and biller != ''">
+            and biller like concat('%',#{biller},'%')
+        </if>
+        <if test="invoiceBy != null and invoiceBy != '' ">
+            and invoice_by like concat('%',#{invoiceBy},'%')
+        </if>
+        <if test="otherUnit != null and otherUnit != '' ">
+            and other_unit like concat('%',#{otherUnit},'%')
+        </if>
+        <if test="invoiceType != null and invoiceType != '' ">
+            and invoice_type = #{invoiceType}
+        </if>
+        <if test="clearFlag != null and clearFlag != '' ">
+            and clear_flag = #{clearFlag}
+        </if>
+    </select>
 
 </mapper>