Merge remote-tracking branch 'origin/develop'

# Conflicts:
#	emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisSettlePayRecordMapper.java
This commit is contained in:
linfso 2025-05-08 12:57:21 +08:00
commit 6fef3b8c1f
6 changed files with 58 additions and 40 deletions

View File

@ -296,7 +296,7 @@ public class EmisSettleBillController extends BaseController
*/
@GetMapping("/calculateRecedMoney")
public AjaxResult calculateRecedMoney(String beginTime, String endTime) {
Map<String, BigDecimal> result = emisSettleBillService.calculateRecedMoney(beginTime, endTime);
List<Map<String, String>> result = emisSettleBillService.calculateRecedMoney(beginTime, endTime);
return AjaxResult.success(result);
}

View File

@ -16,6 +16,7 @@ import java.util.Map;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xdadan.erp.emis.domain.EmisSettlePayRecord;
import com.xdadan.erp.emis.domain.stat.PayBackRecordDtl;
import org.apache.ibatis.annotations.Param;
/**
* @ClassName EmisSettlePayRecordMapper
@ -87,4 +88,13 @@ public interface EmisSettlePayRecordMapper extends BaseMapper<EmisSettlePayRecor
* @return 结果
*/
public int deleteEmisSettlePayRecordByIds(Long[] ids);
/**
* 按天统计已收款金额
*
* @param beginTime 开始时间
* @param endTime 结束时间
* @return 每天的已收款金额统计
*/
List<Map<String, Object>> calculateRecedMoney(@Param("beginTime") String beginTime, @Param("endTime") String endTime);
}

View File

@ -151,5 +151,5 @@ public interface IEmisSettleBillService extends IDataAuditService
* @param endTime 结束时间
* @return 每一天的收款总金额
*/
Map<String, BigDecimal> calculateRecedMoney(String beginTime, String endTime);
List<Map<String, String>> calculateRecedMoney(String beginTime, String endTime);
}

View File

@ -58,7 +58,8 @@ public class ImageExcelHandler {
// 创建标题行
Row headerRow = sheet.createRow(0);
headerRow.setHeight((short) (30 * 20)); // 设置标题行高
String[] headers = {"进仓单号", "进仓子单号", "运单号", "订单号", "进仓时间", "件数", "重量", "体积", "快递公司", "快递单号", "品名", "供应商", "图片"};
String[] headers = { "进仓单号", "进仓子单号", "运单号", "订单号", "进仓时间", "件数", "重量", "体积", "快递公司", "快递单号", "品名", "供应商",
"图片" };
// 创建标题单元格
for (int i = 0; i < headers.length; i++) {
@ -150,23 +151,25 @@ public class ImageExcelHandler {
}
// 合并图片列的表头
CellRangeAddress mergedRegion = new CellRangeAddress(
0, // 起始行
0, // 结束行
IMAGE_COLUMN_START, // 起始列
IMAGE_COLUMN_START + maxImageCount - 1 // 结束列
);
sheet.addMergedRegion(mergedRegion);
if (maxImageCount > 1) {
CellRangeAddress mergedRegion = new CellRangeAddress(
0, // 起始行
0, // 结束行
IMAGE_COLUMN_START, // 起始列
IMAGE_COLUMN_START + maxImageCount - 1 // 结束列
);
sheet.addMergedRegion(mergedRegion);
// 为合并后的单元格设置边框
RegionUtil.setBorderTop(BorderStyle.MEDIUM, mergedRegion, sheet);
RegionUtil.setBorderBottom(BorderStyle.MEDIUM, mergedRegion, sheet);
RegionUtil.setBorderLeft(BorderStyle.MEDIUM, mergedRegion, sheet);
RegionUtil.setBorderRight(BorderStyle.MEDIUM, mergedRegion, sheet);
RegionUtil.setBottomBorderColor(IndexedColors.BLACK.getIndex(), mergedRegion, sheet);
RegionUtil.setTopBorderColor(IndexedColors.BLACK.getIndex(), mergedRegion, sheet);
RegionUtil.setLeftBorderColor(IndexedColors.BLACK.getIndex(), mergedRegion, sheet);
RegionUtil.setRightBorderColor(IndexedColors.BLACK.getIndex(), mergedRegion, sheet);
// 为合并后的单元格设置边框
RegionUtil.setBorderTop(BorderStyle.MEDIUM, mergedRegion, sheet);
RegionUtil.setBorderBottom(BorderStyle.MEDIUM, mergedRegion, sheet);
RegionUtil.setBorderLeft(BorderStyle.MEDIUM, mergedRegion, sheet);
RegionUtil.setBorderRight(BorderStyle.MEDIUM, mergedRegion, sheet);
RegionUtil.setBottomBorderColor(IndexedColors.BLACK.getIndex(), mergedRegion, sheet);
RegionUtil.setTopBorderColor(IndexedColors.BLACK.getIndex(), mergedRegion, sheet);
RegionUtil.setLeftBorderColor(IndexedColors.BLACK.getIndex(), mergedRegion, sheet);
RegionUtil.setRightBorderColor(IndexedColors.BLACK.getIndex(), mergedRegion, sheet);
}
// 写入到字节数组
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

View File

@ -1215,28 +1215,17 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
}
@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());
}))));
public List<Map<String, String>> calculateRecedMoney(String beginTime, String endTime) {
// 查询获取按天统计的已收款金额
List<Map<String, Object>> resultList = emisSettlePayRecordMapper.calculateRecedMoney(beginTime, endTime);
List<Map<String, String>> dailyAmounts = new ArrayList<>();
for (Map<String, Object> result : resultList) {
Map<String, String> item = new HashMap<>();
item.put("tradeDay", (String) result.get("tradeDay"));
item.put("payMoney", result.get("payMoney").toString());
dailyAmounts.add(item);
}
return dailyAmounts;
}

View File

@ -467,4 +467,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{id}
</foreach>
</delete>
<select id="calculateRecedMoney" resultType="java.util.Map">
SELECT
DATE_FORMAT(trade_date, '%Y-%m-%d') as tradeDay,
SUM(IFNULL(pay_money, 0)) as payMoney
FROM
emis_settle_pay_record
WHERE
trade_date &gt;= #{beginTime}
AND trade_date &lt; #{endTime}
AND del_flag = '0'
GROUP BY
DATE_FORMAT(trade_date, '%Y-%m-%d')
ORDER BY
tradeDay
</select>
</mapper>