package cn.com.goldenwater.dcproj.service.impl.base; import cn.com.goldenwater.dcproj.dao.AttWuntBaseDao; import cn.com.goldenwater.dcproj.model.AttWuntBase; import cn.com.goldenwater.dcproj.param.AttWuntBaseParam; import cn.com.goldenwater.dcproj.service.AttWuntBaseService; 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-9-18 */ @Service @Transactional(rollbackFor = Exception.class) public class AttWuntBaseServiceImpl extends AbstractCrudService implements AttWuntBaseService { @Autowired private AttWuntBaseDao attWuntBaseDao; public AttWuntBaseServiceImpl(AttWuntBaseDao attWuntBaseDao) { super(attWuntBaseDao); this.attWuntBaseDao = attWuntBaseDao; } @Override public void exportAttWuntBase(AttWuntBaseParam attWuntBaseParam, HttpServletResponse response) { if (StringUtils.isNotBlank(attWuntBaseParam.getAdCode())){ attWuntBaseParam.setAdCode(String.valueOf(AdLevelUtil.SubAd(attWuntBaseParam.getAdCode()).get("subAd"))); } List list = attWuntBaseDao.findList(attWuntBaseParam); if (list.size() > 0) { list.forEach(attWuntBase -> { formatObj(attWuntBase); }); List columns = new ArrayList<>(); columns.add("id"); columns.add("pcX"); columns.add("pcY"); columns.add("gdX"); columns.add("gdY"); columns.add("persId"); columns.add("inTm"); columns.add("upTm"); ExportUtil.exportExcel(list, response, "用水单位列表", columns, AttWuntBase.class); } } private void formatObj(AttWuntBase attWuntBase) { if (attWuntBase == null) { return; } if (StringUtils.isNotBlank(attWuntBase.getUtType())) { formatUtType(attWuntBase); } if (StringUtils.isNotBlank(attWuntBase.getUtPpt())) { formatUtPpt(attWuntBase); } if (StringUtils.isNotBlank(attWuntBase.getTrdType())) { formatTrdType(attWuntBase); } if (StringUtils.isNotBlank(attWuntBase.getHasWrmrms())) { attWuntBase.setHasWrmrms(formatCommonHas(attWuntBase.getHasWrmrms())); } if (StringUtils.isNotBlank(attWuntBase.getIsKmwuul())) { attWuntBase.setIsKmwuul(fromatCommon(attWuntBase.getIsKmwuul())); } if (StringUtils.isNotBlank(attWuntBase.getKmwuulLev())) { formatKmwuulLev(attWuntBase); } if (StringUtils.isNotBlank(attWuntBase.getSchCla())) { formatSchCla(attWuntBase); } if (StringUtils.isNotBlank(attWuntBase.getUniCla())) { formatUniCla(attWuntBase); } if (StringUtils.isNotBlank(attWuntBase.getIsLchCwsm())) { attWuntBase.setIsLchCwsm(fromatCommon(attWuntBase.getIsLchCwsm())); } } private void formatUniCla(AttWuntBase attWuntBase) { switch (attWuntBase.getUniCla()) { case "1": attWuntBase.setUniCla("一般综合"); break; case "2": attWuntBase.setUniCla("理工"); break; case "3": attWuntBase.setUniCla("文史"); break; case "4": attWuntBase.setUniCla("艺术"); break; case "5": attWuntBase.setUniCla("体育"); break; case "6": attWuntBase.setUniCla("医科"); break; case "7": attWuntBase.setUniCla("其他"); break; } } private void formatSchCla(AttWuntBase attWuntBase) { switch (attWuntBase.getSchCla()) { case "1": attWuntBase.setSchCla("高校"); break; case "2": attWuntBase.setSchCla("中小学校"); break; } } private void formatKmwuulLev(AttWuntBase attWuntBase) { switch (attWuntBase.getKmwuulLev()) { case "1": attWuntBase.setKmwuulLev("国家级"); break; case "2": attWuntBase.setKmwuulLev("省级"); break; case "3": attWuntBase.setKmwuulLev("市级"); break; } } private String fromatCommon(String isKmwuul) { switch (isKmwuul) { case "1": return "是"; case "2": return "否"; } return ""; } private String formatCommonHas(String hasWrmrms) { switch (hasWrmrms) { case "1": return "有"; case "2": return "无"; } return ""; } private void formatTrdType(AttWuntBase attWuntBase) { switch (attWuntBase.getTrdType()){ case "1": attWuntBase.setTrdType("工业企业"); break; case "2": attWuntBase.setTrdType("宾馆"); break; case "3": attWuntBase.setTrdType("其他"); break; } } private void formatUtPpt(AttWuntBase attWuntBase) { switch (attWuntBase.getUtPpt()) { case "1": attWuntBase.setUtPpt("节水型"); break; case "2": attWuntBase.setUtPpt("非节水型"); break; } } private void formatUtType(AttWuntBase attWuntBase) { switch (attWuntBase.getUtType()) { case "1": attWuntBase.setUtType("企业"); break; case "2": attWuntBase.setUtType("机关"); break; case "3": attWuntBase.setUtType("学校"); break; } } }