package cn.com.goldenwater.dcproj.service.impl.wint; import cn.com.goldenwater.dcproj.dao.AttWintBaseBDao; import cn.com.goldenwater.dcproj.model.AttWintBaseB; import cn.com.goldenwater.dcproj.param.AttWintBaseBParam; import cn.com.goldenwater.dcproj.service.AttWintBaseBService; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.dcproj.utils.AdLevelUtil; import cn.com.goldenwater.dcproj.utils.expExcel.ExportUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.List; /** * @author lune * @date 2019-8-9 */ @Service @Transactional(rollbackFor = Exception.class) public class AttWintBaseBServiceImpl extends AbstractCrudService implements AttWintBaseBService { @Autowired private AttWintBaseBDao attWintBaseBDao; public AttWintBaseBServiceImpl(AttWintBaseBDao attWintBaseBDao) { super(attWintBaseBDao); this.attWintBaseBDao = attWintBaseBDao; } @Override public void exportAttWintBaseB(AttWintBaseBParam attWintBaseBParam, HttpServletResponse response) { if (StringUtils.isNotBlank(attWintBaseBParam.getAdCode())) { attWintBaseBParam.setAdCode(AdLevelUtil.SubAd(attWintBaseBParam.getAdCode()).get("subAd").toString()); } List list = attWintBaseBDao.findList(attWintBaseBParam); if (list.size() > 0) { list.forEach(attWintBaseB -> { formatObj(attWintBaseB); }); List columns = new ArrayList<>(); columns.add("id"); columns.add("wintCode"); columns.add("wainLong"); columns.add("wainLat"); columns.add("inTm"); columns.add("upTm"); columns.add("gdX"); columns.add("gdY"); ExportUtil.exportExcel(list, response, "取水口列表", columns, AttWintBaseB.class); } } private void formatObj(AttWintBaseB attWintBaseB) { if (StringUtils.isNotBlank(attWintBaseB.getWainType())) { formatWainType(attWintBaseB); } if (StringUtils.isNotBlank(attWintBaseB.getWainIntType())) { formatWainWintType(attWintBaseB); } if (StringUtils.isNotBlank(attWintBaseB.getWainWasoType())) { formatWainWasoTyp(attWintBaseB); } } private void formatWainWasoTyp(AttWintBaseB attWintBaseB) { switch (attWintBaseB.getWainWasoType()) { case "1": attWintBaseB.setWainWasoType("河道内的水库"); break; case "2": attWintBaseB.setWainWasoType("湖泊"); break; case "3": attWintBaseB.setWainWasoType("河流"); break; case "4": attWintBaseB.setWainWasoType("跨省引调水工程"); break; case "9": attWintBaseB.setWainWasoType("其他"); break; } } private void formatWainWintType(AttWintBaseB attWintBaseB) { switch (attWintBaseB.getWainIntType()) { case "1": attWintBaseB.setWainIntType("渠道"); break; case "2": attWintBaseB.setWainIntType("人工河道"); break; case "3": attWintBaseB.setWainIntType("虹吸管"); break; case "4": attWintBaseB.setWainIntType("泵站"); break; case "5": attWintBaseB.setWainIntType("闸"); break; case "6": attWintBaseB.setWainIntType("从江河湖泊饮水的水库"); break; case "7": attWintBaseB.setWainIntType("其他"); break; } } private void formatWainType(AttWintBaseB attWintBaseB) { switch (attWintBaseB.getWainType()) { case "1": attWintBaseB.setWainType("单一用户取水口"); break; case "2": attWintBaseB.setWainType("多用户公用取水口"); break; } } }