diff --git a/services/qm/implments/ReclinerReclst.service.impl.go b/services/qm/implments/ReclinerReclst.service.impl.go index efdd679..7ac22c0 100644 --- a/services/qm/implments/ReclinerReclst.service.impl.go +++ b/services/qm/implments/ReclinerReclst.service.impl.go @@ -1466,7 +1466,7 @@ func (impl *ReclinerReclstServiceImplement) SplitProduct(user *global.User, seri serialOrderStatusRec := omModel.SerialOrderStatusRecLst{ SerialOrderId: serialOrderId, PrevStatus: serialOrderStatus.Status, - Status: bmodel.WO_STATUS_STOP, + Status: bmodel.WO_STATUS_CANCELED, } serialOrderStatusRecDao := omDal.NewSerialOrderStatusRecLstDAO(session, user.PlantNr, user.UserId) err = serialOrderStatusRecDao.InsertOne(&serialOrderStatusRec) @@ -1474,12 +1474,41 @@ func (impl *ReclinerReclstServiceImplement) SplitProduct(user *global.User, seri _ = session.Rollback() return grmi.NewBusinessError("写入工单状态变更历史失败, error:" + err.Error()) } - serialOrderStatus.Status = bmodel.WO_STATUS_STOP + serialOrderStatus.Status = bmodel.WO_STATUS_CANCELED err = serialOrderStatusDao.UpdateOne(serialOrderStatus) if err != nil { _ = session.Rollback() return grmi.NewBusinessError("更新工单状态失败, error:" + err.Error()) } + serialOrderIdLi := make([]interface{}, 0) + serialOrderIdLi = append(serialOrderIdLi, serialOrderId) + if serialOrder.OriginSerialOrderId != "" { + serialOrderLi, err := serialOrderDao.Select([]grmi.Predicate{ + omMeta.SerialOrder_OriginSerialOrderId.NewPredicate(grmi.Equal, serialOrder.OriginSerialOrderId), + }, nil) + if err != nil { + _ = session.Rollback() + return grmi.NewBusinessError("查询工单数据失败, 错误:" + err.Error()) + } + for _, order := range serialOrderLi { + if order.SerialOrderId == serialOrderId { + continue + } + serialOrderIdLi = append(serialOrderIdLi, order.SerialOrderId) + } + serialOrderIdLi = append(serialOrderIdLi, serialOrder.OriginSerialOrderId) + } + onlyBarcodeDao := omDal.NewSerialOrderOnlyBarcodeRecLstDAO(session, user.PlantNr, user.UserId) + update := omModel.SerialOrderOnlyBarcodeRecLst{ + Status: 0, + } + err = onlyBarcodeDao.UpdateWhere([]grmi.Predicate{ + omMeta.SerialOrderOnlyBarcodeRecLst_SerialOrderId.NewPredicate(grmi.Include, serialOrderIdLi...), + }, &update, omMeta.SerialOrderOnlyBarcodeRecLst_Status.Name) + if err != nil { + _ = session.Rollback() + return grmi.NewBusinessError("更新校验码状态失败, 错误:" + err.Error()) + } _ = session.Commit() return nil }