关于完工入库研究

关于完工入库研究:

完工入库操作最初调用ProdMultiReportFinished类Main()方法,Main方法中接收传入参数ProdTable,然后实例化prodMultiReportFinished类

ProdMultiReportFinished 继承自RunBaseMultiParm, 所以具有处理多张工单之功能。上述main方法传递的args包含窗体数据源,如果窗体中选择了多行记录,那么则会在initFromForm()此方法中处理,将每行记录保存到prodMultiReportFinished 类的buffer成员中,为下一步执行完工入库作准备。

接着,执行prodMultiReportFinished.Run()方法

image

生产订单 完工入库利用生产订单表的ProdStatus状态字段来 实例化ProdStatusType子类

ProdStatusType子类有

  1. ProdStatusType_Created  //创建
  2. ProdStatusType_CostEstimate  //评估
  3. ProdStatusType_Scheduled //计划
  4. ProdStatusType_Released //发放
  5. ProdStatusType_StartedUp //开始
  6. ProdStatusType_ReportedFinished //完工入库
  7. ProdStatusType_Completed //结束

ProdTable有个静态方法 status() 此方法实例化ProdStatusType 类,

client server ProdStatusType status()
{
    return ProdStatusType::construct(this);  //this 代表ProdTable
}

ProdTable另一个静态方法也参与完工入库操作,方法 type(),这个方法是由ProdStatusType_ReportedFinished调用

client server ProdTableType type()
{
    ;
    return ProdTableType::construct(this);
}

执行ProdTableType方法runReportFinished() 在其中又构建了ProdUpdReportFinished类

最终执行了ProdUpdReportFinished.Run()方法

原文地址:https://www.cnblogs.com/perock/p/2540589.html