| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217 |
- package cn.com.goldenwater.dcproj.service.impl.rsvr;
- import cn.com.goldenwater.core.service.AbstractCrudService;
- import cn.com.goldenwater.dcproj.constValue.SplitValue;
- import cn.com.goldenwater.dcproj.dao.AttRsBaseDao;
- import cn.com.goldenwater.dcproj.dto.RsCountDto;
- import cn.com.goldenwater.dcproj.model.AttRsBase;
- import cn.com.goldenwater.dcproj.param.AttRsBaseParam;
- import cn.com.goldenwater.dcproj.service.AttRsBaseService;
- import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
- import cn.com.goldenwater.dcproj.utils.BeanUtil;
- import cn.com.goldenwater.dcproj.utils.GeoUtil;
- import cn.com.goldenwater.dcproj.utils.expExcel.ExcelExport;
- import cn.com.goldenwater.dcproj.utils.expExcel.ExportAbstract;
- import org.apache.commons.lang3.StringUtils;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- 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;
- import java.util.Map;
- /**
- * @author lune
- * @date 2019-2-25
- */
- @Service
- @Transactional(rollbackFor = Exception.class)
- public class AttRsBaseServiceImpl extends AbstractCrudService<AttRsBase, AttRsBaseParam> implements AttRsBaseService {
- @Autowired
- private AttRsBaseDao attRsBaseDao;
- private Logger logger = LoggerFactory.getLogger(getClass());
- public AttRsBaseServiceImpl(AttRsBaseDao attRsBaseDao) {
- super(attRsBaseDao);
- this.attRsBaseDao = attRsBaseDao;
- }
- @Override
- public String findMax(String location) {
- return attRsBaseDao.findMax(location);
- }
- @Override
- public AttRsBase getObjId(String objId) {
- return attRsBaseDao.getObjId(objId);
- }
- @Override
- public int selectCount(AttRsBase attRsBase) {
- return attRsBaseDao.selectCount(attRsBase);
- }
- @Override
- public List<RsCountDto> getRsCountByAdCode(String adCode, String adGrad, String objType) {
- Map<String, Object> map = AdLevelUtil.subAdByGrad(adGrad);
- if ("000000000000".equals(adCode)) {
- adCode = "";
- }
- List<RsCountDto> rsAllList = this.attRsBaseDao.getRsCountByGrad(map.get("sub").toString(), map.get("con").toString(), adGrad, adCode, objType);
- return rsAllList;
- }
- @Override
- public List<AttRsBase> getRsListByNodeIdsAndAdCodes(String nodeIds, String adCodes, String persGuid, String pType) {
- if (StringUtils.isNotBlank(nodeIds)) {
- String[] nodes = nodeIds.split(SplitValue.DOUHAO_SPLIT);
- if (StringUtils.isNotBlank(adCodes)) {
- String[] ads = adCodes.split(SplitValue.DOUHAO_SPLIT);
- //处理ads中的参数
- ArrayList<String> adss = new ArrayList<>();
- for (String ad : ads) {
- String delAd = AdLevelUtil.getAllLowerLevelAdCode(ad);
- adss.add(delAd);
- }
- return attRsBaseDao.getRsListByNodeIdsAndAdCodes(nodes, adss.toArray(), persGuid, pType);
- } else {
- return attRsBaseDao.getRsListByNodeIdsAndAdCodes(nodes, null, persGuid, pType);
- }
- } else {
- if (StringUtils.isNotBlank(adCodes)) {
- String[] ads = adCodes.split(SplitValue.DOUHAO_SPLIT);
- //处理ads中的参数
- ArrayList<String> adss = new ArrayList<>();
- for (String ad : ads) {
- String delAd = AdLevelUtil.getAllLowerLevelAdCode(ad);
- adss.add(delAd);
- }
- return attRsBaseDao.getRsListByNodeIdsAndAdCodes(null, adss.toArray(), persGuid, pType);
- } else {
- return attRsBaseDao.getRsListByNodeIdsAndAdCodes(null, null, persGuid, pType);
- }
- }
- }
- @Override
- public List<AttRsBase> findRsList(AttRsBaseParam rsBaseParam) {
- return attRsBaseDao.findRsList(rsBaseParam);
- }
- @Override
- public void exportAttRsBase(AttRsBaseParam attRsBaseParam, HttpServletResponse response) {
- List<AttRsBase> list = attRsBaseDao.findRsList(attRsBaseParam);
- List<Map<String, Object>> mapList = new ArrayList<>();
- for (AttRsBase attRsBase : list) {
- if ("1".equals(attRsBase.getRsType())) {
- attRsBase.setRsType("山丘水库");
- } else if ("2".equals(attRsBase.getRsType())) {
- attRsBase.setRsType("平原水库");
- } else if ("3".equals(attRsBase.getRsType())) {
- attRsBase.setRsType("地下水库");
- } else {
- attRsBase.setRsType("其他");
- }
- if ("1".equals(attRsBase.getEngScal())) {
- attRsBase.setEngScal("大(1)型");
- } else if ("2".equals(attRsBase.getEngScal())) {
- attRsBase.setEngScal("大(2)型");
- } else if ("3".equals(attRsBase.getEngScal())) {
- attRsBase.setEngScal("中型");
- } else if ("4".equals(attRsBase.getEngScal())) {
- attRsBase.setEngScal("小(1)型");
- } else if ("5".equals(attRsBase.getEngScal())) {
- attRsBase.setEngScal("小(2)型");
- } else if ("9".equals(attRsBase.getEngScal())) {
- attRsBase.setEngScal("其他");
- }
- mapList.add(BeanUtil.transBean2Map(attRsBase));
- }
- ExportAbstract export = new ExcelExport();
- export.setFileName("水库信息列表");
- export.setExport_ps_export(true);
- export.setExport_ps_type(ExportAbstract.XLS);
- export.setExport_bzip(false);
- export.setTitle("水库信息列表");
- ArrayList<Object> cols = new ArrayList<Object>();
- cols.add("rsCode[水库编码]");
- cols.add("rsName[水库名称]");
- cols.add("rsType[水库类型]");
- cols.add("rsAdmCode[管理单位代码]");
- cols.add("rsAdmName[管理单位名称]");
- cols.add("admDiv[行政区划]");
- cols.add("engScal[工程规模]");
- cols.add("limStag[防洪限制水位(米)]");
- cols.add("totCap[总库容(万立方米)]");
- cols.add("damSizeHig[主坝尺寸坝高(米)]");
- cols.add("wiunWaoLegPers[行政责任人姓名]");
- cols.add("wiunWaoLegPersTel[行政责任人电话]");
- cols.add("wiunWaoLegPersDuty[行政责任人职务]");
- cols.add("techPers[技术责任人姓名]");
- cols.add("techPersTel[技术责任人电话]");
- cols.add("techPersDuty[技术责任人职务]");
- cols.add("patrolPers[巡查责任人姓名]");
- cols.add("patrolPersTel[巡查责任人电话]");
- cols.add("patrolPersDuty[巡查责任人职务]");
- 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();
- }
- }
- @Override
- public List<AttRsBase> findEqRsList(AttRsBaseParam rsBaseParam) {
- return attRsBaseDao.findEqRsList(rsBaseParam);
- }
- @Override
- public void updateCenteXToGd() {
- //获取经 经纬度不为空 另外的高德纬度为空 的水库基本信息
- List<AttRsBase> attRsBases = attRsBaseDao.findGdIsNull();
- //循环转换
- for (AttRsBase item : attRsBases
- ) {
- if (null != item.getCenterX() && null != item.getCenterY() && null == item.getCenterXGd() && null == item.getCenterYGd()) {
- //执行转换
- Map<String, Double> map = GeoUtil.wgs84togcj02(Double.parseDouble(item.getCenterX()), Double.parseDouble(item.getCenterY()));
- //更新字段
- AttRsBase attRsBase = new AttRsBase();
- attRsBase.setCenterXGd(map.get("lon").toString());
- attRsBase.setCenterYGd(map.get("lat").toString());
- attRsBase.setRsCode(item.getRsCode());
- attRsBaseDao.update(attRsBase);
- logger.info("---更新经纬--" + item.getRsCode() + " " + item.getRsName());
- }
- }
- }
- }
|