demand: 计算指定时间范围内每一天的收款总金额
committer: heyu
This commit is contained in:
parent
f601b62294
commit
71f2159b4d
@ -267,6 +267,19 @@ public class EmisSettleBillController extends BaseController
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计算指定时间范围内每一天的收款总金额
|
||||||
|
*
|
||||||
|
* @param beginTime 开始时间
|
||||||
|
* @param endTime 结束时间
|
||||||
|
* @return 每一天的收款总金额
|
||||||
|
*/
|
||||||
|
@GetMapping("/calculateRecedMoney")
|
||||||
|
public AjaxResult calculateRecedMoney(String beginTime, String endTime) {
|
||||||
|
Map<String, BigDecimal> result = emisSettleBillService.calculateRecedMoney(beginTime, endTime);
|
||||||
|
return AjaxResult.success(result);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增运单总账单
|
* 新增运单总账单
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -9,7 +9,9 @@
|
|||||||
*/
|
*/
|
||||||
package com.xdadan.erp.emis.service;
|
package com.xdadan.erp.emis.service;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import com.xdadan.erp.common.core.audit.IDataAuditService;
|
import com.xdadan.erp.common.core.audit.IDataAuditService;
|
||||||
import com.xdadan.erp.emis.domain.EmisSettleBill;
|
import com.xdadan.erp.emis.domain.EmisSettleBill;
|
||||||
@ -127,4 +129,13 @@ public interface IEmisSettleBillService extends IDataAuditService
|
|||||||
public int reCalcSettleBillPayStatus(String settleBillNo);
|
public int reCalcSettleBillPayStatus(String settleBillNo);
|
||||||
|
|
||||||
void exportSeaWayBill(HttpServletResponse response, EmisSettleBill emisSettleBill);
|
void exportSeaWayBill(HttpServletResponse response, EmisSettleBill emisSettleBill);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计算指定时间范围内每一天的收款总金额
|
||||||
|
*
|
||||||
|
* @param beginTime 开始时间
|
||||||
|
* @param endTime 结束时间
|
||||||
|
* @return 每一天的收款总金额
|
||||||
|
*/
|
||||||
|
Map<String, BigDecimal> calculateRecedMoney(String beginTime, String endTime);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1079,6 +1079,32 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<String, BigDecimal> calculateRecedMoney(String beginTime, String endTime) {
|
||||||
|
// 构建查询条件
|
||||||
|
EmisSettleBill query = new EmisSettleBill();
|
||||||
|
query.setParams(new HashMap<>());
|
||||||
|
query.getParams().put("beginTime", beginTime);
|
||||||
|
query.getParams().put("endTime", endTime);
|
||||||
|
|
||||||
|
// 查询符合条件的记录
|
||||||
|
List<EmisSettleBill> list = emisSettleBillMapper.selectEmisSettleBillList(query);
|
||||||
|
|
||||||
|
// 按天分组统计金额
|
||||||
|
Map<String, BigDecimal> dailyAmounts = list.stream()
|
||||||
|
.filter(bill -> bill.getRecedMoney() != null && bill.getCreateTime() != null)
|
||||||
|
.collect(Collectors.groupingBy(
|
||||||
|
bill -> DateUtils.parseDateToStr("yyyy-MM-dd", bill.getCreateTime()),
|
||||||
|
Collectors.mapping(
|
||||||
|
EmisSettleBill::getRecedMoney,
|
||||||
|
Collectors.reducing(BigDecimal.ZERO, (a, b) -> {
|
||||||
|
BigDecimal sum = a.add(b).stripTrailingZeros();
|
||||||
|
return new BigDecimal(sum.toPlainString());
|
||||||
|
}))));
|
||||||
|
|
||||||
|
return dailyAmounts;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除结算总账单信息
|
* 删除结算总账单信息
|
||||||
*
|
*
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user