Browse Source

数据追溯时追溯原工单工艺数据

pull/131/head
zhangxin 3 years ago
parent
commit
7c064ecd66
1 changed files with 31 additions and 7 deletions
  1. +31
    -7
      services/om/implments/SerialOrder.service.impl.go

+ 31
- 7
services/om/implments/SerialOrder.service.impl.go View File

@ -2402,6 +2402,12 @@ func (impl *SerialOrderServiceImplement) GetSerialOrderOperationData(user *globa
if serialOrder == nil {
return nil, grmi.NewBusinessError("工单不存在, 工单ID:" + serialOrderId)
}
var traceOrderId string
if serialOrder.OriginSerialOrderId != "" {
traceOrderId = serialOrder.OriginSerialOrderId
} else {
traceOrderId = serialOrder.SerialOrderId
}
articleDao := baseDal.NewArticleDAO(session, user.PlantNr, user.UserId)
article, err := articleDao.SelectOne(serialOrder.ArtId, serialOrder.ProjectId)
if err != nil {
@ -2410,7 +2416,7 @@ func (impl *SerialOrderServiceImplement) GetSerialOrderOperationData(user *globa
if article == nil {
return nil, grmi.NewBusinessError("工单绑定总成不存在, 总成ID:" + serialOrder.ArtId)
}
poDataLi, err := serialOrderPoDao.SelectWithPO(serialOrderId, serialOrder.UsedResourceId)
poDataLi, err := serialOrderPoDao.SelectWithPO(traceOrderId, serialOrder.UsedResourceId)
if err != nil {
return nil, grmi.NewBusinessError("查询工单工序操作数据失败, error:" + err.Error())
}
@ -2510,7 +2516,7 @@ func (impl *SerialOrderServiceImplement) GetSerialOrderOperationData(user *globa
result.IsFirstPiece = serialOrder.IsFirstPieceToggle
result.TraceDataTraceData = make([]model.POOperationData, 0)
for _, poId := range selectPoIdLi {
opLi, err := opDao.GetOpRecvDataByPO(serialOrderId, poId)
opLi, err := opDao.GetOpRecvDataByPO(traceOrderId, poId)
if err != nil {
return nil, grmi.NewBusinessError("查询工艺操作数据失败, error:" + err.Error())
}
@ -2647,6 +2653,12 @@ func (impl *SerialOrderServiceImplement) GetSerialOrderOperationTraceData(user *
if serialOrder == nil {
return nil, grmi.NewBusinessError("工单不存在, 工单ID:" + serialOrderId)
}
var traceOrderId string
if serialOrder.OriginSerialOrderId != "" {
traceOrderId = serialOrder.OriginSerialOrderId
} else {
traceOrderId = serialOrder.SerialOrderId
}
articleDao := baseDal.NewArticleDAO(session, user.PlantNr, user.UserId)
article, err := articleDao.SelectOne(serialOrder.ArtId, serialOrder.ProjectId)
if err != nil {
@ -2684,7 +2696,7 @@ func (impl *SerialOrderServiceImplement) GetSerialOrderOperationTraceData(user *
//for _, po := range poLi {
// poIdLi = append(poIdLi, po.PO)
//}
poDataLi, err := serialOrderPoDao.SelectWithPO(serialOrderId, serialOrder.UsedResourceId)
poDataLi, err := serialOrderPoDao.SelectWithPO(traceOrderId, serialOrder.UsedResourceId)
if err != nil {
return nil, grmi.NewBusinessError("查询工单工序操作数据失败, error:" + err.Error())
}
@ -2773,7 +2785,7 @@ func (impl *SerialOrderServiceImplement) GetSerialOrderOperationTraceData(user *
opDao := dal.NewSerialOrderOPDetailRecvDataLstDAO(session, user.PlantNr, user.UserId)
for _, poId := range selectPoIdLi {
opLi, err := opDao.GetOpRecvDataByPO(serialOrderId, poId)
opLi, err := opDao.GetOpRecvDataByPO(traceOrderId, poId)
if err != nil {
return nil, grmi.NewBusinessError("查询工艺操作数据失败, error:" + err.Error())
}
@ -2950,13 +2962,19 @@ func (impl *SerialOrderServiceImplement) GetSerialOrderOPTrace(user *global.User
var tempItem TempSerialOrderPOItem
tempItem.SerialOrderId = serialOrderData.SerialOrder.SerialOrderId
tempItem.ItemMap = make(map[string]POData)
var traceOrderId string
if serialOrderData.SerialOrder.OriginSerialOrderId != "" {
traceOrderId = serialOrderData.SerialOrder.OriginSerialOrderId
} else {
traceOrderId = serialOrderData.SerialOrder.SerialOrderId
}
// 查询工单的所有工序状态结果
SerialOrderPOLi, err := serialOrderPoDao.SelectBySerialOrderId(serialOrderData.SerialOrder.SerialOrderId, serialOrderData.SerialOrder.UsedResourceId)
SerialOrderPOLi, err := serialOrderPoDao.SelectBySerialOrderId(traceOrderId, serialOrderData.SerialOrder.UsedResourceId)
if err != nil {
return nil, grmi.NewBusinessError("查询工单工序数据失败, error:" + err.Error())
}
// 查询工单的所有工序状态变更记录 由于计算每个工序的开始时间
poStatusRecLi, err := poStatusRecDao.Select([]grmi.Predicate{meta.SerialOrderPOStatusRecLst_SerialOrderId.NewPredicate(grmi.Equal, serialOrderData.SerialOrder.SerialOrderId), meta.SerialOrderPOStatusRecLst_Status.NewPredicate(grmi.Equal, baseModel.ORDER_STATUS_RUNNING)}, []grmi.Field{meta.SerialOrderPOStatusRecLst_Pos})
poStatusRecLi, err := poStatusRecDao.Select([]grmi.Predicate{meta.SerialOrderPOStatusRecLst_SerialOrderId.NewPredicate(grmi.Equal, traceOrderId), meta.SerialOrderPOStatusRecLst_Status.NewPredicate(grmi.Equal, baseModel.ORDER_STATUS_RUNNING)}, []grmi.Field{meta.SerialOrderPOStatusRecLst_Pos})
if err != nil {
return nil, grmi.NewBusinessError("查询工序开始时间失败, error:" + err.Error())
}
@ -3031,7 +3049,13 @@ func (impl *SerialOrderServiceImplement) GetSerialOrderDetailTrace(user *global.
if serialOrder == nil {
return nil, grmi.NewBusinessError("工单不存在, 工单ID:" + serialOrderId)
}
opLi, err := opDao.SelectOPDetailData(serialOrderId, serialOrder.UsedResourceId)
var traceOrderId string
if serialOrder.OriginSerialOrderId != "" {
traceOrderId = serialOrder.OriginSerialOrderId
} else {
traceOrderId = serialOrderId
}
opLi, err := opDao.SelectOPDetailData(traceOrderId, serialOrder.UsedResourceId)
if err != nil {
return nil, grmi.NewBusinessError("查询工艺操作数据失败, error:" + err.Error())
}


Loading…
Cancel
Save