Order form 在系统中的情况

工作笔记 工作记录
📅 2026-03-16 11:14 🔄 2026-03-16 14:27 👤 admin

1) CC4 修改 order form 的核心逻辑
入口在 ServicesBll.cs 的 case "DMS_RProductFamily":
•    SpecialParameter == "CC4IsInApproval":先校验该 CC4 是否在审批流中(CT_CC4IsInApproval)。
•    SpecialParameter == "UpdateProductSalesteam" 且 EDITE:进入
ServicesBll.DMS_Product.cs -> UpdateProductSalesteam(...)。
UpdateProductSalesteam(...) 会把前端传入的 a_OrderFormName_id 写入参数 OrderFormName_Id,然后执行两段 SQL:
1.    CT_UpdateProductSalesteamEdite
批量更新该 CC4 下所有产品:
•    DMS_Product.FK_EDMS_OrderForm_ID = @OrderFormName_Id
2.    CT_UpdateDMS_RProductFamily(编辑)或 CT_ADDDMS_RProductFamily(新增)
更新/新增 CC4 主档:
•    DMS_RProductFamily.FK_EDMS_OrderForm_ID = @OrderFormName_Id
---
2) CC4 改 order form 后会更新哪些表
直接更新:
•    DMS_Product(批量更新该 CC4 下产品的 FK_EDMS_OrderForm_ID)
•    DMS_RProductFamily(更新该 CC4 自身的 FK_EDMS_OrderForm_ID)
同一次逻辑里还会维护(但非 orderform 字段):
•    DMS_RProductFamilyPMUserRelation(培训人员关系增删)
结论:CC4 改 order form 时,不会改 EDMS_OrderForm 主数据本身,而是改“引用关系”。
---
3) 全量排查:哪些功能使用了 orderform 相关表
A. order form 主数据维护
•    功能:DMS_ProductCategroy(名称虽叫 ProductCategroy,实际映射 EDMS_OrderForm)
•    证据:
•    FC_DMS_ProductCategroy.xml -> TableMapping tableName="EDMS_OrderForm"
•    VC_DMS_ProductCategroy.xml -> TableMapping tableName="EDMS_OrderForm"
•    明细配置使用 EDMS_OrderFormDetail(FC/VC_DMS_ProductCategroyDetail.xml)
B. CC4 维护时选择并同步 order form
•    功能:DMS_RProductFamily 编辑(UpdateProductSalesteam)
•    涉及表:
•    DMS_RProductFamily.FK_EDMS_OrderForm_ID
•    DMS_Product.FK_EDMS_OrderForm_ID
C. 经销商“最小采购金额”配置(按经销商 + order form)
•    功能:
•    DMS_DistributorPurchaseOrderSum
•    DMS_DistributorPurchaseOrderSumTimeCtrl
•    对应放大镜:VC_DMS_DistributorPurchaseOrderSum_EDMS_OrderForm、VC_OrderSumTimeCtrl_EDMS_OrderForm
•    涉及表:
•    DMS_DistributorPurchaseOrderSum(FK_EDMS_OrderForm_ID, FK_DMS_DistributorInfo_ID, PurchaseOrderSum)
•    DMS_DistributorPurchaseOrderSumTimeCtrl(FK_EDMS_OrderForm_ID, FK_DMS_DistributorInfo_ID, StartTime, EndTime)
D. 下单金额校验/补偿计算对 order form 的使用
•    功能:
•    EDMS_OrderInfo.queryOrderSum(...)
•    DMSEDMS_OrderInfo.queryDMSOrderSum(...)
•    逻辑:
•    使用订单里的 a_FK_OrderForm_ID 去查 DMS_DistributorPurchaseOrderSum / ...TimeCtrl
•    用于最小采购金额门槛判断
E. 订单与 order form 关系
•    表字段:
•    EDMS_OrderInfo.FK_OrderForm_ID
•    代码:
•    CT_EDMS_OrderInfoUp 更新该字段
•    CT_getOrderFormIDByID / QueryOrderFormID(...) 按订单取 OrderForm
---