453 Commits

Author SHA1 Message Date
4c2c422c78 feat(普通商品资料): 聚水潭成本价记录改为镜像快照比对
- 副本库 rpt.jst_sku 一商品一行、无历史;开放平台操作日志接口暂无授权
- 新增 JushuitanCostPriceSnapshotDiffer:ops_jst_sku 当前成本价与快照比对,
  变化写入 jushuitan_cost_price_history_rows(变更前/后/差额,时间取聚水潭 modified)
- 新表 jushuitan_cost_price_snapshots(迁移 + 运行时幂等建表)
- business-mirror:sync-jushuitan-cost-price-history 默认走 snapshot,
  JUSHUITAN_COST_PRICE_HISTORY_SOURCE=open_api 可切回接口
- 生产 cron 由每日 00:00 改为每 10 分钟
- 页面“聚水潭成本价记录”列显示最近一次变价(前→后 · 时间)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0192A1X1EDtdzpaAVMhBj2nh
2026-10-08 11:04:26 +08:00
f06380bcd0 fix(发货数据): 两种导出模式对齐工作平台取值逻辑
按工作平台 OmsDataDay 源码 + 9.1-9.16 逐单对比反推,合并/明细基础信息一致率均达 99.9% 以上。

取数范围
- 换单配对:快递明细旧单号在出库单查不到时,配同订单下未被占用的出库单新单号
- 作废重出:同单号/同订单多张出库单时优先有效单、再取最新 io_date
- 订单已取消/已拆分/已合并的快递明细不出行;订单标签含"线上发货"同样排除
- 合包/拼单:按 单号+订单号 定位出库单;同单号不同交易单号的出库单照常补出
- 发货明细无单号:出库单单号 -> 订单单号 -> 空,不再借运费表里其它包裹单号
- 自动发货仓虚拟/补差单:单号已被别的包裹输出则留空
- @ 去重只在同一交易单号、本次同步时间段内比对,剩余 @ 前缀统一去掉

字段取值
- 发货时间取出库单 io_date;平台取视图 shop_site(无则映射);省市区取视图
- 合并商品名称/供应商取包裹内最后一个商品(原为 MIN);名称 & 转 ^
- 明细体积:数量×长×宽×高,代发仓非标准承运商不乘数量,指定快递为 0(config detail_volume)
- 组合件合并值单独存 m_* 列(新迁移),合并导出优先使用
- 仓库 {未指定发货仓} 导出为空;明细 0 尺寸/体积导出为空

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014nvGZkg27YMEdhry6eiuwf
2026-10-07 09:14:31 +08:00
0e0ea619c6 fix(发货数据): 修正线上发货误排 + 出库单兜底,补齐漏拉
对照工作平台 9.1-9.16 导出逐单比对,漏拉(带快递单号) 2384 -> 95,多拉 45 -> 46。

- excludedByLabel:原先凡含"线上发货"一律排除,把京东云仓/京仓(CLPS/ECLP)
  真实发货也误排了。改为只排除"线上发货且非云仓/京仓"(刷单/批发/纯售后)。
  实测 2112 个线上发货出库单:误排 2、误收 0。
- 新增 syncOutbound 兜底 pass:按出库单 io_date 窗口(按主键 Id 分段)扫描,
  把 express/autoship 都未处理的包裹按发货数据视图补吐(工厂代发仓/自有仓
  出库单无订单行,或同订单其它包裹在发货明细而本包裹不在)。
  防重复按 io_id + 快递单号(去@),express/autoship 处理过的(含按标签排除的)
  都登记跳过;同样套用标签规则,跳过取消/删除、无单号、无商品。
- 出库单表头缺失交易单号/省市区/店铺/快递名称时,从发货数据视图兜底。
  新补 652 单:交易单号/省 99.4%,条码/仓库 99.8%,平台/供应商/体积 100%。

已知未收:314 个"简尚-自动发货仓"信誉订单虚拟条码(X00006),只存在于视图,
无快递单号/运费/金额,源数据无发货时间。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014nvGZkg27YMEdhRy6EiUwf
2026-10-05 14:04:21 +08:00
067102ab15 feat(发货数据): 商品来源改为出库实发(发货数据视图),对齐工作平台
- 商品来源从「下单商品 jst_OrderItem」改为「出库实发商品」:按出库单 io_id
  关联发货数据视图 Jst_SendData_View_extension 取实发条码/数量,jst_OrderItem/dws
  仅作兜底。消除组合/多规格包裹的多吐行与数量错误。
