|
|
@ -310,9 +310,19 @@ func (impl *OperationDAOImplement) GetOperationRelData(artIdLi []string, workLin |
|
|
|
where := fmt.Sprintf("%s = ? and %s = ? and %s = ?", meta.Operation_PlantNr.ColumnName, meta.Process_WorkLineId.ColumnName, meta.Operation_ActivateInStation.ColumnName) |
|
|
|
data := make([]model.OperationRelData, 0) |
|
|
|
POCondition := fmt.Sprintf("%s = %s and %s = %s", meta.Operation_PlantNr.ColumnName, meta.Process_PlantNr.ColumnName, meta.Operation_PO.ColumnName, meta.Process_PO.ColumnName) |
|
|
|
artCondition := fmt.Sprintf("%s = %s and %s = %s and %s = %s", meta.Operation_PlantNr.ColumnName, meta.ArticleAtcodLst_PlantNr.ColumnName, meta.Operation_AttrCode.ColumnName, meta.Operation_AttrCode.ColumnName, meta.Operation_AttrValue.ColumnName, meta.ArticleAtcodLst_AttrValue.ColumnName) |
|
|
|
artCondition := fmt.Sprintf("%s = %s and %s = %s and %s = %s", meta.Operation_PlantNr.ColumnName, meta.ArticleAtcodLst_PlantNr.ColumnName, meta.Operation_AttrCode.ColumnName, meta.ArticleAtcodLst_AttrCode.ColumnName, meta.Operation_AttrValue.ColumnName, meta.ArticleAtcodLst_AttrValue.ColumnName) |
|
|
|
//stepCondition := fmt.Sprintf("%s = %s and %s = %s", meta.Operation_PlantNr.ColumnName, meta.StepType_PlantNr.ColumnName, meta.Operation_StepType.ColumnName, meta.StepType_StepTypeName.ColumnName)
|
|
|
|
session := impl.session.Table(impl.meta.TableName).Join("LEFT", meta.Process.TableName, POCondition).Join("LEFT", meta.ArticleAtcodLst.TableName, artCondition) |
|
|
|
err := session.Where(where, impl.plantNr, workLineId, 1).In(meta.ArticleAtcodLst_ArtId.ColumnName, artIdLi).OrderBy(meta.Process_PO.ColumnName).OrderBy(meta.Operation_StepNo.ColumnName).Find(&data) |
|
|
|
artIdStr := "" |
|
|
|
for index, artId := range artIdLi { |
|
|
|
if index != 0 { |
|
|
|
artIdStr += ", " |
|
|
|
artIdStr += artId |
|
|
|
} |
|
|
|
artIdStr += artId |
|
|
|
} |
|
|
|
where += fmt.Sprintf(" and ( %s in (%s) or %s = ?) ", meta.ArticleAtcodLst_ArtId.ColumnName, artIdStr, meta.Operation_AttrCode.ColumnName) |
|
|
|
//err := session.Where(where, impl.plantNr, workLineId, 1).In(meta.ArticleAtcodLst_ArtId.ColumnName, artIdLi).OrderBy(meta.Process_PO.ColumnName).OrderBy(meta.Operation_StepNo.ColumnName).Find(&data)
|
|
|
|
err := session.Where(where, impl.plantNr, workLineId, 1, -1).OrderBy(meta.Process_PO.ColumnName).OrderBy(meta.Operation_StepNo.ColumnName).Find(&data) |
|
|
|
return data, err |
|
|
|
} |