|
|
d41e84de0e
|
修正供应商签署账号字段并接入发起签章自动填充
|
2026-10-11 13:31:42 +08:00 |
|
|
|
665b8fafd2
|
接入供应商管理页面与共享镜像 (#297)
|
2026-10-11 12:11:15 +08:00 |
|
|
|
4eb09a1fcc
|
协议签署:待处理与已归档视图、归档原因及文件下载 (#291)
|
2026-10-11 09:55:46 +08:00 |
|
|
|
53cd0c3ce6
|
聚水潭订单标签明细:新增「货号」列,货号 X00006 的订单判为种菜订单
- 新增 jst_order_labels.item_code 迁移;导入时从商品明细镜像按 o_id 写入货号(被替换/取消的明细不计入)
- 「是否种菜订单」增加规则:货号含 X00006(信誉订单虚拟条码)直接判「是」
- 页面与导出新增货号列;新增 jst-order-labels:sync-item-codes 回填命令
- 测试:新增货号/种菜判定/回填命令用例,并修正导出表头过时断言
|
2026-10-10 16:06:02 +08:00 |
|
|
|
2da46a2a86
|
业绩明细:修复导出「差额」列把未匹配行写成 0 的问题
- 未匹配行的差额在库里是 NULL,导出取值用了 ?? '' 变成空字符串,原判断只认 null,
这些行被导成 0.00,导出合计只剩已匹配行的差额(2026-07 只有 14.7 万)
- 现在空差额按「比对基准金额=0」补算 收入+优惠+冲减,与页面/统计卡口径一致
- 验证:2026-07 全部平台导出 300,707 行,差额列合计 1,354,719.44(与页面同值);
只看未匹配 3,968 行,差额列合计 1,207,560.77
|
2026-10-10 15:38:31 +08:00 |
|
|
|
158c5e1b23
|
业绩明细:差额/匹配状态/备注改为与订单实付金额核对;科目映射表筛选改按财务备注
- 业绩明细「差额 / 匹配状态 / 差额异常备注」的比对基准由「订单商品金额」换成「订单实付金额」:
差额=(收入金额+优惠金额+冲减金额)− 订单实付金额;匹配状态以订单侧能否取到订单实付为准;
备注文案改为 订单实付未匹配(账单无单号/单号格式异常/订单表无此单/订单无实付金额/无收款账单)、
订单实付取数为0(种菜)、订单实付取数为0、订单实付未减冲减、订单实付未减优惠、订单实付未减优惠和冲减
- 商品金额列保留展示、不再作为核对基准;退款金额仍单独列示、不参与差额
- 两个口径共用同一条取数链(同店同号 → 店铺名不一致 → 同号多条 → 空店铺兜底),
差额口径做成开关:config/performance_details.php 的 difference_basis 填 product 即可切回旧口径
- 统计卡「金额构成」补「订单实付金额合计」,与差额公式对齐
- 科目映射表筛选:第二个筛选项由「账单项目」改为「财务备注」(候选按平台收窄、可搜索、多选);
账单项目仍可用左上角关键词搜索
|
2026-10-10 15:14:06 +08:00 |
|
|
|
107c883eb2
|
业绩明细:新增「退款金额」列,按总账备注=退款取数
- 新增列「退款金额」:店铺收款账户账单里总账备注=退款的金额(收入侧 − 支出侧),
与优惠金额/冲减金额同一口径,单独列示、不参与差额计算;统计卡、导出字段、
字段结构说明同步补充
- 同步命令支持账单表的 expense 列(京东账单/京喜账单/京东网银钱包/抖音用 expense,
淘系/拼多多/得物用 expense_amount),此前只认 expense_amount,
导致这些平台支出侧的退款、扣回金额被当成 0
- 重建后自检改为「本月账单确有优惠/冲减/退款行、但三列一行都没写」才报错,
并把退款金额纳入判定,避免无数据月份误报
- 新增迁移:store_receipt_order_match_rows.refund_amount
|
2026-10-10 13:41:03 +08:00 |
|
|
|
073e82ea32
|
业绩明细:差额异常备注改为「差额原因」口径
- 备注只由差额公式判定:商品金额未匹配(账单无单号/订单表无此单/无收款账单)、商品金额未加种菜、商品金额取数为0、商品金额未减冲减/未减优惠/未减优惠和冲减;命中不了留空
- 未匹配行按商品金额=0 计入差额,差额合计与导出同步
- 列名「异常标注」改「差额异常备注」,筛选、联动行数、导出表头同步
- 联动接口:5 条原因合并为 1 次统计 + 60 秒缓存(1.5s → 0.8s,缓存内 11ms)
|
2026-10-09 18:27:07 +08:00 |
|
chenxi
|
fe8c271fcf
|
商品成本:新增财务经营报表「商品成本」页面与同步命令
以业绩明细的账单行为基数,按「店铺 + 线上订单号」展开订单原始数据的商品行:
- 发货仓库取订单 wms_co_id 对应的聚水潭仓库名称,仓库简称查仓库映射表
- 商品单价按「仓库简称 + 商品编码」取商品月加权平均单价里的加权平均价
- 商品成本 = 商品数量 × 商品单价(四舍五入两位小数)
- 拆单子单重复列出的同一批商品只算一次;同一单分多仓发货按子单实际仓库分行
- 排除虚拟条码(X0000x)与数量金额都为 0 的占位行;默认隐藏仓库映射表里标「-不看」的仓
页面提供月份、平台、店铺、线上单号、商品编码、仓库简称筛选与汇总、CSV 导出。
|
2026-10-09 17:36:14 +08:00 |
|
|
|
41d0e5169f
|
快递运费:运费差后面新增「结算运费」列(= 提供成本运费 + 运费差)
- 列定义加在 运费差 与 其他附加费汇总 之间,金额列同样左对齐、不参与查询条件
- 行数据按交易单号取到运费差后,由页面计算 结算运费;两者都没有时显示 —
- 描述文字同步(前端导出按表格列生成,新列自动带上)
|
2026-10-09 17:36:33 +08:00 |
|
|
|
74b2d3a086
|
Revert "业绩明细:新增「种菜订单」筛选(全部/只看种菜/排除种菜),页面统计与导出同步生效"
This reverts commit 9ba90667b148aa8da62fdf7d7dd20ed5cf12b03a.
|
2026-10-09 14:35:19 +08:00 |
|
|
|
9ba90667b1
|
业绩明细:新增「种菜订单」筛选(全部/只看种菜/排除种菜),页面统计与导出同步生效
|
2026-10-09 14:23:48 +08:00 |
|
|
|
f56bd9d3ea
|
账单明细:新增财务备注筛选、筛选联动(行数为0的取值不展示)、行距放宽
|
2026-10-09 10:30:43 +08:00 |
|
|
|
ddbf32a0ee
|
快递运费:其他附加费汇总后面新增「退件费」列(按交易单号取快递应付的退件费结算金额)
退件费快照的表头跟另外两个不一样:单号列叫「交易订单」、金额列叫「结算金额」,所以 CourierPayableSummaryMap 的列定位改成按候选关键字找(先全等、再包含),三个汇总页共用一套逻辑。
|
2026-10-08 15:40:27 +08:00 |
|
chenxi
|
a0ce32ead1
|
Merge remote-tracking branch 'origin/main'
|
2026-10-08 15:37:18 +08:00 |
|
chenxi
|
f17a90c7a3
|
业绩明细:商品金额排除虚拟条码,新增「订单实付金额」列(方案3)
商品金额排除 X0000x 虚拟条码行;新增订单实付金额列(订单级实付,拆单取主单)。
|
2026-10-08 15:37:11 +08:00 |
|
|
|
0c84afb875
|
快递运费:运费差后面新增「其他附加费汇总」列(按交易单号取快递应付的附加费金额)
把上一版的 CourierFreightDifferenceMap 改成通用的 CourierPayableSummaryMap,同时支持「运费差」和「其他附加费汇总」两个汇总快照(都是上传在 uploads 盘的 JSON):运费差取「差异(结算运费-提供成本运费)」,附加费取「金额」,都按交易单号挂到快递运费页面对应行;快照文件时间戳进缓存键,财务重导后自动失效。
|
2026-10-08 15:21:25 +08:00 |
|
|
|
a8b086766b
|
快递运费:提供成本运费后面新增「运费差」列(按交易单号取快递应付的运费差)
运费差是「应付款项 › 快递应付 › 运费差」页面上传的汇总快照(JSON 文件,不是数据库表),这里新增 CourierFreightDifferenceMap 读它并转成 交易单号 ⇒ 差异 映射,页面按交易单号带出新列;快照文件的修改时间进缓存键,财务重导后自动失效。源表一格多单号(逗号分隔)会逐个挂同一个差异值。
|
2026-10-08 14:49:55 +08:00 |
|
|
|
1c90b64c29
|
快递运费:新增导入命令与页面数据表
财务经营报表 › 快递运费 之前是空页面。现在:
- 新增 courier_freight_rows 表(来源 / 成品配件 / 交易单号 / 提供成本运费);
- 新增 courier-freight:import 命令(xlsx / csv,按表头名匹配,支持 --replace);
- 把聚水潭导出用的 xlsx 流式读取器改成通用名 XlsxSheetReader(本次文件 57.8 万行、解压后 115MB,必须流式读);
- 页面按来源 / 成品配件 / 交易单号查询,列设置与分页复用通用目录表。
|
2026-10-08 13:20:01 +08:00 |
|
|
|
2cf181f1bf
|
业绩明细:异常标注三类整理 + 优惠/冲减补行 + 匹配状态/异常标注多选联动筛选
|
2026-10-08 11:46:42 +08:00 |
|
|
|
7b09d0de05
|
业绩明细:冲减金额后面新增「种菜金额」列
口径:订单号同时出现在「种菜明细表」和「聚水潭订单标签明细(是否种菜订单=是,即标签命中种菜映射)」里时,该订单的收入金额就是种菜金额,其余留空。两边的订单号都按账单侧同一套「核心单号」清洗(去日期前缀/空格/横杠)后比较;金额取该行已有的收入金额,只是展示,不参与差额计算(它本身就是收入金额的一部分)。
- 新增迁移:store_receipt_order_match_rows 增加 planting_amount 列(在 offset_amount 后面)。
- 同步命令:正式同步时写入该列;--amounts-only 一并回填;新增 --planting-only 只刷这一列(不读账单,适合给已同步好的账期补数);新增 --company 选项。
- 页面:列顺序 收入金额 / 优惠金额 / 冲减金额 / 种菜金额 / 商品金额…,顶部统计加「种菜金额合计」,导出同步带上该列。
- 补 NavigationTest 的列断言。
|
2026-10-08 10:59:21 +08:00 |
|
|
|
c1995319e6
|
业绩明细导出:当前页按页面每页条数(10/20/50)导出
|
2026-10-07 17:58:04 +08:00 |
|
|
|
dba61e5c8e
|
业绩明细:平台/店铺可搜索多选、导出跟随筛选且空值导出 0.00、分页支持每页条数与跳页(表头吸顶/序号列固定)
|
2026-10-07 17:54:34 +08:00 |
|
|
|
c8a035a18f
|
业绩明细:新增优惠金额/冲减金额两列(取科目映射表财务备注=优惠收入/冲减收入,支持 --amounts-only 回填)
|
2026-10-07 17:08:46 +08:00 |
|
|
|
daa4c939e7
|
聚水潭订单标签明细:支持按聚水潭导出的订单 Excel 导入,并放开筛选下拉上限
镜像 ops_jst_orders 只覆盖 2026-04-01 之后,缺的历史区间只能靠财务在聚水潭「导出订单」导文件补。所以:- 新增 JstOrderExportReader:ZipArchive+expat 流式解析聚水潭导出 xlsx。这类文件字符串走 inlineStr、dimension 只写 A1、单文件上万行 ×135 列(解压 78MB),常规读法会读成空表或吃满内存;实测 12286 行 3.5 秒、峰值内存 10MB。
- jst-order-labels:import 新增 --file=:按「线上订单号+标签」去重后拆行写入,可配合 --from/--to 过滤窗口;带 --replace 时先成功读到数据行再清区间,避免文件有问题却先删了线上数据。
- 筛选下拉上限 500 -> 5000:导入 4~7 月后店铺已达 604 个,原来下拉里会缺 104 个店铺;提交筛选值的截断上限同步放开。
- 补两个测试:导出文件去重拆行、窗口过滤+replace。
|
2026-10-07 16:53:55 +08:00 |
|
|
|
d877735507
|
聚水潭订单标签明细:新增「是否种菜订单」列
下单时间后面新增「是否种菜订单」列,逐行按(公司 + 标签)匹配财务维护的映射表:命中为是、未命中为否。
- 新表 jst_order_label_planting_rules + 模型 + 缓存服务,导入命令 jst-order-labels:import-planting-rules(读「判断种菜单.xlsx」)
- 导出 CSV 同步新增该列,页面/导出同口径
- 本地构建通过;改动/新增 PHP 文件 php -l 通过
|
2026-10-07 11:14:04 +08:00 |
|
chenxi
|
1a024c2b26
|
Merge remote-tracking branch 'origin/main'
|
2026-10-07 10:55:58 +08:00 |
|
chenxi
|
d7582cdb46
|
修复业绩明细导出:补平台筛选 + 改游标流式输出
导出补齐平台筛选,并把 chunk(1000) 的 OFFSET 轮询改为 cursor() 单查询流式输出。
|
2026-10-07 10:55:52 +08:00 |
|
|
|
40832546da
|
聚水潭订单标签明细:店铺/标签筛选改为可搜索多选
店铺名称、标签由原生单选 select 改为项目已有的「可搜索多选」组件(可打字搜索、全选/清空、勾选一条或多条),
结果按 shop_name[]/label[] GET 提交;控制器支持数组并与旧单值参数兼容,店铺 whereIn 精确匹配、多个标签 OR 包含匹配,
页面/分页/导出同口径。生产数据实测:多选店铺 951=951、多选标签 39575=39575、旧单值 92=92 均与独立 SQL 一致。
|
2026-10-07 10:54:07 +08:00 |
|
chenxi
|
0bb4df6512
|
业绩明细扩展到店铺收款账户账单全部平台页签
按页签配置来源表与列映射(得物用 bill_date、京东系列/抖音用 order_no+income、
京东与京喜按店铺名拆分、京东/抖音只取活动代);单号查询同时带原始号与核心号
以匹配拼多多的日期前缀单号;镜像表增加平台维度与平台列/筛选。
|
2026-10-07 10:41:00 +08:00 |
|
chenxi
|
b9c2b73655
|
修复业绩明细月份选择器禁用 7 月的问题
data-min-month 由写死的 2026-08 改为镜像中实际最早账期(YYYY-MM),
避免把已同步的 7 月禁用导致无法查询。
|
2026-10-07 09:51:26 +08:00 |
|
chenxi
|
278f641018
|
业绩明细账单侧筛选改为「总账备注」口径
账单侧改为按总账备注命中「订单/收入/交易收入/订单收入/商家结算款/跨境订单结算款/消费订单」,
复用 AccountLedgerRemarkMap + LedgerRemarkFilter,与店铺收款账户账单页同一口径,
淘系页签按店铺名前缀分淘宝/天猫/阿里巴巴取各自账单项目;统计条新增「收入为 0 的账单行」。
|
2026-10-07 09:39:06 +08:00 |
|
|
|
bfc119608f
|
feat: 新增税金预测表逻辑配置页面
|
2026-10-06 23:18:53 +08:00 |
|
|
|
8419d4097c
|
feat: 内部流转报表导入工作簿数据并支持查询导出
- 新增共享镜像表 business_internal_flow_records 与整份替换导入命令 internal-flow:import
- 按 Excel 表头展示抬头、标签、预计9月销量、开票、所需进项成本、收票、剩余缺口与开票比例
- 复用公司基础信息的字段查询、表头排序、筛选字段与导出 Excel 交互
- 新增导入与页面测试,覆盖合计行跳过、重导入替换、筛选排序与未导入空状态
|
2026-10-06 22:08:08 +08:00 |
|
|
|
e777e75176
|
店铺违规信息预警:统一表头映射,支持查询、导入导出与每日同步
|
2026-10-06 19:02:22 +08:00 |
|
|
|
78857a51d9
|
feat: 店铺维度报表按主体期间拆分并支持期初数据维护
- 改为按期初数据+系统主体+爬虫新主体生成主体期间,一行一期间,修复流程历史重复行
- 变更日当天归新主体、老主体失效显示变更日前一天;关店和其他非正常状态两列显示 -
- 期初数据首次打开固化为系统库设置,可在「规则信息 → 店铺维度报表逻辑配置」在线增删改
- 爬虫店铺主体按税号归一,首次抓到的新主体写入期间变更表并自动生成新期间
- 新增期间变更表迁移与 crawl_shop_company 镜像数据集
|
2026-10-06 18:42:12 +08:00 |
|
|
|
d6b0b7f1d7
|
feat: 接入退货取件管理镜像、实际运费核算与 XLSX 导出
|
2026-10-06 16:05:59 +08:00 |
|
chenxi
|
98cea16655
|
Merge remote-tracking branch 'origin/main'
# Conflicts:
# config/business_navigation.php
|
2026-10-06 15:41:47 +08:00 |
|
|
|
6af12c030e
|
财务经营报表:新增账单明细页(多选筛选/日历选择/四项汇总/按列导出与进度/收款明细同款分页),科目映射表字段改名财务备注与财务类型
- 账单明细:7 个平台账单分支下推查询,按 active_generation 取当前版本(修正抖音重复计数),跨月大数据量由 73s 降到 1-2s
- 筛选:平台/店铺/账单项目/财务类型多选下拉(打字模糊搜索+滚动),日期改日历选择
- 导出:全部筛选结果 CSV 流式下载并按显示列最小取数,带进度轮询;列设置按账号存本机
- 分页:每页 10/20/50,首页/上下页/末页,第 X-Y 条/共 N 条
- 科目映射表:字段改名财务备注/财务类型(导入兼容旧名)
|
2026-10-06 15:35:16 +08:00 |
|
chenxi
|
e0f89288d2
|
业绩明细取数口径改为「一个店铺 + 一个订单号 + 一个商品金额」
- 账单侧:账单项目扩到 11 类(交易收款、1688 增值服务系列、交易分账_货款、其它交易收款、
先采后付账单付款、百补超级版消费者实付款、店铺过户),按「店铺 + 订单号」聚合收入与收款笔数
- 订单侧:销售全量按「店铺 + 线上订单号」先聚合求和(goods_count>0 有效行),
一单多品/多子订单在聚合阶段合并,商品金额只挂一次
- 匹配:单号清洗(去日期前缀/空格/横杠)后按核心号 + 店铺匹配;店铺以账单「线上真实店铺」
优先,下划线归一为横杠;订单侧单号一致但店铺不同或同号多店铺时标注异常
- 输出列:发生时间 → 店铺名称 → 线上单号 → 收入金额 → 商品金额 → 差额(收入−商品金额)
→ 匹配状态 → 异常标注;镜像表改为该行口径
- 统计:账单收款笔数、账单订单数、已匹配、未匹配、一单多笔、账单收入合计、
订单商品金额合计、差额合计(已匹配)
- 未匹配分类:空单号 / 格式不一致 / 订单无商品金额 / 订单表无此单,并可按异常标注筛选
8 月淘系支付宝:118,500 笔收款 → 111,427 行,已匹配 101,005、未匹配 10,422
(订单无商品金额 8,352 / 订单表无此单 2,046 / 空单号 24),一单多笔 6,758。
|
2026-10-06 14:43:49 +08:00 |
|
chenxi
|
08aaed9241
|
业绩明细新增「店铺收款匹配订单明细」页面及同步命令
- 以店铺收款账户账单(账单项目=交易收款)为基数,按线上单号关联经营分析副本库
的发货明细与销售全量,补出发货仓库、商品编码、商品数量、商品金额
- 匹配键:账单 online_order_no = 发货明细 so_id = 销售全量 sourceno(淘宝/天猫主订单号);
同一订单多笔收款按订单号汇总,商品金额取 goods_count>0 的有效行
- 新增镜像表 store_receipt_order_match_rows 与命令
store-receipt:order-match:sync <YYYY-MM>(分批查询上游,订单号每批 1000 条)
- 页面:月份/店铺名称/线上单号/匹配状态筛选、匹配统计条、分页、CSV 导出
- 修正宽精度迁移在 sqlite 测试库上执行 MySQL 改写语句导致测试全线失败的问题
|
2026-10-06 13:42:30 +08:00 |
|
|
|
c46a439d73
|
聚水潭订单标签明细分页总数改为缓存
无筛选时 COUNT(*) 在 233 万行上要 2 秒(冷缓存更久);改为缓存总数(30 分钟,导入时预热)并手工构造分页器,翻页不再重复统计。
|
2026-09-30 17:48:35 +08:00 |
|
|
|
5bcd6b6c52
|
Merge branch 'fix/qiuxiang-jst-order-labels-options-cache'
|
2026-09-30 17:12:41 +08:00 |
|
|
|
77ac3c58fa
|
聚水潭订单标签明细筛选选项改为缓存并预热
233 万行上做 distinct 扫描要几秒;新增 JstOrderLabelOptions(按公司缓存 24 小时),页面读取缓存,导入命令结束时失效并预热,避免每次打开页面都等待。
|
2026-09-30 17:12:27 +08:00 |
|
chenxi
|
cf07ad499f
|
入库明细新增“总计”列(=金额+预估金额),页面与导出一致
|
2026-09-30 17:04:44 +08:00 |
|
chenxi
|
5ee0813490
|
入库明细数据:加仓库/条码筛选与导出接口,样式对齐进销存总表筛选栏
|
2026-09-30 16:55:13 +08:00 |
|
|
|
e5d6c76f27
|
账单流水数据新增聚水潭订单标签明细页
新增「账单流水数据 › 聚水潭订单标签明细」(紧邻种菜明细表):四列(线上订单号/店铺名称/下单时间/标签),按标签拆行(一个标签一行)、订单不去重、标签不汇总,无标签订单记为「(无标签)」。新增 jst_order_labels 表(含公司/时间/标签/店铺索引)、JstOrderLabel 模型、JstOrderLabelImporter(从镜像 ops_jst_orders 按区间拆行导入,--replace 只清同区间)与 jst-order-labels:import 命令、导出路由与用例。页面筛选:下单时间区间(点整块开日历、可单独清除)、店铺、标签、线上订单号。
|
2026-09-30 16:40:16 +08:00 |
|
|
|
b106569905
|
Merge branch 'feature/qiuxiang-planting-details-page'
|
2026-09-30 09:51:10 +08:00 |
|
|
|
28b9271b3c
|
账单流水数据新增种菜明细表页面与导入
新增「账单流水数据 › 种菜明细表」页面:汇总卡(笔数/财务打款金额/财务售价/扣款/京喜差价)+ 筛选(日期区间/店铺/负责人/类型/标签/关键词)+ 分页 + 按筛选全量导出,样式沿用 upstream-data 黑金令牌。新增 planting_details 表(20 列与源表一一对应,金额保留 4 位小数)、PlantingDetail 模型、PlantingDetailImporter(xlsx/xls/csv,兼容 Excel 序列号日期与千分位金额)与 planting-details:import 命令。补 PlantingDetailsPageTest 覆盖导入、序列号日期、页面渲染、筛选与导出。
|
2026-09-30 09:50:50 +08:00 |
|
chenxi
|
af1a98e1a1
|
修复商品月加权平均单价导出空白:导出同样把 Y-m 归一为当月1日
|
2026-09-29 17:09:49 +08:00 |
|