diff --git a/services/pln/implments/CustOrderLogic.service.impl.go b/services/pln/implments/CustOrderLogic.service.impl.go index 110d28e..abf0000 100644 --- a/services/pln/implments/CustOrderLogic.service.impl.go +++ b/services/pln/implments/CustOrderLogic.service.impl.go @@ -742,11 +742,7 @@ func (impl *CustOrderServiceImplement) ReleaseCustOrder(user *global.User, custO if err = session.Begin(); err != nil { return grmi.NewBusinessError("开启事务失败, 错误:" + err.Error()) } - serialNumber, err := snrDao.GetNextSnrWithTime(project.SerialOrderSnr, waitReleaseSerialOrderLi[0].PlanStartTime.Restore()) - if err != nil { - _ = session.Rollback() - return grmi.NewBusinessError("生成工单流水号失败, error:" + err.Error()) - } + var needPreOrder bool for _, serialOrder := range waitReleaseSerialOrderLi { if len(serialOrder.PreOrderLi) != 0 { @@ -769,6 +765,11 @@ func (impl *CustOrderServiceImplement) ReleaseCustOrder(user *global.User, custO if product.CtrlStr1 == meModel.PRODUCT_TYPE_PRE { isPre = true } + serialNumber, err := snrDao.GetNextSnrWithTime(product.SerialOrderSnr, waitReleaseSerialOrderLi[0].PlanStartTime.Restore()) + if err != nil { + _ = session.Rollback() + return grmi.NewBusinessError("生成工单流水号失败, error:" + err.Error()) + } serialOrderSvr.ReplaceData(&serialOrder, serialNumber, isPre) for index, preOrder := range serialOrder.PreOrderLi { preOrder.MainOrderId = serialOrder.SerialOrderId