- 长宽高/体积/供应商/重量优先取自发货视图(体积=长×宽×高,整箱算一次)。
- 导出明细:多条码(逗号拼接)按条码拆条,数量/体积按条码数均摊,合并求和后与整行一致。
- 去除以 @ 开头、去@后已存在的重复单号(换单/重拉产生)。
- 发货单查询改为按主键翻页 + PHP 窗口过滤,避免 send_time 无索引全表扫。
- 逐天预载 dws,进度回调输出扫描/命中进度。

新增命令:jst:dump(导出对比CSV)、jst:row(抽查单号)、jst:dedup-at(去@重复)。

9.1-9.16 全量对比:共有 19.3 万包裹,数量/名称/条码/体积/供应商等字段一致率 99.9%;
导出明细件数结构 99.87% 一致。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014nvGZkg27YMEdhRy6EiUwf
2026-09-23 17:02:53 +08:00
a65604ddb9 fix(发货数据): 排除"线上发货"(平台代发/云仓)单,对齐工作平台
工作平台调聚水潭 erp.dlv.query tradetype=1(卖家自出库单),不含平台代发/云仓的
"线上发货"单;副本库发货明细表却收录了它们,导致 caiwu 多出约5000包裹。
现按 order_labels/labels 含"线上发货"排除(主口径与自动发货仓并入均生效)。
实测:包裹 199602→194573(-5029),与差异样本 63/64 带该标签吻合。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014nvGZkg27YMEdhRy6EiUwf
2026-09-22 01:08:40 +00:00
464f731d9e fix(发货数据): 导出去掉标识列的 ' 前缀
快递单号/交易单号/商品ID/条形码导出为原样文本,不再加 ' 前缀
(仅改发货数据导出;保留以 =+-@ 开头值的防注入引号;不影响其它导出)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014nvGZkg27YMEdhRy6EiUwf
2026-09-21 07:55:03 +00:00
2a1b663da2 feat(发货数据): 合并/明细双模式,还原工作平台 导出/导出明细
- 同步改为"一个发货单×每件商品一行"(明细底座);新增 pkg_count 列存"1/N"件数
- 体积=数量×长×宽×高;包裹级(实称重量/运费)仅落首件,合并求和不重复
- 仓储 paginate/exportRows 支持 mode:
  合并=按 source_id 归并(条码/商品ID逗号拼接、数量/重量/体积/金额/运费求和、长宽高取最大、其余取值);
  明细=每件一行
- 页面加"合并/明细"切换 + 两个导出(导出/导出明细) + 件数列
- 同步内存加固(1.5G、关本地查询日志、每批释放+gc),避免全量 OOM

