public Map<String, Object> getAssetInventory(AssetInventoryDto dto, PageableDto pageableDto) {
Pageable pageable = PageRequest.of(pageableDto.getPage() - 1, pageableDto.getSize(), Sort.Direction.DESC,
"createTimestamp");
AssetInventoryModel assetInventoryModel = new AssetInventoryModel();
UserInfoDto userInfoDto = ((SpringSecureUserInfo) MineSecureUtility.currentUser()).getUserInfo();
assetInventoryModel.setCreateId(userInfoDto.getId());
//Sort.Order order = new Sort.Order(Sort.Direction.DESC, "").nullsFirst();//空值放前面
ExampleMatcher matcher = ExampleMatcher.matching().withIgnorePaths("inventoryLoss").withIgnorePaths("quantity")
.withIgnorePaths("inventoryProfit")// 忽略属性:是否关注。因为是基本类型,需要忽略掉
.withMatcher("inventoryRunningNum", GenericPropertyMatchers.contains())// 全部模糊查询,即%{inventoryRunningNum}%
.withMatcher("inventoryName", GenericPropertyMatchers.contains());
if (!VGUtility.isEmpty(dto.getInventoryRunningNum())) {
assetInventoryModel.setInventoryRunningNum(dto.getInventoryRunningNum());
}
if (!VGUtility.isEmpty(dto.getInventoryName())) {
assetInventoryModel.setInventoryName(dto.getInventoryName());
}
if (!VGUtility.isEmpty(dto.getInventoryStatusStr())) {
assetInventoryModel
.setInventoryStatus(INVENTORY_CHECK.values()[Integer.parseInt(dto.getInventoryStatusStr())]);
}
Example<AssetInventoryModel> example = Example.of(assetInventoryModel, matcher);
Page<AssetInventoryModel> list = assetInventoryDao.findAll(example, pageable);
List<AssetInventoryDto> dtolist = new ArrayList<AssetInventoryDto>();
list.getContent().stream().forEach(e -> {
dtolist.add(convertAssetInventoryModelToDto(e));
});
Map<String, java.lang.Object> map = new HashMap<String, java.lang.Object>();
long total = list.getTotalElements();
map.put("total", total);
map.put("rows", dtolist);
return map;
}