Ver Fonte

往来管理头部统计

caozj há 1 ano atrás
pai
commit
5605390ea6

+ 10 - 0
hx-account/src/main/java/com/fjhx/account/controller/transaction/TransactionController.java

@@ -11,6 +11,8 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Map;
+
 
 /**
  * <p>
@@ -36,6 +38,14 @@ public class TransactionController {
     }
 
     /**
+     * 往来管理头部统计
+     */
+    @PostMapping("/getHeadStatistic")
+    public Map<String,Object> getHeadStatistic(@RequestBody TransactionSelectDto dto) {
+        return transactionService.getHeadStatistic(dto);
+    }
+
+    /**
      * 往来管理新增
      */
     @PostMapping("/add")

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

@@ -1,5 +1,6 @@
 package com.fjhx.account.entity.transaction.po;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.ruoyi.common.core.domain.BasePo;
 import lombok.Getter;
@@ -67,4 +68,10 @@ public class Transaction extends BasePo {
      */
     private Integer deptType;
 
+
+    /**
+     * 总金额
+     */
+    @TableField(exist = false)
+    private BigDecimal sumAmount;
 }

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

@@ -7,6 +7,8 @@ import com.fjhx.account.entity.transaction.vo.TransactionVo;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 
 /**
  * <p>
@@ -23,4 +25,11 @@ public interface TransactionMapper extends BaseMapper<Transaction> {
      */
     Page<TransactionVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<Transaction> wrapper);
 
+    /**
+     * 头部统计
+     * @param wrapper
+     * @return
+     */
+    List<Transaction> getHeadStatistic(@Param("ew") IWrapper<Transaction> wrapper);
+
 }

+ 8 - 0
hx-account/src/main/java/com/fjhx/account/service/transaction/TransactionService.java

@@ -7,6 +7,9 @@ import com.fjhx.account.entity.transaction.po.Transaction;
 import com.fjhx.account.entity.transaction.vo.TransactionVo;
 import com.ruoyi.common.core.service.BaseService;
 
+import java.util.List;
+import java.util.Map;
+
 
 /**
  * <p>
@@ -24,6 +27,11 @@ public interface TransactionService extends BaseService<Transaction> {
     Page<TransactionVo> getPage(TransactionSelectDto dto);
 
     /**
+     * 头部统计
+     */
+    Map<String,Object> getHeadStatistic(TransactionSelectDto dto);
+
+    /**
      * 往来管理新增
      */
     void add(TransactionDto transactionDto);

+ 45 - 16
hx-account/src/main/java/com/fjhx/account/service/transaction/impl/TransactionServiceImpl.java

@@ -23,7 +23,10 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 
 /**
@@ -48,6 +51,47 @@ public class TransactionServiceImpl extends ServiceImpl<TransactionMapper, Trans
 
     @Override
     public Page<TransactionVo> getPage(TransactionSelectDto dto) {
+        Page<TransactionVo> page = this.baseMapper.getPage(dto.getPage(), setWrapper(dto));
+        //赋值往来单位名称
+        List<TransactionVo> records = page.getRecords();
+        transactionDepartmentService.attributeAssign(records, TransactionVo::getDepartmentId, (item, transactionDepartment) -> {
+            item.setDepartmentName(transactionDepartment.getName());
+        });
+        //赋值往来账户名称
+        accountManagementService.attributeAssign(records, TransactionVo::getAccountId, (item, account) -> {
+            item.setAccountName(account.getName());
+        });
+        //赋值归属公司名称
+        corporationService.attributeAssign(records, TransactionVo::getCorporationId, (item, corporation) -> {
+            item.setCorporationName(corporation.getName());
+        });
+        return page;
+    }
+
+    /**
+     * 头部统计
+     * @param dto
+     * @return
+     */
+    @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));
+        map.put("incMoney",incMoney);
+        map.put("expMoney",expMoney);
+        map.put("tranList",traMap);
+        return map;
+    }
+
+    /**
+     * 赋值插叙参数
+     * @param dto
+     * @return
+     */
+    private IWrapper<Transaction>  setWrapper(TransactionSelectDto dto){
         IWrapper<Transaction> wrapper = getWrapper();
         //条件筛选
         wrapper.eq(Transaction::getIsFlowingWater, dto.getIsFlowingWater());
@@ -66,23 +110,8 @@ public class TransactionServiceImpl extends ServiceImpl<TransactionMapper, Trans
         }
         //排序
         wrapper.orderByDesc("t", Transaction::getId);
-        Page<TransactionVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
-        //赋值往来单位名称
-        List<TransactionVo> records = page.getRecords();
-        transactionDepartmentService.attributeAssign(records, TransactionVo::getDepartmentId, (item, transactionDepartment) -> {
-            item.setDepartmentName(transactionDepartment.getName());
-        });
-        //赋值往来账户名称
-        accountManagementService.attributeAssign(records, TransactionVo::getAccountId, (item, account) -> {
-            item.setAccountName(account.getName());
-        });
-        //赋值归属公司名称
-        corporationService.attributeAssign(records, TransactionVo::getCorporationId, (item, corporation) -> {
-            item.setCorporationName(corporation.getName());
-        });
-        return page;
+        return wrapper;
     }
-
     @Override
     @DSTransactional
     public void add(TransactionDto transactionDto) {

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

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

+ 10 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/contract/po/Contract.java

@@ -372,6 +372,16 @@ public class Contract extends BasePo {
     private Long flowId;
 
     /**
+     * 是否有交接单文件
+     */
+    private Integer isDeliveryFile;
+
+    /**
+     * 是否有包装指示文件
+     */
+    private Integer isPackFile;
+
+    /**
      * 创建时间英文
      */
     @TableField(exist = false)