|
|
8261b17328
|
种菜明细表同步:利润中心优先用历史值,缺失的用店铺维度报表的 ERP 店铺资料补齐
9 月有 19 家新店铺(1245 行)在历史映射里查不到,导致利润中心为空。现在按「ops_fys_shop_info.erpShopName → responsibleDepartment」补(就是店铺维度报表里 ERP系统店铺名称 → 店铺所属利润中心 那一列),两边都查不到才留空并在命令输出里列出。
历史值仍然优先,避免把人工维护过的取值改掉:实测 371 家可在 ERP 命中的店铺里 365 家两边一致,6 家不一致(朴美家居、朴美书房、拼多多-HX103、索菲亚办公、顾升、乐之益)已单独报给用户确认。
|
2026-10-08 09:59:11 +08:00 |
|
|
|
ef62cac0d9
|
种菜明细表:新增按月从聚水潭种菜报销工单同步的命令(带自动排重)
每个月都要手工整理「中心明细表」,改成一条命令:planting-details:sync-work-orders --month=YYYY-MM。
- 口径用 1~8 月已入库的 7 万多行反推验证过:只取「工单类型=种菜报销、状态=已完成」的工单,明细表「日期」= 工单完成日 - 1 天(历史命中 100%),所以某月数据 = 完成时间落在该月次日到下月次日的工单。
- 字段映射(聚水潭只返回 fieldId,不给字段名,这批 id 是拿历史数据逐列对撞出来的):财务售价/财务运费/财务佣金/京喜差价/扣款/财务空包费/财务打款金额 分别对应工单的 任务付款/任务快递费/任务佣金/京喜差价/任务扣款/任务空包费/最终报销金额;负责人、账户、类型、标签、创建人、平台商品ID 也各有对应字段。
- 自动排重:写入前先删掉「本月 + 本次订单号」的已有行,重复执行不会翻倍;--force-clear 才整月覆盖,--dry-run 只看不写。
- 所属利润中心没有工单来源,用表里已有的 店铺→利润中心 映射回填,命中不了的店铺在命令输出里逐个提示。
- 补测试:字段映射 + 日期口径 + 去重 + 利润中心回填 + force-clear。
|
2026-10-08 09:35:34 +08:00 |
|
|
|
4bcfde58f7
|
按文件导入改为两遍:先挑出真正有标签的订单,再拆行写入
聚水潭导出是一单多行,实测有 97 单是「部分明细行带标签、部分为空」;单遍处理会给这些单多写一行「(无标签)」。改成第一遍收集有标签的订单号,第二遍只对整单无标签的订单写「(无标签)」,并补上对应断言。
|
2026-10-07 16:59:01 +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 |
|
|
|
e5922dd78e
|
订单售后费用明细 / 商品推广费用明细:订单号和商品编码支持批量查询
两个页签的「订单号」「商品编码」改成多行输入框,可以直接粘一整列:
每行一个,或用逗号、空格、分号、顿号分隔,一次最多 50 个值,多值取并集。
- 订单号批量:先去两套来源解析候选 o_id(单表、等值 IN,走各自前缀索引),
再按订单过滤;单个订单号仍保留「从头匹配」的模糊语义。
线上实测 20 个真实单号解析 0.01 秒。
- 商品编码批量:每个编码在 商品/款式/店铺编码(推广页为 item_id)里匹配一组,
多组 OR;仍受统计日期/订单日期范围约束。
- 非淘系旧查询路径同步支持批量,保持两套口径一致。
|
2026-10-07 13:55:02 +08:00 |
|
|
|
4b97b30a3a
|
商品推广费用明细:店铺筛选改成和订单售后费用明细一致的多选控件
- 把「店铺名称:可点选的多选 + 模糊搜索」抽成公共组件
partials/order-data-shop-picker.blade.php,订单售后费用明细改为引用它,
商品推广费用明细用同一个控件(原来是一个纯文本输入框)。
- 推广页提交 shop_name[](多个取并集),后端镜像查询和非淘系旧查询都改成
按多个店铺 OR 匹配,仍兼容原来的单个 shop_name。
- 推广表的店铺名带下划线(天猫_卓禾家具旗舰店),和订单镜像的「天猫-…」
不是同一套命名,所以候选单独取自 ops_item_sales_cost_ratio 当前统计日期
出现过的店铺,按日期缓存 24 小时(单次约 0.4 秒、约 400 个店铺)。
|
2026-10-07 13:39:25 +08:00 |
|
chenxi
|
2341a839f3
|
Merge remote-tracking branch 'origin/main'
|
2026-10-07 10:41:06 +08:00 |
|
chenxi
|
0bb4df6512
|
业绩明细扩展到店铺收款账户账单全部平台页签
按页签配置来源表与列映射(得物用 bill_date、京东系列/抖音用 order_no+income、
京东与京喜按店铺名拆分、京东/抖音只取活动代);单号查询同时带原始号与核心号
以匹配拼多多的日期前缀单号;镜像表增加平台维度与平台列/筛选。
|
2026-10-07 10:41:00 +08:00 |
|
|
|
fb15402003
|
feat: 店铺维度报表无业绩月份列默认隐藏 (#281)
|
2026-10-07 10:01:13 +08:00 |
|
|
|
83e5108ce6
|
订单售后费用明细:重置后不再自动带日期
- 点“重置”或提交空日期时,不再回填近 7 天默认区间,日期框保持为空并做不限日期查询
- 首次进入页面仍保留近 7 天默认区间;导出文件名在无日期时显示“不限日期”
- 补充过滤归一化与页面渲染用例
|
2026-10-07 10:00:20 +08:00 |
|
|
|
eda10bd740
|
订单售后费用明细:店铺筛选改为可点选的多选模糊查询
- 店铺名称由单个输入框改为可点选的多选下拉:候选里可按关键字模糊筛选、多选、全选当前结果/清空
- 提交 shop_name[],多个店铺取并集逐个模糊匹配;保留旧的单值 shop_name 兼容
- 候选来自订单镜像中真实出现过的店铺,缓存 1 小时;单次最多 50 个店铺,超出在面板内提示
- 补充仓库层与页面层用例
|
2026-10-07 10:00:20 +08:00 |
|
|
|
5ef4119a3d
|
feat: 主体维度经营报表无数据月份列默认隐藏 (#280)
|
2026-10-06 23:51:16 +08:00 |
|
|
|
bfc119608f
|
feat: 新增税金预测表逻辑配置页面
|
2026-10-06 23:18:53 +08:00 |
|
|
|
35fe10bc69
|
feat: 新增税金预测表页面与取数口径说明
|
2026-10-06 23:17:16 +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 |
|
|
|
13a9697447
|
店铺收款账户账单新增「总账备注」筛选;每日账单脚本支持胜算异步分片导出
- 所有账户页签在「店铺」右侧新增「总账备注」下拉:按(平台+账单项目)翻译成账单项目集合过滤,页面/列设置/导出同口径;淘系支付宝、淘系微信同页签混多平台时按店铺名前缀细分
- 每日账单脚本:胜算超出同步导出上限(url=null+taskId)时自动从「异步导出下载管理」取回本次任务全部分片并合并成一份 CSV,导入前按页面笔数核对(不一致则跳过导入)
- 实测:京东 7 月异步导出两片 219158+235846=455004 笔 / 收入 17695094.84 / 支出 8035128.21,与已导入口径一致
|
2026-10-06 18:46:57 +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 |
|
|
|
4523682d1e
|
feat: 逆向物流报价页接入计费规则与费率表
|
2026-10-06 16:01:35 +08:00 |
|
|
|
c04054ca0b
|
修复「总账备注」在共享镜像页签不生效(mirrorIndex 漏补装饰)
|
2026-10-06 15:54:52 +08:00 |
|
chenxi
|
7d2980d5e3
|
Merge remote-tracking branch 'origin/main'
|
2026-10-06 15:41:58 +08:00 |
|
|
|
e147c90a2c
|
店铺收款账户账单新增「总账备注」列(按平台+账单项目映射表取值)
- 新增 ec_account_ledger_remarks 映射表与 account-ledger-remarks:import 导入命令(平台/账单项目/总账备注)
- 新增 AccountLedgerRemarkMap:按店铺名前缀识别平台,无前缀时用页签默认平台;缺失匹配保持空白
- 全部账户页签(含淘系支付宝自有列定义)在「店铺/店铺名称」右侧新增「总账备注」列,页面/列设置/导出共用同一份列定义
- 控制器在分页与导出流读取时补齐 payload.ledger_remark,不改动上游账单与共享镜像数据
- 用例:新增 AccountLedgerRemarkMapTest;修正唯品会 JX/MP 列清单断言
|
2026-10-06 15:42:57 +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 |
|
|
|
b2647fa26d
|
新增种菜数据汇总一级菜单并把两个明细页移入
账单流水数据下移出「种菜明细表」「聚水潭订单标签明细」,新增并列一级菜单「种菜数据汇总」(图标 grass)承载这两个页面;导出路由改到 workspace/planting-data/... 并同步路由名、页面中间件与导出链接;更新导航/页面用例(账单流水数据页签列表恢复原样)。
|
2026-09-30 17:44:06 +08:00 |
|
|
|
fc6b83aee0
|
Merge branch 'feature/qiuxiang-jst-order-labels-page'
|
2026-09-30 16:40:37 +08:00 |
|
|
|
e5d6c76f27
|
账单流水数据新增聚水潭订单标签明细页
新增「账单流水数据 › 聚水潭订单标签明细」(紧邻种菜明细表):四列(线上订单号/店铺名称/下单时间/标签),按标签拆行(一个标签一行)、订单不去重、标签不汇总,无标签订单记为「(无标签)」。新增 jst_order_labels 表(含公司/时间/标签/店铺索引)、JstOrderLabel 模型、JstOrderLabelImporter(从镜像 ops_jst_orders 按区间拆行导入,--replace 只清同区间)与 jst-order-labels:import 命令、导出路由与用例。页面筛选:下单时间区间(点整块开日历、可单独清除)、店铺、标签、线上订单号。
|
2026-09-30 16:40:16 +08:00 |
|
|
|
149d7ef74f
|
修复终版其他子页面的导入弹窗不弹出
上一版按脚本内容去重,只有整页加载的那个子页面弹窗绑上了事件;切换页签后换进来的
新弹窗因为脚本内容相同被跳过,所以“其他子页面点导入没反应”。
改为给弹窗脚本加 data-caiwu-replay 标记:局部替换导航后每次都重新执行,
脚本自身按目标元素 data-ready 去重,重复插入不会重复绑定。
|
2026-09-30 15:58:24 +08:00 |
|
Codex Yueyang
|
bb5b03ad80
|
科目映射表:大类新增「税费」(支出基准)
|
2026-09-30 10:40:59 +08:00 |
|
|
|
cfde842d51
|
Merge branch 'fix/qiuxiang-planting-details-date-filter'
|
2026-09-30 10:28:17 +08:00 |
|
|
|
ff23b285db
|
种菜明细表时间筛选改为可用日期区间控件
原来的两个原生 date 输入只像一个按钮:新增点击整块输入框即打开日历(showPicker)、选完日期立即按当前条件查询、开始/结束日期各自可一键清除,并补充近7天/本月/上月/全部日期快捷区间;补用例断言这些控件存在。
|
2026-09-30 10:28:02 +08:00 |
|
|
|
f3ebfb942e
|
修复终版页签切换后导入/编辑按钮无反应
供应商应付工作区用局部替换方式切换页签,被替换进来的页面自己追加在 body_end
的行内脚本不会执行,导入/编辑弹窗因此没有绑定事件(原「供应商应付」下同样使用
行内弹窗的板材扣款页也受影响)。
现在导航完成后补执行一次新出现的行内脚本,并按源码内容去重,避免重复绑定。
|
2026-09-30 10:17:12 +08:00 |
|
|
|
304bb3dc8e
|
种菜明细表:ID 列放宽为 text 支持多行 ID
源表「ID」列存在一个单元格多行放多个 ID 的行(导入时报 Data too long for column external_id)。新增迁移把 external_id 放宽为 text,导入器按 500 字符保留原文,并补用例覆盖多行 ID。
|
2026-09-30 09:55:51 +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 |
|
yueyang
|
9f73d1915c
|
科目映射表:区分条件留空显示并导出为「-」,导入按不限处理
|
2026-09-29 17:40:36 +08:00 |
|
yueyang
|
9b05d99cd8
|
科目映射表:按业务备注/商品名称区分同一账单项目的不同业务,修正重复口径
|
2026-09-29 17:27:25 +08:00 |
|
|
|
88626ad404
|
科目映射表并入待处理财产损益大类
固定大类清单新增「待处理财产损益」(支出基准),前端大类→基准映射同步;补用例覆盖。另:唯品会JX 的 8 条规则平台名由「唯品会jx」统一为「唯品会JX」(数据修正,逐条 update 并记操作日志)。
|
2026-09-29 17:04:57 +08:00 |
|
|
|
cf4fd5f59c
|
Merge branch 'feature/qiuxiang-account-mapping-nine-percent-invoice'
|
2026-09-29 16:30:34 +08:00 |
|
|
|
f0e8803626
|
科目映射表票据口径并入9%
常用票据口径新增 0.09(京东短信服务费等 9% 税率),页面票据下拉可选且校验不再报提示;补用例覆盖 0.09 与 options.invoices。另:京东「综合违约金/违约赔付」的借方科目由「销售费用/营业外支出」改为「营业外支出」(数据修正,走 store.update 并记操作日志)。
|
2026-09-29 16:30:11 +08:00 |
|
yueyang
|
7f3aeb233e
|
科目映射表操作记录:时间固定按平台时区,避免页面请求按公司时区写入导致差 7 小时
|
2026-09-29 16:10:34 +08:00 |
|
yueyang
|
55e92cc95b
|
科目映射表加操作记录:查看新增/修改/删除/导入历史,支持筛选、导出与恢复
|
2026-09-29 15:56:27 +08:00 |
|
|
|
48b436510e
|
Merge branch 'feature/qiuxiang-account-mapping-douyin-categories'
|
2026-09-29 15:21:11 +08:00 |
|
|
|
46689d99d3
|
科目映射表并入抖音大类并把票据0按不开票处理
固定大类清单新增售后费用/平台服务费/平台佣金(支出基准)与往来(收入基准),页面大类下拉与改大类时自动带基准的前端映射同步更新;导入时票据「0 / 0.00 / 0%」归一为「不开票」。现网 38 行抖音规则已由 0 改为不开票(逐条更新、写操作日志)。
|
2026-09-29 15:20:44 +08:00 |
|
chenxi
|
b93a662614
|
商品月加权平均单价页入库数据子列「采购数据」改名为「采购数量」
|
2026-09-29 14:23:33 +08:00 |
|
chenxi
|
0d0482a8fe
|
修复两层表头右侧跨行列的边框断格
- 基础样式 th:last-child 会去掉第二行最后一个单元格(入库金额)的右边框,
导致与右侧跨行的加权平均单价、定价状态之间缺少竖线、上下横线错位
- 按字段顺序给真正的最后一列打 data-directory-last-column 标记,
合并表头的其它表头单元格统一保留右边框
|
2026-09-29 13:39:09 +08:00 |
|
chenxi
|
0b1de5b3ce
|
商品月加权平均单价页在加权平均单价后增加定价状态列
- 工作表新增 P 列「定价状态」,页面按同一列顺序补为第 16 列
- 该列不分组,表头跨两行,与加权平均单价一致
|
2026-09-29 13:29:01 +08:00 |
|
|
|
b6e52f7bff
|
科目映射表序号列加宽到3.5rem,表头#改为序号
|
2026-09-29 11:47:43 +08:00 |
|
|
|
813e956df5
|
应付款终版目录接入独立按表数据
两个「终版」目录(供应商应付(终版)、快递应付(终版))改为独立数据:
保留原有导入、导出、查询、重置、编辑按钮和导入模板,数据初始为空、按表独立存放,
不再借用基础目录的页面与数据。
- 终版目录拥有自己的同名子页面与横向页签
- 新增终版按表数据的独立导入/导出/模板/编辑接口(数据集键 final:<目录>:<页面>)
- 供应商终版 13 个页面、快递终版 4 个页面已接入
- 终版导入模板统一增加“月份”列,记录标识列改为选填
|
2026-09-29 11:06:41 +08:00 |
|