|
|
@ -490,19 +490,36 @@ func (impl *ProductServiceImplement) Update(user *global.User, entities *[]model |
|
|
|
} |
|
|
|
|
|
|
|
// SelectByWorkLine 通过产线查询产品列表
|
|
|
|
func (impl *ProductServiceImplement) SelectByWorkLine(user *global.User, workLineId string) ([]model.Product, error) { |
|
|
|
func (impl *ProductServiceImplement) SelectByWorkLine(user *global.User, workLineId string, projectId string) ([]model.Product, error) { |
|
|
|
grmi.Log(user, "/services/me/implments/Product.service.impl.go", "SelectByWorkLine", "通过产线查询product") |
|
|
|
|
|
|
|
engine := db.Eloquent.Master() |
|
|
|
session := engine.NewSession() |
|
|
|
defer session.Close() |
|
|
|
dao := dal.NewProductDAO(session, user.PlantNr, user.UserId) |
|
|
|
productLi, err := dao.Select([]grmi.Predicate{meta.Product_DefaultWorkLineId.NewPredicate(grmi.Equal, workLineId), meta.Product_MultiWorkLineToggle.NewPredicate(grmi.Equal, false)}, []grmi.Field{meta.Product_ProductId}) |
|
|
|
if err != nil { |
|
|
|
return nil, grmi.NewBusinessError("查询失败, error:" + err.Error()) |
|
|
|
var productLi []model.Product |
|
|
|
var err error |
|
|
|
if projectId == "" { |
|
|
|
productLi, err = dao.Select([]grmi.Predicate{ |
|
|
|
meta.Product_DefaultWorkLineId.NewPredicate(grmi.Equal, workLineId), |
|
|
|
meta.Product_MultiWorkLineToggle.NewPredicate(grmi.Equal, false), |
|
|
|
}, []grmi.Field{meta.Product_ProductId}) |
|
|
|
if err != nil { |
|
|
|
return nil, grmi.NewBusinessError("查询失败, error:" + err.Error()) |
|
|
|
} |
|
|
|
} else { |
|
|
|
productLi, err = dao.Select([]grmi.Predicate{ |
|
|
|
meta.Product_DefaultWorkLineId.NewPredicate(grmi.Equal, workLineId), |
|
|
|
meta.Product_MultiWorkLineToggle.NewPredicate(grmi.Equal, false), |
|
|
|
meta.Product_ProjectId.NewPredicate(grmi.Equal, projectId), |
|
|
|
}, []grmi.Field{meta.Product_ProductId}) |
|
|
|
if err != nil { |
|
|
|
return nil, grmi.NewBusinessError("查询失败, error:" + err.Error()) |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
productWorkLineDao := dal.NewProductWorkLineLstDAO(session, user.PlantNr, user.UserId) |
|
|
|
relateProductLi, err := productWorkLineDao.SelectByRelate(workLineId) |
|
|
|
relateProductLi, err := productWorkLineDao.SelectByRelate(workLineId, projectId) |
|
|
|
if err != nil { |
|
|
|
return nil, grmi.NewBusinessError("查询关联多产线的产品数据失败, error:" + err.Error()) |
|
|
|
} |
|
|
|