|
@ -588,7 +588,7 @@ func (impl *ToyotaCalloffServiceImplement) ParseCallOffData(user *global.User, p |
|
|
if len(waitParseLi) == 0 { |
|
|
if len(waitParseLi) == 0 { |
|
|
log.Info("解析CallOff数据, 没有待解析的CallOff数据") |
|
|
log.Info("解析CallOff数据, 没有待解析的CallOff数据") |
|
|
} |
|
|
} |
|
|
maxSeqCallOff, err := callOffDao.SelectMaxSeqCallOff(project.ProjectId) |
|
|
|
|
|
|
|
|
maxSeqCallOff, err := callOffDao.SelectMaxSeqCallOff() |
|
|
if err != nil { |
|
|
if err != nil { |
|
|
log.Error("解析CallOff数据,获取已解析的最大连番号CallOff数据失败, error:" + err.Error()) |
|
|
log.Error("解析CallOff数据,获取已解析的最大连番号CallOff数据失败, error:" + err.Error()) |
|
|
return |
|
|
return |
|
@ -598,9 +598,15 @@ func (impl *ToyotaCalloffServiceImplement) ParseCallOffData(user *global.User, p |
|
|
// log.Error("解析CallOff数据, 获取最大sortNr失败, error:" + err.Error())
|
|
|
// log.Error("解析CallOff数据, 获取最大sortNr失败, error:" + err.Error())
|
|
|
// return
|
|
|
// return
|
|
|
//}
|
|
|
//}
|
|
|
var maxSeq int |
|
|
|
|
|
|
|
|
var needParseSeq int |
|
|
if maxSeqCallOff != nil { |
|
|
if maxSeqCallOff != nil { |
|
|
maxSeq = maxSeqCallOff.CheckSequence |
|
|
|
|
|
|
|
|
if maxSeqCallOff.CheckSequence == 999 { |
|
|
|
|
|
needParseSeq = 0 |
|
|
|
|
|
} else { |
|
|
|
|
|
needParseSeq = maxSeqCallOff.CheckSequence + 1 |
|
|
|
|
|
} |
|
|
|
|
|
} else { |
|
|
|
|
|
needParseSeq = -1 |
|
|
} |
|
|
} |
|
|
if err = session.Begin(); err != nil { |
|
|
if err = session.Begin(); err != nil { |
|
|
log.Error("解析CallOff数据, 开启事务失败, error:" + err.Error()) |
|
|
log.Error("解析CallOff数据, 开启事务失败, error:" + err.Error()) |
|
@ -622,13 +628,13 @@ func (impl *ToyotaCalloffServiceImplement) ParseCallOffData(user *global.User, p |
|
|
log.Error("解析CallOff数据,删除已存在的错误数据失败, error:" + err.Error()) |
|
|
log.Error("解析CallOff数据,删除已存在的错误数据失败, error:" + err.Error()) |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
if maxSeq != 0 { |
|
|
|
|
|
if callOffData.CheckSequence != maxSeq+1 { |
|
|
|
|
|
|
|
|
if callOffData.CheckSequence != needParseSeq { |
|
|
|
|
|
if callOffData.CheckSequence != needParseSeq+1 || (needParseSeq == 999 && callOffData.CheckSequence != 0) { |
|
|
callOffError := model.ToyotaCallOffErrorLst{ |
|
|
callOffError := model.ToyotaCallOffErrorLst{ |
|
|
DemandId: callOffData.DemandId, |
|
|
DemandId: callOffData.DemandId, |
|
|
Pos: 1, |
|
|
Pos: 1, |
|
|
ErrorType: model.ERROR_TYPE_HINT, |
|
|
ErrorType: model.ERROR_TYPE_HINT, |
|
|
ErrorInfo: "连番号不连续,当前已解析的最大连番号为:" + strconv.Itoa(maxSeq) + ", 该连番号为:" + strconv.Itoa(callOffData.CheckSequence), |
|
|
|
|
|
|
|
|
ErrorInfo: "连番号不连续,当前需要解析连番号为:" + strconv.Itoa(needParseSeq) + ", 该连番号为:" + strconv.Itoa(callOffData.CheckSequence), |
|
|
ErrorStatus: model.ERROR_STATUS_ON, |
|
|
ErrorStatus: model.ERROR_STATUS_ON, |
|
|
} |
|
|
} |
|
|
err = callOffErrDao.InsertOne(&callOffError) |
|
|
err = callOffErrDao.InsertOne(&callOffError) |
|
@ -639,10 +645,9 @@ func (impl *ToyotaCalloffServiceImplement) ParseCallOffData(user *global.User, p |
|
|
} |
|
|
} |
|
|
break |
|
|
break |
|
|
} |
|
|
} |
|
|
} else { |
|
|
|
|
|
maxSeq = callOffData.CheckSequence - 1 |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
needParseSeq = callOffData.CheckSequence + 1 |
|
|
productFamily, exist := productFamilyMap[callOffData.ProductFamilyId] |
|
|
productFamily, exist := productFamilyMap[callOffData.ProductFamilyId] |
|
|
if !exist { |
|
|
if !exist { |
|
|
productFamily, err = productFamilyDao.SelectOne(callOffData.ProductFamilyId) |
|
|
productFamily, err = productFamilyDao.SelectOne(callOffData.ProductFamilyId) |
|
@ -771,7 +776,6 @@ func (impl *ToyotaCalloffServiceImplement) ParseCallOffData(user *global.User, p |
|
|
} |
|
|
} |
|
|
break |
|
|
break |
|
|
} |
|
|
} |
|
|
maxSeq++ |
|
|
|
|
|
callOffData.Parsed = model.CALLOFF_STATUS_PARSED |
|
|
callOffData.Parsed = model.CALLOFF_STATUS_PARSED |
|
|
err = callOffDao.UpdateOne(&callOffData) |
|
|
err = callOffDao.UpdateOne(&callOffData) |
|
|
if err != nil { |
|
|
if err != nil { |
|
@ -781,7 +785,7 @@ func (impl *ToyotaCalloffServiceImplement) ParseCallOffData(user *global.User, p |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
_ = session.Commit() |
|
|
_ = session.Commit() |
|
|
log.Info("解析CallOff数据任务执行完成,当前项目:"+project.ProjectId+", 最大MaxSeq:", strconv.Itoa(maxSeq-1)) |
|
|
|
|
|
|
|
|
log.Info("解析CallOff数据任务执行完成,当前项目:"+project.ProjectId+", 最大MaxSeq:", strconv.Itoa(needParseSeq-1)) |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -854,13 +858,17 @@ func (impl *ToyotaCalloffServiceImplement) AnalysisAgain(user *global.User, dema |
|
|
if len(errorLi) != 0 { |
|
|
if len(errorLi) != 0 { |
|
|
return grmi.NewBusinessError("存在未修复的数据项错误") |
|
|
return grmi.NewBusinessError("存在未修复的数据项错误") |
|
|
} |
|
|
} |
|
|
doneCallOff, err := callOffDao.SelectMaxSeqCallOff(callOff.ProjectId) |
|
|
|
|
|
|
|
|
doneCallOff, err := callOffDao.SelectMaxSeqCallOff() |
|
|
if err != nil { |
|
|
if err != nil { |
|
|
return grmi.NewBusinessError("查询已解析最大连番号CallOff数据失败, 错误:" + err.Error()) |
|
|
return grmi.NewBusinessError("查询已解析最大连番号CallOff数据失败, 错误:" + err.Error()) |
|
|
} |
|
|
} |
|
|
if doneCallOff != nil { |
|
|
if doneCallOff != nil { |
|
|
if callOff.CheckSequence != doneCallOff.CheckSequence+1 { |
|
|
|
|
|
return grmi.NewBusinessError("当前连番号大于需要解析的连番号,需要解析连番号为:" + strconv.Itoa(doneCallOff.CheckSequence+1)) |
|
|
|
|
|
|
|
|
var needParseSequence int |
|
|
|
|
|
if doneCallOff.CheckSequence != 999 { |
|
|
|
|
|
needParseSequence = doneCallOff.CheckSequence + 1 |
|
|
|
|
|
} |
|
|
|
|
|
if callOff.CheckSequence != needParseSequence { |
|
|
|
|
|
return grmi.NewBusinessError("当前连番号大于需要解析的连番号,需要解析连番号为:" + strconv.Itoa(needParseSequence)) |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
err = callOffErrDao.DeleteWhere([]grmi.Predicate{meta.ToyotaCallOffErrorLst_DemandId.NewPredicate(grmi.Equal, demandId)}) |
|
|
err = callOffErrDao.DeleteWhere([]grmi.Predicate{meta.ToyotaCallOffErrorLst_DemandId.NewPredicate(grmi.Equal, demandId)}) |
|
|