1
0
forked from erp-dev/erp
Files
erpnew/flower/utils/mingdaoyun/mappings.py

336 lines
15 KiB
Python
Raw Permalink 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.
from __future__ import annotations
from typing import Any, Dict
# ------------------------------------------------------------------------------
# 明道云worksheetId 常量
# ------------------------------------------------------------------------------
MDY_WORKSHEET_ID_PRODUCT = "spmx"
MDY_WORKSHEET_ID_CUSTOMER = "quanbu"
MDY_WORKSHEET_ID_FABRIC = "668ba100fb551c850214067d"
MDY_WORKSHEET_ID_PLATE_ORDER = "668ba100fb551c8502140660" # 开版数据表
# 开版表关联数据 worksheetId用于 Relation 关联查询)
MDY_WORKSHEET_ID_PLATE_ORDER_DRAWING = "668ba100fb551c850214066b" # 画图
MDY_WORKSHEET_ID_PLATE_ORDER_COLORING = "668ba100fb551c850214066c" # 调色
MDY_WORKSHEET_ID_PLATE_ORDER_PATTERN_SET = "668ba100fb551c8502140681" # 套纸样
MDY_WORKSHEET_ID_PLATE_ORDER_MODIFY_DRAWING = "66e2eb5a3c1a53053f6d234d" # 改图
MDY_WORKSHEET_ID_PLATE_ORDER_COLOR_SCHEME = "672adc61e72ce9924f763a0b" # 配色
MDY_WORKSHEET_ID_PLATE_ORDER_IMAGE_DEVELOPMENT = "66e2eee45d7e45f9c5ae41b4" # 照图开发
mdy_table_map = {
"product": MDY_WORKSHEET_ID_PRODUCT,
"customer": MDY_WORKSHEET_ID_CUSTOMER,
"plate_order": MDY_WORKSHEET_ID_PLATE_ORDER,
}
# 开版表关联数据表映射(后续做跨表查询时使用)
plate_order_related_worksheet_map = {
"drawing": MDY_WORKSHEET_ID_PLATE_ORDER_DRAWING,
"coloring": MDY_WORKSHEET_ID_PLATE_ORDER_COLORING,
"pattern_set": MDY_WORKSHEET_ID_PLATE_ORDER_PATTERN_SET,
"modify_drawing": MDY_WORKSHEET_ID_PLATE_ORDER_MODIFY_DRAWING,
"color_scheme": MDY_WORKSHEET_ID_PLATE_ORDER_COLOR_SCHEME,
"image_development": MDY_WORKSHEET_ID_PLATE_ORDER_IMAGE_DEVELOPMENT,
}
# 同上(中文 key便于排查/对照)
plate_order_related_worksheet_map_cn = {
"画图": MDY_WORKSHEET_ID_PLATE_ORDER_DRAWING,
"调色": MDY_WORKSHEET_ID_PLATE_ORDER_COLORING,
"套纸样": MDY_WORKSHEET_ID_PLATE_ORDER_PATTERN_SET,
"改图": MDY_WORKSHEET_ID_PLATE_ORDER_MODIFY_DRAWING,
"配色": MDY_WORKSHEET_ID_PLATE_ORDER_COLOR_SCHEME,
"照图开发": MDY_WORKSHEET_ID_PLATE_ORDER_IMAGE_DEVELOPMENT,
}
# ------------------------------------------------------------------------------
# 明道云:开版相关“关联表”字段映射(用于后续关联查询/解析)
#
# 说明:
# - 这里记录的是“字段 controlId -> 字段含义/类型/备注”。
# - Relation(29) 字段在写入时通常按文档要求使用 rowId 字符串(多条用逗号分割、全量覆盖),
# 但 getFilterRows 拉取时返回结构可能是 list[{"rowid","name","link"}],解析时需兼容两种形态。
# ------------------------------------------------------------------------------
plate_order_related_field_definitions: Dict[str, Dict[str, Any]] = {
# 1) 画图
"drawing": {
"worksheet_id": MDY_WORKSHEET_ID_PLATE_ORDER_DRAWING,
"name": "画图",
"fields": {
"62d7f09ad55983029b644b25": {"name": "设计师名字", "type": "Text"},
"62d52f4b8d2972284492dda0": {"name": "电脑位置", "type": "Text"},
"62d52f4b8d2972284492dd9b": {
"name": "附件",
"type": "Attachment",
"note": "json支持外部链接和 Base64 文件流",
},
"6412d650120c799be027953d": {
"name": "开版管理",
"type": "Relation",
"note": "String 字符串,多条记录 rowId 用(,)分割,全量覆盖操作",
},
"62d52f4b8d2972284492dd9d": {
"name": "开发管理",
"type": "Relation",
"note": "String 字符串,多条记录 rowId 用(,)分割,全量覆盖操作",
},
},
},
# 2) 调色
"coloring": {
"worksheet_id": MDY_WORKSHEET_ID_PLATE_ORDER_COLORING,
"name": "调色",
"fields": {
"62d7f0c2d121077a8492619d": {"name": "设计师名字", "type": "Text"},
"62d52f4b8d2972284492dda8": {"name": "电脑位置", "type": "Text"},
"62d52f4b8d2972284492dda3": {
"name": "附件",
"type": "Attachment",
"note": "json支持外部链接和 Base64 文件流",
},
"6716620b985d1a2af61776b5": {
"name": "完成数量",
"type": "Number",
"note": "Double例如 666.66",
},
"62d52f4b8d2972284492dda5": {
"name": "开发管理",
"type": "Relation",
"note": "String 字符串,多条记录 rowId 用(,)分割,全量覆盖操作",
},
},
},
# 3) 套纸样
"pattern_set": {
"worksheet_id": MDY_WORKSHEET_ID_PLATE_ORDER_PATTERN_SET,
"name": "套纸样",
"fields": {
"62d7f0cfa72269e1965389e7": {"name": "设计师名字", "type": "Text"},
"62d52f4b8d2972284492de8c": {"name": "电脑位置", "type": "Text"},
"62d52f4b8d2972284492de89": {
"name": "附件",
"type": "Attachment",
"note": "json支持外部链接和 Base64 文件流",
},
"671661bc8d15ca93fdec7e5f": {
"name": "完成数量",
"type": "Number",
"note": "Double例如 666.66",
},
"62d52f4b8d2972284492de8d": {
"name": "开版管理",
"type": "Relation",
"note": "String 字符串,多条记录 rowId 用(,)分割,全量覆盖操作",
},
},
},
# 4) 改图
"modify_drawing": {
"worksheet_id": MDY_WORKSHEET_ID_PLATE_ORDER_MODIFY_DRAWING,
"name": "改图",
"fields": {
"62d7f0cfa72269e1965389e7": {"name": "设计师名字", "type": "Text"},
"62d52f4b8d2972284492de8c": {"name": "电脑位置", "type": "Text"},
"62d52f4b8d2972284492de89": {
"name": "附件",
"type": "Attachment",
"note": "json支持外部链接和 Base64 文件流",
},
"66e2ebb7da66655f355bf709": {
"name": "开版管理",
"type": "Relation",
"note": "String 字符串,多条记录 rowId 用(,)分割,全量覆盖操作",
},
},
},
# 5) 配色
"color_scheme": {
"worksheet_id": MDY_WORKSHEET_ID_PLATE_ORDER_COLOR_SCHEME,
"name": "配色",
"fields": {
"62d7f09ad55983029b644b25": {"name": "设计师名字", "type": "Text"},
"62d52f4b8d2972284492dda0": {"name": "电脑位置", "type": "Text"},
"62d52f4b8d2972284492dd9b": {
"name": "附件",
"type": "Attachment",
"note": "json支持外部链接和 Base64 文件流",
},
"672adc9b156abb9a08ab2a61": {
"name": "开版管理",
"type": "Relation",
"note": "String 字符串,多条记录 rowId 用(,)分割,全量覆盖操作",
},
# 注:配色表无“完成数量”,用“开发数量”替代
"66e2ef8d99632ae7376e73ef": {
"name": "开发数量",
"type": "Number",
"note": "Double例如 666.66",
},
},
},
# 6) 找图开发(照图开发)
"image_development": {
"worksheet_id": MDY_WORKSHEET_ID_PLATE_ORDER_IMAGE_DEVELOPMENT,
"name": "找图开发",
"fields": {
"62d7f09ad55983029b644b25": {"name": "设计师名字", "type": "Text"},
"62d52f4b8d2972284492dda0": {"name": "电脑位置", "type": "Text"},
"62d52f4b8d2972284492dd9b": {
"name": "附件",
"type": "Attachment",
"note": "json支持外部链接和 Base64 文件流",
},
"66e2efb0da66655f355bf963": {
"name": "开版管理",
"type": "Relation",
"note": "String 字符串,多条记录 rowId 用(,)分割,全量覆盖操作",
},
# 注:找图开发表无“完成数量”,用“开发数量”替代
"66e2ef8d99632ae7376e73ef": {
"name": "开发数量",
"type": "Number",
"note": "Double例如 666.66",
},
},
},
}
# ------------------------------------------------------------------------------
# 明道云:字段映射(内部字段名 -> controlId
# ------------------------------------------------------------------------------
product_type_map = {
"name": "668caa5eb80969563ecaee7d",
"pieces": "689c5aa37c175367b29fcb87",
"color": "66ed3b9ae01d5599bdb45f6d",
"uid": "668caa5eb80969563ecaee7c",
"unit": "668e2ee2ca758c8cc5d0dc1d",
"segment_size": "668e2194790c0e04058b4f3c",
"width": "668e2194790c0e04058b4f3c",
"detail_str": "668caa5eb80969563ecaee7e",
"created_at": "ctime",
"rowid": "rowid",
}
customer_type_map = {
"name": "62d52f4b8d2972284492dcf9",
"area": "62d52f4b8d2972284492dd09",
"created_at": "ctime",
"rowid": "rowid",
"uid": "668bb9370207cf7520fe551e",
}
fabric_type_map = {
"name": "62d52f4b8d2972284492de61",
}
# ------------------------------------------------------------------------------
# 明道云开版数据表worksheetId: 668ba100fb551c8502140660
# 字段说明controlId -> 元信息)。按需求保留为 dict暂不用于拉取请求。
# ------------------------------------------------------------------------------
plate_order_field_definitions: Dict[str, Dict[str, Any]] = {
# 成员 / 人员
"62d8fffb625ac34fa91299c3": {"name": "调色", "type": "Collaborator"},
# 关联记录Relation—— 展现 rowid + name + link
"62d52f4b8d2972284492dd28": {"name": "打版面料", "type": "Relation"},
"62d52f4b8d2972284492dd14": {"name": "客户", "type": "Relation"},
# 下拉/文本/数值/日期
"62d52f4b8d2972284492dd15": {"name": "做货方式", "type": "Dropdown"},
"62d52f4b8d2972284492dd0e": {"name": "设计编号", "type": "AutoNumber"},
"62d91d0e130624d31368bd16": {"name": "开版方式", "type": "Dropdown"},
"64a64bc4402bb5226ee34b3c": {"name": "等级", "type": "Rating"},
"660b79da4125de62cd904b39": {"name": "布料", "type": "Dropdown"},
"62db8e78510fb7962439b19c": {"name": "调色设计师", "type": "Text"},
"62d52f4b8d2972284492dd10": {"name": "开发进程", "type": "Dropdown"},
"62d52f4b8d2972284492dd1e": {"name": "是否套唛架", "type": "Dropdown"},
"62d52f4b8d2972284492dd2c": {"name": "款号名称", "type": "Text"},
"62d52f4b8d2972284492dd1d": {"name": "审批结果", "type": "Dropdown"},
"62d52f4b8d2972284492dd12": {"name": "下版时间", "type": "DateTime"},
"62d52f4b8d2972284492dd18": {"name": "复版原因", "type": "Dropdown"},
"62d52f4b8d2972284492dd0f": {"name": "起版情况", "type": "Dropdown"},
"62d52f4b8d2972284492dd19": {"name": "客户要求米样米数", "type": "Number"},
"62d52f4b8d2972284492dd11": {"name": "紧急程度", "type": "Dropdown"},
"660b75c3422f028085086b3c": {"name": "幅宽", "type": "Dropdown"},
"62d52f4b8d2972284492dd13": {"name": "要求完成时间", "type": "Date"},
"62f72a26d73f8581fbe7a488": {"name": "难度评级", "type": "Dropdown"},
# 附件Attachment—— 展现文件名 + 下载链接
"62d52f4b8d2972284492dd27": {"name": "开版图", "type": "Attachment"},
# 评级/开关/组合字段
"6451f4ad25766313eb8cb057": {"name": "日期", "type": "DateTime"},
"66c2ebc8666ad6264b709fa1": {"name": "画图评级", "type": "Dropdown"},
"66c2ebc8666ad6264b709fa2": {"name": "调色评级", "type": "Dropdown"},
"66c2ebc8666ad6264b709fa3": {"name": "套样评级", "type": "Dropdown"},
"6718ac791f08f8ec31257ebc": {"name": "记录id文本组合", "type": "Concatenate"},
"67f4d7d61c5f650e952fcee9": {"name": "客户名称", "type": "Lookup"},
# “有这个字段,但本条记录可能为空”的 Relation占位[]
"62d52f4b8d2972284492dd2d": {"name": "套纸样", "type": "Relation"},
"62d52f4b8d2972284492dd21": {"name": "画图", "type": "Relation"},
"62d52f4b8d2972284492dd22": {"name": "调色(关联)", "type": "Relation"},
"62d52f4b8d2972284492dd2a": {"name": "套纸样(关联)", "type": "Relation"},
"66e2ebb7da66655f355bf708": {"name": "改图(关联)", "type": "Relation"},
"66e2efb0da66655f355bf964": {"name": "找图开发", "type": "Relation"},
"672adc9b156abb9a08ab2a60": {"name": "配色", "type": "Relation"},
}
# 同步代码风格:内部字段名 -> controlId后续 pick / parse 时会用到)
plate_order_type_map = {
"colorist": "62d8fffb625ac34fa91299c3",
"fabric_relation": "62d52f4b8d2972284492dd28",
"customer_relation": "62d52f4b8d2972284492dd14",
"production_method": "62d52f4b8d2972284492dd15",
"design_no": "62d52f4b8d2972284492dd0e",
"plate_method": "62d91d0e130624d31368bd16",
"level_rating": "64a64bc4402bb5226ee34b3c",
"fabric_source": "660b79da4125de62cd904b39",
"color_designer": "62db8e78510fb7962439b19c",
"dev_progress": "62d52f4b8d2972284492dd10",
"need_marker_frame": "62d52f4b8d2972284492dd1e",
"style_name": "62d52f4b8d2972284492dd2c",
"approval_result": "62d52f4b8d2972284492dd1d",
"plate_time": "62d52f4b8d2972284492dd12",
"rework_reason": "62d52f4b8d2972284492dd18",
"start_plate_status": "62d52f4b8d2972284492dd0f",
"sample_meters": "62d52f4b8d2972284492dd19", # 对应样品米数(宇问云)
"urgency": "62d52f4b8d2972284492dd11",
"width": "660b75c3422f028085086b3c",
"required_finish_date": "62d52f4b8d2972284492dd13",
"difficulty_level": "62f72a26d73f8581fbe7a488",
"plate_images": "62d52f4b8d2972284492dd27",
"record_datetime": "6451f4ad25766313eb8cb057",
"drawing_rating": "66c2ebc8666ad6264b709fa1",
"color_rating": "66c2ebc8666ad6264b709fa2",
"pattern_fit_rating": "66c2ebc8666ad6264b709fa3",
"record_id": "6718ac791f08f8ec31257ebc",
"customer_name": "67f4d7d61c5f650e952fcee9",
# relations可能为空
"pattern_set": "62d52f4b8d2972284492dd2d",
"drawing_relation": "62d52f4b8d2972284492dd21",
"color_relation": "62d52f4b8d2972284492dd22",
"pattern_set_relation": "62d52f4b8d2972284492dd2a",
"modify_drawing_relation": "66e2ebb7da66655f355bf708",
"image_development_relation": "66e2efb0da66655f355bf964",
"color_scheme_relation": "672adc9b156abb9a08ab2a60",
# 系统字段
"created_at": "ctime",
"rowid": "rowid",
}
# PlateOrder 行中“关联字段 controlId -> 关联表 key”
# 用于从开版主表记录中提取跨表 rowid 并进一步查询关联表数据。
plate_order_relation_control_map = {
plate_order_type_map["drawing_relation"]: "drawing",
plate_order_type_map["color_relation"]: "coloring",
plate_order_type_map["pattern_set"]: "pattern_set",
plate_order_type_map["modify_drawing_relation"]: "modify_drawing",
plate_order_type_map["color_scheme_relation"]: "color_scheme",
plate_order_type_map["image_development_relation"]: "image_development",
}
# json key 查询
# MDYPlateOrderStaging.objects.filter(
# raw__62d52f4b8d2972284492dd0e="82724" # 设计编号/订单id明道云字段ID
# )