feat(settlement): v4.0.6 酒厂 T+3 每 3 天出一期并与订单完全比对

含现场提货入账、零应付仍出账、核对补生成,以及线上历史账单修复 SQL。
This commit is contained in:
2026-08-31 17:27:38 +08:00
parent ac94f5f5de
commit f35e1a3ba5
15 changed files with 782 additions and 84 deletions
+17 -4
View File
@@ -187,12 +187,16 @@ export interface StoreBillDto {
export interface WineryBillDto {
id: string;
billNo: string;
/** 出账日 YYYY-MM-DD(北京时间;T+3 只决定纳入哪天完成订单,不是账单日 */
/** 出账日 YYYY-MM-DD(北京时间;T+3 = 每 3 天一期,纳入上期 3 天完成订单) */
billDate: string;
orderCount: number;
orderAmount: number;
wineryRate: number;
wineryAmount: number;
/**
* DBUNPAID | PAID。
* 业务展示:wineryAmount === 0 时视为「无需打款」(NO_PAYMENT_NEEDED),仍保留账单以便与订单完全比对。
*/
status: FinancePayStatus;
paidAt?: string | null;
}
@@ -210,11 +214,20 @@ export interface WineryBillItemDto {
/** 门店结算默认比例(核销金额 × 比例) */
export const STORE_SETTLEMENT_DEFAULT_RATE = 0.6;
/** 酒厂账单结算比例(单实付 × 比例),暂定 30% */
/** 酒厂账单结算比例(单实付 × 比例),暂定 30%;含现场提货/同城/跨城 */
export const WINERY_SETTLEMENT_RATE = 0.3;
/** 酒厂账单出账滞后自然日(T+3:订单完成日 + 3 天后纳入当天出账的账单;账单日=出账当天北京日历日) */
export const WINERY_SETTLEMENT_LAG_DAYS = 3;
/**
* 酒厂 T+3:每 3 个自然日出具一张账单;出账日纳入上一期 3 天内完成的已付订单。
* 例:出账日 8/4 → 完成日 [8/1, 8/4);下一张 8/7 → [8/4, 8/7)。
*/
export const WINERY_SETTLEMENT_PERIOD_DAYS = 3;
/** @deprecated 使用 WINERY_SETTLEMENT_PERIOD_DAYS;保留别名避免旧引用断裂 */
export const WINERY_SETTLEMENT_LAG_DAYS = WINERY_SETTLEMENT_PERIOD_DAYS;
/** 酒厂账期对齐起点(北京日);首张出账日 = 起点 + PERIOD_DAYS */
export const WINERY_BILL_EPOCH_YMD = '2026-08-01';
export type { LogisticsSettlementMethod } from './enums';
export { LOGISTICS_SETTLEMENT_METHOD_LABELS } from './enums';