Browse Source

添加总成生成流水号逻辑

feature_shunyin
zhangxin 2 years ago
parent
commit
1f1c2e1ef3
6 changed files with 82 additions and 0 deletions
  1. +2
    -0
      conf/config.go
  2. +1
    -0
      conf/config.yaml
  3. +2
    -0
      services/me/Product.service.go
  4. +49
    -0
      services/me/implments/Product.service.impl.go
  5. +26
    -0
      web/controllers/me/Product.rest.go
  6. +2
    -0
      web/controllers/me/me.go

+ 2
- 0
conf/config.go View File

@ -69,6 +69,8 @@ type EnvConfig struct {
PermitThroughPlcType string `yaml:"permitthroughplctype"` PermitThroughPlcType string `yaml:"permitthroughplctype"`
PermitThroughPlcAddress string `yaml:"permitthroughplcaddress"` PermitThroughPlcAddress string `yaml:"permitthroughplcaddress"`
PermitThroughPlcDB string `yaml:"permitthroughdb"` PermitThroughPlcDB string `yaml:"permitthroughdb"`
StandardSerialOrderSnr string `yaml:"standardSerialOrderSnr"`
} }
//read yaml config //read yaml config


+ 1
- 0
conf/config.yaml View File

@ -1,5 +1,6 @@
# 工厂号 # 工厂号
finr: 100 finr: 100
standardSerialOrderSnr: StandardSerialOrderSnr
# mongdb数据库配置参数 # mongdb数据库配置参数
mongdbname: LAPP_ACURA_MOM mongdbname: LAPP_ACURA_MOM


+ 2
- 0
services/me/Product.service.go View File

@ -274,6 +274,8 @@ type ProductService interface {
* *
******************************************************************************/ ******************************************************************************/
SelectWorkLineByProduct(user *global.User, productId, projectId string) ([]baseModel.WorkLine, error) SelectWorkLineByProduct(user *global.User, productId, projectId string) ([]baseModel.WorkLine, error)
// GenerateSnr 根据标准流水号生成总成流水号
GenerateSnr(user *global.User, productId string, projectId string) error
} }
/****************************************************************************** /******************************************************************************


+ 49
- 0
services/me/implments/Product.service.impl.go View File

@ -3,6 +3,7 @@
package implments package implments
import ( import (
"LAPP_ACURA_MOM_BACKEND/conf"
baseDal "LAPP_ACURA_MOM_BACKEND/dao/base" baseDal "LAPP_ACURA_MOM_BACKEND/dao/base"
dal "LAPP_ACURA_MOM_BACKEND/dao/me" dal "LAPP_ACURA_MOM_BACKEND/dao/me"
"LAPP_ACURA_MOM_BACKEND/db" "LAPP_ACURA_MOM_BACKEND/db"
@ -693,3 +694,51 @@ func (impl *ProductServiceImplement) SelectWorkLineByProduct(user *global.User,
} }
return workLineLi, nil return workLineLi, nil
} }
// GenerateSnr 根据标准流水号生成总成流水号
func (impl *ProductServiceImplement) GenerateSnr(user *global.User, productId string, projectId string) error {
engine := db.Eloquent.Master()
session := engine.NewSession()
defer session.Close()
dao := dal.NewProductDAO(session, user.PlantNr, user.UserId)
product, err := dao.SelectOne(productId, projectId)
if err != nil {
return grmi.NewBusinessError("查询总成失败, 错误:" + err.Error())
}
if product == nil {
return grmi.NewBusinessError("总成不存在")
}
snrDao := baseDal.NewSnrDAO(session, user.PlantNr, user.UserId)
snr, err := snrDao.SelectOne(conf.DbConfig.StandardSerialOrderSnr)
if err != nil {
return grmi.NewBusinessError("查询标准流水号失败,错误:" + err.Error())
}
if snr == nil {
return grmi.NewBusinessError("标准流水号不存在")
}
newSnr := snr
snrId := productId + "_" + projectId + "_SerialOrderSnr"
newSnr.SnrId = snrId
product.SerialOrderSnr = snrId
if err = session.Begin(); err != nil {
return grmi.NewBusinessError("开启事务失败, 错误:" + err.Error())
}
defer func() {
if err != nil {
_ = session.Rollback()
} else {
_ = session.Commit()
}
}()
err = dao.UpdateOne(product)
if err != nil {
return grmi.NewBusinessError("更新总成数据失败, 错误:" + err.Error())
}
err = snrDao.InsertOne(newSnr)
if err != nil {
return grmi.NewBusinessError("保存流水号失败,错误:" + err.Error())
}
return nil
}

+ 26
- 0
web/controllers/me/Product.rest.go View File

@ -566,3 +566,29 @@ func RegisterSelectWorkLineByProduct(party router.Party, path string, method fun
supports.Ok(ctx, supports.OptionSuccess, result) supports.Ok(ctx, supports.OptionSuccess, result)
}) })
} }
// RegisterGenerateSnr 根据标准流水号生成总成流水号
func RegisterGenerateSnr(party router.Party, path string, method func(user *global.User, productId string, projectId string) error) {
party.Post(path, func(ctx iris.Context) {
user, ok := jwts.ParseToken(ctx)
if !ok {
return
}
type Req struct{
ProductId string `json:"productId"`
ProjectId string `json:"projectId"`
}
var data Req
if err := ctx.ReadJSON(&data); err != nil {
supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil)
return
}
err := method(user, data.ProductId, data.ProjectId)
if err != nil {
supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil)
return
}
supports.Ok(ctx, supports.OptionSuccess, nil)
})
}

+ 2
- 0
web/controllers/me/me.go View File

@ -106,6 +106,8 @@ func RegisterRoutes() {
RegisterCopyProduct(product, "/copy", serviceOfProduct.Copy) RegisterCopyProduct(product, "/copy", serviceOfProduct.Copy)
// Product 通过总成查询产线 // Product 通过总成查询产线
RegisterSelectWorkLineByProduct(product, "/selectworkline", serviceOfProduct.SelectWorkLineByProduct) RegisterSelectWorkLineByProduct(product, "/selectworkline", serviceOfProduct.SelectWorkLineByProduct)
// RegisterGenerateSnr 根据标准流水号生成总成流水号
RegisterGenerateSnr(product, "/generatesnr", serviceOfProduct.GenerateSnr)
// SetupMatrix的路由组 // SetupMatrix的路由组
setupmatrix := party.Party("/setupmatrix") setupmatrix := party.Party("/setupmatrix")


Loading…
Cancel
Save