实测:包裹199602/明细222311,多件包裹11667,补差0;
7件样例合并体积=各件求和、运费不重复、明细每行1/7。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014nvGZkg27YMEdhRy6EiUwf
2026-09-21 07:49:26 +00:00
b9bbba31b7 docs(发货数据): 工作平台→caiwu 100%还原逻辑对照
据 JSCrm OmsDataDayService 源码梳理:数据流、明细/合并(Expressno+Packageno)归并规则、
体积/件数(1/N)规则、派生字段(ExNameDto/SpName/ExpreBatch/换单前单号)、筛选口径、
暂缓的计泡+运费,及分阶段落地计划。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014nvGZkg27YMEdhRy6EiUwf
2026-09-21 05:15:59 +00:00
440f06079f feat(发货数据): 供应商/店铺/仓库/快递公司改为勾选式多选下拉
- 下拉面板:回车检索 + 清除 + 表头全选 + 复选框列表,勾选多个即可
- 后端多选精确匹配:仓库/店铺/供应商 whereIn;快递公司匹配快递名称1/2 任一
- suggest 接口支持 limit(≤500),过滤空值与占位脏值"0"
- 查询与导出均按所选多个值生效

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014nvGZkg27YMEdhRy6EiUwf
2026-09-21 03:54:48 +00:00
b9e0835ef5 feat(发货数据): 供应商/店铺/仓库/快递公司筛选框自动补全
- 新增只读取值接口 shipping-data/suggest:按字段去重返回匹配候选(供应商/店铺名称/仓库/快递公司,快递取 express_name1/2 并集)
- ShippingOrderRepository::distinctValues 去重查询
- 前端 typeahead:输入弹下拉,支持鼠标点选与上下键/回车选择

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014nvGZkg27YMEdhRy6EiUwf
2026-09-21 03:36:07 +00:00
3766fe4d4b chore(发货数据): 部署 cron 增加每日 01:28 发货数据同步
- /etc/cron.d/caiwu-jiansun-snapshots 增加 jushuitan:sync-shipping --days=3
- 该系统不跑 Laravel schedule:run,故定时走部署 cron(与其它 business-mirror 同步一致)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014nvGZkg27YMEdhRy6EiUwf
2026-09-21 03:16:56 +00:00
8cae97df0d fix(发货数据): 对齐工作平台口径并补足两边差异
- 确认基表为发货明细 jst_order_express_details(聚水潭发货单dlv镜像)
- 快递单号回落: logistic_id -> jst_Orders.l_id -> 运费表 expressNo
- 发货时间 send_time 缺失时回落 jst_Orders.send_date(修滞后单)
- 并入自动发货仓(jst_Orders已发货但不在发货明细表), 约2179条
- 剔除补差虚拟单(商品名含 补收差价/差价专用)
- 窗口重跑先按发货时间删旧行再重建, 批量 insertOrIgnore 提速
- 每日 01:28 滚动同步 --days=3

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014nvGZkg27YMEdhRy6EiUwf
2026-09-21 03:11:31 +00:00
f580807097 feat: 增加发货数据筛选日期选择与导出 2026-09-16 10:55:27 +08:00
9190ecff67 feat: 发货数据页接入(caiwu 直连聚水潭/奇门)
- 聚水潭奇门客户端与发货同步器骨架:QimenClient(签名+POST)、ShippingDataSynchronizer(erp.sctrade.query 列表 + erp.sradesku.query 明细 + upsert + modified 水位)
- 发货明细扁平展示表 jst_oms_shipping(对齐工作平台发货数据 47 列/顺序,用于快递运费核算);原始表 jst_sctrade/_items/_skus/_receiver + jst_sync_state
- 快递应付新增「发货数据」页:Pages.contentForShippingData + 视图 + business_navigation 导航项(slug=shipping-data)
- ShippingOrderRepository 读展示表;artisan jushuitan:sync-shipping + 每10分钟增量调度(JST_SYNC_ENABLED 默认关)
- 落库连接 jushuitan_local(本地容器,env 可覆盖);演示 Seeder(6 条家具发货样例);.env.jushuitan.example

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014nvGZkg27YMEdhRy6EiUwf
2026-09-15 06:32:45 +00:00
18c63d6abf fix: keep warehouse settlement schema compatible 2026-09-15 09:32:44 +08:00
41d80e4056 feat: add jushuitan cost price history 2026-09-15 09:21:09 +08:00
0b00f01566 feat: 三方仓仓储费一键核算+导出核算明细+每期存档
在「第三方仓储报价」页新增仓储费核算:选月份一键按当期生效报价核算
(入库管理费/出库费用/每日仓储费),结果存档并可导出汇总/每日/逐商品三表。

- 新增计算服务 ThirdPartyWarehouseStorageFeeCalculator(口径与报价页公式一致,
  重量取普通商品资料 ops_jst_sku.weight)
