| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248 |
- package cn.com.goldenwater.dcproj.service.impl.prd;
- import cn.com.goldenwater.core.service.AbstractCrudService;
- import cn.com.goldenwater.dcproj.constValue.BisInspEnum;
- import cn.com.goldenwater.dcproj.constValue.SplitValue;
- import cn.com.goldenwater.dcproj.dao.AttPrdCstrProjBaseDao;
- import cn.com.goldenwater.dcproj.dao.BisInspAllObjDao;
- import cn.com.goldenwater.dcproj.dao.BisInspOprdCstrProjRgstrDao;
- import cn.com.goldenwater.dcproj.dto.BisInspOprdCstrProjRgstrDto;
- import cn.com.goldenwater.dcproj.dto.BisInspRgstrDto;
- import cn.com.goldenwater.dcproj.model.AttPrdCstrProjBase;
- import cn.com.goldenwater.dcproj.model.BisInspAllObj;
- import cn.com.goldenwater.dcproj.model.BisInspOprdCstrProjRgstr;
- import cn.com.goldenwater.dcproj.param.BisInspOprdCstrProjRgstrParam;
- import cn.com.goldenwater.dcproj.param.TypeParam;
- import cn.com.goldenwater.dcproj.service.BisInspObjStrategy;
- import cn.com.goldenwater.dcproj.service.BisInspOprdCstrProjRgstrService;
- 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 cn.com.goldenwater.target.CheckException;
- 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-12-12
- */
- @Service
- @Transactional
- public class BisInspOprdCstrProjRgstrServiceImpl extends AbstractCrudService<BisInspOprdCstrProjRgstr, BisInspOprdCstrProjRgstrParam> implements BisInspOprdCstrProjRgstrService, BisInspObjStrategy {
- @Autowired
- private BisInspOprdCstrProjRgstrDao bisInspOprdCstrProjRgstrDao;
- @Autowired
- private AttPrdCstrProjBaseDao attPrdCstrProjBaseDao;
- @Autowired
- private BisInspAllObjDao bisInspAllObjDao;
- @Autowired
- private BisInspOprdCstrProjRgstrDao oprdCstrProjRgstrDao;
- public BisInspOprdCstrProjRgstrServiceImpl(BisInspOprdCstrProjRgstrDao bisInspOprdCstrProjRgstrDao) {
- super(bisInspOprdCstrProjRgstrDao);
- this.bisInspOprdCstrProjRgstrDao = bisInspOprdCstrProjRgstrDao;
- }
- @Override
- public int update(BisInspOprdCstrProjRgstr entity) {
- BisInspOprdCstrProjRgstr rgstr = get(entity.getId());
- if (rgstr == null) {
- throw new CheckException("未找到登记表!");
- }
- // 更新登记表
- int ret = super.update(entity);
- // 更新基础表
- entity.setObjId(rgstr.getObjId());
- updateAttBase(entity);
- return ret;
- }
- private void updateAttBase(BisInspOprdCstrProjRgstr rgstr) {
- AttPrdCstrProjBase base = attPrdCstrProjBaseDao.getObjId(rgstr.getObjId());
- base.setCode(rgstr.getCode());
- base.setName(rgstr.getName());
- base.setType(rgstr.getType());
- base.setAdCode(rgstr.getAdCode());
- base.setAdName(rgstr.getAdName());
- base.setLocation(rgstr.getLocation());
- base.setCenterX(rgstr.getCenterX());
- base.setCenterY(rgstr.getCenterX());
- base.setGdX(rgstr.getGdX());
- base.setGdY(rgstr.getGdY());
- attPrdCstrProjBaseDao.update(base);
- }
- @Override
- public void insertObj(BisInspAllObj bisInspAllObj, String persId) {
- AttPrdCstrProjBase prdCstrProjBase = attPrdCstrProjBaseDao.get(bisInspAllObj.getCode());
- BisInspOprdCstrProjRgstr oprdCstrProjRgstr = new BisInspOprdCstrProjRgstr();
- oprdCstrProjRgstr.setAdCode(prdCstrProjBase.getAdCode());
- oprdCstrProjRgstr.setAdName(prdCstrProjBase.getAdName());
- oprdCstrProjRgstr.setPersId(persId);
- oprdCstrProjRgstr.setProvince(bisInspAllObj.getProvince());
- oprdCstrProjRgstr.setState("0");
- oprdCstrProjRgstr.setId(UuidUtil.uuid());
- oprdCstrProjRgstr.setInTm(new Date());
- oprdCstrProjRgstr.setUpTm(new Date());
- oprdCstrProjRgstr.setObjId(bisInspAllObj.getObjId());
- oprdCstrProjRgstr.setGroupId(bisInspAllObj.getId());
- oprdCstrProjRgstr.setLocation(prdCstrProjBase.getLocation());
- oprdCstrProjRgstr.setName(prdCstrProjBase.getName());
- oprdCstrProjRgstr.setType(prdCstrProjBase.getType());
- if (prdCstrProjBase.getGdX() != null && prdCstrProjBase.getGdY() != null) {
- Map<String, Double> params = GeoUtil.gcj02towgs84(prdCstrProjBase.getGdX(), prdCstrProjBase.getGdY());
- oprdCstrProjRgstr.setCenterX(params.get("lon"));
- oprdCstrProjRgstr.setCenterY(params.get("lat"));
- }
- oprdCstrProjRgstr.setGdX(prdCstrProjBase.getGdX());
- oprdCstrProjRgstr.setGdY(prdCstrProjBase.getGdY());
- bisInspOprdCstrProjRgstrDao.insert(oprdCstrProjRgstr);
- }
- @Override
- public String getType() {
- return BisInspEnum.PRD.getValue();
- }
- @Override
- public void cleanObjData(String objId) {
- BisInspOprdCstrProjRgstrParam param = new BisInspOprdCstrProjRgstrParam();
- param.setObjId(objId);
- List<BisInspOprdCstrProjRgstr> list = oprdCstrProjRgstrDao.findList(param);
- if (list.size() > 0) {
- String id = list.get(0).getId();
- BisInspOprdCstrProjRgstr rgstr = oprdCstrProjRgstrDao.get(id);
- oprdCstrProjRgstrDao.delete(id);
- if (rgstr != null) {
- this.bisInspAllObjDao.delete(rgstr.getObjId());
- }
- }
- }
- @Override
- public PageInfo findObjPageByType(TypeParam typeParam, HttpServletResponse response) {
- return findCstrPrdPage(typeParam, response);
- }
- @Override
- public Object findObjListByType(TypeParam typeParam) {
- return findCstrPrdList(typeParam);
- }
- @Override
- public PageInfo<BisInspRgstrDto> findCstrPrdPage(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(bisInspOprdCstrProjRgstrDao.findCstrPrdPage(typeParam), response, "节水管理与评价督查列表");
- }
- PageHelper.startPage(typeParam);
- List<BisInspRgstrDto> list = bisInspOprdCstrProjRgstrDao.findCstrPrdPage(typeParam);
- list = changeList(list);
- return new PageInfo<BisInspRgstrDto>(list);
- }
- @Override
- public List findCstrPrdList(TypeParam typeParam) {
- if (StringUtils.isNotBlank(typeParam.getAdCode())) {
- typeParam.setAdCode(String.valueOf(AdLevelUtil.SubAd(typeParam.getAdCode()).get(SplitValue.SUBAD)));
- }
- List<BisInspRgstrDto> list = bisInspOprdCstrProjRgstrDao.findCstrPrdPage(typeParam);
- return changeList(list);
- }
- @Override
- public PageInfo<BisInspOprdCstrProjRgstrDto> findPcPage(BisInspOprdCstrProjRgstrParam bisInspOprdCstrProjRgstrParam) {
- PageHelper.startPage(bisInspOprdCstrProjRgstrParam);
- List<BisInspOprdCstrProjRgstrDto> list = bisInspOprdCstrProjRgstrDao.findPrdPcPage(bisInspOprdCstrProjRgstrParam);
- if (list.size() > 0) {
- for (BisInspOprdCstrProjRgstrDto 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<BisInspOprdCstrProjRgstrDto>(list);
- }
- @Override
- public void findPcPageExport(BisInspOprdCstrProjRgstrParam bisInspOprdCstrProjRgstrParam, HttpServletResponse response) {
- List<BisInspOprdCstrProjRgstrDto> list = bisInspOprdCstrProjRgstrDao.findPrdPcPage(bisInspOprdCstrProjRgstrParam);
- list.forEach(x -> {
- x.setState(FormatFieldUtil.commonStateFormat(x.getState()));
- });
- List<String> columns = new ArrayList<>();
- columns.add("id");
- columns.add("adCode");
- columns.add("centerX");
- columns.add("centerY");
- columns.add("inTm");
- columns.add("upTm");
- columns.add("gdX");
- columns.add("gdY");
- columns.add("baseId");
- columns.add("rgstrId");
- columns.add("objId");
- columns.add("persId");
- columns.add("groupId");
- columns.add("province");
- ExportUtil.exportExcel(list, response, "水保督查登记列表", columns, BisInspOprdCstrProjRgstrDto.class);
- }
- private List<BisInspRgstrDto> changeList(List<BisInspRgstrDto> list) {
- if (list.size() > 0) {
- for (BisInspRgstrDto rgstrDto : list) {
- String adFullName = rgstrDto.getAdName();
- 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;
- }
- }
|