|
|
@ -466,8 +466,8 @@ func (impl *PackOrderServiceImplement) ScanBarcode(user *global.User, barcode st |
|
|
|
return nil, grmi.NewBusinessError("条码对应的工单状态不允许打包") |
|
|
|
} |
|
|
|
serialOrder := serialOrderLi[0] |
|
|
|
if serialOrder.QualityCheck != baseModel.QualityCheck_STATUS_OK { |
|
|
|
return nil, grmi.NewBusinessError("工单目检结果不符合要求") |
|
|
|
if serialOrder.QualityCheck != baseModel.QualityCheck_STATUS_OK && serialOrder.QualityCheck != baseModel.QualityCheck_STATUS_FAIL { |
|
|
|
return nil, grmi.NewBusinessError("工单未进行目检") |
|
|
|
} |
|
|
|
// 获取用户之前是否存在未关包的包装单 如果存在则使用之前的包装单ID 如果不存在则创建包装单 如果超过一个则报错
|
|
|
|
var packOrderId string |
|
|
@ -501,12 +501,12 @@ func (impl *PackOrderServiceImplement) ScanBarcode(user *global.User, barcode st |
|
|
|
currentPackOrder := &model.PackOrderWithStatus{} |
|
|
|
// 如果当前用户不存在操作中未关闭的包装单, 则创建包装单数据
|
|
|
|
if packOrderId == "" { |
|
|
|
var packTypeId string |
|
|
|
if serialOrder.OrderType == baseModel.ODER_TYPE_SEQ { |
|
|
|
packTypeId = model.PACK_TYPE_STD |
|
|
|
} else { |
|
|
|
packTypeId = model.PACK_TYPE_INT |
|
|
|
} |
|
|
|
var packTypeId string = model.PACK_TYPE_STD |
|
|
|
//if serialOrder.OrderType == baseModel.ODER_TYPE_SEQ {
|
|
|
|
// packTypeId = model.PACK_TYPE_STD
|
|
|
|
//} else {
|
|
|
|
// packTypeId = model.PACK_TYPE_INT
|
|
|
|
//}
|
|
|
|
packOrderId, err = snrDao.GetNextSnr(project.PackOrderSnr) |
|
|
|
if err != nil { |
|
|
|
_ = session.Rollback() |
|
|
@ -575,11 +575,11 @@ func (impl *PackOrderServiceImplement) ScanBarcode(user *global.User, barcode st |
|
|
|
return nil, grmi.NewBusinessError("对应的包装单数据不存在, 包装单ID:" + packOrderId) |
|
|
|
} |
|
|
|
// 如果工单时内部工单 则校验包装单类型 是不是符合要求 同时插入包装单
|
|
|
|
if serialOrder.OrderType == baseModel.ODER_TYPE_SEQ { |
|
|
|
if currentPackOrder.PackOrder.PackTypeId == model.PACK_TYPE_INT { |
|
|
|
_ = session.Rollback() |
|
|
|
return nil, grmi.NewBusinessError("当前工单是序列工单,但是包装单是内部包装单。") |
|
|
|
} |
|
|
|
//if serialOrder.OrderType == baseModel.ODER_TYPE_SEQ {
|
|
|
|
// if currentPackOrder.PackOrder.PackTypeId == model.PACK_TYPE_INT {
|
|
|
|
// _ = session.Rollback()
|
|
|
|
// return nil, grmi.NewBusinessError("当前工单是序列工单,但是包装单是内部包装单。")
|
|
|
|
// }
|
|
|
|
//currentPackOrder.PackOrder.ActQty += 1
|
|
|
|
//currentPackOrder.PackOrder.PlanQty += 1
|
|
|
|
//currentPackOrder.PackOrder.Operator = user.UserId
|
|
|
@ -614,12 +614,12 @@ func (impl *PackOrderServiceImplement) ScanBarcode(user *global.User, barcode st |
|
|
|
//result.PackOrderId = currentPackOrder.PackOrder.PackOrderId
|
|
|
|
//result.MatchTemplateLi = make([]model.PackTemplate, 0)
|
|
|
|
//return result, nil
|
|
|
|
} else { |
|
|
|
if currentPackOrder.PackOrder.PackTypeId != model.PACK_TYPE_INT { |
|
|
|
_ = session.Rollback() |
|
|
|
return nil, grmi.NewBusinessError("当前进行包装的包装单是标包, 但工单不是序列工单") |
|
|
|
} |
|
|
|
} |
|
|
|
//} else {
|
|
|
|
// if currentPackOrder.PackOrder.PackTypeId != model.PACK_TYPE_INT {
|
|
|
|
// _ = session.Rollback()
|
|
|
|
// return nil, grmi.NewBusinessError("当前进行包装的包装单是标包, 但工单不是序列工单")
|
|
|
|
// }
|
|
|
|
//}
|
|
|
|
|
|
|
|
// 判断包装单是否校验CheckSyncKey
|
|
|
|
if currentPackOrder.PackOrder.CheckSyncKey { |
|
|
@ -938,18 +938,18 @@ func (impl *PackOrderServiceImplement) ScanBarcode(user *global.User, barcode st |
|
|
|
} else if len(tempMatchLi) == 1 { |
|
|
|
// 如果当前包装单匹配到一个模板 则直接将模板数据写入到当前包装单中
|
|
|
|
template := tempMatchLi[0] |
|
|
|
var packTypeId string |
|
|
|
if serialOrderLi[0].OrderType == baseModel.ODER_TYPE_INTERVAL { |
|
|
|
packTypeId = model.PACK_TYPE_INT |
|
|
|
} else { |
|
|
|
packTypeId = template.PackTypeId |
|
|
|
} |
|
|
|
var checkSyncKey bool = true |
|
|
|
if currentPackOrder.PackOrder.PackTypeId == model.PACK_TYPE_INT { |
|
|
|
checkSyncKey = false |
|
|
|
} else { |
|
|
|
checkSyncKey = template.CheckSyncKey |
|
|
|
} |
|
|
|
var packTypeId string = template.PackTypeId |
|
|
|
//if serialOrderLi[0].OrderType == baseModel.ODER_TYPE_INTERVAL {
|
|
|
|
// packTypeId = model.PACK_TYPE_INT
|
|
|
|
//} else {
|
|
|
|
// packTypeId = template.PackTypeId
|
|
|
|
//}
|
|
|
|
var checkSyncKey bool = template.CheckSyncKey |
|
|
|
//if currentPackOrder.PackOrder.PackTypeId == model.PACK_TYPE_INT {
|
|
|
|
// checkSyncKey = false
|
|
|
|
//} else {
|
|
|
|
// checkSyncKey = template.CheckSyncKey
|
|
|
|
//}
|
|
|
|
currentPackOrder.PackOrder.PackTemplateId = template.PackTemplateId |
|
|
|
currentPackOrder.PackOrder.PackTypeId = packTypeId |
|
|
|
currentPackOrder.PackOrder.PlanQty = template.PlanQty |
|
|
@ -1005,15 +1005,20 @@ func (impl *PackOrderServiceImplement) ScanBarcode(user *global.User, barcode st |
|
|
|
return result, nil |
|
|
|
} else { |
|
|
|
var checkSyncKey bool = true |
|
|
|
if currentPackOrder.PackOrder.PackTypeId == model.PACK_TYPE_INT { |
|
|
|
checkSyncKey = false |
|
|
|
} else { |
|
|
|
for _, template := range tempMatchLi { |
|
|
|
if !template.CheckSyncKey { |
|
|
|
checkSyncKey = false |
|
|
|
} |
|
|
|
for _, template := range tempMatchLi { |
|
|
|
if !template.CheckSyncKey { |
|
|
|
checkSyncKey = false |
|
|
|
} |
|
|
|
} |
|
|
|
//if currentPackOrder.PackOrder.PackTypeId == model.PACK_TYPE_INT {
|
|
|
|
// checkSyncKey = false
|
|
|
|
//} else {
|
|
|
|
// for _, template := range tempMatchLi {
|
|
|
|
// if !template.CheckSyncKey {
|
|
|
|
// checkSyncKey = false
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//}
|
|
|
|
|
|
|
|
currentPackOrder.PackOrder.CheckSyncKey = checkSyncKey |
|
|
|
err = packOrderDao.UpdateOne(¤tPackOrder.PackOrder) |
|
|
@ -2250,7 +2255,7 @@ func (impl *PackOrderServiceImplement) MakeUpSeatData(session *xorm.Session, use |
|
|
|
} |
|
|
|
var status = `1` |
|
|
|
for _, serialOrder := range serialOrderLi { |
|
|
|
if serialOrder.SerialOrderStatus.Status != baseModel.WO_STATUS_FINISHED { |
|
|
|
if serialOrder.SerialOrderStatus.Status != baseModel.WO_STATUS_FINISHED || serialOrder.QualityCheck != baseModel.QualityCheck_STATUS_OK { |
|
|
|
status = `0` |
|
|
|
} |
|
|
|
} |
|
|
|