Browse Source

生成的工单流水号使用article的partId

pull/433/head
zhangxin 3 years ago
parent
commit
d8a335e8ac
1 changed files with 18 additions and 2 deletions
  1. +18
    -2
      services/om/implments/SerialOrder.service.impl.go

+ 18
- 2
services/om/implments/SerialOrder.service.impl.go View File

@ -3,6 +3,7 @@
package implments
import (
baseDal "LAPP_GAAS_GFrame_BACKEND/dao/base"
dal "LAPP_GAAS_GFrame_BACKEND/dao/om"
"LAPP_GAAS_GFrame_BACKEND/db"
"LAPP_GAAS_GFrame_BACKEND/grmi"
@ -350,7 +351,7 @@ func (impl *SerialOrderServiceImplement) InsertFromWorkOrder(user *models.Userta
workOrderStatusDao := dal.NewWorkOrderStatusDAO(session, user.Pid, user.Userid)
workOrderStatusRecDao := dal.NewWorkOrderStatusRecLstDAO(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 {
workOrder, err := workOrderDao.SelectOne(workOrderId)
if err != nil {
@ -389,6 +390,7 @@ func (impl *SerialOrderServiceImplement) InsertFromWorkOrder(user *models.Userta
} else {
perDuration = endTime.Sub(now).Seconds() / workOrder.PlanQty
}
artMap := make(map[string]*baseModel.Article)
for i := 0; i < int(workOrder.PlanQty); i++ {
log.Debug("InsertFromWorkOrder for work order planQty")
snr := new(models.Snrtab)
@ -400,7 +402,21 @@ func (impl *SerialOrderServiceImplement) InsertFromWorkOrder(user *models.Userta
return nil, err
}
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)
var planEndTime time.Time
if perDuration != 0 {


Loading…
Cancel
Save