930 Commits

Author SHA1 Message Date
03fea599fb 附加费结算:收紧顶部概览/筛选/导入区 (#318) 2026-10-13 10:29:37 +08:00
f663ddc51f 附加费结算:明细行点击高亮,方便核对时标记当前行 (#317) 2026-10-13 09:56:41 +08:00
7ecd5a59e6 fix(发货数据): 快递名称、仓库按发货数据视图取值,与工作平台一致
- 9 月核对剩余 256 条快递名称、44 条仓库不一致;抽样 14/14 工作平台显示的就是发货数据视图
  (Jst_SendData_View_extension) 的 expressName / wareHoursName。视图有值时以视图为准,
  视图没有该出库单时保留出库单/发货明细推断的值。
- 发货数据视图、出库单头按 300 个出库单一批查询(原 800),减少副本库超时导致整月重跑中断。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014nvGZkg27YMEdhRy6EiUwf
2026-10-13 09:53:02 +08:00
63f9e2a418 店铺违规预警:同步 SQL 在源端转换 date 列,修复 FreeTDS 区域日期解析失败 (#316) 2026-10-13 09:40:53 +08:00
e61e3b50fb 店铺违规预警:补充生产每日同步定时任务(cron 遗漏) (#315) 2026-10-13 09:36:14 +08:00
c55c06026f 快递应付:报价维护只留报价页签 + 附加费结算定时同步(每日7天/每周90天) (#314) 2026-10-12 17:49:10 +08:00
fba094ce26 业绩明细:抖音负差额新增「实付已退款部分」备注(聚水潭退款单/取消子单金额≈差额时命中) 2026-10-12 17:27:09 +08:00
e883d262f0 快递应付:修复三方仓进销存加载超时 2026-10-12 17:22:17 +08:00
26f945ba29 本地预览:测试断言同步到已启用的 OPcache 配置
deploy/php-local.ini 已改为 OPcache 开启 + 每次请求校验时间戳,测试仍断言 opcache.enable=0 导致失败;更新为 enable=1 并校验时间戳。
2026-10-12 17:12:10 +08:00
a90736592a 业绩明细同步:订单实付命中即算订单存在,修复部分订单被误判「订单表无此单」
部分订单(退款流程 / 拆单 / 商品明细未同步)在订单侧只有订单头与实付、没有商品明细行,原匹配逻辑仅按商品明细判断订单存在性导致误判。改为实付命中同样计入订单存在性;商品金额仍只由商品明细构建(无明细时保持为空)。实跑修复 8 月 1791 行(得物 57 / 京喜 497 / 抖音 46 / 京东 153 / 拼多多 1038)。
2026-10-12 17:12:10 +08:00
20eccf616c 业绩明细:新增「未匹配原因」列与筛选联动;差额异常备注只保留原因说明
新增「未匹配原因」列(账单无单号 / 单号格式异常 / 订单表无此单 / 订单无实付金额 / 无收款账单),支持多选筛选与联动候选;「差额异常备注」对未匹配行统一显示「订单实付未匹配」,细分原因改看新列。
2026-10-12 17:12:09 +08:00
45b9feb8c4 快递应付:附加费结算增加独立页签入口 2026-10-12 16:59:51 +08:00
9c62f4364b 快递运费:固定列宽+收紧内边距,12 列表头一屏可见(超长内容省略+悬停提示) 2026-10-12 15:46:01 +08:00
66d6146c19 快递运费:导入兼容「店铺」列名(财务系统提供成本5-6.xlsx 用)
列名别名扩展:店铺名称/店铺;csv 与 xlsx 两条路径的用例同步覆盖。
2026-10-12 14:55:01 +08:00
0da349e51b 快递应付:仓储核算移为独立仓储运费 (#311) 2026-10-12 14:46:52 +08:00
c8eb6e2e5f fix(发货数据): 早上补跑一次发货同步,副本库超时重连改为逐次拉长等待
- 凌晨 01:28 同步时副本库最近一两天的订单/商品明细常未到齐,10-12 凌晨一轮写入 4,669 个只有单号、缺商品明细的包裹
  (10.10/10.11);工作平台导出为实时查询不受影响。新增每天 07:28 再拉最近 3 天,补齐商品明细。
- selectWithReconnect:副本库超时/游标失败的重试由 2 次(间隔 0.25 秒)改为 5 次,等待 2/5/10/20/30 秒,
  白天整月重跑不再因单次超时中断(单测环境不等待)。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014nvGZkg27YMEdhry6eiuwf
2026-10-12 14:39:11 +08:00
9f6a5f6fde 退货取件管理:整行点击异步加载详情,本地 opcache 提速 2026-10-12 13:47:01 +08:00
3e24bc5111 快递应付:左侧增加快递报价入口并打开四个页面 (#309) 2026-10-12 13:26:22 +08:00
10c22a655d 退货取件管理:详情精简置底、当前行高亮、内部滚动与快递公司多选 2026-10-12 13:14:53 +08:00
f7547bc9a1 feat(快递应付): 四个报价相关模块归入快递报价子目录 (#307) 2026-10-12 12:17:13 +08:00
f3143e6959 快递运费:修复 XlsxSheetReader 可选列漏传闭包导致 xlsx 导入报未定义变量
补 xlsx 路径导入测试(csv/xlsx 是两条代码路径,此前只测了 csv)
2026-10-12 12:07:09 +08:00
f805920fda 快递运费:新增「店铺名称 / 快递单号 / 条形码」列,并按「财务系统运费整理.xlsx」重新导入
- 迁移:courier_freight_rows 增加 express_no / barcode / shop_name(可空)
- 导入器支持可选列(快递单号 / 条形码 / 店铺名称),老文件缺这三列也能导;XlsxSheetReader 支持可选列表头
- 页面与导出新增三列;运费差 / 结算运费 / 其他附加费汇总 / 退件费 表头与取数逻辑不变
- 测试:新增新列导入、老文件兼容、页面展示用例
2026-10-12 11:56:00 +08:00
50cfbf1c14 feat(协议签署): 接入供应商代发、代销和生产合作合同模板 (#306) 2026-10-12 10:48:04 +08:00
d8dfb33437 fix(发货数据): 仓库按实际出库单发货仓、补入无需物流虚拟发货、作废单号识别换单
- 仓库一律按实际出库单 wms_co_id 映射(从快递公司一致的明细行学习仓库名,样本>=3 且占比>=90% 才回填),
  修正发货明细写总仓而实际由工厂代发仓出库(如 710099981090 千优代发仓)的情况。
- 快递名称为"无需物流"(补差/信誉/运费等虚拟发货,如 X00006)的包裹仓库统一为"简尚-自动发货仓",与工作平台一致。
- 换单配对:快递明细单号只对应作废出库单时视为已换单,改用有效出库单的新单号(如 DPK366101313659 -> SF1549142274850)。
- 出库单兜底不再跳过"无需物流"的无单号出库单(信誉订单/补差价/运费专用等虚拟发货),按工作平台口径补入自动发货仓、快递单号为空;
  9 月核对工作平台有、线上无的 565 条虚拟链接,抽查确认为此原因(出库单无单号被跳过)。
- 换单配对查询(logistic_id 无索引)副本库超时时跳过本页,不再中断整轮同步;结果返回 tracking_pairing_skipped_pages。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014nvGZkg27YMEdhry6eiuwf
2026-10-12 09:58:05 +08:00
1e689d254e 附加费结算:超长费/退回费/拦截费拉取、导入核验与模板导出 2026-10-12 09:33:24 +08:00
chenxi
d9646b4ac9 财务经营分析表:按「时间-平台-店铺」聚合收入与成本
财务经营报表新增「财务经营分析表」页面,一行 = 一个月的一个平台的一个店铺,
表头:时间、平台、店铺、收入、成本、运费。
- 收入 = 业绩明细的(收入金额 + 优惠金额 + 冲减金额 + 退款金额)按各字段记账符号求和
- 成本 = 商品成本表按店铺汇总的商品成本
- 运费暂不取数,页面显示「—」、导出留空列
支持月份(含全部月份)/平台/店铺筛选、汇总卡片与 CSV 导出,聚合结果按月份缓存 5 分钟。
2026-10-11 22:04:54 +08:00
597104430e 协议签署:每条公司主体增加删除功能 (#304)
每条公司主体增加确认删除,保留历史快照,删除默认主体后选择剩余主体,全部删除回退当前公司。相关21项测试246条断言及隔离页面交互通过。
2026-10-11 14:26:31 +08:00
976db7e4f1 授权委托书三处往来方名称跟随我方签署主体
## 变更

- 授权委托书的“账单往来方”“借支协议相对方”“代收货款往来方”三项改为跟随“我方签署主体”。
- 快递公司和供应商共用授权委托书模板,因此两种合作方均同步生效。

## 验证

- `AgreementSigningPageTest.php`:14 tests, 197 assertions passed。
- 实际生成授权委托书页面确认三处字段初始值均来自当前我方主体。

仅涉及页面模板字段标记,不涉及金额、权限、数据库迁移或配置。
2026-10-11 14:18:36 +08:00
cbec6a8b62 供应商管理增加每天08:15完整同步 (#302) 2026-10-11 13:57:28 +08:00
ad7226081a 协议签署:供应商合作合同显示模板待提供
供应商合作合同使用待提供模板提示;授权委托书复用现有模板,快递合作合同正常。页面测试及浏览器切换和预览验证通过。
2026-10-11 13:47:19 +08:00
ad3961b82d 修正供应商易签宝账号并接入签署选择 (#300) 2026-10-11 13:39:03 +08:00
87e5ce0df2 协议签署:供应商增加合作合同和授权委托书选项
开放已有模板,适配供应商签署账号标签与乙方名称提示;14 项页面测试、193 条断言及浏览器模板切换和预览验证通过。
2026-10-11 13:30:14 +08:00
49c6e1ecd1 修复供应商管理资料镜像索引与存储分类 (#298) 2026-10-11 12:34:31 +08:00
665b8fafd2 接入供应商管理页面与共享镜像 (#297) 2026-10-11 12:11:15 +08:00
ad6d70a0a2 协议签署:增加合作方类型与供应商待接入展示
合作方类型与供应商待接入展示;53 项测试、825 条断言通过。
2026-10-11 11:55:11 +08:00
48553c001d 协议签署:每条任务支持自主删除
全部状态、两类任务支持确认软删除,保留文件及外部签署流程。相关72项测试通过,权限及公司隔离保持不变。
2026-10-11 11:24:30 +08:00
766a85b097 协议签署:待处理任务增加删除和确认 2026-10-11 10:37:28 +08:00
0e1feaf1e6 修复协议文件签字盖章区域过小 (#293) 2026-10-11 10:17:32 +08:00
118f030220 fix(协议签署): 修复授权委托书编号重叠 (#292) 2026-10-11 10:09:47 +08:00
4eb09a1fcc 协议签署:待处理与已归档视图、归档原因及文件下载 (#291) 2026-10-11 09:55:46 +08:00
22133450a6 业绩明细:种菜金额口径加上货号 X00006(与标签明细页同一规则)
- 种菜订单集合 = 种菜明细表 ∪ 标签明细里「是否种菜订单=是」;后者改为命中种菜标签映射或货号含信誉订单虚拟条码 X00006
- 种菜明细表部分不再依赖标签映射是否为空
2026-10-10 17:20:05 +08:00
29f801bd92 聚水潭订单标签明细:修复货号回填进度打印引用未定义变量导致中断的问题 2026-10-10 16:18:27 +08:00
0a89a24f28 聚水潭订单标签明细:修复货号回填把纯数字订单号绑成整数导致的 MariaDB 1292 报错
订单号改用值对列表传递、全程按字符串绑定,避免 PHP 数组键自动转 int 后与字符列 order_no 比较被强转数字
2026-10-10 16:11:52 +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
37d18612a6 修复合作合同 PDF 方框、文字重叠与签字区分页 (#290) 2026-10-10 14:34:13 +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
153b823ab8 修复已注销主体变更遗漏现公司签署 (#289) 2026-10-10 13:28:37 +08:00
0234bae83f 修正共用合同合作方及归属主体,支持个人实名签署 (#288) 2026-10-10 12:10:32 +08:00