weicw-dshsa
|
4fa6d4c430
|
🐛 个人认证通过后写回司机档案,并补齐资格证字段
个人认证通过时只切了生效指针与认证状态,证件内容一个字都没落到
blade_transport_driver:认证状态显示「已通过」,司机档案里却仍是
管理端当初录入的旧值(甚至为空),管理端与司机端各看各的。
车辆侧早有 applySnapshotToVehicle 做这件事,司机侧一直没有对应实现。
- 新增 applySnapshotToDriver,审核通过时与指针合并在同一次 UPDATE 写回。
只搬司机申报的证件内容,不碰身份标识(姓名/身份证号,由管理端建档确定)
与内部管理归属(司机类型/岗位/驾驶车辆/所属组织)。
- 快照缺失、解析失败或字段对不上时只跳过写回,不阻断审核:审核是独立于
写回的业务动作,不该因为一份读不懂的快照而失败,否则历史快照对应的
对象再也审不过去。
- PersonCertSubmitRequest 补 qualificationType / qualificationBack /
qualificationValidStart / qualificationLongTerm 四个字段。
- qualificationUrl 改名为 qualificationFront,与司机档案列
qualification_front 及管理端用词统一;改名前的记录存的仍是旧键,
写回时回退读一次旧键,避免已填的封面页在审核通过时被丢掉。
- 补测试:证件内容写回、不覆盖身份字段、驳回不写回、历史快照跳过写回
但仍照常通过审核。
qualificationValidStart 只进快照、不写档案:司机档案表没有对应的开始日期列,
管理端的「从业资格证有效期起」同样是只收不存。此处保持一致,不新增列。
|
2026-10-04 22:11:10 +08:00 |
|
weicw-dshsa
|
04a7846328
|
✨ 车辆认证扩到6张证件图,字段与车辆档案对齐;补齐建车必填列
司机端车辆认证此前只有 3 张图、5 个字段,且语义与车辆管理不一致
(「副页」字段里装的其实是主页反面)。本次把证件内容整体对齐车辆表列:
- 车辆表新增 owner_name(所有人:行驶证登记的单位名称,不是司机)与 vin;
- 提交请求与司机端车辆卡片全量对齐表列,行驶证四张图各自独立、
不再把「主页反面」与「副页正面」挤在同一个字段;
- 业务关系新增为司机自选(自有/管理挂靠/业务合作),不再由后端替用户猜。
顺带修掉三处会直接让功能不可用的缺陷:
1. 司机建车必失败:organization_name、approved_load_kg、business_relation、
energy_type、registration_no 五列 NOT NULL 且无默认值,而建车链路一个都不设置,
严格模式下 INSERT 直接报「doesn't have a default value」。已补齐并加服务端校验
(司机提交链路此前一句都不查,全靠前端)。
2. OCR 自动填充从未生效:后端按契约透传百度原始结果(中文键),
前端读的却是扁平字段名,永远 undefined 且不报错。新增 OcrFieldSupport
做归一化(键名别名容错、数值/日期/「长期」归一化、外廓尺寸拆三段、
有效期区间拆起止),响应的 fields 即前端直接回填的字段。
3. 审核通过不写回车辆档案:状态已通过、内容却还是旧的,自相矛盾。
现把生效快照的证件内容与指针合并成同一次 UPDATE 写回;快照是改造前
旧格式时明确报错,而不是静默写一堆空值。
|
2026-10-03 16:34:47 +08:00 |
|
weicw-dshsa
|
cc997c1c0c
|
✨ 审核列表新增司机姓名与手机号,并修正驾驶车辆绑定校验
审核页的司机姓名与手机号取司机档案的**当前值**,不是提交时的历史值:
手机号从未进入过认证快照(只有司机档案这一个来源),而队列的用途是
「找得到人、联系得上」。司机侧的认证对象就是记录本身;车辆侧记录不含任何
司机信息,取提交该记录的司机。存量订正记录里没有系统账号的那些司机解析不到,
两列为空属正常状态。
筛选必须发生在分页之前,故列表改为自定义 SQL;在 Java 层补字段再过滤会变成
「先分页再过滤」,每页条数与总数都不准。姓名搜索同时匹配档案当前姓名与提交时的
旧名,改名后按新名、旧名都搜得到。
顺带修掉两处既有缺陷:
1. 管理端保存绑定多辆车的司机会误报「驾驶车辆不存在」——小程序把车牌逗号并列
写入 driving_vehicle,管理端却拿整串去车牌表精确查,两边口径不一致。
2. 「一个司机最多 5 辆车」后端从未校验,且 driving_vehicle 原为 varchar(30),
5 个车牌连分隔符要 39 字符,超长写入会被静默截断成半个车牌(还会被当成一辆车)。
列扩到 varchar(100) 并在写入前校验数量与车牌格式。
|
2026-10-03 14:35:59 +08:00 |
|
weicw-dshsa
|
2edbacf838
|
✨ 小程序证件 OCR 薄适配层,含类型映射
小程序按既有契约 POST {imageUrl, type, side?} 到 /driver/auth/ocr,
后端转调已有的百度 OCR 能力(recognizeUrl)。
映射的必要性在于两侧命名对「行驶证」和「驾驶证」的用词正好相反:
驾驶证 —— 小程序传 driver,后端 OCR 用 driving_license
行驶证 —— 小程序传 vehicle,后端 OCR 用 vehicle_license
把入参直接透传下游,调用方不会收到任何错误,只会拿到另一种证件的字段,
问题要到人工核对时才发现。故用显式白名单逐一对应。
采用白名单而非「透传 + 兜底为通用识别」,是因为从业资格证没有对应的百度接口:
静默降级成通用文字识别会让前端以为识别成功,实际拿到一堆通用文本。
该类型明确报错并提示手动填写。
正反面:小程序目前不传 side,按 front 处理(正页是常用场景)。
10 个映射用例覆盖五个小程序类型、后端既有命名、大小写/分隔符变体、
未知类型、空值、不支持类型与 side 归一化。
全模块 58 个测试通过:mvn -o test -pl blade-service/blade-transport -am
|
2026-10-02 16:31:42 +08:00 |
|
weicw-dshsa
|
5747975152
|
✨ 管理端认证审核接口,并弃用旧车辆审核入口
审核作用于**一条认证记录**,不是车辆行或司机行。两条路径的差别是本次改造的关键:
- 通过:记录转已通过 + 写审核人/审核时间,并把该对象的生效快照指针**切换**到它
(切换而非追加,故一个对象至多一条生效快照);
- 驳回:记录转已驳回并留原因,生效快照指针**一个字都不动**。
因此「已认证的车被驳回」不会掉出可用池,只是这次提交没被采纳。
已终态(已通过/已驳回/已作废)的记录拒绝再次审核。理由:若允许,
把指针指着的那条「已通过」改成「已驳回」,生效值就凭空消失了。
审核详情同时返回待审快照与当前生效值两侧,供审核页做字段级 diff
(这正是「看出司机改了什么」的实质要求),并附 certified 标记,
便于前端提示「本次驳回不影响该对象继续使用」。
旧接口 POST /transport-vehicle/audit-certification 置为 @Deprecated 并加告警日志:
它作用于车辆行且原地覆盖,在生效值/待审值分离后语义已不成立。
保留而不删除是为了避免小程序历史版本或其它系统 404;它只写展示缓存,
不再影响可用性判定(可用性只看 effective_cert_record_id)。
修复过程中被测试抓到两个真实问题:
1. 通过路径原先对同一行连发两次 UPDATE(先切指针、再刷展示缓存),
合并为一次,消除了「后写覆盖先写」的可能;
2. 新增 EffectivePointerUpdateSqlTest,直接断言 MyBatis-Plus 生成的 UPDATE SET 片段:
指针列必须被「值非 null 才写」的 if 包住——驳回传 null 因此物理上碰不到它。
把「靠约定」变成「靠语句」,若有人给该字段加 ALWAYS 策略,测试立刻变红。
13 个审核用例 + 全模块 48 个测试通过:mvn -o test -pl blade-service/blade-transport -am
|
2026-10-02 16:26:20 +08:00 |
|
weicw-dshsa
|
63762b9dd0
|
✨ 司机端认证提交与记录查询接口(车辆/个人)
实现司机在小程序上提交认证、查看生效值与认证记录的能力。
提交链路的结构性保证(这是本次改造的核心约束「提交审核不影响车辆正常使用」):
- 提交只产生一条新的待审记录,**绝不修改 effective_cert_record_id**,
因此已认证的车重新提交后依然可用;待审内容在审核通过前只存在于记录表里;
- 同对象至多一条待审:落新记录前先把前一条待审转已作废,
且只动作待审——已通过/已驳回是终态,尤其不碰生效快照指着的那条;
- 新记录状态显式设为待审:框架会把空 status 静默填成 1,而 1 在本表是「已通过」,
不显式设置会让一次提交凭空变成审核通过;
- 新记录清空驳回原因,避免出现「审核中」却带着上一次驳回文案。
越权校验:司机只能提交/查看本人及本人绑定车辆的认证(复用 VehiclePlateSupport),
不可查看者返回业务异常而不是空列表——空列表会被误读成「没有记录」。
新增:
- DriverAuthController(/driver/auth/**,兼容 /blade-transport/driver/auth/**)
- IDriverCertService / DriverCertServiceImpl
- PersonCertSubmitRequest / VehicleCertSubmitRequest
- TransportCertRecordVO.statusText(状态文案统一在 Wrapper 翻译,四端一套说法)
- IDriverAppService.currentDriverEntity()(认证写入需要司机实体)
17 个用例覆盖票 02 的三条验收点与不变式(含「重新提交后生效值仍是旧的」)。
全模块 33 个测试通过:mvn -o test -pl blade-service/blade-transport -am
|
2026-10-02 16:17:06 +08:00 |
|
weicw-dshsa
|
e891100a23
|
✨ 认证记录状态机规则集中为 CertificationRuleSupport 并补测试
把「什么状态能做什么」从持久化里拎出来单独验证。这几条规则是认证改造的地基,
改坏的后果都是线上事故,故先锁住行为再写业务:
- prepareForSubmit:新提交一律待审,并清空驳回原因(否则会继承上一次的驳回文案,
出现「审核中」却带着驳回原因的自相矛盾状态);
- supersedeIfPending:再次提交只作废前一条待审,已通过/已驳回/已作废都是终态不碰
——尤其是不得改动已通过的记录,它可能正被生效快照指针指着;
- isCertified:唯一判据是生效快照指针,故「曾通过即永久保持」;
- isAuditable:只有待审可审,终态再审会把生效快照改坏;
- statusText:四种状态各一个中文说法,与列注释、前端文案保持一致。
TransportCertRecord.REJECT_REASON_MAX_LENGTH 与 reject_reason 列宽(200)对齐。
9 个用例覆盖上述规则与边界(null、未知状态、超长原因)。
可离线执行:mvn -o test -pl blade-service/blade-transport -am
|
2026-10-02 16:10:34 +08:00 |
|
weicw-dshsa
|
36d23cb426
|
📝 认证记录相关文件去掉外部文档引用,注释改为自解释
前一次提交的注释大量引用本仓库之外、同事看不到的东西:
docs/adr/0001、docs/adr/0002、GLOSSARY.md、.scratch/ 下的 spec 与 ticket 编号、
以及 ADR-0002 / D10 / 不变式 I1~I3 这类代号。这些都在另一个 git 仓库
(weicw/tms-erp)里,单独 checkout 本仓库的人根本找不到,只会困惑。
改为把结论直接写在注释里:
- 生效快照指针为何「一经设置永不回退」(原来只写「见 ADR-0002」);
- 为何 redis 状态字段不能用 0 兜底;
- 为何生成列要排除 is_deleted、为何 tenant_id 必须 NOT NULL;
- changeStatus 为何被禁用(原来写「破坏 I3 的留痕」)。
顺带对齐本仓库的既有排版习惯:
- 横幅破折号由 77 个改为 30 个(与 blade_annual_inspection_record.sql 等一致);
- 去掉 SQL 注释里的 markdown 粗体(本目录无其他脚本这么写)。
仅注释变更:SQL 的 diff 已逐行核对,非注释行改动为 0,DDL 一字未动;
迁移重跑仍 exit 0,audit-migrations 通过,mvn clean compile 成功。
|
2026-10-02 15:47:39 +08:00 |
|
weicw-dshsa
|
87f4c3a830
|
✨ 新增认证记录不可变快照数据模型与迁移脚本
按 ADR-0001/0002 建立司机与车辆共用的认证记录表 blade_transport_cert_record
(biz_type 区分、载荷存 JSON、检索字段提升为真实列),并为司机/车辆表补生效快照指针。
不变式结构性保证:
- I1 同对象至多一条待审:生成列 pending_biz_id + 唯一索引,数据库层拦截;
生成列同时排除 is_deleted,避免逻辑删除的待审记录永久占用唯一键。
- I3 快照不可变:snapshot_json 等 5 列标 FieldStrategy.NEVER,永不进入 UPDATE。
- status 承载审核状态(0审核中/1已通过/2已驳回/3已作废),新增时必须显式设置:
框架 resolveEntity 会把 null 的 status 静默填成 1(即「已通过」),
且继承来的 changeStatus 可直接写 status,两条通道均已封堵。
其他:司机表补身份证有效期三列并订正排序规则为 utf8mb4_general_ci
(原先为 0900_ai_ci,与车辆表 JOIN 已发生过 Illegal mix of collations);
生效快照指针加 @JsonProperty(READ_ONLY),防止以 /submit 请求体自行「认证」自己;
同步基线建表脚本与认证审核菜单/权限码。本票不含任何业务接口。
|
2026-10-02 14:40:56 +08:00 |
|
刘泉佳
|
4b3edf977c
|
Merge remote-tracking branch 'refs/remotes/origin/master' into feature/payment-apply-bfi-sync
# Conflicts:
# blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/CustomerArchiveServiceImpl.java
|
2026-10-01 13:47:00 +08:00 |
|
b2894lxlx
|
a5e89aa6dc
|
✨ 各业务模块列表与导出补齐创建人及创建时间
统一 VO/Wrapper/ExportExcel 返回并填充 createUserName,导出同步展示创建人、创建时间。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-30 14:22:39 +08:00 |
|
刘泉佳
|
2f6619d443
|
feat: 开票结果回写落库发票文件地址并支持正式结算单详情查看下载
- A303-5 VO 补数电 PDF/XML 直链字段,回写落库四个发票文件地址(板式文件/预览图/数电PDF/数电XML)
- 已落库但缺地址的历史记录由回写任务字段级补空,不覆盖已有值
- 正式结算单详情新增 issuedInvoices:经结算单-开票申请关联查出回写发票,只读不参与匹配金额
- 新增建表补丁 blade_invoice_application_invoice_urls_20260930.sql
- 同步更新金蝶附件上传下载链路梳理文档(新增 3.4 销项直链节)
|
2026-09-30 14:15:58 +08:00 |
|
刘泉佳
|
ffc2f6eea2
|
fix: A301-3 报文取数按契约修正——awrp_src_code=分摊结算单号拼接,seq/e_corebillno=结算单id
|
2026-09-29 10:48:50 +08:00 |
|
刘泉佳
|
9cf42b4105
|
feat: 收款流水列表补充收款金额区间与认领人筛选(认领人经认领记录参数化两段查询过滤)
|
2026-09-29 10:28:27 +08:00 |
|
b2894lxlx
|
087f361a8b
|
✨ 组织类型改业务字典,并完善金蝶部门代码与MK再提交
组织类型翻译切换为 organization_type;新增金蝶部门代码字段;流程已结束或已通过时强制新建MK表单实例。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-29 03:15:26 +08:00 |
|
b2894lxlx
|
32cff235e0
|
🐛 修复审核通过后再提交未新建MK流程实例的问题
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-29 02:44:48 +08:00 |
|
b2894lxlx
|
beb0850644
|
✨ 解耦MK表单实例与业务ID,公开页按formInstanceId反查业务数据
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-29 02:23:19 +08:00 |
|
刘泉佳
|
e7d16eeb74
|
feat: 认领记录列表支持按流水推送状态筛选
|
2026-09-29 01:32:09 +08:00 |
|
刘泉佳
|
2e91e112ff
|
feat: 收款认领本地化,认领完成才推金蝶——A301-3定时+手动双入口按流水归集推送
- 认领只落本地:claim() 删除事务内同步推送,认领上限/认领完成口径改为公告未认领金额
- 推送闸门:认领完成且未推送过才可推;推送前重查A301-2最新公告对账,不一致拦截并提示差额
- 按流水归集:一条流水一张金蝶收款单,分录取全部有效分摊行;awrp_src_code 上移至流水、重试复用防重试双单
- 已推送终态闸门禁止二次推送;推送失败落 push_status/push_fail_reason 可重试,本地认领不回滚
- 定时任务 ReceiptClaimPushTask(thirdParty.bfi.receiptClaimPush.*,按认领人分组重查公告)+ 手动按钮 POST /receipt-flow/push-kingdee
- A301-1 回写轮询对象改流水并级联刷新认领主单冗余字段;作废仍不触发推送
- 认领链路批量化:结算单锁行/认领额聚合/汇总刷新改 IN 批量,候选单列表消除每页200次N+1,同步留痕 Db.saveBatch
|
2026-09-29 01:02:54 +08:00 |
|
刘泉佳
|
85b703b7d5
|
docs: 补充KingdeeReceiptFlow实体字段说明注释
|
2026-09-28 15:17:18 +08:00 |
|
刘泉佳
|
a2abb3f921
|
Merge remote-tracking branch 'origin/feature/kingdee-attachment-sync' into feature/payment-apply-bfi-sync
# Conflicts:
# blade-common/src/main/java/org/springblade/common/feign/CustomFeignLogger.java
# blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/FormalSettlementServiceImpl.java
# blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/InvoiceApplicationServiceImpl.java
# blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/InvoiceReceiptServiceImpl.java
# blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/PaymentApplicationServiceImpl.java
# blade-service/blade-transport/src/main/java/org/springblade/transport/support/KingdeeApBillSyncSupport.java
# blade-service/blade-transport/src/main/java/org/springblade/transport/support/KingdeeArBillSyncSupport.java
|
2026-09-28 10:50:09 +08:00 |
|
b2894lxlx
|
eef9d7ad9d
|
✨ 完善运单导入配载标识、导入状态与凭证文件夹统计
记录配载标识号并在同批次多运单时生成配载单,导入状态与运单状态对齐,凭证按车牌文件夹统计并支持压缩包重传匹配。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-27 22:54:30 +08:00 |
|
b2894lxlx
|
1185c9792c
|
🐛 修复车务非必填-1占位落库,并完善总单分段调度与运单导入
上一段运单完成到达后才可调度且不超过到达量;车务多模块保存/列表/导出将-1归一为null;同步网关大报文限制与导入校验能力。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-27 21:26:54 +08:00 |
|
刘泉佳
|
e50f4cbba6
|
feat: 收款认领金蝶对接新增数据字段与迁移SQL(流水表公告字段、认领来源编码)
|
2026-09-24 22:20:21 +08:00 |
|
刘泉佳
|
7e44d2d3d0
|
feat: 金蝶推送 DTO 与实体新增字段(运输货物/车号/开票单金蝶单号)
|
2026-09-24 19:41:52 +08:00 |
|
刘泉佳
|
6d0dc9a24a
|
feat: 系统服务新增计量单位档案查询 Feign 接口
|
2026-09-24 19:41:21 +08:00 |
|
刘泉佳
|
044b593239
|
docs: 补充FormalSettlementSummaryFee实体类字段描述
|
2026-09-24 14:46:07 +08:00 |
|
刘泉佳
|
298c26f132
|
docs: 补充FormalSettlementDetailFee实体类字段描述
|
2026-09-24 14:43:24 +08:00 |
|
刘泉佳
|
088e5436b3
|
docs: 补充FormalSettlementDetail实体类字段描述
|
2026-09-24 14:29:30 +08:00 |
|
刘泉佳
|
c2f3a48c0e
|
✨ 金蝶附件同步(A902):五类单据推送后联带上传附件、独立同步状态与列表聚合
|
2026-09-24 13:26:54 +08:00 |
|
刘泉佳
|
cae284483e
|
Merge remote-tracking branch 'origin/master' into feature/payment-apply-bfi-sync
# Conflicts:
# blade-common/src/main/java/org/springblade/common/config/BladeCommonConfiguration.java
# blade-service-api/blade-system-api/src/main/java/org/springblade/system/feign/ISysClient.java
# blade-service-api/blade-system-api/src/main/java/org/springblade/system/feign/ISysClientFallback.java
# blade-service/blade-system/src/main/java/org/springblade/system/feign/SysClient.java
# blade-service/blade-transport/pom.xml
# blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/CustomerArchiveMapper.xml
# blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/PaymentApplicationServiceImpl.java
# blade-service/blade-transport/src/main/java/org/springblade/transport/wrapper/PaymentApplicationWrapper.java
# blade-service/blade-transport/src/main/resources/application-dev.yml
# blade-third-party-api/pom.xml
# doc/nacos/blade-dev.yaml
# doc/nacos/blade-prod.yaml
# doc/nacos/third-party-api.yaml
# pom.xml
|
2026-09-24 03:15:30 +08:00 |
|
刘泉佳
|
0c064f06c9
|
feat: 收票单分录改为与应付单同源结算费用行,防重键改用收票登记id
|
2026-09-23 16:01:17 +08:00 |
|
刘泉佳
|
c91ab359ba
|
feat: 金蝶票池选票仅出可用票并改造有界循环补页游标分页
- 选票过滤:剩余可用金额availableAmount>0且金额使用状态amountUseStatus=0(未使用),保存落镜像前按同口径复核,防选票到保存之间票被他人使用造成超用
- 单据使用状态不再作为前端条件,后端固定下推未用(expenseStatus=1)
- 分页改造:单请求最多3次远程调用循环补页凑满一页,返回nextCursor(远程页码:已消费过滤行数)供下一页续扫,防过滤后翻页漏行重行,游标解析失败降级页码锚定
- 新增剩余可用金额availableTaxAmount展示字段(金蝶可用税额口径,不改可认领金额的价税合计口径)
|
2026-09-23 15:06:07 +08:00 |
|
b2894lxlx
|
f09879d1dc
|
🐛 修复客商类型无法保存的问题
|
2026-09-23 11:29:52 +08:00 |
|
刘泉佳
|
70d5d34461
|
refactor: 收票管理下线金蝶同步功能,金蝶状态改按推送结果二值展示
|
2026-09-23 10:47:40 +08:00 |
|
刘泉佳
|
562127232b
|
✨ 收票单推送金蝶全链路(A303-2保存+A302-6指定应付+A801-3回写)与金蝶票池实时游标分页重构,下线镜像分页与定时绑定任务
|
2026-09-23 10:15:36 +08:00 |
|
刘泉佳
|
56e3e9deb0
|
feat: 金蝶票池选票统一查镜像(收票登记与结算单认领统一分页查询+按票号补查+A801-1限定正常票,下线实时透传假分页)
|
2026-09-22 21:24:00 +08:00 |
|
b2894lxlx
|
3e23507b3a
|
✨ 客商评分提交校验、复评状态与空评分持久化
提交审批前必须完成且仅保留一条自评,审核通过前必须完成复评。
列表返回最新复评状态;删除最后一条评分会落库;评分为 0 时不再被当成空值覆盖。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-22 20:21:43 +08:00 |
|
b2894lxlx
|
14c1d9dff0
|
✨ 认证退出与操作日志、密码规则,以及运输业务多项修正
|
2026-09-22 12:03:59 +08:00 |
|
刘泉佳
|
3edefa9b4b
|
♻️ 开票申请同步金蝶分录组装改为纯页面商品行透传
resolveInvoiceApplyEntries 去掉开票项目主数据全量拉取(ISysClient.getInvoiceItems)与合同计费规则链路(开票明细→正式结算明细→应收费用行 billing_rules_json)两处回查,分录的分类/简称/税收分类编码/税率/金额/税额/单价/备注全部取商品行落库值,行缺编码或缺税率直接报错;取数收敛为张次+商品行两条查询,避免逐张 N+1。
|
2026-09-22 10:51:49 +08:00 |
|
刘泉佳
|
75d5b8cf81
|
⚡ 开票申请相关实体补充字段描述注释
|
2026-09-21 21:19:34 +08:00 |
|
刘泉佳
|
72a1cfa9ec
|
✨ 开票项目主数据新增跨服务Feign查询(ISysClient.getInvoiceItems,启用档案按分类简称排序)
|
2026-09-21 21:19:18 +08:00 |
|
刘泉佳
|
39ffac15e2
|
✨ 开票申请同步金蝶A303-1并回写A303-5开票结果(销方与税收分类编码随单据取数,新增发票结果表)
|
2026-09-21 19:14:20 +08:00 |
|
刘泉佳
|
82b347cb18
|
✨ 应收正式结算单同步金蝶财务应收单(A302-2保存+A302-4幂等预检与定时勾稽纠偏)
|
2026-09-21 19:14:05 +08:00 |
|
b2894lxlx
|
427e4b0c84
|
组织同步逻辑修改
|
2026-09-21 16:03:28 +08:00 |
|
b2894lxlx
|
2404281bff
|
项目、合同、运单、预结算、正式结算、付款对接mk
|
2026-09-21 13:52:34 +08:00 |
|
刘泉佳
|
69fee13242
|
✨ 收票管理金蝶全票池同步:镜像表新增票池字段(幂等脚本)与实体字段备注
|
2026-09-21 13:18:41 +08:00 |
|
b2894lxlx
|
cfe36dfc8b
|
项目、合同、运单、预结算、正式结算、付款对接mk
|
2026-09-21 11:38:44 +08:00 |
|
b2894lxlx
|
0797785176
|
项目、合同、运单、预结算、正式结算、付款对接mk
|
2026-09-21 10:36:00 +08:00 |
|
刘泉佳
|
9a35d408dc
|
✨ 正式结算单新增全票池发票认领查询端点(多条件+内存精确分页)
|
2026-09-20 19:41:19 +08:00 |
|