|
|
@ -853,7 +853,7 @@ func (impl *ReclinerReclstServiceImplement) UpdateUnPrint(recIds []int) error { |
|
|
|
******************************************************************************/ |
|
|
|
func (impl *ReclinerReclstServiceImplement) FirstPartRepair(user *global.User, entity *model.ReclinerReclst) error { |
|
|
|
grmi.Log(user, "/services/qm/implments/ReclinerReclst.service.impl.go", "FirstPartRepair", "首件返修") |
|
|
|
var nextNumberStr string |
|
|
|
|
|
|
|
engine := db.Eloquent.Master() |
|
|
|
session := engine.NewSession() |
|
|
|
defer session.Close() |
|
|
@ -861,7 +861,6 @@ func (impl *ReclinerReclstServiceImplement) FirstPartRepair(user *global.User, e |
|
|
|
if err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
|
dao := dal.NewReclinerReclstDAO(session, user.PlantNr, user.UserId) |
|
|
|
seriDao := omDal.NewSerialOrderDAO(session, user.PlantNr, user.UserId) |
|
|
|
statusDao := omDal.NewSerialOrderStatusDAO(session, user.PlantNr, user.UserId) |
|
|
|
seriInfo, err := seriDao.SelectBySerialOrder(entity.SerialOrderId) |
|
|
@ -888,70 +887,6 @@ func (impl *ReclinerReclstServiceImplement) FirstPartRepair(user *global.User, e |
|
|
|
session.Rollback() |
|
|
|
return grmi.NewBusinessError("条码状态不需要首件校验!") |
|
|
|
} |
|
|
|
|
|
|
|
orderId := entity.SerialOrderId |
|
|
|
|
|
|
|
if len(orderId) < 11 { |
|
|
|
session.Rollback() |
|
|
|
return grmi.NewBusinessError("订单号长度不合法!") |
|
|
|
} |
|
|
|
//获取机器码
|
|
|
|
machineCode := orderId[0:4] |
|
|
|
ColorValue := orderId[10:11] |
|
|
|
now := time.Now() |
|
|
|
year := now.Year() |
|
|
|
month := int(now.Month()) |
|
|
|
day := now.Day() |
|
|
|
yearStr := bmodel.YEAR_MAP[year] |
|
|
|
monthStr := bmodel.MONTH_MAP[month] |
|
|
|
dayStr := bmodel.DAY_MAP[day] |
|
|
|
temOrderId := machineCode + yearStr + monthStr + dayStr |
|
|
|
//计算map反转
|
|
|
|
seriMap := make(map[int]string) |
|
|
|
for k, v := range bmodel.ReworkMap { |
|
|
|
key := v |
|
|
|
val := k |
|
|
|
seriMap[key] = val |
|
|
|
} |
|
|
|
//查询当天的机器码对应的返修流水号
|
|
|
|
reworkData, err := dao.SelectOneRework(temOrderId) |
|
|
|
if reworkData != nil { |
|
|
|
lastOrderId := reworkData.ReclinerNr |
|
|
|
serialNumber := lastOrderId[7:9] |
|
|
|
|
|
|
|
nowNumber, ok := bmodel.ReworkMap[serialNumber] |
|
|
|
nextNumber := utils.ValueToInt((nowNumber + 1), 0) |
|
|
|
if ok { |
|
|
|
if nextNumber <= 102 { |
|
|
|
nextNumberStr, ok = seriMap[nextNumber] |
|
|
|
if !ok { |
|
|
|
session.Rollback() |
|
|
|
return grmi.NewBusinessError("流水号生成超出范围!") |
|
|
|
} |
|
|
|
} else { |
|
|
|
session.Rollback() |
|
|
|
return grmi.NewBusinessError("流水号生成超出范围!") |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
nextNumberStr = seriMap[1] |
|
|
|
} |
|
|
|
if len(nextNumberStr) != 2 { |
|
|
|
session.Rollback() |
|
|
|
return grmi.NewBusinessError("流水号生成错误!") |
|
|
|
} |
|
|
|
serialOrderId := machineCode + yearStr + monthStr + dayStr + nextNumberStr + "0" + ColorValue |
|
|
|
|
|
|
|
entity.ReclinerNr = serialOrderId |
|
|
|
entity.ArtId = seriInfo.ArtId |
|
|
|
entity.Line = seriInfo.PlanResourceId |
|
|
|
entity.RecType = model.QM_SERI_TYPE |
|
|
|
entity.Status = "N" |
|
|
|
err = dao.InsertOne(entity) |
|
|
|
if err != nil { |
|
|
|
session.Rollback() |
|
|
|
return err |
|
|
|
} |
|
|
|
//更新seriorder订单表
|
|
|
|
serialOrderStatus.Status = bmodel.WO_STATUS_FINISHED |
|
|
|
err = statusDao.UpdateOne(serialOrderStatus) |
|
|
|