package tod
|
|
|
|
/**
|
|
----------按项目单独起GoRoutine---------------------------
|
|
1. 解析TOD,生成TOD的Landing数据,如果客户订单不存在,创建客户订单头(状态=10,解析状态=IT),保存客户订单版本数据(基于SG的零件清单)
|
|
|
|
----------按项目单独起服务逐个解析CO-------------------------
|
|
2. 按项目的客户订单版本加载未解析的Landing数据(解析状态:0=未解析;9=已解析)且客户订单的解析状态为IT(初始化)或RC(重新循环)
|
|
3. 判断客户订单状态,>=26不可处理,客户订单解析状态置位ER
|
|
3.1 +2 取消客户订单及其生产订单,结束
|
|
3.2 +1/+3 基于版本的SG的零件清单替换CO对应SG的零件清单
|
|
4. 获取CO所有SG的零件清单
|
|
5. 生成CO的零件清单和属性清单
|
|
6. 将客户订单额共用SG的零件按照规则分配到其它SG
|
|
7. 重新生成CO的各SG的属性清单
|
|
8. 验证SG的属性(如有需要)
|
|
9. 如果以上步骤出错,更新客户订单解析状态为ER并返回
|
|
|
|
----------客户订单解析验证OK则继续往下生成生产订单--------------
|
|
10. 按照SG生成/更新客户订单的WO及其零件清单和属性清单
|
|
11. 更新客户订单解析状态为OK和TOD Landing记录的解析标识
|
|
**/
|
|
|
|
func RunTodParseEngine() (err error) {
|
|
return
|
|
}
|