| | |
| | | func (slf *HistoryFormsService) BuildSearch(params request.GetInventoryHistory) (search *models.MoveHistorySearch, err error) { |
| | | search = models.NewMoveHistorySearch() |
| | | var ( |
| | | ids []int |
| | | ids []int |
| | | locationIds []int |
| | | ) |
| | | if params.KeyWord != "" { |
| | | ids, _, err = SearchHistoryReport(params.KeyWord, params.BaseOperationType, params.Page, params.PageSize) |
| | |
| | | if params.BaseOperationType != 0 { |
| | | search.Orm = search.Orm.Where("base_operation_type = ?", params.BaseOperationType) |
| | | } |
| | | |
| | | locationSearch := models.NewLocationSearch() |
| | | if params.WarehouseCode != "" { |
| | | locationSearch.SetJointName(params.WarehouseCode) |
| | | } |
| | | locations, err := locationSearch.FindNotTotal() |
| | | if err != nil { |
| | | return nil, err |
| | | } |
| | | for _, location := range locations { |
| | | locationIds = append(locationIds, location.Id) |
| | | } |
| | | search.Orm = search.Orm.Where("from_location_id in ? or to_location_id in ?", ids, ids) |
| | | |
| | | return search, err |
| | | } |
| | | |