Commit Graph

577 Commits

Author SHA1 Message Date
刘泉佳 48fb5ad86c fix: 锁单失败提示区分金蝶请求回显场景(应答缺少updateCount字段) 2026-10-10 14:26:07 +08:00
刘泉佳 44130fd8b2 fix: 推送客商所属组织编码对应的金蝶组织编码 2026-10-10 14:06:42 +08:00
b2894lxlx 4e7193893f ✨ 组织与人员支持OA增量同步,并完善用户启停与性别空值
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 13:56:29 +08:00
刘泉佳 276dd813d4 feat: 审批通过事件触发自动同步金蝶(AFTER_COMMIT+4域开关)
- 新增 KingdeeBillApprovedEvent(bizType复用MK处理器取值)与 KingdeeApprovalSyncListener:事务提交后同线程复用手动按钮同一Service方法推送,fallbackExecution兜底无事务场景,全量try/catch吞异常,审批结果不受推送影响
- 4域 approve 置approved成功后发布事件(重复审批被状态校验拒绝天然不重复推送);正式结算单 approve 补 @Transactional(原缺失会致AFTER_COMMIT事件被丢弃,顺带使更新与变更记录原子化)
- 域开关 thirdParty.bfi.autoSync.{settlement,payment,invoiceApply,receipt} 默认全关(Nacos显式打开),关闭即回到现状;手动同步按钮全部保留,三入口并存:自动+定时+手动
- 推送失败由上一独立事务落failed+定时重推兜底
2026-10-10 13:51:55 +08:00
刘泉佳 cfbbc756eb feat: 新增金蝶failed单据定时重推任务(兜底)
- 新增 KingdeeAutoSyncRetryTask:仅重推各域 failed,不扫 unsynced(存量审批通过但从未推送的历史单不自动补推,仍走手动按钮)
- 4域新增 retryKingdeeFailed:逐单独立成败不中断,返回执行摘要;前置未就绪再次failed下轮继续,节点硬顺序由既有 A102-4/A302-4/A303-4/A801-3 预检保证,不做级联
- 收票重推以落库状态 pushed/assigned 判成败(批量推送方法逐单吞异常返回摘要)
- 开关 thirdParty.bfi.autoSync.retryEnabled 默认关闭,cron 默认每10分钟;重推无次数上限(噪音可接受后再加 retry_count)
2026-10-10 13:50:12 +08:00
刘泉佳 03b343102e feat: 推送失败统一落failed口径(修总纲11.2-#3)
- 结算单/开票申请推送失败由整体回滚保持unsynced改为:事务回滚后独立事务落failed+原因(结算写变更记录、开票写操作流水,无新列),与付款/收票口径统一
- 收票新增pushKingdeeReceivedInvoice(ids,autoSync)重载:自动推送路径前置拦截(未绑定镜像/查验未通过/前置应付单未生成等)置failed+原因纳入重推循环,已指定应付的良性跳过不改状态;手动批量路径保持拦截不动状态逐单报因
- 汇率未维护照旧不传不阻断
2026-10-10 13:48:26 +08:00
刘泉佳 9365fd7738 refactor: MK流程结算/付款审批回调统一改调service.approve
- 结算/付款 OA handler 不再直置 approved,与开票/收票 handler 对齐走 service.approve 统一入口
- 顺修两处绕过:付款审批补上票据额度联动 useBillBalance,结算审批补上变更记录
- 仅审批中单据可通过,重复 OA 回调被状态校验拒绝,为后续审批事件触发推送保证不重复推送
2026-10-10 13:45:45 +08:00
刘泉佳 9d708c2fbe fix: 金蝶解锁回调端点 2026-10-10 13:12:16 +08:00
刘泉佳 d109e0dc9b feat: 金蝶锁单失败摘要拼入同步返回供页面提示,重推重置补偿计数并新增手动补偿端点 2026-10-10 12:21:41 +08:00
刘泉佳 6bff852760 fix: 财务应付单往来类型固定为bd_customer 2026-10-10 12:17:25 +08:00
刘泉佳 7cae2034a4 chore: 模板补齐kingdee-bfi回调secure.auth放行规则并与Nacos实际配置对齐 2026-10-10 10:34:48 +08:00
刘泉佳 b4119d9dfa feat: 金蝶解锁回调端点加入secure免登放行白名单(blade.secure.skip-url) 2026-10-10 09:38:46 +08:00
weicw-dshsa 4fe0c8a968 ✨ 调度首页把司机已拒单的运单列为重新派单待处理,并在司机端让该运单脱离 2026-10-10 01:48:49 +08:00
b2894lxlx e20afc0d55 ✨ 合同结算币种贯通应收应付与结算,并完善合同编号与字段
合同结算币种写入应收应付与预结算;总单运费默认币种统一为 RMB;同步合同申请日期、主要内容、部门合同编号前缀及用印材料字典等能力。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 00:53:17 +08:00
weicw-dshsa b66984d3a1 ✨ 认证审核详情下发审核人与审核时间 2026-10-09 20:47:22 +08:00
weicw-dshsa 143c6f99fb 🐛 修复司机端档案按脱敏手机号匹配导致本人档案查不到 2026-10-09 20:13:38 +08:00
刘泉佳 1063d5875c docs: 金蝶单据锁定与解锁业务流程文档 2026-10-09 19:52:53 +08:00
刘泉佳 e08be9a297 feat: 正式结算单/开票申请同步金蝶后联带锁单,支持解锁回调与金蝶删单还原 2026-10-09 19:52:15 +08:00
刘泉佳 92a975b5e4 feat: BFI新增单据锁定接口lockBusiData(批量逗号拼接传参,updateCount/updateResultList应答结构) 2026-10-09 19:51:59 +08:00
b2894lxlx ef9eab737f ✨ 优化主数据校验与运单导入空值处理
电报略码改为选填且填写时唯一;用户支持账号姓名手机模糊查询;合同名称允许重复;项目情况说明扩至1000字;导入运单未填里程费用不再落库-1。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 17:07:56 +08:00
刘泉佳 22b0b07ae2 feat: A303-1 开票申请推送放开特殊票种E04并随单报送货物运输单据体 2026-10-09 10:33:53 +08:00
刘泉佳 311da67744 feat: A303-1 开票申请单保存入参新增货物运输/旅客运输/代收车船税单据体 2026-10-09 10:21:25 +08:00
b2894lxlx 5ed2a5c0fc ✨ 新增小程序司机端运单行驶轨迹接口
按打卡记录/计划时间自动推导起止日期后查询 LBS 轨迹。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 23:27:35 +08:00
刘泉佳 ef0f9e6e36 fix: A303-1 开票申请推送放开来源单据字段 2026-10-08 19:59:04 +08:00
b2894lxlx d5c6d10352 ⚡ 小程序司机端运单改为按手机号匹配,取消车牌过滤
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 19:37:26 +08:00
刘泉佳 36c264bfab Revert "feat: 金蝶应付/应收单分录按费用大类×税率拆分,一车多货再按货物拆分"
This reverts commit 5d1c01e15e.
2026-10-08 18:39:57 +08:00
刘泉佳 638a38a467 Revert "perf: 分录拆分补齐上下文缓存消除N+1,联调详细日志"
This reverts commit b7beb949fb.
2026-10-08 18:39:57 +08:00
刘泉佳 8f60bd5597 feat: 金蝶黑名单查询支持number企业税号数组入参,客商提审按发票信息纳税人识别号过滤校验 2026-10-08 18:25:58 +08:00
刘泉佳 a6af9a2ccd feat: 收款认领公告查询认领人改取Nacos配置thirdParty.bfi.claimAnnounce.claimusers,不再按当前登录用户姓名查询 2026-10-08 17:34:11 +08:00
刘泉佳 f4a4f1780e fix: 金蝶A801-5黑名单查询补必填分页参数并循环翻页取全量,查询异常上抛阻断客商提审
- BfiBlacklistQueryDTO 补 pageNo/pageSize 必填字段,pageSize 取值范围[1,2000]
- BfiConstant 新增 BLACKLIST_QUERY_PAGE_SIZE=2000,IBfiClient.blacklistQuery 返回契约改为 BfiPageVO 分页结构
- BfiServiceImpl.queryBlacklist 复用 BfiUtil.queryAllPages 循环翻页聚合全量黑名单
- CustomerArchiveServiceImpl.validateBlacklist 移除吞异常放行逻辑,金蝶查询失败直接上抛 BfiException 阻断提审
2026-10-08 17:33:25 +08:00
刘泉佳 7b41128db7 fix: 金蝶票池字段 出行人列表,客运票 2026-10-08 14:42:15 +08:00
刘泉佳 7505d9bc55 feat: 全票池同步发票种类白名单下推远端——invoiceTypes单值参数按编码拆轮独立切片续扫,不再拉回后内存过滤消耗翻页额度;配置键 thirdParty.bfi.invoiceReceipt.invoiceTypes 2026-10-08 10:59:09 +08:00
刘泉佳 cefe001c19 fix: 全票池同步切片续扫+有变化才写——单查询窗口2.5万硬上限触顶自动二分时间片递归(根治窗口尾部永久漏同步),镜像upsert轻量比对(流水号/价税合计/税额/可用金额/使用状态)无变化跳过重写消整窗无效写 2026-10-08 10:54:54 +08:00
weicw-dshsa 9f9ce7842e ♻️ 司机端可完成状态白名单收敛为单一常量并订正注释 2026-10-08 10:07:00 +08:00
刘泉佳 a1348fd381 feat: 全票池同步补绑定回填步骤(39ffac1口径瘦身版)——同页票号批量定位未绑定存量登记补绑+页级事务批量落库+同步流水,绑定关系无变化的已绑定登记零写入(新架构登记无金蝶流水号/状态字段,不做状态跟随刷新) 2026-10-08 09:50:25 +08:00
weicw-dshsa 7c488b6f09 ✨ 司机打完末位到货卸货签收节点且回单无需确认时自动完成运单 2026-10-08 09:24:30 +08:00
weicw-dshsa 9f8ea5412d ✨ 运单过程判定补充到货卸货签收、末位打卡与回单无需确认完成三项 2026-10-08 09:09:17 +08:00
weicw-dshsa f3ae784f20 🐛 导入运单地点名称为空时司机端回退显示详细地址 2026-10-08 00:15:35 +08:00
weicw-dshsa 44197a4cff 🐛 审核通过与重新提交时清空档案上的旧驳回原因
司机/车辆档案上的 certification_reject_reason 是展示缓存,没有驳回原因时应为 NULL(建表即 DEFAULT NULL,数据订正脚本也写 NULL)。但框架的 not_null 更新策略会跳过 patch 里的 null 字段,把 null 交给 updateById 到不了 SQL,于是两处都留下了陈旧文案:审核通过后状态已是「已通过」,档案上却还挂着上一次的驳回原因;被驳回后重新提交,旧原因会一直挂到审核通过,而提交侧本就写明「新提交不能继承上一次的驳回文案」。现在这两条路径各显式发一条只改该列的语句,带主键条件,不碰生效快照指针、不碰车辆绑定,驳回时仍照常写入原因。改用 ALWAYS 更新策略会让改手机号、绑定车辆这类无关操作也清掉该列,故不做。
2026-10-07 23:00:28 +08:00
weicw-dshsa 5496f487c7 🐛 车辆停用与未认证分开提示,不再把停用报成「认证没通过」
接单门槛对「车辆停用」和「车辆未认证」返回同一句「该车辆尚未通过认证审核,暂不可接单,请先提交认证」。生产上有一辆车已认证、只是被停用,司机照着提示做了两轮重新认证仍然接不了单——停用要找调度启用、认证才要提交资料,本是两件事。现在按运营状态优先逐车给出原因:停用报「该车辆已停用,请联系调度启用」,未认证才报认证。
2026-10-07 19:30:31 +08:00
weicw-dshsa f3dc451802 🐛 个人认证通过后姓名与身份证号也写回司机档案
审核通过时只写回证件内容,姓名与身份证号被当作「身份标识」跳过:司机申报「黄大富」,档案里却还是建档时的「黄宇富」,司机端卡片显示档案名、「重新认证」表单回填快照名,同一个页面上两个名字。现在审核通过即认可整份申报内容,姓名与身份证号一并写回,档案与生效值一致。身份证号写回前先确认它没有落在另一名司机名下——该列没有唯一索引,直接写会静默产生两条同证件号的档案,管理端的证件号查重从此失效。
2026-10-07 19:15:29 +08:00
weicw-dshsa ac6318d174 ✨ 新增存量司机/车辆补生效快照的订正脚本
「能否接单」的判据是生效快照指针,该列随认证门槛一起新增时对存量对象一律为 NULL,门槛默认开启后存量司机与车辆全部被判未认证、接不了单。脚本给尚无快照的对象补一条已通过记录并把指针指过去,含备份、校验与回退;幂等,且能在已订正过的库上续跑(从段内最大号之后接着发号,不撞主键)。
2026-10-07 18:21:38 +08:00
weicw-dshsa 7d8f2df56f 🐛 审核未命中目标档案时整体回滚,不再静默置为已通过
审核通过时对司机/车辆档案的 updateById 命中 0 行只返回 false、不抛异常,而这个返回值原先被丢弃,于是「认证记录已通过、档案一个字没变」能静默成立:生效快照指针没写进去,对象下次接单仍被判未认证,审核页却显示已通过。现在命中 0 行即抛异常并回滚整次审核,宁可报错也不留下状态与档案互相矛盾的数据。
2026-10-07 18:21:29 +08:00
weicw-dshsa 2e5eae4d32 ✨ 打卡照片按类型最多传 9 张,照片列加宽为 text
- 节点打卡提交新增 photoItems(带显式类型),photos 原样保留供旧版小程序按下标回推
- 打卡照片是每个打卡节点必有的类型,不由过程配置决定,与各凭证类型各自最多 9 张
- 新版提交要求每个类型至少 1 张;旧版仍只要求至少 1 张,避免打断未升级的小程序
- 管理端订正只校验每类上限,不校验必填
- photos 由 varchar(2000) 改 text:36 张约 4000 字符,旧列宽约 17 张即溢出
- 基线建表脚本补 COLLATE=utf8mb4_0900_ai_ci(与本机库实际排序规则一致)
2026-10-07 16:49:19 +08:00
weicw-dshsa e9156ab56b 🔀 合并异常上报门禁实现 2026-10-07 13:40:37 +08:00
weicw-dshsa 1038063231 ♻️ 上报门禁的节点编码比较忽略首尾空白,移除失去调用点的判据方法 2026-10-07 13:33:07 +08:00
weicw-dshsa 3d3ed0ca27 ♻️ 收紧上报门禁查询、去掉平行列表接口并统一节点编码比较 2026-10-07 13:24:02 +08:00
weicw-dshsa 3e687c8519 🔀 合并异常上报门禁后端实现 2026-10-07 13:17:50 +08:00
weicw-dshsa f9654fbe30 ✨ 节点卡片下发整单异常标记与相关异常列表,列表支持按运单精确过滤 2026-10-07 12:25:31 +08:00
weicw-dshsa 75cd448e2d ✨ 异常上报校验上报人必须是该运单的承运司机 2026-10-07 12:18:49 +08:00