- 新增存档表 business_third_party_warehouse_storage_settlements + 模型
- 新增 maatwebsite/excel 三表导出 ThirdPartyWarehouseStorageSettlementExport
- 报价仓库新增 effectiveFor(按仓库+结算月取当期生效报价)
- Livewire 组件与报价页新增核算/导出/历史 UI
- 新增计算服务测试(附 2026-08 真实验收基准 1538.20/6099.60/8376.48/16014.28)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DVQ6NsLsbtxm5Ng7Eew3s9
2026-09-15 09:21:05 +08:00
7b4deb10e8 修复淘系支付宝账单混入其他平台数据 (#184) 2026-09-14 15:49:22 +08:00
aa7f063a70 重构资金预测表工作台 (#183) 2026-09-14 14:28:20 +08:00
fb691d9127 修复拼多多货款账单加载超时 (#182)
省略固定渠道重复条件,并补充拼多多账单项目索引。
2026-09-14 13:55:28 +08:00
a15cfc1578 fix: prevent warehouse settlement page timeout 2026-09-14 13:30:57 +08:00
59f5f5b4f0 feat: 普通商品展示完整价格变更记录 (#181)
普通商品资料展示同一 SKU 的完整定价/变价历史,并支持导出单商品价格变更明细。
2026-09-14 12:33:49 +08:00
edf51109fe 修复部署后抖音账单页面停留在未配置占位页 (#180) 2026-09-14 12:08:23 +08:00
7f71e49c5f fix: keep empty bill offset amounts unknown 2026-09-14 11:59:29 +08:00
31eaf55ed5 账单冲减/售后明细:接入 500112 冲减收入取数(暂用退货红冲金额)
- OrderDataRepository 与 OrderDataMirrorRepository 的 afterSales() 现对 account_500112 取数:\n  暂以「退货红冲金额(reversal_order_amount,即负值商品金额的绝对值)」作为收入冲减口径。\n- 该字段此前在 expenseFields() 中仅被列示、从未取值,故本地恒为 null;\n  其余 account_* 科目字段仍为空,待科目归集(金蝶/外部科目源)整体接入。\n- 取数口径为临时占位,待财务确认最终规则后替换(集中在一处,易于调整)。\n- 账单冲减子页面本页 500112 合计已可正常汇总。
2026-09-14 11:45:35 +08:00
chenxi
0ffbbb7c6a 隐藏营销账户账单未启用平台 2026-09-14 11:40:25 +08:00
chenxi
6a787610b5 feat: 接入京东营销账户余额 2026-09-14 11:40:06 +08:00
Codex
df14f627f3 feat: 接入提现管理及每日店铺余额 2026-09-14 11:38:56 +08:00
f586ac5b9e 修正三方仓仓储费导出精度 2026-09-14 11:38:42 +08:00
695a88a7ff 新增三方仓八月仓储费核算导出 2026-09-14 11:38:41 +08:00
3beaa85cc6 修复抖音全部月份账单查询等待过长 (#179) 2026-09-14 11:29:38 +08:00
30ac6a39c0 修复抖音收款账户与胜算月度明细差异 (#178) 2026-09-14 11:02:29 +08:00
1e5c2a7e0b 移除应付款项重复终版入口 (#177) 2026-09-13 14:48:07 +08:00
179b2cdbcc 接入并校准三方仓进销存 (#176)
新增三方仓进销存共享镜像、按日查询汇总导出、每日零点增量同步和权威历史锚点校准。
2026-09-12 20:29:43 +08:00
57d779eb2f 新增三方仓仓储报价录入 (#175) 2026-09-12 19:39:21 +08:00
98c01ea400 快递应付数据页显示总条数和总页数 (#174) 2026-09-12 18:00:06 +08:00
6a4959d5ad 修正横向导航归属原快递应付入口 (#173) 2026-09-12 17:26:42 +08:00
e594bdc456 快递应付子目录移入终版横向工作区 (#172) 2026-09-12 16:58:05 +08:00
25e1b7461a 新增应付款项终版目录 (#170) 2026-09-12 16:05:20 +08:00
e56cbddfc8 普通商品资料接入聚水潭物理与管理字段 (#169) 2026-09-12 15:51:02 +08:00
5b21426595 供应商应付子目录移入页面横向导航 (#167) 2026-09-12 13:51:29 +08:00
0ae8afb0e8 京准通增加记账时间 (#168)
京准通明细及 CSV 增加数据库记账时间字段。
2026-09-12 13:42:19 +08:00
2d3e9cd865 接入拼多多店铺收款货款账单 (#164) 2026-09-12 11:16:33 +08:00
d57598962a Merge remote-tracking branch 'origin/main' 2026-09-12 10:38:39 +08:00
678ee3472b 修复抖音账户发生时间筛选与导出验收 (#166) 2026-09-12 10:35:39 +08:00
8f871f772e feat: 显示京准通流水收支类型 2026-09-12 10:32:19 +08:00
349b99addd 整合基础数据与商品价格管理导航 (#165) 2026-09-12 09:53:24 +08:00
60063e9d34 修复小额打款导出筛选条件 (#163) 2026-09-11 16:16:21 +08:00
a0858a0ff2 将营销账户账单 Alibaba 改为阿里巴巴账户 (#161) 2026-09-11 14:49:35 +08:00
a01f136ce1 按月滚动计算阿里巴巴账户余额 (#160) 2026-09-11 13:50:12 +08:00