238 Commits

Author SHA1 Message Date
ffa4bbf15f 业绩明细新增种菜未报销列 2026-10-20 10:55:41 +08:00
4511f6c71a 业绩明细新增种菜报销列 2026-10-20 10:36:24 +08:00
cdabffb3a6 业绩明细删除费用项列及相关归集逻辑 2026-10-20 10:20:55 +08:00
9b6c3d2477 业绩明细排除京东网银钱包账户数据 2026-10-20 10:00:55 +08:00
366dcc1da7 业绩明细新增费用项并按科目映射费用备注归集 2026-10-20 10:00:53 +08:00
56909bd669 货款对账:每页固定展示15条数据 (#399) 2026-10-20 09:48:25 +08:00
19bb6a8a75 退货对账:每页固定展示15条数据 (#398) 2026-10-20 09:33:20 +08:00
a6e0b2ac7d 业绩明细汇总拆开复杂差额规则
月度汇总先按默认差额聚合,只有实收/应付兜底行再计算完整差额原因。7月验证结果一致,汇总耗时由约3.49秒降到0.71秒。
2026-10-19 18:24:13 +08:00
17429d65ab perf(财务): 减少大表扫描与重复重算,串行受限导出 2026-10-19 17:53:14 +08:00
528701fdec 附加费结算导入核验:只填单号+类型,自动匹配快递并按报价核算 (#391) 2026-10-19 16:44:50 +08:00
aaron
02d21ce9ac feat(财务台账): 新增财务台账模块与 rpt 取数 2026-10-19 16:06:55 +08:00
ea479733ab feat(种菜数据汇总): 接入聚工单种菜报销,新增种菜损耗扣款页面
- 种菜报销:复用已登记镜像 jiansun.dbo.jst_workOrderInfo,工单类型“种菜报销”、状态已完成,
  按完成时间归属报销月份(M 月 = [M-02 00:00, M+1-02 00:00)),自 2026-09-02 起;同一工单只取最新一版
- 种菜损耗:当月种菜报销的线上订单号匹配上月+本月发货数据(jst_oms_shipping)交易单号;
  任务备注/卖家备注含“拍A发B/拍A发A”的不扣款(单独导出发运营),只发信誉订单虚拟条码/透明挂钩的不扣款,
  其余按发货条码在普通商品资料(ops_jst_sku)的成本价 × 数量 × 1.2 扣款,成本价缺失单独提示
- 两页均支持筛选、列设置、CSV 导出;按月缓存 10 分钟
- 测试:窗口口径、免扣字样、虚拟条码/挂钩、成本价取数与缺失、页面筛选和导出

涉及:金额计算展示(只读);不涉及数据库迁移、权限模型和上游写入。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VANWYsNUbu2piMtCKymoyd
2026-10-19 14:37:09 +08:00
0cb970eeec 业绩明细备注:京喜「订单实付取供货价」证据按活动代过滤——修复多代账单把直营服务费算两倍,导致 9 月 4.4 万行误落差额待核实(修复后 9 月 44897→1245 行) 2026-10-19 13:45:50 +08:00
efb6d9c992 业绩明细备注:京喜拆单/合并单货款含直营服务费正差与分位尾差归因 2026-10-19 11:07:29 +08:00
9d8133cc73 登录后进入首页导航,不再直接打开第一个业务页面
- 新增首页导航页:常用分组沿用侧边栏分组,下面是全部业务模块(可展开)
- Pages@home 由跳转首个业务页改为渲染首页;侧边栏分组定义抽到 SidebarMenu 复用
- 侧边栏顶部标识可点回首页
- 更新钉钉登录落地断言,补充首页导航测试
2026-10-19 10:42:16 +08:00
68b16a95c0 业绩明细备注:京喜「直营补贴款」覆盖扩至全部京喜自营工厂店(按实付≈商品金额/供货价特征自动识别,10 家已核验店沿用名单;待核实负差消除) 2026-10-19 09:34:57 +08:00
ed58e8ef43 供应商应付:新增厂家记账,接入聚工单记账工单(2026-09-01 起)
- 复用已登记镜像 jiansun.dbo.jst_workOrderInfo,不新增上游链路
- 口径与聚工单「记账」视图一致:工单类型“记账”,状态待审核/已拒绝/待处理/处理中/已完成,
  记账原因为厂家记账 12 项 + 仓库记账 5 项二级原因,发起时间 >= 2026-09-01;同一工单只取最新一版
- 新页面 供应商应付 → 厂家记账:筛选、记账金额合计、列设置、CSV 导出;首次同步未完成时明确提示
- 镜像索引迁移 (woTypeId, created, Id)

涉及:金额展示(只读)、镜像索引迁移;不涉及权限模型和上游写入。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N5KQeRJaLrbJY9iKNC5veV
2026-10-18 22:27:16 +08:00
409da4cae8 feat: 提现管理余额日期改为下拉选择 2026-10-18 12:09:42 +08:00
da794c3ddb feat: 提现管理支持按余额日期筛选并长期保留每日余额 2026-10-18 11:52:02 +08:00
077701d24a 供应商应付:新增新河北仓、曹县仓配件运费扣除明细 (#381) 2026-10-17 20:54:13 +08:00
87eaf48c2c 供应商对账:应付款项下新增对账页面(财务端数据 / 厂家端数据) (#364)
新增供应商对账目录:财务端实时上传情况与行级差异(条码+单价匹配,四类口径),厂家端严格按模板上传(表头不一致/必填缺失/非数字/串厂一律失败);复用终版存储与流式读取。
2026-10-17 08:49:17 +08:00
b4eaa1e102 快递应付:新增配件补发扣款匹配界面 (#353) 2026-10-16 21:36:03 +08:00
chenxi
5b89692318 商品成本:收入为 0 的账单行不取数、单价加线上代发价格兜底
- 账单侧只取收入金额有数据且不为 0 的业绩明细账单行(收入为 0 的是补出来的优惠/冲减/无收款账单行)
- 商品单价按「仓库简称 + 商品编码」取月加权平均价,匹配不到时退回「线上代发价格」
  (采购单管理的采购单价优先,其次钉钉线上代发的代发订单金额 ÷ 发货数量),并记录 price_source
- 新增数量与单价口径校验:定制配件行把配件件数写进商品数量,乘成品单价会放大几百倍,
  成本单价高于该行明细单价 3 倍时成本留空、标注「数量与单价口径不一致」,不计入合计
- 页面与导出列改为业务口径的 9 列(发生时间/店铺名称/线上单号/发货仓库/仓库简称/商品编码/商品数量/商品单价/商品成本),
  汇总卡片新增「线上代发价格兜底」「数量与单价口径不一致」两项
2026-10-16 17:34:06 +08:00
c50244544d 业绩明细备注:京喜「直营补贴款」两条规则扩到 10 家店(出类拔萃 + 胜思创博家具/久伴吾家具/悦家/蓄势待发/日进斗金/上彩/美栖家/荣屹/亿家达京喜自营,均已逐店在结算单核实) 2026-10-16 17:18:42 +08:00
706b07b4ad 业绩明细:淘系支付宝/微信新增「订单实付含已退款部分」核实(差额/收款缺口/整单全退对上聚水潭已确认退款,与抖音同口径,EXISTS+HAVING 提速);店铺名优先展示线上真实店铺(修复「支付宝-公司」壳名);字段说明同步 2026-10-16 16:18:23 +08:00
6c76a373a3 业绩明细:合单发货取数优先取原单行(merge_so_id 为空),修复 878 行误取合并汇总金额(7/8月实付合计修正 -11.17 万);商品金额/实付/实收/应付统一三档优先级;字段结构说明同步新取数与口径兜底/待核实顺序 2026-10-16 12:00:42 +08:00
e064492a95 业绩明细备注:撤销「订单实付未减退款」(价保扣款类回归通用档「订单实付未减冲减」,该档 = 订单实付=收入+优惠 → 差额=冲减金额) 2026-10-16 10:02:57 +08:00
422497cfcc 业绩明细:C 方案——三条通用等式档(未减冲减/优惠/优惠和冲减)在口径标识行让位给口径兜底;差额待核实档排除口径标识行 2026-10-16 09:44:21 +08:00
5c20defc79 业绩明细:修正有效差额 SQL(排除「差额待核实」兜底档,口径兜底行才真正按 0 计入合计/筛选) 2026-10-15 17:56:03 +08:00
01abeb4124 业绩明细备注:京东价保扣款负差额(差额=账单「价保扣款」合计)新增标注「订单实付未减退款」(含索菲亚智能店 3587456013325741 等 20 单) 2026-10-15 17:58:11 +08:00
173ca7c2ec 业绩明细:差额判定改为「原因优先 → 实收/应付口径兜底 → 待核实」;口径命中不再抹差额、页面与合计/筛选/联动同一套判定 2026-10-15 17:51:01 +08:00
1706131d9c 业绩明细备注:索菲亚功能店并入「商家承担优惠」备注组(8 单已用营销对账逐单核实);索菲亚智能店负差为价保扣款、不属本类未纳入 2026-10-15 17:35:21 +08:00
f4a0014690 业绩明细备注:京东五店负差额按单拆分——含国补(聚水潭应付−账单收入>0)标注「订单实付包含商家承担优惠和以旧换新国补」,其余标注「订单实付包含商家承担优惠」 2026-10-15 17:19:26 +08:00
288184c8dc feat: 快递资料合同甲乙方与协议签署联动 (#341)
新增合同主体(乙方)与签订公司(甲方)只读展示和导出;协议签署自动带出唯一乙方,缺失或冲突留空核对。19项直接相关测试与实际浏览器联动验证通过。无权限、金额、数据库结构或配置改动。
2026-10-15 17:00:21 +08:00
60163f6c32 业绩明细备注:京东索菲亚书房/亿家达全屋/朴美家居店负差额标注「订单实付包含商家承担优惠和以旧换新国补」(营销对账逐单核实) 2026-10-15 16:54:07 +08:00
6518995e45 业绩明细备注:京东索菲亚客厅/办公店负差额标注「订单实付包含商家承担优惠和以旧换新国补」 2026-10-15 15:40:54 +08:00
1214fc365e 业绩明细:「订单实付按应付/已付核对」标注在页面展示并纳入筛选与联动计数(此前只在库里有、页面不显示) 2026-10-15 14:59:44 +08:00
a4952dfa42 Revert "业绩明细:新增备注「订单退款未参与差额」;字段结构说明同步(差额待核实/匹配原因/三档新备注)"
This reverts commit 0d215fe20c22e2e2ba3dbe82411d760aa0d7bac2.
2026-10-15 14:27:47 +08:00
0d215fe20c 业绩明细:新增备注「订单退款未参与差额」;字段结构说明同步(差额待核实/匹配原因/三档新备注) 2026-10-15 14:23:10 +08:00
cccd321195 快递应付:清空运费对账页面并停用错误数据源 (#338) 2026-10-15 14:08:05 +08:00
c314209705 业绩明细备注:京喜出类拔萃店负差额标注直营补贴款(待开票结算/订单退款已冲回) 2026-10-15 12:04:41 +08:00
fd4b155979 feat(快递资料): 归档合同管理与到期提醒 (#336) 2026-10-15 10:22:35 +08:00
8ba7ac8327 feat(快递入驻/快递资料): 生成二维码时必填快递资料并对齐到快递资料;去掉「发起报价变更」按钮;自定义3 改名扣款方式
- 生成入驻二维码新增 11 个必填项(快递方看不到,放在入驻流程下方单独一块):快递类型、快递合作方式、快递属性、扣款方式、单号类型、快递邮箱、
  是否需要核对物流点、快递发货方式、是否已有工作平台账号、快递网点代码、网点所在地区;入驻列表、入驻详情可查看和修改
- 快递资料:扣款方式对齐到「扣款方式」列(工作平台没填时用入驻的),其余字段接在入驻信息列里;网点代码/地区进网点明细;导出同步
- 不再依赖钉钉「新建快递」流程字段,ERP 开通改为手动补录 ERP账户ID
- 快递资料「自定义3」列、筛选、编辑和导出表头改名为「扣款方式」(字段仍是 undefined3)
- 报价管理工具栏、报价历史页去掉「发起报价变更」:它默认拿第一份报价走老的改格子流程,对入驻快递会绕开后台变价;
  变价统一从报价列表每一行的「变价」进入;老报价编辑页新增 …/changes/new 入口,避免套餐限制中间件把 GET …/create 跳到用户页
- 新增迁移 2026_10_14_300000:business_courier_onboardings 加 11 个可空字段

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019gzfsnV3fJ89CoUy1D9V9g
2026-10-14 18:31:25 +08:00
c0aab60862 业绩明细:订单侧双口径核对(买家实付/卖家实收)+ 差额待核实 + 列名与筛选改名
- 同步:账单能对上卖家实收时按实收核对(差额归零、订单实付/实收列显示实收值),并写入标识「订单实付按卖家实收核对」
- 页面:新增兜底备注「差额待核实」(可筛选);该标识在「匹配原因」列展示并纳入筛选与联动计数
- 列名:「订单实付金额」→「订单实付/实收金额」;「未匹配原因」→「匹配原因」
- 新增 scripts/docker-fix-start.ps1(Docker 因僵尸 socket 起不来时一键清理并启动)
2026-10-14 17:54:56 +08:00
71652c5a64 feat(快递入驻): 快递扫码填写入驻资料 + 两级审核 + 首版报价 + 签署开通
快递应付 → 快递报价 下新增「快递入驻」页:生成入驻二维码发给快递方,
对方免登录在手机上填写主体、联系人、e签宝签署人、结算账户、报价并上传资质,
内部对接人初审、管理员财务复审后生成首版报价,并自动生成报价确认单 PDF
推送到快递填写的 e签宝账号,签署归档后开通。

- 新增三张表 business_courier_onboardings / _files / _events(纯新增,不改旧表)
- 免登录填报页 /onboarding/courier/{token}:40 位随机 token,可暂存、提交、退回后补件,
  链接有效期可延长、可作废;银行账号加密存储;附件存 uploads 盘
- 新增 COURIER_ONBOARDING_PUBLIC_URL 配置二维码里的站点地址(留空用当前访问地址)
- 内置纯 PHP 二维码生成(App\Support\QrCode,SVG 输出,无新增依赖)
- 生成二维码时必须定好系统快递名称(唯一,快递方不可见);财务复审沿用该名称,快递所填报价写成报价管理的 CourierQuoteVersion,
  复用 CourierQuoteSignatureService 生成报价确认单并推送 e签宝(失败可重推/同步状态);初审人默认不能复审(COURIER_ONBOARDING_ALLOW_SAME_REVIEWER=true 可在测试环境放开)
- 支持公司 / 个人两种入驻:个人填姓名+身份证号(加密)、传身份证和银行卡,报价确认单按个人身份在 e签宝签署
- 扫码先选入驻方式;证件改为 营业执照 / 法人身份证正反面 / 银行卡正反面 各一张(个人营业执照选填),手机端上传前自动压缩,超限回到填报页提示
- 报价支持 4 种计费方式(面单+费率 / 首重+续重 / 按重量段一口价 / 小重量一口价+超出另算,费率可分段)+「其他」上传报价表;附加规则:计泡、起算重量、取整、每票加收(CourierQuoteStructure)
- 不再要求上传盖章报价单,至少填写一行在线报价
- 开通:报价确认单签署归档、或匹配到已签署协议、或填写线下签署说明
- 生成二维码前必填「快递公司代码」(自动大写、不可重复),入驻信息按代码对齐快递资料
- 公司入驻对公(营业执照主体)+ 对私(法定代表人)两个打款账户必填并自动核对;个人入驻对私必填、对公选填
- 变价:报价管理里后台改价 → 审核 → 自动推送快递 e签宝 → 回签;回签单导出 xlsx/zip;误发版本可作废
- 短期(临时)变价:变价单/报价版本加选填「结束日期」(end_date);按日期取价,期间用临时价,到期次日自动恢复原长期报价,
  不用重签;报价管理显示 生效中(临时)/ 暂停中 / 已到期,确认单写明执行期间和到期后恢复的版本,审核提醒期间重叠
- 快递资料分四类:快递资料 / 网点 / 打款信息 / 操作日志,支持查询、导出、重置、编辑;
  财务系统入驻的快递直接作为快递资料行,合同起止取协议签署里已签署的合作合同;
  点开一行在下方看该快递的网点 / 打款信息(完整账号)/ 操作日志
- 编辑存财务系统覆盖值(business_courier_profiles,不回写工作平台),改动记操作日志(business_courier_profile_events)
- 打款信息新增 / 变更(business_courier_payment_accounts,账号加密)保存后跳到协议签署,自动预填收款账户证明 / 收款账户变更,
  按签署状态显示 待推送协议 / 签署中 / 已生效;入口在快递资料明细和「打款信息」页签(表格每个账户可直接「变更」)
- ERP 开通:入驻开通后标「待 ERP 开通」,可手动补录(钉钉「新建快递」流程同步待接入)
- 新增 CourierOnboardingWorkflowTest(8 个用例),更新快递报价目录顺序断言

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019gzfsnV3fJ89CoUy1D9V9g
2026-10-14 13:47:00 +08:00
ea80148dfc 店铺违规预警:级别/责任人/处理截止/超时/推送状态 + 处理状态四档 + 群推送接口 + 预览统计页 (#332) 2026-10-13 19:54:01 +08:00
8a67c7d768 业绩明细:1688采销专用收款单独成档(未匹配原因新增两档)
- 同步逻辑:「支付宝-1688采销专用」账户的未匹配行写「账单无单号(采销收款)」「1688采销收款(非销售单)」,不再混进「订单表无此单」
- 页面筛选:未匹配原因下拉补上两档
- 字段结构说明同步更新
2026-10-13 17:46:18 +08:00
10d3067aee 业绩明细:京喜备注统一为「订单实付取供货价」(替换此前的宽判定版本,负责人确认)
同事此前以「差额=直营服务费(已计销售费用)」宽判定(京喜正差额即标,约 2% 与本单服务费对不上);经负责人确认,统一为「订单实付取供货价」:逐单核对差额=直营服务费规模或净额(部分退款场景),对不上不标。
2026-10-13 16:44:17 +08:00
5ab7786a90 业绩明细:京喜新增「订单实付取供货价」备注(差额=直营服务费规模或净额);联动缓存延至 10 分钟;计数与合计合并一次扫描
京喜工厂店/直营为供货模式:聚水潭订单实付=供货价(净收),账单按「应收−直营服务费=供货价」结算,正差额即直营服务费(含部分退款后的净额场景);逐单核对后标注,对不上不标。得物/京东补充索引已就绪。
2026-10-13 16:43:05 +08:00
ae54706ceb 业绩明细:抖音「订单实付含已退款部分」再补充口径(退款合计≈实付 整单全退) 2026-10-13 16:37:45 +08:00