|
@@ -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;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -83,6 +86,32 @@ public class TransactionServiceImpl extends ServiceImpl<TransactionMapper, Trans
|
|
|
return page;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 头部统计
|
|
|
+ * @param dto
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Map<String,Object> getHeadStatistic(TransactionSelectDto dto) {
|
|
|
+ Map<String,Object> map = new HashMap<>();
|
|
|
+ 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);
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
@DSTransactional
|
|
|
public void add(TransactionDto transactionDto) {
|