public Page<ConsignmentV> getList(String orgFirstId,String orgSecondId, String beginDate,String endDate,Integer page, Integer size,Integer status,String state) {
Specification<ConsignmentV> specification = new Specification<ConsignmentV>() {
@Override
public Predicate toPredicate(Root<ConsignmentV> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
List<Predicate> predicateList = new ArrayList<>();
//-----------------这两种都可以
// Expression<String> exp = root.<String>get("state");
// String strs[] = state.split(",");
// List<String> lds = Arrays.asList(strs);
// if( lds != null || lds.size() > 0 ) predicateList.add(exp.in(lds));
String strs[] = state.split(",");
CriteriaBuilder.In<String> in = criteriaBuilder.in(root.get("state"));
for (String id : strs) {
in.value(id);
}
predicateList.add(in);
// predicateList.add(criteriaBuilder.equal(root.get("orgFirstId").as(String.class),groupId ));
if (StringUtils.isNotBlank(orgFirstId)) {
predicateList.add(criteriaBuilder.equal(root.get("orgFirstId").as(String.class),orgFirstId ));
}
if (StringUtils.isNotBlank(orgSecondId)) {
predicateList.add(criteriaBuilder.equal(root.get("orgSecondId").as(String.class),orgSecondId ));
}
if (StringUtils.isNotBlank(beginDate) ) {
predicateList.add(criteriaBuilder.greaterThanOrEqualTo(root.get("beginDate").as(String.class), beginDate));
}
if (StringUtils.isNotBlank(endDate) ) {
predicateList.add(criteriaBuilder.lessThanOrEqualTo(root.get("endDate").as(String.class), endDate));
}
if (status != null ) {
predicateList.add(criteriaBuilder.equal(root.get("status").as(Integer.class), status));
}
return criteriaBuilder.and(predicateList.toArray(new Predicate[predicateList.size()]));
}
};
PageRequest pageRequest = PageRequest.of(page, size, Sort.by(Sort.Direction.DESC, "id"));
Page<ConsignmentV> all = consignmentVRespository.findAll(specification, pageRequest);
List<ConsignmentV> list = all.getContent();
for (ConsignmentV obj : list) {
//查用户服务是到服务商名称和手,后续接口可以返回多条数据,而不是一条条返回
// R r = userClient.getOrgAndCreateUser(obj.getOrgSecondId());
// UserInfoDto userInfoDto = JSON.parseObject(JSON.toJSONString(r.get("data")),UserInfoDto.class);
UserInfoDto userInfoDto = userServer.getOrgAndCreateUser(obj.getOrgSecondId()).getData();
obj.setOrgName(userInfoDto.getOrgName());
obj.setName(userInfoDto.getName());
obj.setMobile(userInfoDto.getMobile());
//放协议附件id
obj.setFileId("990f7360-a3e7-4f8f-a55f-f0600a58c604");
}
return all;
}