Merge pull request 'develop' (#2) from develop into master

Reviewed-on: http://git.xdadan.loc/tanex/emis-service/pulls/2
This commit is contained in:
smshen 2025-04-24 09:36:28 +08:00
commit 6d2be83bb5
3 changed files with 52 additions and 3 deletions

View File

@ -44,7 +44,6 @@ import com.xdadan.erp.emis.domain.stat.BillPayStatInfo;
import com.xdadan.erp.emis.domain.stat.OpenBillStatInfo;
import com.xdadan.erp.emis.mapper.EmisSettleSubBillFeeitemMapper;
import com.xdadan.erp.emis.service.*;
import com.xdadan.erp.emis.service.test.CustomCellWriteHandler;
import com.xdadan.erp.emis.utils.WaybillHelper;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
@ -268,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);
}
/**
* 新增运单总账单
*/

View File

@ -9,7 +9,9 @@
*/
package com.xdadan.erp.emis.service;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import com.xdadan.erp.common.core.audit.IDataAuditService;
import com.xdadan.erp.emis.domain.EmisSettleBill;
@ -127,4 +129,13 @@ public interface IEmisSettleBillService extends IDataAuditService
public int reCalcSettleBillPayStatus(String settleBillNo);
void exportSeaWayBill(HttpServletResponse response, EmisSettleBill emisSettleBill);
/**
* 计算指定时间范围内每一天的收款总金额
*
* @param beginTime 开始时间
* @param endTime 结束时间
* @return 每一天的收款总金额
*/
Map<String, BigDecimal> calculateRecedMoney(String beginTime, String endTime);
}

View File

@ -38,7 +38,7 @@ import com.xdadan.erp.emis.domain.stat.OpenBillStatInfo;
import com.xdadan.erp.emis.mapper.*;
import com.xdadan.erp.emis.service.EmisBaseService;
import com.xdadan.erp.emis.service.excelCellStrategy.CellStyleStrategy;
import com.xdadan.erp.emis.service.test.CustomCellWriteHandler;
import com.xdadan.erp.emis.service.excelCellStrategy.CustomCellWriteHandler;
import com.xdadan.erp.emis.utils.WaybillHelper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
@ -936,7 +936,7 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
// 小表头
WriteSheet sheet = EasyExcel.writerSheet("sheet")
.needHead(Boolean.FALSE)
.registerWriteHandler(new CustomCellWriteHandler()).build();
.build();
WriteTable writeTable0 = EasyExcel.writerTable(num).head(contentHeader).build();
excelWriter.write((Collection<?>) null, sheet, writeTable0);
@ -1079,6 +1079,32 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
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;
}
/**
* 删除结算总账单信息
*