f16e278e867d891aab363892ec280d3ecd3dfe3a.svn-base 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. package cn.com.goldenwater.dcproj.service.impl.svwt;
  2. import cn.com.goldenwater.dcproj.constValue.BisInspEnum;
  3. import cn.com.goldenwater.dcproj.constValue.SplitValue;
  4. import cn.com.goldenwater.dcproj.dao.*;
  5. import cn.com.goldenwater.dcproj.dto.BisInspRgstrDto;
  6. import cn.com.goldenwater.dcproj.model.AttAdXBase;
  7. import cn.com.goldenwater.dcproj.model.BisInspAllObj;
  8. import cn.com.goldenwater.dcproj.model.BisInspSvwtAreaRgstr;
  9. import cn.com.goldenwater.dcproj.param.*;
  10. import cn.com.goldenwater.dcproj.service.BisInspObjStrategy;
  11. import cn.com.goldenwater.dcproj.service.BisInspSvwtAreaRgstrService;
  12. import cn.com.goldenwater.core.service.AbstractCrudService;
  13. import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
  14. import cn.com.goldenwater.dcproj.utils.BeanUtil;
  15. import cn.com.goldenwater.dcproj.utils.GeoUtil;
  16. import cn.com.goldenwater.dcproj.utils.expExcel.ExportUtil;
  17. import cn.com.goldenwater.id.util.UuidUtil;
  18. import com.github.pagehelper.PageHelper;
  19. import com.github.pagehelper.PageInfo;
  20. import org.apache.commons.lang3.StringUtils;
  21. import org.springframework.beans.factory.annotation.Autowired;
  22. import org.springframework.stereotype.Service;
  23. import org.springframework.transaction.annotation.Transactional;
  24. import javax.servlet.http.HttpServletResponse;
  25. import java.util.Date;
  26. import java.util.List;
  27. import java.util.Map;
  28. /**
  29. * @author lune
  30. * @date 2019-9-17
  31. */
  32. @Service
  33. @Transactional
  34. public class BisInspSvwtAreaRgstrServiceImpl extends AbstractCrudService<BisInspSvwtAreaRgstr, BisInspSvwtAreaRgstrParam> implements BisInspSvwtAreaRgstrService,BisInspObjStrategy {
  35. @Autowired
  36. private BisInspSvwtAreaRgstrDao bisInspSvwtAreaRgstrDao;
  37. @Autowired
  38. private AttAdXBaseDao attAdXBaseDao;
  39. @Autowired
  40. private BisInspPblmDao bisInspPblmDao;
  41. @Autowired
  42. private BisInspAllObjDao bisInspAllObjDao;
  43. @Autowired
  44. private BisInspSvwtAreaRgstrWswmDao svwtAreaWswmDao;
  45. @Autowired
  46. private BisInspSvwtAreaRgstrWseDao svwtAreaWseDao;
  47. public BisInspSvwtAreaRgstrServiceImpl(BisInspSvwtAreaRgstrDao bisInspSvwtAreaRgstrDao) {
  48. super(bisInspSvwtAreaRgstrDao);
  49. this.bisInspSvwtAreaRgstrDao = bisInspSvwtAreaRgstrDao;
  50. }
  51. @Override
  52. public void insertObj(BisInspAllObj bisInspAllObj, String persId) {
  53. AttAdXBase base = attAdXBaseDao.get(bisInspAllObj.getCode());
  54. BisInspSvwtAreaRgstr rgstr = new BisInspSvwtAreaRgstr();
  55. BeanUtil.copyObject1(base, rgstr);
  56. rgstr.setGdX(base.getLgtd());
  57. rgstr.setGdY(base.getLttd());
  58. if (base.getLgtd() != null && base.getLttd() != null) {
  59. Map<String, Double> params = GeoUtil.gcj02towgs84(base.getLgtd(), base.getLttd());
  60. rgstr.setPcX(params.get("lon"));
  61. rgstr.setPcY(params.get("lat"));
  62. }
  63. rgstr.setProvince(bisInspAllObj.getProvince());
  64. rgstr.setLoc(base.getAdFullName());
  65. rgstr.setId(UuidUtil.uuid());
  66. rgstr.setObjId(bisInspAllObj.getObjId());
  67. rgstr.setState("0");
  68. rgstr.setDataStat("0");
  69. rgstr.setGroupId(bisInspAllObj.getId());
  70. rgstr.setPersId(persId);
  71. rgstr.setInTm(new Date());
  72. rgstr.setUpTm(new Date());
  73. bisInspSvwtAreaRgstrDao.insert(rgstr);
  74. }
  75. @Override
  76. public String getType() {
  77. return BisInspEnum.SVWT.getValue();
  78. }
  79. @Override
  80. public void cleanObjData(String objId) {
  81. BisInspSvwtAreaRgstrParam param = new BisInspSvwtAreaRgstrParam();
  82. param.setObjId(objId);
  83. List<BisInspSvwtAreaRgstr> list = bisInspSvwtAreaRgstrDao.findList(param);
  84. if (list.size() > 0) {
  85. String id = list.get(0).getId();
  86. BisInspPblmParam bisInspPblmParam = new BisInspPblmParam();
  87. bisInspPblmParam.setRegid(id);
  88. bisInspPblmParam.setObjType(BisInspEnum.SVWT.getValue());
  89. this.bisInspPblmDao.deleteBy(bisInspPblmParam);
  90. BisInspSvwtAreaRgstrWswmParam wswmParam = new BisInspSvwtAreaRgstrWswmParam();
  91. wswmParam.setRgstrId(id);
  92. svwtAreaWswmDao.deleteBy(wswmParam);
  93. BisInspSvwtAreaRgstrWseParam wseParam = new BisInspSvwtAreaRgstrWseParam();
  94. wseParam.setRgstrId(id);
  95. svwtAreaWseDao.deleteBy(wseParam);
  96. BisInspSvwtAreaRgstr rgstr = bisInspSvwtAreaRgstrDao.get(id);
  97. if (rgstr != null) {
  98. //删除督查对象
  99. BisInspAllObjParam bisInspAllObjParam = new BisInspAllObjParam();
  100. bisInspAllObjParam.setObjId(objId);
  101. this.bisInspAllObjDao.deleteBy(bisInspAllObjParam);
  102. }
  103. }
  104. }
  105. @Override
  106. public PageInfo findObjPageByType(TypeParam typeParam, HttpServletResponse response) {
  107. return this.findSvwtAreaPage(typeParam,response);
  108. }
  109. @Override
  110. public Object findObjListByType(TypeParam typeParam) {
  111. return this.findSvwtAreaList(typeParam);
  112. }
  113. @Override
  114. public PageInfo<BisInspRgstrDto> findSvwtAreaPage(TypeParam typeParam, HttpServletResponse response) {
  115. if (StringUtils.isNotBlank(typeParam.getAdCode())) {
  116. typeParam.setAdCode(String.valueOf(AdLevelUtil.SubAd(typeParam.getAdCode()).get(SplitValue.SUBAD)));
  117. }
  118. if ("1".equals(typeParam.getIsExport())) {
  119. ExportUtil.exportExcel( bisInspSvwtAreaRgstrDao.findSvwtAreaList(typeParam), response,"节水管理与评价督查列表");
  120. }
  121. PageHelper.startPage(typeParam);
  122. List<BisInspRgstrDto> list = bisInspSvwtAreaRgstrDao.findSvwtAreaList(typeParam);
  123. list=changeList(list);
  124. return new PageInfo<BisInspRgstrDto>(list);
  125. }
  126. @Override
  127. public List<BisInspRgstrDto> findSvwtAreaList(TypeParam typeParam) {
  128. if (StringUtils.isNotBlank(typeParam.getAdCode())) {
  129. typeParam.setAdCode(String.valueOf(AdLevelUtil.SubAd(typeParam.getAdCode()).get(SplitValue.SUBAD)));
  130. }
  131. List<BisInspRgstrDto> list = bisInspSvwtAreaRgstrDao.findSvwtAreaList(typeParam);
  132. return changeList(list);
  133. }
  134. private List<BisInspRgstrDto> changeList(List<BisInspRgstrDto> list){
  135. if (list.size() > 0) {
  136. for (BisInspRgstrDto rgstrDto : list) {
  137. String adFullName = rgstrDto.getAdName();
  138. if (adFullName.contains(SplitValue.HENG_SPLIT)) {
  139. String[] split = adFullName.split(SplitValue.HENG_SPLIT);
  140. if (split.length == 3) {
  141. rgstrDto.setProvince(split[0]);
  142. rgstrDto.setCity(split[1]);
  143. rgstrDto.setCountry(split[2]);
  144. }
  145. if (split.length == 2) {
  146. rgstrDto.setProvince(split[0]);
  147. rgstrDto.setCity(split[1]);
  148. rgstrDto.setCountry("");
  149. }
  150. } else {
  151. rgstrDto.setProvince(adFullName);
  152. }
  153. }
  154. }
  155. return list;
  156. }
  157. }