Преглед на файлове

更新查询条件和排序逻辑以优化库位信息获取

修改了 `FJService.cs` 文件中 `wms.service.Service` 命名空间下的代码,具体包括:

- 获取所有立库有货库位信息的查询条件:
  - 移除了 `loc.IsStop == 0` 条件。
  - 添加了 `loc.StateNum == FjLocationState.Full` 条件。
  - 添加了 `inv.InvStateCode == InvState.InvEcecState_In.ToString()` 条件。
  - 添加了 `inv.SetGrpCode == setGrpCode` 条件。
  - 添加了 `(!inv.Secondary || inv.ProductTime < DateTime.Now.AddHours(-6))` 条件。
- 修改了 `wareCell` 的排序逻辑:
  - 由先按 `warehouseCodes` 的优先级排序,再按 `ProductTime` 排序,改为先按 `ProductTime` 排序,再按 `warehouseCodes` 的优先级排序。
- 获取所有立库/虚拟有货库位信息的查询条件:
  - 移除了 `loc.IsStop == 0` 条件。
  - 添加了 `loc.StateNum == FjLocationState.Full` 条件。
  - 添加了 `inv.InvStateCode == InvState.InvEcecState_In.ToString()` 条件。
  - 添加了 `inv.MatCode.Contains(reqDto.Materialcodecall)` 条件。
  - 添加了 `(!inv.Secondary || inv.ProductTime < DateTime.Now.AddHours(-6))` 条件。
  - 修改了 `inv.IsTorsChk` 条件为 `true`。
林豪 左 преди 7 месеца
родител
ревизия
a8d09c6c2f
променени са 1 файла, в които са добавени 4 реда и са изтрити 4 реда
  1. 4 4
      wms.service/Service/FJService.cs

+ 4 - 4
wms.service/Service/FJService.cs

@@ -2163,7 +2163,7 @@ namespace wms.service.Service
                 //获取所有的立库有货库位信息
                 var wareCellList = _basewarecellrepository.Context.Queryable<BaseWarecell, BillInvnow>((loc, inv) =>
                         new object[] { JoinType.Inner, loc.ContGrpBarCode == inv.ContGrpBarCode })
-                    .Where((loc, inv) => warehouse.Contains(loc.WarehouseId) && loc.IsStop == 0 &&
+                    .Where((loc, inv) => warehouse.Contains(loc.WarehouseId) &&
                                          loc.StateNum == FjLocationState.Full &&
                                          inv.InvStateCode == InvState.InvEcecState_In.ToString() &&
                                          inv.SetGrpCode == setGrpCode &&
@@ -2222,8 +2222,8 @@ namespace wms.service.Service
                         break;
                 }
 
-                var wareCell = wareCellList.OrderBy(x => warehouseCodes.IndexOf(x.WarehouseCode)) //按照优先级排序
-                    .ThenBy(x => x.ProductTime)
+                var wareCell = wareCellList.OrderBy(x => x.ProductTime) //按照优先级排序
+                    .ThenBy(x => warehouseCodes.IndexOf(x.WarehouseCode))
                     .FirstOrDefault();
 
                 try
@@ -2547,7 +2547,7 @@ namespace wms.service.Service
                 //获取所有的立库/虚拟有货库位信息
                 var wareCellList = _basewarecellrepository.Context.Queryable<BaseWarecell, BillInvnow>((loc, inv) =>
                         new object[] { JoinType.Inner, loc.ContGrpBarCode == inv.ContGrpBarCode })
-                    .Where((loc, inv) => warehouse.Contains(loc.WarehouseId) && loc.IsStop == 0 &&
+                    .Where((loc, inv) => warehouse.Contains(loc.WarehouseId) &&
                                          loc.StateNum == FjLocationState.Full &&
                                          inv.InvStateCode == InvState.InvEcecState_In.ToString() &&
                                          inv.MatCode.Contains(reqDto.Materialcodecall) &&