package cn.com.goldenwater.dcproj.service.impl.waga; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.dcproj.constValue.SplitValue; import cn.com.goldenwater.dcproj.dao.AttWagaBaseDao; import cn.com.goldenwater.dcproj.dao.AttWagaRgstrDao; import cn.com.goldenwater.dcproj.model.AttWagaBase; import cn.com.goldenwater.dcproj.model.AttWagaCrrct; import cn.com.goldenwater.dcproj.model.AttWagaRgstr; import cn.com.goldenwater.dcproj.param.AttWagaBaseParam; import cn.com.goldenwater.dcproj.param.AttWagaCrrctParam; import cn.com.goldenwater.dcproj.param.AttWagaRgstrParam; import cn.com.goldenwater.dcproj.param.PersObjParam; import cn.com.goldenwater.dcproj.service.AttWagaBaseService; import cn.com.goldenwater.dcproj.service.AttWagaCrrctService; import cn.com.goldenwater.dcproj.utils.AdLevelUtil; import cn.com.goldenwater.dcproj.utils.BeanUtil; import cn.com.goldenwater.dcproj.utils.expExcel.ExcelExport; import cn.com.goldenwater.dcproj.utils.expExcel.ExportAbstract; import cn.com.goldenwater.dcproj.utils.expExcel.ExportUtil; import cn.com.goldenwater.id.util.UuidUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; 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.Date; import java.util.List; import java.util.Map; /** * @author lune * @date 2019-4-22 */ @Service @Transactional(rollbackFor = Exception.class) public class AttWagaBaseServiceImpl extends AbstractCrudService implements AttWagaBaseService { @Autowired private AttWagaBaseDao attWagaBaseDao; @Autowired private AttWagaCrrctService attWagaCrrctService; @Autowired private AttWagaRgstrDao attWagaRgstrDao; public AttWagaBaseServiceImpl(AttWagaBaseDao attWagaBaseDao) { super(attWagaBaseDao); this.attWagaBaseDao = attWagaBaseDao; } @Override public void update(AttWagaCrrct attWagaBase) { AttWagaCrrctParam crrctParam = new AttWagaCrrctParam(); crrctParam.setPersId(attWagaBase.getPersId()); crrctParam.setObjCode(attWagaBase.getObjCode()); List attWagaCrrctList = attWagaCrrctService.findList(crrctParam); if (attWagaCrrctList == null || attWagaCrrctList.size() == 0) { attWagaBase.setId(UuidUtil.uuid()); attWagaCrrctService.insert(attWagaBase); } else { attWagaCrrctService.update(attWagaBase); } AttWagaRgstrParam wagaRgstrParam = new AttWagaRgstrParam(); wagaRgstrParam.setObjCode(attWagaBase.getObjCode()); wagaRgstrParam.setObjId(attWagaBase.getObjId()); wagaRgstrParam.setGroupId(attWagaBase.getGroupId()); AttWagaRgstr wagaRgstr = attWagaRgstrDao.getBy(wagaRgstrParam); if (wagaRgstr != null) { wagaRgstr.setAdCode(attWagaBase.getAdCode()); wagaRgstr.setEngScal(attWagaBase.getEngScal()); wagaRgstr.setGateAdmName(attWagaBase.getGateAdmName()); wagaRgstr.setGateFlow(attWagaBase.getGateFlow()); wagaRgstr.setGateType(attWagaBase.getGateType()); wagaRgstr.setGateName(attWagaBase.getGateName()); wagaRgstr.setGdX(attWagaBase.getGdX()); wagaRgstr.setGdY(attWagaBase.getGdY()); wagaRgstr.setLocationXiang(attWagaBase.getLocationXiang()); wagaRgstr.setLocation(attWagaBase.getLocationCun()); wagaRgstr.setBuidTimeMon(attWagaBase.getBuidTimeMon()); wagaRgstr.setBuidTimeYear(attWagaBase.getBuidTimeYear()); wagaRgstr.setStaTimeMon(attWagaBase.getStaTimeMon()); wagaRgstr.setStaTimeYear(attWagaBase.getStaTimeYear()); wagaRgstr.setEngSta(attWagaBase.getEngSta()); wagaRgstr.setObjCode(wagaRgstrParam.getObjCode()); wagaRgstr.setObjId(wagaRgstrParam.getObjId()); wagaRgstr.setGroupId(attWagaBase.getGroupId()); wagaRgstr.setGateAdmOrg(attWagaBase.getLocRvName()); wagaRgstr.setUptm(new Date()); attWagaRgstrDao.update(wagaRgstr); } } @Override public List getWagaList(PersObjParam persObjParam, HttpServletResponse response) { if (StringUtils.isNotBlank(persObjParam.getAdCode())) { persObjParam.setAdCode(AdLevelUtil.SubAd(persObjParam.getAdCode()).get(SplitValue.SUBAD).toString()); } List list = this.attWagaBaseDao.getWagaList(persObjParam); ExportUtil.exportExcel(persObjParam.getIsExport(), list, response); return list; } @Override public PageInfo getWagaPageList(PersObjParam persObjParam, HttpServletResponse response) { if (StringUtils.isNotBlank(persObjParam.getAdCode())) { persObjParam.setAdCode(AdLevelUtil.SubAd(persObjParam.getAdCode()).get(SplitValue.SUBAD).toString()); } if ("1".equals(persObjParam.getIsExport())) { ExportUtil.exportExcel(persObjParam.getIsExport(), this.attWagaBaseDao.getWagaList(persObjParam), response); } PageHelper.startPage(persObjParam); List list = this.attWagaBaseDao.getWagaList(persObjParam); PageInfo pageInfo = new PageInfo(list); return pageInfo; } @Override public PageInfo getWagaBasePageList(AttWagaBaseParam attWagaBaseParam) { PageHelper.startPage(attWagaBaseParam); List list = this.attWagaBaseDao.getWagaBaseList(attWagaBaseParam); PageInfo pageInfo = new PageInfo(list); return pageInfo; } @Override public void exportAttWagaBase(AttWagaBaseParam attWagaBaseParam, HttpServletResponse response) { List list = attWagaBaseDao.findList(attWagaBaseParam); List> mapList = new ArrayList<>(); for (AttWagaBase attWagaBase : list) { String gateType = attWagaBase.getGateType(); String engScal = attWagaBase.getEngScal(); if ("1".equals(gateType)) { attWagaBase.setGateType("分(泄)洪闸"); } else if ("2".equals(gateType)) { attWagaBase.setGateType("节制闸"); } else if ("3".equals(gateType)) { attWagaBase.setGateType("排(退)水闸"); } else if ("4".equals(gateType)) { attWagaBase.setGateType("引(进)水闸"); } else if ("5".equals(gateType)) { attWagaBase.setGateType("挡潮闸"); } else if ("9".equals(gateType)) { attWagaBase.setGateType("其他"); } if ("1".equals(engScal)) { attWagaBase.setEngScal("大型"); } else if ("2".equals(engScal)) { attWagaBase.setEngScal("中型"); } else if ("3".equals(engScal)) { attWagaBase.setEngScal("小型"); } mapList.add(BeanUtil.transBean2Map(attWagaBase)); } ExportAbstract export = new ExcelExport(); export.setFileName("水闸基础信息列表"); export.setExport_ps_export(true); export.setExport_ps_type(ExportAbstract.XLS); export.setExport_bzip(false); export.setTitle("水闸基础信息列表"); ArrayList cols = new ArrayList(); cols.add("objCode[水闸编码]"); cols.add("gateName[水闸名称]"); cols.add("gateType[水闸类型]"); cols.add("gateAdmName[管理单位名称]"); cols.add("adcd[行政区划]"); cols.add("engScal[工程规模]"); export.setCols(cols); export.setGroupable(false); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(mapList); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } /** * 更新 批量设置是否省属 * @param attWagaBaseParam * @return */ @Override public int updateBatchProvincial(AttWagaBaseParam attWagaBaseParam){ return attWagaBaseDao.updateBatchProvincial(attWagaBaseParam); } }