import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; @Service public class HouseReServiceImpl implements HouseReService { Logger log = LoggerFactory.getLogger(HouseReServiceImpl.class); @Resource HouseReMapper houseReMapper;
@Override public Result<PageInfo<HouseRe>> selectByPage(Integer pageNo, Integer pageSize, String codeName, String startDate, String endDate, String disasterType, String eventName) { long begin = System.currentTimeMillis(); pageNo = pageNo == null || pageNo < 1 ? 1 :pageNo; pageSize = pageSize == null || pageSize < 1 ? 10 :pageSize; PageHelper.startPage(pageNo, pageSize); List<HouseRe> houseRes = houseReMapper.selectByPage(codeName, startDate, endDate, disasterType, eventName); List<HouseRe> list = new ArrayList<>(); if(houseRes != null && houseRes.size()>0){ for(int i=0; i<houseRes.size(); i++){ HouseRe h = houseRes.get(i); list.add(getNewObj(h)); } } PageInfo<HouseRe> pageInfo = new PageInfo<>(houseRes); log.info("耗时->{}ms", System.currentTimeMillis() - begin); return Result.build(pageInfo); }
private HouseRe getNewObj(HouseRe h){ try { h.setDisasterTypeName(getImplCode("getDisasterName", h.getDisasterType())); String percentStr = "0%"; Integer sn = 0; Integer fn = 0; Integer cn = 0; if(h.getHouseStartworkNums() != null){ sn = h.getHouseStartworkNums(); } if(h.getHouseFinishNums() != null){ fn = h.getHouseFinishNums(); } if(h.getHouseCompletedNums() != null){ cn = h.getHouseCompletedNums(); } Integer allNums = sn + fn + cn; if(allNums == 0){ h.setStartPercent(percentStr); h.setFinishPercent(percentStr); h.setCompletePercent(percentStr); }else { percentStr = 100*sn / allNums + "%"; h.setStartPercent(percentStr); percentStr = 100*fn / allNums + "%"; h.setFinishPercent(percentStr); percentStr = 100*cn / allNums + "%"; h.setCompletePercent(percentStr); } BigDecimal af = new BigDecimal(0.0); BigDecimal uf = new BigDecimal(0.0); if(h.getAllocateFunds() != null){ af = h.getAllocateFunds(); } if(h.getUsedFunds() != null){ uf = h.getUsedFunds(); } h.setRemainFunds(af.subtract(uf)); } catch (NoSuchMethodException e) { log.error(String.valueOf(e)); } catch (InvocationTargetException e) { log.error(String.valueOf(e)); } catch (IllegalAccessException e) { log.error(String.valueOf(e)); } catch (ClassNotFoundException e) { log.error(String.valueOf(e)); } catch (InstantiationException e) { log.error(String.valueOf(e)); } return h; }