1
0
forked from erp-dev/erp
Files
erpnew/docs/2026-01-22_summary.md

38 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
### 2026-01-22 工作记录
#### 1) 核查 PlateOrder / PrintingOrder 创建接口是否会写入 merchant_id防止再次产生 merchant=NULL
背景:
- 之前查询接口无数据的根因已确认是历史数据 `merchant_id` 为空;生产已手动回填修复。
- 为避免“新增数据再次写空”,需要确认 create API 是否会自动写入 `merchant_id`
核查结论(仅检查代码逻辑,未修改任何代码):
- `PlateOrder`
- create 时在 `PlateOrderViewSet.perform_create()` 内部注入 `merchant`(来自 `request.user.employee.merchant`),并与 `created_by` 一起写入。
- 若当前用户不存在 `employee``employee.merchant` 为空,则会写入 `merchant=NULL`
- `PrintingOrder`
- create 由 `PrintingOrderCreateUpdateSerializer.create()` 调用 `PrintingOrderService.create_printing_order(...)`
- service 内部会在创建前注入 `merchant`(来自 `request.user.employee.merchant`)与 `created_by`
- 若当前用户不存在 `employee``employee.merchant` 为空,则会写入 `merchant=NULL`
建议(无需改代码即可执行的运维/数据侧约束):
- 确认所有会创建 `PlateOrder/PrintingOrder` 的账号类型都已正确绑定 `employee``employee.merchant` 非空(否则仍可能产生新 “merchant=NULL” 数据)。
#### 2) 新增MDY 开版暂存MDYPlateOrderStaging“开版图”上传到腾讯云 TIIA 图库(增量定时任务)
- 数据源:`api_v1.models.MDYPlateOrderStaging.raw["62d52f4b8d2972284492dd27"]`(开版图 Attachment
- URL 选择策略:`original_file_full_path` 优先,`DownloadUrl` 候补(不再使用带 token 的 `preview_url`
- 新增 service`api_v1/mdy_plate_order_staging_tiia_upload.py`
- 新增任务:`api_v1.tasks.upload_mdy_plate_order_staging_images_to_tencent_tiia`
- 游标:`api_v1.models.DataSync``table_name=mdy_plate_order_staging_tiia_upload``last_rowid` 存 staging 自增 id
- 失败落库:`api_v1.models.MDYPlateOrderStagingTiiaUploadFailure`Django Admin 可查)
- 新增 Beat`flower/settings.py``daily_mdy_plate_order_staging_tiia_image_upload`(默认 03:20
#### 3) PrintingOrder.outgoing_date 升级为日期时间DateTime并保持入参兼容
- 模型字段:`printing.models.PrintingOrder.outgoing_date``DateField` 升级为 `DateTimeField`(迁移:`printing/migrations/0032_alter_printingorder_outgoing_date.py`
- API 入参兼容:仍可传 `YYYY-MM-DD`,会自动视为当天 `00:00:00`
- API 返回值:统一返回日期时间字符串(包含时间部分,即使为 `00:00:00`
- 列表筛选:`outgoing_date_from/outgoing_date_to` 支持传日期或日期时间;其中 `outgoing_date_to` 传日期时按“包含整天”处理(`< 次日 00:00:00`
- 测试:严格执行 `api_v1.views.printing.test_api`(新增用例覆盖 `outgoing_date_to` 的整天包含语义),全绿