|
|
- package service
-
- import (
- om_model "LAPP_AS/models/om"
- "fmt"
- "time"
- )
-
- // 订单对象
- type OrderSrv struct{
- OrderId string // 订单号
- ProjectId string // 项目ID
- EarliestStartDate time.Time // 最早开始日期
- LatestEndDate time.Time // 最晚结束日期,交货期
- PlanStartTime time.Time // 计划开始时间
- PlanEndTime time.Time // 计划结束时间
- OperationArray []OperationSrv // 工序列表
- OperationDict map[string]*OperationSrv // 工序对象字典,键值为:工序号-拆分号
- Ordtab om_model.WorkOrder
- }
-
- // 初始化,传入订单记录
- func(os *OrderSrv)Init(){
- os.OperationArray = []OperationSrv{}
- os.OperationDict = make(map[string]*OperationSrv)
- }
-
- // 创建订单对象
- func(os *OrderSrv)Create(ordtab om_model.WorkOrder){
- var (
- optab om_model.WOOperation
- opsrv *OperationSrv
- )
-
- os.OrderId = ordtab.WorkOrderId
- os.ProjectId = ordtab.ProjectId
- os.EarliestStartDate= ordtab.PlanStartDate.Restore()
- os.LatestEndDate = ordtab.PlanEndDate.Restore()
- os.OperationArray = []OperationSrv{}
- os.OperationDict = make(map[string]*OperationSrv)
- os.Ordtab = ordtab
-
- // 遍历工序
- for _, optab = range ordtab.Operationlst {
-
- opsrv = &OperationSrv{}
- opsrv.Create(optab)
- os.OperationDict[opsrv.GetOpKey()] = opsrv
- os.OperationArray = append(os.OperationArray, *opsrv)
- }
- }
-
- // 打印订单工序的计划结果
- func(os *OrderSrv)Print(){
- fmt.Println("生产订单:",os.OrderId)
- for _, opa := range os.OperationArray {
- if op, ok := os.OperationDict[opa.GetOpKey()]; ok {
- fmt.Println("工序号:",op.OperationNr,"工位:",op.PlanWorkPlaceId,"工时:",op.PlanDuration.Hours(),
- " 工序开始:",op.PlanStartTime.Format("2006-01-02 15:04:05"),
- " 工序结束:",op.PlanEndTime.Format("2006-01-02 15:04:05"))
- }
- }
- }
|