|
@ -3,6 +3,7 @@ |
|
|
package implments |
|
|
package implments |
|
|
|
|
|
|
|
|
import ( |
|
|
import ( |
|
|
|
|
|
baseDal "LAPP_GAAS_GFrame_BACKEND/dao/base" |
|
|
dal "LAPP_GAAS_GFrame_BACKEND/dao/om" |
|
|
dal "LAPP_GAAS_GFrame_BACKEND/dao/om" |
|
|
"LAPP_GAAS_GFrame_BACKEND/db" |
|
|
"LAPP_GAAS_GFrame_BACKEND/db" |
|
|
"LAPP_GAAS_GFrame_BACKEND/grmi" |
|
|
"LAPP_GAAS_GFrame_BACKEND/grmi" |
|
@ -350,7 +351,7 @@ func (impl *SerialOrderServiceImplement) InsertFromWorkOrder(user *models.Userta |
|
|
workOrderStatusDao := dal.NewWorkOrderStatusDAO(session, user.Pid, user.Userid) |
|
|
workOrderStatusDao := dal.NewWorkOrderStatusDAO(session, user.Pid, user.Userid) |
|
|
workOrderStatusRecDao := dal.NewWorkOrderStatusRecLstDAO(session, user.Pid, user.Userid) |
|
|
workOrderStatusRecDao := dal.NewWorkOrderStatusRecLstDAO(session, user.Pid, user.Userid) |
|
|
serialOrderStatusDao := dal.NewSerialOrderStatusDAO(session, user.Pid, user.Userid) |
|
|
serialOrderStatusDao := dal.NewSerialOrderStatusDAO(session, user.Pid, user.Userid) |
|
|
|
|
|
|
|
|
|
|
|
articleDao := baseDal.NewArticleDAO(session, user.Pid, user.Userid) |
|
|
for _, workOrderId := range workOrderIds { |
|
|
for _, workOrderId := range workOrderIds { |
|
|
workOrder, err := workOrderDao.SelectOne(workOrderId) |
|
|
workOrder, err := workOrderDao.SelectOne(workOrderId) |
|
|
if err != nil { |
|
|
if err != nil { |
|
@ -389,6 +390,7 @@ func (impl *SerialOrderServiceImplement) InsertFromWorkOrder(user *models.Userta |
|
|
} else { |
|
|
} else { |
|
|
perDuration = endTime.Sub(now).Seconds() / workOrder.PlanQty |
|
|
perDuration = endTime.Sub(now).Seconds() / workOrder.PlanQty |
|
|
} |
|
|
} |
|
|
|
|
|
artMap := make(map[string]*baseModel.Article) |
|
|
for i := 0; i < int(workOrder.PlanQty); i++ { |
|
|
for i := 0; i < int(workOrder.PlanQty); i++ { |
|
|
log.Debug("InsertFromWorkOrder for work order planQty") |
|
|
log.Debug("InsertFromWorkOrder for work order planQty") |
|
|
snr := new(models.Snrtab) |
|
|
snr := new(models.Snrtab) |
|
@ -400,7 +402,21 @@ func (impl *SerialOrderServiceImplement) InsertFromWorkOrder(user *models.Userta |
|
|
return nil, err |
|
|
return nil, err |
|
|
} |
|
|
} |
|
|
planStartDate := workOrder.PlanStartDate.Restore().Format("20060102") |
|
|
planStartDate := workOrder.PlanStartDate.Restore().Format("20060102") |
|
|
prefix := workOrder.ArtId + baseModel.PlantName + planStartDate |
|
|
|
|
|
|
|
|
article, exist := artMap[workOrder.ArtId] |
|
|
|
|
|
if !exist { |
|
|
|
|
|
article, err = articleDao.SelectOne(workOrder.ArtId) |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
_ = session.Rollback() |
|
|
|
|
|
log.Error("InsertFromWorkOrder 获取物料数据失败, error: " + err.Error()) |
|
|
|
|
|
return nil, err |
|
|
|
|
|
} |
|
|
|
|
|
if article == nil { |
|
|
|
|
|
_ = session.Rollback() |
|
|
|
|
|
log.Error("InsertFromWorkOrder , 工单物料不存在, 物料ID:"+ workOrder.ArtId) |
|
|
|
|
|
return nil, err |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
prefix := article.PartId + baseModel.PlantName + planStartDate |
|
|
serialOrderId := strings.Replace(serialNum, "SO-", prefix, 1) |
|
|
serialOrderId := strings.Replace(serialNum, "SO-", prefix, 1) |
|
|
var planEndTime time.Time |
|
|
var planEndTime time.Time |
|
|
if perDuration != 0 { |
|
|
if perDuration != 0 { |
|
|