Browse Source

发运校验包装内的工单

pull/119/head
zhangxin 3 years ago
parent
commit
c8713e843b
1 changed files with 34 additions and 0 deletions
  1. +34
    -0
      services/jit/implments/ShipOrder.service.impl.go

+ 34
- 0
services/jit/implments/ShipOrder.service.impl.go View File

@ -6,10 +6,12 @@ import (
baseDal "LAPP_ACURA_MOM_BACKEND/dao/base"
dal "LAPP_ACURA_MOM_BACKEND/dao/jit"
meDal "LAPP_ACURA_MOM_BACKEND/dao/me"
omDal "LAPP_ACURA_MOM_BACKEND/dao/om"
"LAPP_ACURA_MOM_BACKEND/db"
"LAPP_ACURA_MOM_BACKEND/global"
"LAPP_ACURA_MOM_BACKEND/grmi"
meta "LAPP_ACURA_MOM_BACKEND/meta/jit"
baseModel "LAPP_ACURA_MOM_BACKEND/models/base"
model "LAPP_ACURA_MOM_BACKEND/models/jit"
"strconv"
"time"
@ -870,6 +872,8 @@ func (impl *ShipOrderServiceImplement) ScanBarCode(user *global.User, barCode st
engine := db.Eloquent.Master()
session := engine.NewSession()
defer session.Close()
serialOrderDao := omDal.NewSerialOrderDAO(session, user.PlantNr, user.UserId)
serialOrderStatusDao := omDal.NewSerialOrderStatusDAO(session, user.PlantNr, user.UserId)
shipOrderDao := dal.NewShipOrderDAO(session, user.PlantNr, user.UserId)
shipOrderLstDao := dal.NewShipOrderItemLstDAO(session, user.PlantNr, user.UserId)
shipOrderDataLstDao := dal.NewShipOrderDataLstDAO(session, user.PlantNr, user.UserId)
@ -897,6 +901,36 @@ func (impl *ShipOrderServiceImplement) ScanBarCode(user *global.User, barCode st
if packOrder.PackOrderStatus.Status != model.PACK_STATUS_CLOSED {
return nil, grmi.NewBusinessError("该包装单的状态不是已完成, 包装单ID:" + packOrderId)
}
// 校验包装单内所有工单的状态
packOrderItemLstLi, err = packLstDao.Select([]grmi.Predicate{meta.PackOrderItemLst_PackOrderId.NewPredicate(grmi.Equal, packOrderId)}, nil)
if err != nil {
return nil, grmi.NewBusinessError("查询包装单子项失败, error:" + err.Error())
}
for _, packOrderItem := range packOrderItemLstLi {
serialOrder, err := serialOrderDao.SelectOne(packOrderItem.SerialOrderId)
if err != nil {
return nil, grmi.NewBusinessError("查询工单数据失败, error:" + err.Error())
}
if serialOrder == nil {
return nil, grmi.NewBusinessError("工单不存在, 工单ID:" + packOrderItem.SerialOrderId)
}
if serialOrder.RepairFlag {
return nil, grmi.NewBusinessError("工单是线上返修工单, 工单ID:" + packOrderItem.SerialOrderId)
}
if serialOrder.GenerateFlag {
return nil, grmi.NewBusinessError("该工单条码已作废, 工单ID:" + packOrderItem.SerialOrderId)
}
serialOrderStatus, err := serialOrderStatusDao.SelectOne(packOrderItem.SerialOrderId)
if err != nil {
return nil, grmi.NewBusinessError("查询工单状态失败, error:" + err.Error())
}
if serialOrderStatus == nil {
return nil, grmi.NewBusinessError("工单状态数据不存在, 工单ID:" + packOrderItem.SerialOrderId)
}
if serialOrderStatus.Status != baseModel.WO_STATUS_FINISHED {
return nil, grmi.NewBusinessError("工单状态不是已完成, 工单ID:" + packOrderItem.SerialOrderId)
}
}
// 2. 校验该包装单是否已经存在发运单中
shipDataLstDao := dal.NewShipOrderDataLstDAO(session, user.PlantNr, user.UserId)
shipDataLstLi, err := shipDataLstDao.Select([]grmi.Predicate{meta.ShipOrderDataLst_PackOrderId.NewPredicate(grmi.Equal, packOrderId)}, nil)


Loading…
Cancel
Save