|
|
@ -286,67 +286,27 @@ func (impl *SerialOrderServiceImplement) ExtractEOL(session *xorm.Session, user |
|
|
|
if plantProject == baseModel.PROJECT_ACURA { |
|
|
|
eolEngine := db.Eloquent.Slaves()[2] |
|
|
|
eolSession := eolEngine.NewSession() |
|
|
|
f1Dao := eolDal.NewEOLTESTF1DAO(eolSession, user.UserId) |
|
|
|
f2Dao := eolDal.NewEOLTESTF2DAO(eolSession, user.UserId) |
|
|
|
rDao := eolDal.NewEOLTESTR1DAO(eolSession, user.UserId) |
|
|
|
if product.CtrlStr1 == meModel.PRODUCT_TYPE_MS || product.CtrlStr1 == meModel.PRODUCT_TYPE_PS { |
|
|
|
drLi, err := f1Dao.Select([]grmi.Predicate{eolMeta.EOLTESTF1_BARCODE.NewPredicate(grmi.Equal, serialOrder.SerialOrderId), |
|
|
|
eolMeta.EOLTESTF1_DATE.NewPredicate(grmi.GreaterOrEqual, repairTime)}, []grmi.Field{eolMeta.EOLTESTF1_DATE}) |
|
|
|
if err != nil { |
|
|
|
return false, "", recordT, grmi.NewBusinessError("查询电检数据失败, 错误:" + err.Error()) |
|
|
|
} |
|
|
|
paLi, err := f2Dao.Select([]grmi.Predicate{eolMeta.EOLTESTF2_BARCODE.NewPredicate(grmi.Equal, serialOrder.SerialOrderId), |
|
|
|
eolMeta.EOLTESTF2_DATA.NewPredicate(grmi.GreaterOrEqual, repairTime)}, []grmi.Field{eolMeta.EOLTESTF2_DATA}) |
|
|
|
if err != nil { |
|
|
|
return false, "", recordT, grmi.NewBusinessError("查询电检数据失败, 错误:" + err.Error()) |
|
|
|
} |
|
|
|
var lastDr *eolModel.EOLTESTF1 |
|
|
|
var lastPa *eolModel.EOLTESTF2 |
|
|
|
if len(drLi) > 0 { |
|
|
|
lastDr = &drLi[len(drLi)-1] |
|
|
|
} |
|
|
|
if len(paLi) > 0 { |
|
|
|
lastPa = &paLi[len(paLi)-1] |
|
|
|
} |
|
|
|
var totalResult string |
|
|
|
var recordTime time.Time |
|
|
|
if lastDr == nil && lastPa == nil { |
|
|
|
return false, "未获取到有效电检数据", recordT, nil |
|
|
|
} else if lastDr != nil && lastPa != nil { |
|
|
|
if lastDr.DATE.Restore().After(lastPa.DATA.Restore()) { |
|
|
|
totalResult = lastDr.TOTALRESULT |
|
|
|
recordTime = lastDr.DATE.Restore() |
|
|
|
} else { |
|
|
|
totalResult = lastPa.TOTALRESULT |
|
|
|
recordTime = lastPa.DATA.Restore() |
|
|
|
} |
|
|
|
} else if lastDr != nil && lastPa == nil { |
|
|
|
totalResult = lastDr.TOTALRESULT |
|
|
|
recordTime = lastDr.DATE.Restore() |
|
|
|
} else if lastDr == nil && lastPa != nil { |
|
|
|
totalResult = lastPa.TOTALRESULT |
|
|
|
recordTime = lastPa.DATA.Restore() |
|
|
|
} |
|
|
|
if totalResult == model.EOL_STATUS_OK { |
|
|
|
return true, "电检合格", recordTime, nil |
|
|
|
} else { |
|
|
|
return false, "电检不合格", recordTime, nil |
|
|
|
} |
|
|
|
var data = make(map[string]interface{}) |
|
|
|
ok, err := eolSession.Table("i_func_testdata").Where("条码 = ? and 测试完成日期时间 > ?", serialOrder.SerialOrderId, repairTime).OrderBy("测试完成日期时间 desc").Get(&data) |
|
|
|
if err != nil { |
|
|
|
return false, "", recordT, grmi.NewBusinessError("查询电检数据失败, 错误:" + err.Error()) |
|
|
|
} |
|
|
|
if !ok { |
|
|
|
return false, "未获取到有效电检数据", recordT, nil |
|
|
|
} |
|
|
|
result, exist1 := data["测试结果(P/F)"] |
|
|
|
checkTimeI, exist2 := data["测试完成日期时间"] |
|
|
|
if !exist2 || !exist1 { |
|
|
|
return false, "未获取到有效电检数据", recordT, nil |
|
|
|
} |
|
|
|
checkTime, ok := checkTimeI.(time.Time) |
|
|
|
if !ok { |
|
|
|
return false, "未获取到有效电检数据", recordT, nil |
|
|
|
} |
|
|
|
if result == "PASS" { |
|
|
|
return true, "电检合格", checkTime, nil |
|
|
|
} else { |
|
|
|
brLi, err := rDao.Select([]grmi.Predicate{eolMeta.EOLTESTR1_BARCODE.NewPredicate(grmi.Equal, serialOrder.SerialOrderId), |
|
|
|
eolMeta.EOLTESTR1_DATE.NewPredicate(grmi.GreaterOrEqual, repairTime)}, []grmi.Field{eolMeta.EOLTESTR1_DATE}) |
|
|
|
if err != nil { |
|
|
|
return false, "", recordT, grmi.NewBusinessError("查询电检数据失败, 错误:" + err.Error()) |
|
|
|
} |
|
|
|
if len(brLi) == 0 { |
|
|
|
return false, "未获取到有效电检数据", recordT, nil |
|
|
|
} |
|
|
|
lastBr := brLi[len(brLi)-1] |
|
|
|
if lastBr.TOTALRESULT == model.EOL_STATUS_OK { |
|
|
|
return true, "电检合格", lastBr.DATE.Restore(), nil |
|
|
|
} else { |
|
|
|
return false, "电检不合格", lastBr.DATE.Restore(), nil |
|
|
|
} |
|
|
|
return false, "电检不合格", recordT, nil |
|
|
|
} |
|
|
|
} else { |
|
|
|
eolEngine := db.Eloquent.Slaves()[0] |
|
|
@ -440,28 +400,68 @@ func (impl *SerialOrderServiceImplement) ExtractSBR(session *xorm.Session, user |
|
|
|
} |
|
|
|
eolEngine := db.Eloquent.Slaves()[2] |
|
|
|
eolSession := eolEngine.NewSession() |
|
|
|
var data = make(map[string]interface{}) |
|
|
|
ok, err := eolSession.Table("i_func_testdata").Where("条码 = ? and 测试完成日期时间 > ?", serialOrder.SerialOrderId, repairTime).OrderBy("测试完成日期时间 desc").Get(&data) |
|
|
|
if err != nil { |
|
|
|
return false, "", recordT, grmi.NewBusinessError("查询SBR数据失败, 错误:" + err.Error()) |
|
|
|
} |
|
|
|
if !ok { |
|
|
|
return false, "未获取到有效SBR数据", recordT, nil |
|
|
|
} |
|
|
|
result, exist1 := data["测试结果(P/F)"] |
|
|
|
checkTimeI, exist2 := data["测试完成日期时间"] |
|
|
|
if !exist2 || !exist1 { |
|
|
|
return false, "未获取到有效SBR数据", recordT, nil |
|
|
|
} |
|
|
|
checkTime, ok := checkTimeI.(time.Time) |
|
|
|
if !ok { |
|
|
|
return false, "未获取到有效SBR数据", recordT, nil |
|
|
|
} |
|
|
|
if result == "PASS" { |
|
|
|
return true, "SBR合格", checkTime, nil |
|
|
|
f1Dao := eolDal.NewEOLTESTF1DAO(eolSession, user.UserId) |
|
|
|
//f2Dao := eolDal.NewEOLTESTF2DAO(eolSession, user.UserId)
|
|
|
|
rDao := eolDal.NewEOLTESTR1DAO(eolSession, user.UserId) |
|
|
|
if product.CtrlStr1 == meModel.PRODUCT_TYPE_MS || product.CtrlStr1 == meModel.PRODUCT_TYPE_PS { |
|
|
|
drLi, err := f1Dao.Select([]grmi.Predicate{eolMeta.EOLTESTF1_BARCODE.NewPredicate(grmi.Equal, serialOrder.SerialOrderId), |
|
|
|
eolMeta.EOLTESTF1_DATE.NewPredicate(grmi.GreaterOrEqual, repairTime)}, []grmi.Field{eolMeta.EOLTESTF1_DATE}) |
|
|
|
if err != nil { |
|
|
|
return false, "", recordT, grmi.NewBusinessError("查询SBR数据失败, 错误:" + err.Error()) |
|
|
|
} |
|
|
|
//paLi, err := f2Dao.Select([]grmi.Predicate{eolMeta.EOLTESTF2_BARCODE.NewPredicate(grmi.Equal, serialOrder.SerialOrderId),
|
|
|
|
// eolMeta.EOLTESTF2_DATA.NewPredicate(grmi.GreaterOrEqual, repairTime)}, []grmi.Field{eolMeta.EOLTESTF2_DATA})
|
|
|
|
//if err != nil {
|
|
|
|
// return false, "", recordT, grmi.NewBusinessError("查询电检数据失败, 错误:" + err.Error())
|
|
|
|
//}
|
|
|
|
var lastDr *eolModel.EOLTESTF1 |
|
|
|
//var lastPa *eolModel.EOLTESTF2
|
|
|
|
if len(drLi) == 0 { |
|
|
|
return false, "未获取到有效SBR数据", recordT, nil |
|
|
|
} |
|
|
|
lastDr = &drLi[len(drLi)-1] |
|
|
|
//if len(paLi) > 0 {
|
|
|
|
// lastPa = &paLi[len(paLi)-1]
|
|
|
|
//}
|
|
|
|
var totalResult string = lastDr.TOTALRESULT |
|
|
|
var recordTime time.Time = lastDr.DATE.Restore() |
|
|
|
//if lastDr == nil && lastPa == nil {
|
|
|
|
// return false, "未获取到有效电检数据", recordT, nil
|
|
|
|
//} else if lastDr != nil && lastPa != nil {
|
|
|
|
// if lastDr.DATE.Restore().After(lastPa.DATA.Restore()) {
|
|
|
|
// totalResult = lastDr.TOTALRESULT
|
|
|
|
// recordTime = lastDr.DATE.Restore()
|
|
|
|
// } else {
|
|
|
|
// totalResult = lastPa.TOTALRESULT
|
|
|
|
// recordTime = lastPa.DATA.Restore()
|
|
|
|
// }
|
|
|
|
//} else if lastDr != nil && lastPa == nil {
|
|
|
|
// totalResult = lastDr.TOTALRESULT
|
|
|
|
// recordTime = lastDr.DATE.Restore()
|
|
|
|
//} else if lastDr == nil && lastPa != nil {
|
|
|
|
// totalResult = lastPa.TOTALRESULT
|
|
|
|
// recordTime = lastPa.DATA.Restore()
|
|
|
|
//}
|
|
|
|
if totalResult == model.EOL_STATUS_OK { |
|
|
|
return true, "SBR合格", recordTime, nil |
|
|
|
} else { |
|
|
|
return false, "SBR不合格", recordTime, nil |
|
|
|
} |
|
|
|
} else { |
|
|
|
return false, "SBR不合格", recordT, nil |
|
|
|
|
|
|
|
brLi, err := rDao.Select([]grmi.Predicate{eolMeta.EOLTESTR1_BARCODE.NewPredicate(grmi.Equal, serialOrder.SerialOrderId), |
|
|
|
eolMeta.EOLTESTR1_DATE.NewPredicate(grmi.GreaterOrEqual, repairTime)}, []grmi.Field{eolMeta.EOLTESTR1_DATE}) |
|
|
|
if err != nil { |
|
|
|
return false, "", recordT, grmi.NewBusinessError("查询SBR数据失败, 错误:" + err.Error()) |
|
|
|
} |
|
|
|
if len(brLi) == 0 { |
|
|
|
return false, "未获取到有效SBR数据", recordT, nil |
|
|
|
} |
|
|
|
lastBr := brLi[len(brLi)-1] |
|
|
|
if lastBr.TOTALRESULT == model.EOL_STATUS_OK { |
|
|
|
return true, "SBR合格", lastBr.DATE.Restore(), nil |
|
|
|
} else { |
|
|
|
return false, "SBR不合格", lastBr.DATE.Restore(), nil |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|