Order form 在系统中的情况
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
---