| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- package cn.com.goldenwater.dcproj.service.impl.wdtst;
- import cn.com.goldenwater.core.service.AbstractCrudService;
- import cn.com.goldenwater.dcproj.constValue.SplitValue;
- import cn.com.goldenwater.dcproj.dao.BisInspPblmDao;
- import cn.com.goldenwater.dcproj.dao.BisInspWtdstDao;
- import cn.com.goldenwater.dcproj.dto.BisInspWtdstDetailDto;
- import cn.com.goldenwater.dcproj.model.BisInspPblm;
- import cn.com.goldenwater.dcproj.model.BisInspWtdst;
- import cn.com.goldenwater.dcproj.param.BisInspPblmParam;
- import cn.com.goldenwater.dcproj.param.BisInspWtdstDtoListParam;
- import cn.com.goldenwater.dcproj.param.BisInspWtdstParam;
- import cn.com.goldenwater.dcproj.service.BisInspWtdstService;
- import cn.com.goldenwater.dcproj.utils.BeanUtil;
- import cn.com.goldenwater.dcproj.utils.Builder;
- import cn.com.goldenwater.dcproj.utils.DateUtils;
- import cn.com.goldenwater.dcproj.utils.GeoUtil;
- 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;
- /**
- * <<<<<<< .mine
- *
- * @author lune
- * @author lune
- * @author zhengdafei
- * @date 2019-2-21
- * ||||||| .r1149
- * @date 2019-2-18
- * =======
- * @date 2019-2-21
- * >>>>>>> .r1206
- */
- @Service
- @Transactional(rollbackFor = Exception.class)
- public class BisInspWtdstServiceImpl extends AbstractCrudService<BisInspWtdst, BisInspWtdstParam> implements BisInspWtdstService {
- @Autowired
- private BisInspWtdstDao bisInspWtdstDao;
- @Autowired
- BisInspPblmDao bisInspPblmDao;
- public BisInspWtdstServiceImpl(BisInspWtdstDao bisInspWtdstDao) {
- super(bisInspWtdstDao);
- this.bisInspWtdstDao = bisInspWtdstDao;
- }
- @Override
- public String add(BisInspWtdst p) throws Exception {
- String uuid = UuidUtil.uuid();
- String now = DateUtils.getTodayYMDHMS();
- p.setIntm(new Date());
- p.setUptm(new Date());
- p.setWtdstId(uuid);
- transferGeo(p);
- bisInspWtdstDao.insert(p);
- return uuid;
- }
- @Override
- public int modify(BisInspWtdst p) throws Exception {
- String now = DateUtils.getTodayYMDHMS();
- p.setUptm(new Date());
- transferGeo(p);
- int ret = bisInspWtdstDao.update(p);
- return ret;
- }
- public void transferGeo(BisInspWtdst p) {
- String src = p.getSrc();
- if (StringUtils.isNotBlank(src)) {
- if ("PC".equalsIgnoreCase(src)) {
- if (p.getWtdstLgtd() != null && p.getWtdstLttd() != null) {
- Map<String, Double> map = GeoUtil.wgs84togcj02(p.getWtdstLgtd(), p.getWtdstLttd());
- p.setCenterXGd(map.get("lon"));
- p.setCenterYGd(map.get("lat"));
- }
- } else if ("MOBILE".equalsIgnoreCase(src)) {
- if (p.getCenterXGd() != null && p.getCenterYGd() != null) {
- Map<String, Double> map = GeoUtil.gcj02towgs84(p.getCenterXGd(), p.getCenterYGd());
- p.setWtdstLgtd(map.get("lon"));
- p.setWtdstLttd(map.get("lat"));
- }
- }
- } else {
- if (p.getWtdstLgtd() != null && p.getWtdstLttd() != null) {
- Map<String, Double> map = GeoUtil.wgs84togcj02(p.getWtdstLgtd(), p.getWtdstLttd());
- p.setCenterXGd(map.get("lon"));
- p.setCenterYGd(map.get("lat"));
- } else if (p.getCenterXGd() != null && p.getCenterYGd() != null) {
- Map<String, Double> map = GeoUtil.gcj02towgs84(p.getCenterXGd(), p.getCenterYGd());
- p.setWtdstLgtd(map.get("lon"));
- p.setWtdstLttd(map.get("lat"));
- }
- }
- }
- @Override
- public PageInfo<BisInspWtdst> queryListByPage(BisInspWtdstParam p) {
- PageHelper.startPage(p.getPageNum(), p.getPageSize());
- List<BisInspWtdst> list = bisInspWtdstDao.findList(p);
- return new PageInfo<BisInspWtdst>(list);
- }
- @Override
- public List<BisInspWtdst> queryList(BisInspWtdstParam p) {
- return bisInspWtdstDao.findList(p);
- }
- @Override
- public PageInfo<BisInspWtdstDetailDto> queryListWithPblm(BisInspWtdstDtoListParam p) {
- if (StringUtils.isNotBlank(p.getLocAd())) {
- p.setLocAd(p.getLocAd().substring(0, 2));
- }
- PageHelper.startPage(p.getPageNum(), p.getPageSize());
- List<BisInspWtdstDetailDto> list = bisInspWtdstDao.findDtoList(p);
- for (BisInspWtdstDetailDto dto : list) {
- List<BisInspPblm> pblms = bisInspPblmDao.findList(Builder.of(BisInspPblmParam::new).with(BisInspPblmParam::setObjId, dto.getObjId()).build());
- dto.setList(pblms);
- dto.setProblmNum(pblms.size());
- String adFullName = dto.getAdFullName();
- if (StringUtils.isBlank(adFullName)) {
- continue;
- }
- if (adFullName.contains(SplitValue.HENG_SPLIT)) {
- String[] split = adFullName.split(SplitValue.HENG_SPLIT);
- if (split.length == 3) {
- dto.setProvince(split[0]);
- dto.setCity(split[1]);
- dto.setCounty(split[2]);
- }
- if (split.length == 2) {
- dto.setProvince(split[0]);
- dto.setCity(split[1]);
- dto.setCounty("");
- }
- } else {
- dto.setProvince(adFullName);
- }
- }
- return new PageInfo<>(list);
- }
- @Override
- public void queryListWithPblmExport(BisInspWtdstDtoListParam p, HttpServletResponse response) {
- if (StringUtils.isNotBlank(p.getLocAd())) {
- p.setLocAd(p.getLocAd().substring(0, 2));
- }
- List<BisInspWtdstDetailDto> list = bisInspWtdstDao.findDtoList(p);
- list.forEach(x -> {
- List<BisInspPblm> pblms = bisInspPblmDao.findList(Builder.of(BisInspPblmParam::new).with(BisInspPblmParam::setObjId, x.getObjId()).build());
- x.setList(pblms);
- x.setProblmNum(pblms.size());
- });
- List<String> columns = new ArrayList<>();
- columns.add("province");
- columns.add("city");
- columns.add("county");
- columns.add("chkCom");
- columns.add("groupNm");
- columns.add("intm");
- columns.add("wtdstNm");
- columns.add("state");
- columns.add("wtdstType");
- columns.add("locNm");
- columns.add("wtdstWrkam");
- columns.add("wkstate");
- columns.add("planTm");
- columns.add("problmNum");
- columns.add("note");
- ExportUtil.exportExcel(list, response, "水毁修复项目暗访情况表", columns, BisInspWtdstDetailDto.class);
- }
- @Override
- public PageInfo<BisInspWtdst> getListBy(BisInspWtdstParam param) {
- return null;
- }
- @Override
- public void exportBisInspWtdst(BisInspWtdstParam bisInspWtdstParam, HttpServletResponse response) {
- List<BisInspWtdst> list = new ArrayList<>();
- list = bisInspWtdstDao.findList(bisInspWtdstParam);
- List<Map<String, Object>> mapList = new ArrayList<>();
- for (BisInspWtdst bisInspWtdst : list) {
- String wtdstState = bisInspWtdst.getWtdstState();
- if ("0".equals(wtdstState) || "2".equals(wtdstState)) {
- bisInspWtdst.setWtdstState("未修复");
- } else if ("1".equals(wtdstState)) {
- bisInspWtdst.setWtdstState("已修复");
- }
- mapList.add(BeanUtil.transBean2Map(bisInspWtdst));
- }
- 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("wtdstNm[项目名称]");
- cols.add("locNm[项目所在位置]");
- cols.add("objType[水毁类别]");
- cols.add("wtdstDtle[水毁情况]");
- cols.add("wtdstState[修复状态]");
- cols.add("wtdstWrkam[主要工作量]");
- cols.add("planRcvrTm[计划修复日期]");
- cols.add("uptm[最后更新时间]");
- cols.add("note[备注]");
- 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();
- }
- }
- /**
- * 批量设置是否省属 1是2否
- *
- * @param bisInspWtdstParam
- * @return
- */
- @Override
- public int updateBatchProvincial(BisInspWtdstParam bisInspWtdstParam) {
- return bisInspWtdstDao.updateBatchProvincial(bisInspWtdstParam);
- }
- }
|