优化
This commit is contained in:
@@ -18,6 +18,26 @@
|
|||||||
- 合并门禁为后端 117 项定向用例、Admin 104 项业务用例、PDA 4 项部署合同,以及 23 项部署拓扑/恢复合同;Admin 与 H5 构建通过。后端照片表测试截取范围、Admin 入库详情组件隔离问题已在测试分支修复并复测。Admin 样式合同仍有 4 项测试分支既有失败,未宣称全量回归通过。每类五张的完整现场上传/替换、装车至签收全链、人工页面及 PDA 真机相机验收仍待完成。
|
- 合并门禁为后端 117 项定向用例、Admin 104 项业务用例、PDA 4 项部署合同,以及 23 项部署拓扑/恢复合同;Admin 与 H5 构建通过。后端照片表测试截取范围、Admin 入库详情组件隔离问题已在测试分支修复并复测。Admin 样式合同仍有 4 项测试分支既有失败,未宣称全量回归通过。每类五张的完整现场上传/替换、装车至签收全链、人工页面及 PDA 真机相机验收仍待完成。
|
||||||
- 本轮不发布生产或灰度,不改 Nacos/Gateway 配置。证据保存在本机私有 `artifacts/chongchong-global/fleet-photo-test-20261026/`,包括 SQL 回执、Jenkins 日志/状态、配置恢复核对、静态文件摘要及 HTTP 报告;凭据未进入仓库或报告。
|
- 本轮不发布生产或灰度,不改 Nacos/Gateway 配置。证据保存在本机私有 `artifacts/chongchong-global/fleet-photo-test-20261026/`,包括 SQL 回执、Jenkins 日志/状态、配置恢复核对、静态文件摘要及 HTTP 报告;凭据未进入仓库或报告。
|
||||||
|
|
||||||
|
### 同日 PC/PDA 同步修复续批:已更新 TEST,真实 HTTP 91 项通过
|
||||||
|
|
||||||
|
- 最新 Lastleg `#436`、File `#160`、Admin `#716` 均 SUCCESS,实际镜像分别为 `00616d593001`、`3e0d8d6c8849`、`0137fd3a4c8c`,三个容器均 healthy;与续批发布前相比仅这三个容器镜像变化,环境变量及挂载摘要未变。Admin 临时 SCM pin 已恢复。海外 PDA H5 基于 `105c7825b49f5558ed4b5f83ae161a0762ceecfc` 加工作区已有扫码提示改动构建,两个未提交文件的摘要单独记录;服务器及公网 83 个产物摘要均一致,未发布 APK/WGT。
|
||||||
|
- 合成测试排车 `PC202610260002` 沿同一业务链分阶段续跑,累计 **91/91 项 HTTP 检查通过**,补齐上批待验的每类五张上传/替换与自动发车。五类统一为司机驾驶证、车牌照片、装车完成、封车照片、BOL 司机签字;档案图片及 PDF 驾驶证自动复制至前两类,改车/司机后旧资料失效、重审带出新档案,旧轮上传和旧待绑定文件被拒绝。PC/PDA 交替填满每类五张、拒绝第六张、满额替换及幂等重放均通过,两端 25 份文件引用和下载字节一致。
|
||||||
|
- 两张原生转运入库单完成仓租预校验、真实 HTTP 拣货及装车确认,自动生成唯一出库单和派送单,最终 DELIVERING、出库两箱;不足量装车被拒绝,拣货/装车重放未重复扣库存或生成单据。临时海外 PDA 账号已停用、验收会话退出,合成单据和资料保留。本续批未执行 SQL、重置数据、修改既有 PDA 身份或操作生产/灰度。
|
||||||
|
- 真实 HTTP 先发现 File 尚未同步 PDF 资料策略,补发 File 后照片检查通过;随后发现仓租把转运尾程单 ID 当作库存入库单 ID,已改为核对转运单真实入库关联,保留错单和缺失关联拒绝。该修复 8 项定向测试通过;本批 File 13 项、照片后端 24 项、Admin 14 项和 PDA 61 项受影响测试及相应类型/构建检查通过。Lastleg `#434` 误启的冗余全模块测试已主动终止并确认进程退出;后续发布复用定向结果,不宣称全模块回归通过。
|
||||||
|
- 续批证据位于本机私有 `artifacts/chongchong-global/dispatch-loading-test-20261026-r2/`,最终为 `http-final/report.json` 与 `final-verification.json`;各阶段失败、修复、部署及续跑记录保留。这里只覆盖至自动发车,不替代签收链、人工截图或 Android 相机/扫码硬件验收。
|
||||||
|
|
||||||
|
### 2026-10-27 装车资料单列布局:已发布 TEST
|
||||||
|
|
||||||
|
- 用户确认发布 PC 装车资料布局调整。Admin `release/test` 提交 `4595dfef3475fccd76669338a27d91804dc14bde` 已推送,`admin-web-test #717` SUCCESS(60.496 秒),实际容器镜像 `4595dfef3475` 且 healthy。五类资料改为单列分区,每张资料的预览、保存时间及更换操作逐行对应,不再展示文件名;时间格式统一到秒。上传、自动带出及权限逻辑未变。
|
||||||
|
- 复用输入未变的 14 项组件回归与定向模板类型检查;Jenkins 类型检查、构建及发布通过。公网首页及 63 个相关资源与容器内产物摘要一致,已验证单列组件及时间格式代码。仅 Admin 镜像变化,容器环境变量及挂载摘要不变,Jenkins 临时 SCM pin 已恢复;未发布后端/PDA 或执行 SQL。
|
||||||
|
- 本批发布与资源验证不代替修改后人工视觉验收。证据保存在本机私有 `artifacts/chongchong-global/dispatch-loading-layout-release-20261027/`,含构建状态、配置恢复、前后运行版本、`public-verification.json` 与 `final-verification.json`。
|
||||||
|
|
||||||
|
### 2026-10-27 维护车辆附件上传:已发布 TEST
|
||||||
|
|
||||||
|
- 用户确认本批部署测试。Admin `release/test` 提交 `392f94e95cc0119c6f5cd934336f31849bd63942` 已推送,`admin-web-test #718` SUCCESS(58.648 秒),实际镜像 `392f94e95cc0` 且 healthy。三个附件上传按钮不再因未选车辆或司机而置灰,删除新增的操作说明;保存时拒绝将已有附件引用随空资源静默丢弃。既有权限、作业状态及上传中的禁用规则保留。
|
||||||
|
- 82 项定向测试通过,覆盖三类附件、档案及临时外配资源保存后重新打开和再次保存;Jenkins 构建与部署成功。公网首页及 62 个相关资源与容器内产物摘要一致,已核对保存校验存在且已删除的提示文案不在产物中。仅 Admin 镜像变化,环境变量和挂载摘要未变,Jenkins 临时 SCM pin 已恢复;本批未发布后端/PDA 或执行 SQL。
|
||||||
|
- 本批未执行新的业务写入或人工页面验收,不将静态资源验证视为实际上传闭环。发布证据保存于本机私有 `artifacts/chongchong-global/dispatch-evidence-upload-release-20261027/`。
|
||||||
|
|
||||||
## 2026-10-26 海外费用与仓租 TEST 补齐:收费、仓租及应付链路已验,直付明细已修复并复验
|
## 2026-10-26 海外费用与仓租 TEST 补齐:收费、仓租及应付链路已验,直付明细已修复并复验
|
||||||
|
|
||||||
- 本轮仅继续 TEST。先按已审阅的 `overseas-fees-storage-rent-structure-add.sql`、`overseas-storage-rent-zero-fee-repair.sql` 补齐 `ll_storage_rent_inbound`、费用审核人名称及自动免费仓租的金额/汇率约束,两文件执行成功。执行前后原有费用均为 143 条,资金编排及计租批次均为 0;未重放初始化、未回填或删除业务数据,未调整汇率。
|
- 本轮仅继续 TEST。先按已审阅的 `overseas-fees-storage-rent-structure-add.sql`、`overseas-storage-rent-zero-fee-repair.sql` 补齐 `ll_storage_rent_inbound`、费用审核人名称及自动免费仓租的金额/汇率约束,两文件执行成功。执行前后原有费用均为 143 条,资金编排及计租批次均为 0;未重放初始化、未回填或删除业务数据,未调整汇率。
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
维护资料通过 `DispatchCommands.Update.maintenance` 保存到现有 `resourcesJson.maintenance`,详情对称返回 `vehicleInfo.maintenance`,唯一类型为 `DispatchContracts.Maintenance`。整体及八字段均可空,空白文本规范为 null,允许空草稿保存:`plannedDeliveryDate` 为 ISO 日期 `YYYY-MM-DD`;`deliveryMethod` 为 FBA自提/客户自提/卡派打托/卡派地板/快递/外配;`pickupMethod` 为一提一卸/一提多卸;`loadType` 为托盘/地板/混装;`fleetEmail` 最多254字符;`vehicleType` 为厢式货车/平板车/集装箱卡车;`appointmentAccount` 最多128字符;`destinationAppointments` 按本车目的仓去重,每项为目的仓业务键和最多128字符的预约号,空白可暂存但提交审核必须齐全。不新增审核级别或权限,正式确认时间、实际发车及派送费用口径保留。MASTER/EXTERNAL 车辆的本趟 `evidenceFileIds` 均保留到资源快照,不能被主档解析清空;保存及审核对非空照片逐项核验本排车及 VEHICLE 类别、有效性,调度审核读取同一已保存证据,不写入车辆主档。
|
维护资料通过 `DispatchCommands.Update.maintenance` 保存到现有 `resourcesJson.maintenance`,详情对称返回 `vehicleInfo.maintenance`,唯一类型为 `DispatchContracts.Maintenance`。整体及八字段均可空,空白文本规范为 null,允许空草稿保存:`plannedDeliveryDate` 为 ISO 日期 `YYYY-MM-DD`;`deliveryMethod` 为 FBA自提/客户自提/卡派打托/卡派地板/快递/外配;`pickupMethod` 为一提一卸/一提多卸;`loadType` 为托盘/地板/混装;`fleetEmail` 最多254字符;`vehicleType` 为厢式货车/平板车/集装箱卡车;`appointmentAccount` 最多128字符;`destinationAppointments` 按本车目的仓去重,每项为目的仓业务键和最多128字符的预约号,空白可暂存但提交审核必须齐全。不新增审核级别或权限,正式确认时间、实际发车及派送费用口径保留。MASTER/EXTERNAL 车辆的本趟 `evidenceFileIds` 均保留到资源快照,不能被主档解析清空;保存及审核对非空照片逐项核验本排车及 VEHICLE 类别、有效性,调度审核读取同一已保存证据,不写入车辆主档。
|
||||||
2026-10-21 用户确认:在装车前清除“有效排车”筛选后,仍保留车辆信息、调度审核、理货员审核三个页签及当前选中项;查询沿用空值默认有效排车的规则,切换页签继续按当前审核分区查询。
|
2026-10-21 用户确认:在装车前清除“有效排车”筛选后,仍保留车辆信息、调度审核、理货员审核三个页签及当前选中项;查询沿用空值默认有效排车的规则,切换页签继续按当前审核分区查询。
|
||||||
4. 2026-10-21 用户确认:装车完成确认真实实载,Admin与PDA成功结果在资料未齐时为AFTER_LOADING、资料已齐时为DELIVERING。装车中及装车后均提供司机驾驶证、车牌照片、装车完成、封车照片、BOL司机签字五类资料(每类1至5份),两端均可拍照/选择图片、上传、预览及替换,按整张排车单共用当前照片与附加资料版本,不依赖派送单或按客户重复上传。五框全部绑定保存且已确认装车完成后自动进入派送中;不以选图、文件上传回执或重复槽位充数。保留真实拣货核平、实载校验、版本及防重复约束。
|
4. 2026-10-21 用户确认:装车完成确认真实实载,Admin与PDA成功结果在资料未齐时为AFTER_LOADING、资料已齐时为DELIVERING。装车中及装车后均提供司机驾驶证、车牌照片、装车完成、封车照片、BOL司机签字五类资料(每类1至5份),两端均可拍照/选择图片、上传、预览及替换,按整张排车单共用当前照片与附加资料版本,不依赖派送单或按客户重复上传。五框全部绑定保存且已确认装车完成后自动进入派送中;不以选图、文件上传回执或重复槽位充数。保留真实拣货核平、实载校验、版本及防重复约束。
|
||||||
自动带入规则:理货审核通过、进入装车阶段时,服务端将本趟已核验驾驶证和车辆照片分别复制为“司机驾驶证”“车牌照片”类别的独立装车附件,PC与PDA共用同一份照片记录及版本。每类最多带入5份,仅填充空类别,来源未变化时保留已有现场照片及替换结果,重复审核不重复复制;退回后保存车辆身份、司机身份或对应证照附件变更时,对应类别的旧资料(含手工上传)与资源修改同事务失效,保留文件和历史,其他类别保持不变;再次理货通过后按新来源带入,未带入前不计入资料齐全。后续主档换图不改本趟附件。司机人像不放入驾驶证类别,其余三类由现场上传。驾驶证支持PDF原件(计一份)并可在两端查看;其他类别只接受JPG/PNG。复制失败时本次审核与资料绑定同事务回滚;GET保持只读,不执行测试存量补写。
|
自动带入规则:理货审核通过、进入装车阶段时,服务端将本趟已核验驾驶证和车辆照片分别复制为“司机驾驶证”“车牌照片”类别的独立装车附件,PC与PDA共用同一份照片记录及版本。每类最多带入5份,仅填充空类别,来源未变化时保留已有现场照片及替换结果,重复审核不重复复制;退回后保存车辆身份、司机身份或对应证照附件变更时,对应类别的旧资料(含手工上传)与资源修改同事务失效,保留文件和历史,车辆身份变化还须失效装车完成和封车照片,司机身份变化还须失效BOL司机签字;同一身份仅补换证照图片时保留其他现场凭证。再次理货通过后仅按新来源带入驾驶证及车牌资料,失效的现场凭证须重新上传。上传携带选择照片时的审核轮次reviewRound,服务端保存到原上传账本;绑定携uploadKey,核对文件、类别、操作者及当前审核轮次,旧轮次上传即使采用最新资料版本也不得绑定。后续主档换图不改本趟附件。司机人像不放入驾驶证类别,其余三类由现场上传。驾驶证支持PDF原件(计一份)并可在两端查看;其他类别只接受JPG/PNG。复制失败时本次审核与资料绑定同事务回滚;GET保持只读,不执行测试存量补写。
|
||||||
|
|
||||||
5. 装车已完成时,第五张装车照片绑定与按客户和目的地生成出库/派送单、记录实际发车并进入派送中在同一事务完成;照片先齐时,这些动作随装车确认在同一事务完成,仍无人工安排派送及确认发车入口。上传和绑定各保留稳定原请求键;第五张绑定或派送失败时保留装车后、前四张及原上传文件,原请求可恢复,不能留下半车或重复派送。PDA每次按Token绑定仓校验,Admin沿排车list只读、edit上传保存。照片使用原整车附加记录及文件归属,不新增存储表;五个既有技术槽位按顺序映射上述五类资料,不替代司机审核或真实签收。真实外接报价沿原费用路径发布,未知派送补充资料与费用保持未确认,不猜测金额或原费用覆盖、不填写零费;后续由既有后台资料/费用管理维护。装车中上传齐资料不会提前发车;照片先齐时派送失败回滚本次装车确认、保留已保存照片,原请求可重试。装车完成原键恢复本次事务原最终阶段(AFTER_LOADING或DELIVERING),资料保存原键恢复原保存结果,当前阶段须另读;不重复扣库存。
|
5. 装车已完成时,第五张装车照片绑定与按客户和目的地生成出库/派送单、记录实际发车并进入派送中在同一事务完成;照片先齐时,这些动作随装车确认在同一事务完成,仍无人工安排派送及确认发车入口。上传和绑定各保留稳定原请求键;第五张绑定或派送失败时保留装车后、前四张及原上传文件,原请求可恢复,不能留下半车或重复派送。PDA每次按Token绑定仓校验,Admin沿排车list只读、edit上传保存。照片使用原整车附加记录及文件归属,不新增存储表;五个既有技术槽位按顺序映射上述五类资料,不替代司机审核或真实签收。真实外接报价沿原费用路径发布,未知派送补充资料与费用保持未确认,不猜测金额或原费用覆盖、不填写零费;后续由既有后台资料/费用管理维护。装车中上传齐资料不会提前发车;照片先齐时派送失败回滚本次装车确认、保留已保存照片,原请求可重试。装车完成原键恢复本次事务原最终阶段(AFTER_LOADING或DELIVERING),资料保存原键恢复原保存结果,当前阶段须另读;不重复扣库存。
|
||||||
6. 实际发车后为派送中;全部正常签收完成后自动进入配送完成。派送中可以“标记异常”:类型必填(拒收、部分签收、车辆异常),退货去向选填(退回海外仓、其他),说明和图片选填。登记沿排车维护权限,按本车版本及原请求键防重,异常记录和图片保存在主单并于现有“排车信息”详情回看;阶段仍为派送中,不自动创建退货、恢复库存或确认签收。异常后续处置由人工处理,本轮不新增线上异常闭环。
|
6. 实际发车后为派送中;全部正常签收完成后自动进入配送完成。派送中可以“标记异常”:类型必填(拒收、部分签收、车辆异常),退货去向选填(退回海外仓、其他),说明和图片选填。登记沿排车维护权限,按本车版本及原请求键防重,异常记录和图片保存在主单并于现有“排车信息”详情回看;阶段仍为派送中,不自动创建退货、恢复库存或确认签收。异常后续处置由人工处理,本轮不新增线上异常闭环。
|
||||||
|
|||||||
@@ -257,7 +257,7 @@ paths:
|
|||||||
schema: {$ref: '#/components/schemas/FeeDirection'}
|
schema: {$ref: '#/components/schemas/FeeDirection'}
|
||||||
- name: status
|
- name: status
|
||||||
in: query
|
in: query
|
||||||
schema: {type: string, enum: [AVAILABLE, LOCKED, BILLED, VOIDED, SUPERSEDED]}
|
schema: {type: string, enum: [AVAILABLE, LOCKED, BILLED, SETTLED, PAYABLE_BILLED, PARTIALLY_PAID, PAID, VOIDED, SUPERSEDED]}
|
||||||
- name: reviewStatus
|
- name: reviewStatus
|
||||||
in: query
|
in: query
|
||||||
schema: {$ref: '#/components/schemas/ReviewStatus'}
|
schema: {$ref: '#/components/schemas/ReviewStatus'}
|
||||||
@@ -1024,8 +1024,11 @@ components:
|
|||||||
amount: {$ref: '#/components/schemas/Money'}
|
amount: {$ref: '#/components/schemas/Money'}
|
||||||
currency: {type: string, enum: [CNY]}
|
currency: {type: string, enum: [CNY]}
|
||||||
reviewStatus: {$ref: '#/components/schemas/ReviewStatus'}
|
reviewStatus: {$ref: '#/components/schemas/ReviewStatus'}
|
||||||
sourceStatus: {type: string, enum: [AVAILABLE, LOCKED, BILLED, VOIDED, SUPERSEDED]}
|
sourceStatus:
|
||||||
statementGenerated: {type: boolean}
|
type: string
|
||||||
|
enum: [AVAILABLE, LOCKED, BILLED, SETTLED, PAYABLE_BILLED, PARTIALLY_PAID, PAID, VOIDED, SUPERSEDED]
|
||||||
|
description: 当前来源展示状态。应付按同客户有效结算单显示 PAYABLE_BILLED(已生成应付单)、PARTIALLY_PAID(部分付款)、PAID(已付款);直接已付也显示 PAID,作废单不占用来源。
|
||||||
|
statementGenerated: {type: boolean, description: 是否关联同客户的有效客户对账单;应付来源不使用该字段判断付款进度}
|
||||||
FeeSourceDetail:
|
FeeSourceDetail:
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: '#/components/schemas/FeeSource'
|
- $ref: '#/components/schemas/FeeSource'
|
||||||
|
|||||||
Reference in New Issue
Block a user