Browse Source

往来管理头部统计

caozj 1 year ago
parent
commit
9411672158

+ 0 - 6
hx-account/src/main/java/com/fjhx/account/entity/transaction/po/Transaction.java

@@ -68,10 +68,4 @@ public class Transaction extends BasePo {
      */
     private Integer deptType;
 
-
-    /**
-     * 总金额
-     */
-    @TableField(exist = false)
-    private BigDecimal sumAmount;
 }

+ 8 - 0
hx-account/src/main/java/com/fjhx/account/entity/transaction/vo/TransactionVo.java

@@ -1,9 +1,12 @@
 package com.fjhx.account.entity.transaction.vo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fjhx.account.entity.transaction.po.Transaction;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
+
 /**
  * 往来管理列表查询返回值实体
  *
@@ -29,4 +32,9 @@ public class TransactionVo extends Transaction {
      */
     private String corporationName;
 
+
+    /**
+     * 总金额
+     */
+    private BigDecimal sumAmount;
 }

+ 1 - 1
hx-account/src/main/java/com/fjhx/account/mapper/transaction/TransactionMapper.java

@@ -30,6 +30,6 @@ public interface TransactionMapper extends BaseMapper<Transaction> {
      * @param wrapper
      * @return
      */
-    List<Transaction> getHeadStatistic(@Param("ew") IWrapper<Transaction> wrapper);
+    List<TransactionVo> getHeadStatistic(@Param("ew") IWrapper<Transaction> wrapper);
 
 }

+ 12 - 4
hx-account/src/main/java/com/fjhx/account/service/transaction/impl/TransactionServiceImpl.java

@@ -19,6 +19,7 @@ import com.fjhx.common.service.corporation.CorporationService;
 import com.fjhx.common.utils.Assert;
 import com.fjhx.common.utils.ExchangeRateUtil;
 import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.jetbrains.annotations.Contract;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -76,10 +77,17 @@ public class TransactionServiceImpl extends ServiceImpl<TransactionMapper, Trans
     @Override
     public Map<String,Object> getHeadStatistic(TransactionSelectDto dto) {
         Map<String,Object> map = new HashMap<>();
-        List<Transaction> list = this.baseMapper.getHeadStatistic(setWrapper(dto));
-        BigDecimal incMoney = list.stream().filter(s ->s.getType() == 1).map(Transaction::getSumAmount).reduce(BigDecimal.ZERO,BigDecimal::add);//应收款
-        BigDecimal expMoney = list.stream().filter(s ->s.getType() == 0).map(Transaction::getSumAmount).reduce(BigDecimal.ZERO,BigDecimal::add);//应付款
-        Map<Long,List<Transaction>> traMap = list.stream().collect(Collectors.groupingBy(Transaction::getCorporationId));
+        IWrapper<Transaction> wrapper = setWrapper(dto);
+        wrapper.isNotNull("t.corporation_id");
+        wrapper.groupBy("t.corporation_id","t.type");
+        List<TransactionVo> list = this.baseMapper.getHeadStatistic(wrapper);
+        //赋值归属公司名称
+        corporationService.attributeAssign(list, TransactionVo::getCorporationId, (item, corporation) -> {
+            item.setCorporationName(corporation.getName());
+        });
+        BigDecimal incMoney = list.stream().filter(s ->s.getType() == 1).map(TransactionVo::getSumAmount).reduce(BigDecimal.ZERO,BigDecimal::add);//应收款
+        BigDecimal expMoney = list.stream().filter(s ->s.getType() == 0).map(TransactionVo::getSumAmount).reduce(BigDecimal.ZERO,BigDecimal::add);//应付款
+        Map<String,List<TransactionVo>> traMap = list.stream().collect(Collectors.groupingBy(TransactionVo::getCorporationName));
         map.put("incMoney",incMoney);
         map.put("expMoney",expMoney);
         map.put("tranList",traMap);

+ 5 - 5
hx-account/src/main/resources/mapper/transaction/TransactionMapper.xml

@@ -21,12 +21,12 @@
 
     <select id="getHeadStatistic" resultType="com.fjhx.account.entity.transaction.vo.TransactionVo">
         SELECT
-            corporation_id,
-            IFNULL(SUM( amount ),0) AS sumAmount,
-            type
+            t.corporation_id,
+            IFNULL(SUM( t.amount ),0) AS sumAmount,
+            t.type
         FROM
-            `transaction`
-                ${ew.customSqlSegment}
+            transaction t
+        ${ew.customSqlSegment}
     </select>
 
 </mapper>