|
|
@ -458,3 +458,44 @@ func (impl *ShipOrderDAOImplement) SelectWithStatus(predicates []grmi.Predicate, |
|
|
|
} |
|
|
|
return data, nil |
|
|
|
} |
|
|
|
|
|
|
|
/****************************************************************************** |
|
|
|
* |
|
|
|
* @Reference LAPP_ACURA_MOM_BACKEND/dao/jit/ShipOrderDAO.SelectOrderWithStatus |
|
|
|
* |
|
|
|
******************************************************************************/ |
|
|
|
func (impl *ShipOrderDAOImplement) SelectOrderWithStatus(predicates []grmi.Predicate, orderByFields []grmi.Field) ([]model.ShipOrderWithStatus, error) { |
|
|
|
|
|
|
|
parameters := []interface{}{impl.plantNr} |
|
|
|
where := fmt.Sprintf("%s = ?", meta.ShipOrder_PlantNr.ColumnName) |
|
|
|
|
|
|
|
condition := fmt.Sprintf("%s = %s and %s = %s", |
|
|
|
meta.ShipOrder_PlantNr.ColumnName, |
|
|
|
meta.ShipOrderStatus_PlantNr.ColumnName, |
|
|
|
meta.ShipOrder_ShipOrderId.ColumnName, |
|
|
|
meta.ShipOrderStatus_ShipOrderId.ColumnName) |
|
|
|
session := impl.session.Table(impl.meta.TableName).Join("LEFT", meta.ShipOrderStatus.TableName, condition) |
|
|
|
if predicates != nil { |
|
|
|
for _, predicate := range predicates { |
|
|
|
where += predicate.Build() |
|
|
|
parameters = append(parameters, predicate.Values...) |
|
|
|
} |
|
|
|
session = session.Where(where, parameters...) |
|
|
|
} else { |
|
|
|
session = session.Where(where, parameters...) |
|
|
|
} |
|
|
|
|
|
|
|
session = session.OrderBy(meta.ShipOrder_PlantNr.ColumnName) |
|
|
|
if orderByFields != nil { |
|
|
|
for _, field := range orderByFields { |
|
|
|
session = session.OrderBy(field.ColumnName) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
data := make([]model.ShipOrderWithStatus, 0, 10) |
|
|
|
err := session.Find(&data) |
|
|
|
if err != nil { |
|
|
|
return nil, grmi.NewDataBaseError(err) |
|
|
|
} |
|
|
|
return data, nil |
|
|
|
} |