diff --git a/services/qm/implments/DefectRecord.service.impl.go b/services/qm/implments/DefectRecord.service.impl.go index 873b53d..84be840 100644 --- a/services/qm/implments/DefectRecord.service.impl.go +++ b/services/qm/implments/DefectRecord.service.impl.go @@ -715,8 +715,8 @@ func (impl *DefectRecordServiceImplement) Rework(user *global.User, recNr int) e return err } //插入新的seriorder条码 - insertSeriOrder := new(omModel.SerialOrder) - insertSeriOrder = seriInfo + insertSeriOrder := omModel.SerialOrder{} + insertSeriOrder = *seriInfo insertSeriOrder.QualityCheck = common.QualityCheck_STATUS_OK insertSeriOrder.SerialOrderId = serialOrderId insertSeriOrder.LinkSerialOrderId = seriInfo.SerialOrderId @@ -727,7 +727,7 @@ func (impl *DefectRecordServiceImplement) Rework(user *global.User, recNr int) e } insertSeriOrder.OrderType = common.ODER_TYPE_REODER insertSeriOrder.GenerateFlag = false - err = seriDao.InsertOne(insertSeriOrder) + err = seriDao.InsertOne(&insertSeriOrder) if err != nil{ session.Rollback() return err diff --git a/services/qm/implments/ReclinerReclst.service.impl.go b/services/qm/implments/ReclinerReclst.service.impl.go index c5d8f52..cd0ebef 100644 --- a/services/qm/implments/ReclinerReclst.service.impl.go +++ b/services/qm/implments/ReclinerReclst.service.impl.go @@ -481,7 +481,6 @@ func (impl *ReclinerReclstServiceImplement) InsertSeriOne(user *global.User, ent if seriInfo == nil { return grmi.NewBusinessError("不存在指定记录!") } - serialOrderStatus, err := statusDao.SelectOne(seriInfo.SerialOrderId) if err != nil { @@ -499,6 +498,9 @@ func (impl *ReclinerReclstServiceImplement) InsertSeriOne(user *global.User, ent if len(orderId) < 11 { return grmi.NewBusinessError("订单号长度不合法!") } + if err = session.Begin(); err != nil { + return grmi.NewBusinessError("开启事务失败, 错误:" + err.Error()) + } //获取机器码 machineCode := orderId[0:4] ColorValue := orderId[10:11] @@ -529,9 +531,11 @@ func (impl *ReclinerReclstServiceImplement) InsertSeriOne(user *global.User, ent if nextNumber <= 102 { nextNumberStr, ok = seriMap[nextNumber] if !ok { + session.Rollback() return grmi.NewBusinessError("流水号生成超出范围!") } } else { + session.Rollback() return grmi.NewBusinessError("流水号生成超出范围!") } } @@ -539,6 +543,7 @@ func (impl *ReclinerReclstServiceImplement) InsertSeriOne(user *global.User, ent nextNumberStr = seriMap[1] } if len(nextNumberStr) != 2 { + session.Rollback() return grmi.NewBusinessError("流水号生成错误!") } serialOrderId := machineCode + yearStr + monthStr + dayStr + nextNumberStr + "0" + ColorValue @@ -550,11 +555,13 @@ func (impl *ReclinerReclstServiceImplement) InsertSeriOne(user *global.User, ent entity.Status = "N" err = dao.InsertOne(entity) if err != nil { + session.Rollback() return err } articleAtocdDao := baseDal.NewArticleAtcodLstDAO(session, user.PlantNr, user.UserId) attributeLi, err := articleAtocdDao.SelectByArtId(seriInfo.ArtId) if err != nil { + session.Rollback() return grmi.NewBusinessError("查询总成关联属性失败, error:" + err.Error()) } var needEOL bool @@ -568,6 +575,7 @@ func (impl *ReclinerReclstServiceImplement) InsertSeriOne(user *global.User, ent serialOrderSvr := svr.NewSerialOrderService() eolStatus, _, _, err := serialOrderSvr.ExtractEOL(session, user, seriInfo) if err != nil { + session.Rollback() return grmi.NewBusinessError("查询工单电检数据失败, 错误:" + err.Error()) } if eolStatus { @@ -576,10 +584,6 @@ func (impl *ReclinerReclstServiceImplement) InsertSeriOne(user *global.User, ent seriInfo.EOLCheck = omModel.EOL_STATUS_NG } } - - if err = session.Begin(); err != nil { - return grmi.NewBusinessError("开启事务失败, 错误:" + err.Error()) - } //更新seriorder订单表 //更新原来的flag标识 seriInfo.GenerateFlag = true @@ -589,8 +593,8 @@ func (impl *ReclinerReclstServiceImplement) InsertSeriOne(user *global.User, ent return err } //插入新的seriorder条码 - insertSeriOrder := new(omModel.SerialOrder) - insertSeriOrder = seriInfo + insertSeriOrder := omModel.SerialOrder{} + insertSeriOrder = *seriInfo insertSeriOrder.SerialOrderId = serialOrderId insertSeriOrder.LinkSerialOrderId = seriInfo.SerialOrderId if seriInfo.OrderType == bmodel.ODER_TYPE_REODER { @@ -598,12 +602,13 @@ func (impl *ReclinerReclstServiceImplement) InsertSeriOne(user *global.User, ent } else { insertSeriOrder.OriginSerialOrderId = seriInfo.SerialOrderId } + insertSeriOrder.OrderType = bmodel.ODER_TYPE_REODER insertSeriOrder.GenerateFlag = false insertSeriOrder.RepairFlag = false insertSeriOrder.QualityCheck = bmodel.QualityCheck_STATUS_OK insertSeriOrder.QualityCheckTime = grmi.DateTime(time.Now()) - err = seriDao.InsertOne(insertSeriOrder) + err = seriDao.InsertOne(&insertSeriOrder) if err != nil { session.Rollback() return err