Browse Source

条码替代零件号

pull/438/head
娄文智 3 years ago
parent
commit
a47f2b690e
4 changed files with 31 additions and 29 deletions
  1. +1
    -1
      services/jit/ShipOrder.service.go
  2. +24
    -22
      services/jit/implments/ShipOrder.service.impl.go
  3. +1
    -1
      services/qm/implments/ReclinerReclst.service.impl.go
  4. +5
    -5
      web/controllers/jit/ShipOrder.rest.go

+ 1
- 1
services/jit/ShipOrder.service.go View File

@ -236,7 +236,7 @@ type ShipOrderService interface {
* @Date : 2021-10-25 13:36:01
*
******************************************************************************/
ScanCarPackOrders(user *models.Usertab, shipOrderId string, packOrderId string) (bool, error)
ScanCarPackOrders(user *models.Usertab, shipOrderId string, packOrderId string) (bool,string, error)
}
/******************************************************************************


+ 24
- 22
services/jit/implments/ShipOrder.service.impl.go View File

@ -528,7 +528,7 @@ func (impl *ShipOrderServiceImplement) Update(user *models.Usertab, entities *[]
* @Reference LAPP_GAAS_GFrame_BACKEND/services/jit/ShipOrderService.ScanCarPackOrders
*
******************************************************************************/
func (impl *ShipOrderServiceImplement) ScanCarPackOrders(user *models.Usertab, shipOrderId string, packOrderId string) (bool, error) {
func (impl *ShipOrderServiceImplement) ScanCarPackOrders(user *models.Usertab, shipOrderId string, packOrderId string) (bool,string, error) {
grmi.Log(user, "/services/jit/implments/ShipOrder.service.impl.go", "ScanCarPackOrders", "扫描ShipOrder")
@ -536,9 +536,10 @@ func (impl *ShipOrderServiceImplement) ScanCarPackOrders(user *models.Usertab, s
session := engine.NewSession()
defer session.Close()
IsClose := "doing"
// add Begin() before any action
if err := session.Begin(); err != nil {
return false, err
return false,IsClose, err
}
packDao := logDal.NewPackOrderDAO(session, user.Pid, user.Userid)
dao := dal.NewShipOrderDAO(session, user.Pid, user.Userid)
@ -549,34 +550,34 @@ func (impl *ShipOrderServiceImplement) ScanCarPackOrders(user *models.Usertab, s
shipInfo, err := dao.SelectOne(shipOrderId)
if err != nil {
session.Rollback()
return false, err
return false,IsClose, err
}
if shipInfo == nil {
session.Rollback()
return true, grmi.NewBusinessError("发运单信息不存在!")
return true,IsClose, grmi.NewBusinessError("发运单信息不存在!")
}
packInfo, err := packDao.SelectOne(packOrderId)
if err != nil {
session.Rollback()
return false, err
return false,IsClose, err
}
if packInfo == nil {
session.Rollback()
return true, grmi.NewBusinessError("包装单信息不存在!")
return true,IsClose, grmi.NewBusinessError("包装单信息不存在!")
}
if packInfo.Status != basmodel.WO_STATUS_FINISHED{
session.Rollback()
return true, grmi.NewBusinessError("包装单状态未完成!")
return true,IsClose, grmi.NewBusinessError("包装单状态未完成!")
}
//第二步:根据包装单信心,查询对应的发运单项信息
itemInfo, err := lstDao.SelectOne(shipOrderId, packInfo.MaterialId)
if err != nil {
session.Rollback()
return false, err
return false,IsClose, err
}
if itemInfo == nil {
session.Rollback()
return true, grmi.NewBusinessError("发运项信息不存在!")
return true,IsClose, grmi.NewBusinessError("发运项信息不存在!")
}
//判断是否扫描过
packDatalist, err := dataDao.Select([]grmi.Predicate{
@ -584,11 +585,11 @@ func (impl *ShipOrderServiceImplement) ScanCarPackOrders(user *models.Usertab, s
}, nil)
if err != nil {
session.Rollback()
return false, err
return false,IsClose, err
}
if len(packDatalist) > 0 {
session.Rollback()
return true, grmi.NewBusinessError("该包装单已经扫描过!")
return true,IsClose, grmi.NewBusinessError("该包装单已经扫描过!")
}
//第三步:逻辑判断是否符合规则
actQty := utils.ValueToInt(packInfo.ActQty, 0)
@ -600,14 +601,14 @@ func (impl *ShipOrderServiceImplement) ScanCarPackOrders(user *models.Usertab, s
err = lstDao.UpdateOne(itemInfo)
if err != nil {
session.Rollback()
return false, err
return false,IsClose, err
}
//查询最后一条的pos
posInfo, err := dataDao.SelectLastPos(shipOrderId)
if err != nil {
session.Rollback()
return false, err
return false,IsClose, err
}
var pos int
if posInfo == nil {
@ -628,14 +629,14 @@ func (impl *ShipOrderServiceImplement) ScanCarPackOrders(user *models.Usertab, s
err = dataDao.InsertOne(datalst)
if err != nil {
session.Rollback()
return false, err
return false,IsClose, err
}
shipInfo.ActualQty = (shipInfo.ActualQty + actQty)
shipInfo.Status = basmodel.SHIP_ORDER_STATUS_RUNNING
err = dao.UpdateOne(shipInfo)
if err != nil {
session.Rollback()
return false, err
return false,IsClose, err
}
} else if itemInfo.PlanQty == (itemInfo.ActualQty + actQty) {
//满足关闭该项条件
@ -644,14 +645,14 @@ func (impl *ShipOrderServiceImplement) ScanCarPackOrders(user *models.Usertab, s
err = lstDao.UpdateOne(itemInfo)
if err != nil {
session.Rollback()
return false, err
return false,IsClose, err
}
//查询最后一条的pos
posInfo, err := dataDao.SelectLastPos(shipOrderId)
if err != nil {
session.Rollback()
return false, err
return false,IsClose, err
}
var pos int
if posInfo == nil {
@ -672,7 +673,7 @@ func (impl *ShipOrderServiceImplement) ScanCarPackOrders(user *models.Usertab, s
err = dataDao.InsertOne(datalst)
if err != nil {
session.Rollback()
return false, err
return false,IsClose, err
}
//判断是否已经全部扫描完毕,如果全部完毕,那么可以关闭发运单
items, err := lstDao.Select([]grmi.Predicate{
@ -686,21 +687,22 @@ func (impl *ShipOrderServiceImplement) ScanCarPackOrders(user *models.Usertab, s
err = dao.UpdateOne(shipInfo)
if err != nil {
session.Rollback()
return false, err
return false,"doing", err
}
IsClose = "success"
} else {
shipInfo.ActualQty = (shipInfo.ActualQty + actQty)
shipInfo.Status = basmodel.SHIP_ORDER_STATUS_RUNNING
err = dao.UpdateOne(shipInfo)
if err != nil {
session.Rollback()
return false, err
return false,IsClose, err
}
}
} else {
session.Rollback()
return true, grmi.NewBusinessError("该包装单零件数量大于需求零件!")
return true,IsClose, grmi.NewBusinessError("该包装单零件数量大于需求零件!")
}
session.Commit()
return true, nil
return true,IsClose, nil
}

+ 1
- 1
services/qm/implments/ReclinerReclst.service.impl.go View File

@ -232,7 +232,7 @@ func (impl *ReclinerReclstServiceImplement) AddPrinterInfo(user *models.Usertab,
dateStr := utils.TimeFormat(orderInfo.PlanStartTime.Restore(), "yyyy/MM/dd")
detail.VariableValue = dateStr
} else if detail.VariableName == "$CUSTID$" {
detail.VariableValue = artInfo.CustArtId
detail.VariableValue = artInfo.AlternativeArtId
} else if detail.VariableName == "$ORDERID$" {
detail.VariableValue = entity.SerialOrderId
}


+ 5
- 5
web/controllers/jit/ShipOrder.rest.go View File

@ -419,7 +419,7 @@ func RegisterUpdateShipOrder(party router.Party, path string, method func(*model
* @Date : 2021-10-25 13:36:01
*
******************************************************************************/
func RegisterScanCarPackOrders(party router.Party, path string, method func(*models.Usertab, string, string) (bool, error)) {
func RegisterScanCarPackOrders(party router.Party, path string, method func(*models.Usertab, string, string) (bool, string, error)) {
party.Get(path, func(ctx iris.Context) {
user, ok := jwts.ParseToken(ctx)
@ -429,15 +429,15 @@ func RegisterScanCarPackOrders(party router.Party, path string, method func(*mod
}
shipOrderId := ctx.URLParam("shipOrderId")
packOrderId := ctx.URLParam("packOrderId")
ok, err := method(user, shipOrderId, packOrderId)
ok, isClose, err := method(user, shipOrderId, packOrderId)
if err != nil && !ok {
supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil)
supports.Error(ctx, iris.StatusBadRequest, err.Error(), isClose)
return
}
if err != nil && ok {
supports.Error(ctx, iris.StatusAccepted, err.Error(), nil)
supports.Error(ctx, iris.StatusAccepted, err.Error(), isClose)
return
}
supports.Ok(ctx, "请扫描下一个待发运零件!", "")
supports.Ok(ctx, "请扫描下一个待发运零件!", isClose)
})
}

Loading…
Cancel
Save