package cn.com.goldenwater.dcproj.service.impl.jskejian; import cn.com.goldenwater.dcproj.constValue.BisInspEnum; import cn.com.goldenwater.dcproj.constValue.SplitValue; import cn.com.goldenwater.dcproj.dao.AttJskejianFlkdisBaseDao; import cn.com.goldenwater.dcproj.dao.AttJskejianFlkdisRgstrDao; import cn.com.goldenwater.dcproj.dao.BisInspAllObjDao; import cn.com.goldenwater.dcproj.dao.BisInspPblmDao; import cn.com.goldenwater.dcproj.dto.AttJskejianFlkdisRgstrDto; import cn.com.goldenwater.dcproj.dto.BisInspRgstrDto; import cn.com.goldenwater.dcproj.model.AttJskejianFlkdisBase; import cn.com.goldenwater.dcproj.model.AttJskejianFlkdisRgstr; import cn.com.goldenwater.dcproj.model.BisInspAllObj; import cn.com.goldenwater.dcproj.param.AttJskejianFlkdisRgstrParam; import cn.com.goldenwater.dcproj.param.BisInspPblmParam; import cn.com.goldenwater.dcproj.param.TypeParam; import cn.com.goldenwater.dcproj.service.AttJskejianFlkdisRgstrService; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.dcproj.service.BisInspObjStrategy; import cn.com.goldenwater.dcproj.utils.AdLevelUtil; import cn.com.goldenwater.dcproj.utils.FormatFieldUtil; import cn.com.goldenwater.dcproj.utils.GeoUtil; 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.Date; import java.util.List; import java.util.Map; import static cn.com.goldenwater.dcproj.constValue.BisInspObjEnum.JSFL; import static cn.com.goldenwater.dcproj.utils.expExcel.ExportUtil.COMMONLIST_AND_OPEN_ANNOTATION; /** * @author lune * @date 2019-12-13 */ @Service @Transactional public class AttJskejianFlkdisRgstrServiceImpl extends AbstractCrudService implements AttJskejianFlkdisRgstrService,BisInspObjStrategy { @Autowired private AttJskejianFlkdisRgstrDao attJskejianFlkdisRgstrDao; @Autowired private AttJskejianFlkdisBaseDao jskejianFlkdisBaseDao; @Autowired private BisInspAllObjDao bisInspAllObjDao; @Autowired private BisInspPblmDao bisInspPblmDao; public AttJskejianFlkdisRgstrServiceImpl(AttJskejianFlkdisRgstrDao attJskejianFlkdisRgstrDao) { super(attJskejianFlkdisRgstrDao); this.attJskejianFlkdisRgstrDao = attJskejianFlkdisRgstrDao; } @Override public PageInfo findJsflPage(TypeParam typeParam, HttpServletResponse response) { if (StringUtils.isNotBlank(typeParam.getAdCode())) { typeParam.setAdCode(String.valueOf(AdLevelUtil.SubAd(typeParam.getAdCode()).get(SplitValue.SUBAD))); } if ("1".equals(typeParam.getIsExport())) { ExportUtil.exportExcel( attJskejianFlkdisRgstrDao.findJsflPage(typeParam), response,"河湖四乱核查"); } PageHelper.startPage(typeParam); List list = attJskejianFlkdisRgstrDao.findJsflPage(typeParam); list=changeList(list); return new PageInfo(list); } @Override public List findJsflList(TypeParam typeParam) { if (StringUtils.isNotBlank(typeParam.getAdCode())) { typeParam.setAdCode(String.valueOf(AdLevelUtil.SubAd(typeParam.getAdCode()).get(SplitValue.SUBAD))); } List list = attJskejianFlkdisRgstrDao.findJsflPage(typeParam); return changeList(list); } @Override public PageInfo findPcJsflPage(AttJskejianFlkdisRgstrParam attJskejianFlkdisRgstrParam) { PageHelper.startPage(attJskejianFlkdisRgstrParam); List list = attJskejianFlkdisRgstrDao.findPcJsflPage(attJskejianFlkdisRgstrParam); if (list.size() > 0) { for (AttJskejianFlkdisRgstrDto b : list) { // 添加省、市、县 if (b.getAdFullName() != null) { if (b.getAdFullName().contains(SplitValue.HENG_SPLIT)) { String[] split = b.getAdFullName().split(SplitValue.HENG_SPLIT); if (split.length == 3) { b.setProvince(split[0]); b.setCity(split[1]); b.setCounty(split[2]); } if (split.length == 2) { b.setProvince(split[0]); b.setCity(split[1]); b.setCounty(""); } } else { b.setProvince(b.getAdFullName()); } } } } return new PageInfo(list); } @Override public void findPcPageExport(AttJskejianFlkdisRgstrParam attJskejianFlkdisRgstrParam,HttpServletResponse response) { List result = attJskejianFlkdisRgstrDao.findPcJsflPage(attJskejianFlkdisRgstrParam); result.forEach(x -> { x.setState(FormatFieldUtil.commonStateFormat(x.getState())); x.setPtype(JSFL.getDesc()); x.setPblmType(FormatFieldUtil.commonPblmTypeFormat(x.getPblmType())); }); ExportUtil.exportExcel(result, response, "河湖四乱督查登记列表", COMMONLIST_AND_OPEN_ANNOTATION, AttJskejianFlkdisRgstrDto.class); } private List changeList(List list){ if (list.size() > 0) { for (BisInspRgstrDto rgstrDto : list) { String adFullName = rgstrDto.getAdName(); if(StringUtils.isBlank(adFullName)){ continue; } if (adFullName.contains(SplitValue.HENG_SPLIT)) { String[] split = adFullName.split(SplitValue.HENG_SPLIT); if (split.length == 3) { rgstrDto.setProvince(split[0]); rgstrDto.setCity(split[1]); rgstrDto.setCountry(split[2]); } if (split.length == 2) { rgstrDto.setProvince(split[0]); rgstrDto.setCity(split[1]); rgstrDto.setCountry(""); } } else { rgstrDto.setProvince(adFullName); } } } return list; } @Override public void insertObj(BisInspAllObj bisInspAllObj, String persId) { AttJskejianFlkdisBase jskejianFlkdisBase = jskejianFlkdisBaseDao.get(bisInspAllObj.getCode()); AttJskejianFlkdisRgstr jskejianFlkdisRgstr = new AttJskejianFlkdisRgstr(); jskejianFlkdisRgstr.setId(UuidUtil.uuid()); jskejianFlkdisRgstr.setAdCode(jskejianFlkdisBase.getAdCode()); jskejianFlkdisRgstr.setAdName(jskejianFlkdisBase.getAdName()); if (jskejianFlkdisBase.getGdX() != null && jskejianFlkdisBase.getGdY() != null) { Map params = GeoUtil.gcj02towgs84(jskejianFlkdisBase.getGdX(), jskejianFlkdisBase.getGdY()); jskejianFlkdisRgstr.setCenterX(params.get("lon")); jskejianFlkdisRgstr.setCenterY(params.get("lat")); } jskejianFlkdisRgstr.setContRvonNameDuty(jskejianFlkdisBase.getContRvonNameDuty()); jskejianFlkdisRgstr.setGdX(jskejianFlkdisBase.getGdX()); jskejianFlkdisRgstr.setGdY(jskejianFlkdisBase.getGdY()); jskejianFlkdisRgstr.setProvince(bisInspAllObj.getProvince()); jskejianFlkdisRgstr.setGroupId(bisInspAllObj.getId()); jskejianFlkdisRgstr.setObjId(bisInspAllObj.getObjId()); jskejianFlkdisRgstr.setIntm(new Date()); jskejianFlkdisRgstr.setUptm(new Date()); jskejianFlkdisRgstr.setLocation(jskejianFlkdisBase.getLocation()); jskejianFlkdisRgstr.setName(jskejianFlkdisBase.getName()); jskejianFlkdisRgstr.setPersId(persId); jskejianFlkdisRgstr.setState("0"); jskejianFlkdisRgstr.setTownRvonNameDuty(jskejianFlkdisBase.getTownRvonNameDuty()); jskejianFlkdisRgstr.setVilgRvonNameDuty(jskejianFlkdisBase.getVilgRvonNameDuty()); jskejianFlkdisRgstr.setPblmDesc(jskejianFlkdisBase.getPblmDesc()); jskejianFlkdisRgstr.setPblmType(jskejianFlkdisBase.getPblmType()); jskejianFlkdisRgstr.setRectConc(jskejianFlkdisBase.getRectConc()); attJskejianFlkdisRgstrDao.insert(jskejianFlkdisRgstr); } @Override public String getType() { return BisInspEnum.JSFL.getValue(); } @Override public void cleanObjData(String objId) { AttJskejianFlkdisRgstrParam param = new AttJskejianFlkdisRgstrParam(); param.setObjId(objId); List list = attJskejianFlkdisRgstrDao.findList(param); if (list.size() > 0) { String id = list.get(0).getId(); AttJskejianFlkdisRgstr rgstr = attJskejianFlkdisRgstrDao.get(id); attJskejianFlkdisRgstrDao.delete(id); BisInspPblmParam bisInspPblmParam = new BisInspPblmParam(); bisInspPblmParam.setRegid(id); bisInspPblmParam.setObjType(BisInspEnum.JSFL.getValue()); this.bisInspPblmDao.deleteBy(bisInspPblmParam); if (rgstr != null) { this.bisInspAllObjDao.delete(rgstr.getObjId()); } } } @Override public PageInfo findObjPageByType(TypeParam typeParam, HttpServletResponse response) { return findJsflPage(typeParam,response); } @Override public Object findObjListByType(TypeParam typeParam) { return findJsflList(typeParam); } }