个人资源与分享网站:http://xiaocaoshare.com/
1.自定义类
@Data
public class ContractAttachDto {
private String contractNo;
private String houseBillNo;
private String fileName;
private String houseName;
private List<String> url=new ArrayList<>();
}
2.dao接口
@Query(value="SELECT h.contract_no,s.file_name,h.house_name from system_sys_attachment s,hb_contract_out h where h.id=s.src_bill_no and not h.contract_no like '%PRE%' and h.contract_end_type is null and s.src_type='HB_CONTRACT_OUT'",nativeQuery=true)
List<Object[]> findAllByAttact();
3.控制器
@ApiOperation(value="查询所有的线下出房合同")
@GetMapping("findAllHbContractOut")
public ErrorObject findAllHbContractOut() {
ErrorObject error=new ErrorObject();
Map<String, ContractAttachDto> map=new HashMap<>();
List<ContractAttachDto> dtoList=new ArrayList<ContractAttachDto>();
List<ContractAttachDto> list2=new ArrayList<ContractAttachDto>();
List<Object[]> objectList=hbContractOutService.findAllByAttact();
for (Object[] objects : objectList) {
ContractAttachDto dto=new ContractAttachDto();
dto.setContractNo(objects[0]+"");
dto.setHouseBillNo(objects[1]+"");
dto.setFileName(objects[2]+"");
dto.setHouseName(objects[3]+"");
dtoList.add(dto);
}
for (ContractAttachDto dto : dtoList) {
if(map.containsKey(dto.getContractNo())) {
List<String> urls=map.get(dto.getContractNo()).getUrl();
urls.add("/upload/viewImg/"+dto.getFileName());
dto.setUrl(urls);
map.put(dto.getContractNo(), dto);
}else {
List<String> urls=new ArrayList<>();
urls.add("/upload/viewImg/"+dto.getFileName());
dto.setUrl(urls);
map.put(dto.getContractNo(), dto);
}
}
for(Map.Entry<String, ContractAttachDto> entry:map.entrySet()) {
list2.add(entry.getValue());
}
error.setMap(UtilPublic.toModelMap(list2));
return error;
}