Commit ae0dc9cad7e664c29d16587186578584959d02a1
1 parent
cd6fb2c5
pda查询有货托盘
Showing
3 changed files
with
33 additions
and
0 deletions
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/controller/LocationController.java
... | ... | @@ -46,6 +46,7 @@ import lombok.extern.slf4j.Slf4j; |
46 | 46 | @RequestMapping("/config/location") |
47 | 47 | @Slf4j |
48 | 48 | public class LocationController extends JeecgController<Location, ILocationService> { |
49 | + | |
49 | 50 | @Autowired |
50 | 51 | private ILocationService locationService; |
51 | 52 | |
... | ... | @@ -93,6 +94,16 @@ public class LocationController extends JeecgController<Location, ILocationServi |
93 | 94 | return Result.OK(pageList); |
94 | 95 | } |
95 | 96 | |
97 | + @ApiOperation(value = "库位管理-分页查询有货的库位", notes = "分页查询有货的库位") | |
98 | + @GetMapping(value = "/listSomeContainerInLocation") | |
99 | + public Result<IPage<Location>> listSomeContainerInLocation(Location location, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, | |
100 | + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { | |
101 | + Page<Location> page = new Page<Location>(pageNo, pageSize); | |
102 | + HuahengJwtUtil.setWarehouseCode(req, location); | |
103 | + IPage<Location> pageList = locationService.listSomeContainerInLocation(page, location); | |
104 | + return Result.OK(pageList); | |
105 | + } | |
106 | + | |
96 | 107 | /** |
97 | 108 | * 添加 |
98 | 109 | * @param location |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/service/ILocationService.java
... | ... | @@ -55,6 +55,8 @@ public interface ILocationService extends IService<Location> { |
55 | 55 | |
56 | 56 | IPage<Location> listEmptyContainerInLocation(Page<Location> page, Location location); |
57 | 57 | |
58 | + IPage<Location> listSomeContainerInLocation(Page<Location> page, Location location); | |
59 | + | |
58 | 60 | /** |
59 | 61 | * 判断系统是否已经有同样的托盘号,如果有证明数据混乱了 |
60 | 62 | */ |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/service/impl/LocationServiceImpl.java
... | ... | @@ -396,6 +396,26 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i |
396 | 396 | } |
397 | 397 | |
398 | 398 | @Override |
399 | + public IPage<Location> listSomeContainerInLocation(Page<Location> page, Location location) { | |
400 | + List<Location> locationList = | |
401 | + locationService.getContainerInLocation(null, QuantityConstant.STATUS_CONTAINER_FILL_SOME, null, QuantityConstant.DEFAULT_WAREHOUSE); | |
402 | + List<String> locationCode = | |
403 | + locationList.stream().filter(i -> i.getZoneCode().equals(location.getZoneCode())).map(Location::getCode).collect(Collectors.toList()); | |
404 | + // 最多返回2000条数据 | |
405 | + List<List<String>> partition = ListUtils.partition(locationCode, 2000); | |
406 | + for (List<String> strings : partition) { | |
407 | + LambdaQueryWrapper<Location> locationLambdaQueryWrapper = Wrappers.lambdaQuery(); | |
408 | + locationLambdaQueryWrapper.eq(Location::getZoneCode, location.getZoneCode()).in(Location::getCode, strings); | |
409 | + Page<Location> locationPage = locationService.page(page, locationLambdaQueryWrapper); | |
410 | + if (CollectionUtils.isEmpty(Collections.singleton(locationPage))) { | |
411 | + return null; | |
412 | + } | |
413 | + return locationPage; | |
414 | + } | |
415 | + return null; | |
416 | + } | |
417 | + | |
418 | + @Override | |
399 | 419 | public boolean havaContainerCodeInLocation(String containerCode, String locationCode, String warehouseCode) { |
400 | 420 | LambdaQueryWrapper<Location> locationLambdaQueryWrapper = Wrappers.lambdaQuery(); |
401 | 421 | locationLambdaQueryWrapper.eq(Location::getContainerCode, containerCode).ne(Location::getCode, locationCode).eq(Location::getWarehouseCode, warehouseCode); |
... | ... |