| | |
| | | } |
| | | |
| | | procedureRecords := make([]*model.Procedures, 0, len(task.Procedures)) |
| | | procedureIds := make([]string, 0, len(task.Procedures)) |
| | | for _, procedure := range task.Procedures { |
| | | procedureRecord := model.Procedures{ |
| | | WorkOrderID: task.WorkOrder.WorkOrderID, |
| | | OrderID: task.WorkOrder.OrderID, |
| | | DeviceID: procedure.DeviceID, |
| | | ProcedureID: procedure.ProcedureID, |
| | | StartTime: procedure.StartTime, |
| | | EndTime: procedure.EndTime, |
| | | Status: model.ProcedureStatusWaitProcess, |
| | | ProcedureData: "", |
| | | ProceduresInfo: common.ProductProcedure{}, |
| | | } |
| | | procedureData, err := json.Marshal(procedure) |
| | |
| | | } |
| | | procedureRecord.ProcedureData = string(procedureData) |
| | | procedureRecords = append(procedureRecords, &procedureRecord) |
| | | procedureIds = append(procedureIds, procedure.ProcedureID) |
| | | } |
| | | |
| | | var orderRecord model.Order |
| | |
| | | } |
| | | |
| | | err = model.WithTransaction(func(db *gorm.DB) error { |
| | | if err = model.NewOrderSearch(db).SetWorkOrderId(task.WorkOrder.WorkOrderID).Delete(); err != nil { |
| | | return err |
| | | } |
| | | if err = model.NewOrderSearch(db).Save(&orderRecord); err != nil { |
| | | return err |
| | | } |
| | | if err = model.NewProceduresSearch(db).SetProcedureIds(procedureIds).Delete(); err != nil { |
| | | return err |
| | | } |
| | | return model.NewProceduresSearch(db).CreateBatch(procedureRecords) |
| | | }) |
| | | if err != nil { |