b45423e94414cba4ef67893af0829244a31fe0d2.svn-base 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. package cn.com.goldenwater.dcproj.service.impl.jskejian;
  2. import cn.com.goldenwater.dcproj.constValue.BisInspEnum;
  3. import cn.com.goldenwater.dcproj.constValue.SplitValue;
  4. import cn.com.goldenwater.dcproj.dao.AttJskejianEcofrdBaseDao;
  5. import cn.com.goldenwater.dcproj.dao.AttJskejianEcofrdRgstrDao;
  6. import cn.com.goldenwater.dcproj.dao.BisInspAllObjDao;
  7. import cn.com.goldenwater.dcproj.dao.BisInspPblmDao;
  8. import cn.com.goldenwater.dcproj.dto.AttJskejianEcofrdRgstrDto;
  9. import cn.com.goldenwater.dcproj.dto.BisInspRgstrDto;
  10. import cn.com.goldenwater.dcproj.model.AttJskejianEcofrdBase;
  11. import cn.com.goldenwater.dcproj.model.AttJskejianEcofrdRgstr;
  12. import cn.com.goldenwater.dcproj.model.BisInspAllObj;
  13. import cn.com.goldenwater.dcproj.param.AttJskejianEcofrdRgstrParam;
  14. import cn.com.goldenwater.dcproj.param.BisInspPblmParam;
  15. import cn.com.goldenwater.dcproj.service.AttJskejianEcofrdRgstrService;
  16. import cn.com.goldenwater.core.service.AbstractCrudService;
  17. import cn.com.goldenwater.dcproj.service.BisInspObjStrategy;
  18. import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
  19. import cn.com.goldenwater.dcproj.utils.BeanUtil;
  20. import cn.com.goldenwater.dcproj.utils.FormatFieldUtil;
  21. import cn.com.goldenwater.dcproj.utils.GeoUtil;
  22. import cn.com.goldenwater.dcproj.utils.expExcel.ExportUtil;
  23. import cn.com.goldenwater.id.util.UuidUtil;
  24. import com.github.pagehelper.PageHelper;
  25. import com.github.pagehelper.PageInfo;
  26. import org.apache.commons.lang3.StringUtils;
  27. import org.springframework.beans.factory.annotation.Autowired;
  28. import org.springframework.stereotype.Service;
  29. import org.springframework.transaction.annotation.Transactional;
  30. import javax.servlet.http.HttpServletResponse;
  31. import java.util.ArrayList;
  32. import java.util.Date;
  33. import java.util.List;
  34. import java.util.Map;
  35. import static cn.com.goldenwater.dcproj.constValue.BisInspEnum.ECOFRD;
  36. import cn.com.goldenwater.dcproj.param.TypeParam;
  37. /**
  38. * @author lune
  39. * @date 2019-12-18
  40. */
  41. @Service
  42. @Transactional
  43. public class AttJskejianEcofrdRgstrServiceImpl extends AbstractCrudService<AttJskejianEcofrdRgstr, AttJskejianEcofrdRgstrParam> implements AttJskejianEcofrdRgstrService,BisInspObjStrategy {
  44. @Autowired
  45. private AttJskejianEcofrdRgstrDao attJskejianEcofrdRgstrDao;
  46. @Autowired
  47. private AttJskejianEcofrdBaseDao attjskejianEcofrdBaseDao;
  48. @Autowired
  49. private BisInspAllObjDao bisInspAllObjDao;
  50. @Autowired
  51. private BisInspPblmDao bisInspPblmDao;
  52. public AttJskejianEcofrdRgstrServiceImpl(AttJskejianEcofrdRgstrDao attJskejianEcofrdRgstrDao) {
  53. super(attJskejianEcofrdRgstrDao);
  54. this.attJskejianEcofrdRgstrDao = attJskejianEcofrdRgstrDao;
  55. }
  56. @Override
  57. public PageInfo<AttJskejianEcofrdRgstrDto> findPcEcfordPage(AttJskejianEcofrdRgstrParam attJskejianWaterRgstrParam) {
  58. PageHelper.startPage(attJskejianWaterRgstrParam);
  59. List<AttJskejianEcofrdRgstrDto> list = attJskejianEcofrdRgstrDao.findPcEcfordPage(attJskejianWaterRgstrParam);
  60. if (list.size() > 0) {
  61. for (AttJskejianEcofrdRgstrDto b : list) {
  62. if (b.getAdFullName() != null) {
  63. if (b.getAdFullName().contains(SplitValue.HENG_SPLIT)) {
  64. String[] split = b.getAdFullName().split(SplitValue.HENG_SPLIT);
  65. if (split.length == 3) {
  66. b.setProvince(split[0]);
  67. b.setCity(split[1]);
  68. b.setCounty(split[2]);
  69. }
  70. if (split.length == 2) {
  71. b.setProvince(split[0]);
  72. b.setCity(split[1]);
  73. b.setCounty("");
  74. }
  75. } else {
  76. b.setProvince(b.getAdFullName());
  77. }
  78. }
  79. }
  80. }
  81. return new PageInfo<AttJskejianEcofrdRgstrDto>(list);
  82. }
  83. @Override
  84. public void findPcPageExport(AttJskejianEcofrdRgstrParam attJskejianEcofrdRgstrParam,HttpServletResponse response) {
  85. List<AttJskejianEcofrdRgstrDto> list = attJskejianEcofrdRgstrDao.findPcEcfordPage(attJskejianEcofrdRgstrParam);
  86. list.forEach(x -> {
  87. x.setState(FormatFieldUtil.commonStateFormat(x.getState()));
  88. x.setPtype(ECOFRD.getDesc());
  89. });
  90. List<String> columns = new ArrayList<>();
  91. columns.add("id");
  92. columns.add("adCode");
  93. columns.add("centerX");
  94. columns.add("centerY");
  95. columns.add("intm");
  96. columns.add("uptm");
  97. columns.add("gdX");
  98. columns.add("gdY");
  99. columns.add("baseId");
  100. columns.add("rgstrId");
  101. columns.add("objId");
  102. columns.add("persId");
  103. columns.add("groupId");
  104. columns.add("province");
  105. columns.add("code");
  106. columns.add("nodeId");
  107. ExportUtil.exportExcel(list, response, "中央环保督查登记列表", columns, AttJskejianEcofrdRgstrDto.class);
  108. }
  109. @Override
  110. public PageInfo<BisInspRgstrDto> findEcfordPage(TypeParam typeParam, HttpServletResponse response) {
  111. if (StringUtils.isNotBlank(typeParam.getAdCode())) {
  112. typeParam.setAdCode(String.valueOf(AdLevelUtil.SubAd(typeParam.getAdCode()).get(SplitValue.SUBAD)));
  113. }
  114. if ("1".equals(typeParam.getIsExport())) {
  115. ExportUtil.exportExcel( attJskejianEcofrdRgstrDao.findEcfordPage(typeParam), response,"中央环保督查列表");
  116. }
  117. PageHelper.startPage(typeParam);
  118. List<BisInspRgstrDto> list = attJskejianEcofrdRgstrDao.findEcfordPage(typeParam);
  119. list=changeList(list);
  120. return new PageInfo<BisInspRgstrDto>(list);
  121. }
  122. private List<BisInspRgstrDto> changeList(List<BisInspRgstrDto> list){
  123. if (list.size() > 0) {
  124. for (BisInspRgstrDto rgstrDto : list) {
  125. String adFullName = rgstrDto.getAdName();
  126. if(StringUtils.isBlank(adFullName)){
  127. continue;
  128. }
  129. if (adFullName.contains(SplitValue.HENG_SPLIT)) {
  130. String[] split = adFullName.split(SplitValue.HENG_SPLIT);
  131. if (split.length == 3) {
  132. rgstrDto.setProvince(split[0]);
  133. rgstrDto.setCity(split[1]);
  134. rgstrDto.setCountry(split[2]);
  135. }
  136. if (split.length == 2) {
  137. rgstrDto.setProvince(split[0]);
  138. rgstrDto.setCity(split[1]);
  139. rgstrDto.setCountry("");
  140. }
  141. } else {
  142. rgstrDto.setProvince(adFullName);
  143. }
  144. }
  145. }
  146. return list;
  147. }
  148. @Override
  149. public void insertObj(BisInspAllObj bisInspAllObj, String persId) {
  150. AttJskejianEcofrdBase jskejianEcofrdBase = attjskejianEcofrdBaseDao.get(bisInspAllObj.getCode());
  151. AttJskejianEcofrdRgstr rgstr = new AttJskejianEcofrdRgstr();
  152. BeanUtil.copyObject1(jskejianEcofrdBase, rgstr);
  153. rgstr.setId(UuidUtil.uuid());
  154. rgstr.setObjId(bisInspAllObj.getObjId());
  155. rgstr.setProvince(bisInspAllObj.getProvince());
  156. rgstr.setPersId(persId);
  157. rgstr.setState("0");
  158. if (jskejianEcofrdBase.getGdX() != null && jskejianEcofrdBase.getGdY() != null) {
  159. Map<String, Double> params = GeoUtil.gcj02towgs84(jskejianEcofrdBase.getGdX(), jskejianEcofrdBase.getGdY());
  160. rgstr.setCenterX(params.get("lon"));
  161. rgstr.setCenterY(params.get("lat"));
  162. }
  163. rgstr.setIntm(new Date());
  164. rgstr.setUptm(new Date());
  165. attJskejianEcofrdRgstrDao.insert(rgstr);
  166. }
  167. @Override
  168. public String getType() {
  169. return BisInspEnum.ECOFRD.getValue();
  170. }
  171. @Override
  172. public void cleanObjData(String objId) {
  173. AttJskejianEcofrdRgstrParam param = new AttJskejianEcofrdRgstrParam();
  174. param.setObjId(objId);
  175. List<AttJskejianEcofrdRgstr> list = attJskejianEcofrdRgstrDao.findList(param);
  176. if (list.size() > 0) {
  177. String id = list.get(0).getId();
  178. AttJskejianEcofrdRgstr rgstr = attJskejianEcofrdRgstrDao.get(id);
  179. attJskejianEcofrdRgstrDao.delete(id);
  180. BisInspPblmParam bisInspPblmParam = new BisInspPblmParam();
  181. bisInspPblmParam.setRegid(id);
  182. bisInspPblmParam.setObjType(BisInspEnum.ECOFRD.getValue());
  183. this.bisInspPblmDao.deleteBy(bisInspPblmParam);
  184. if (rgstr != null) {
  185. this.bisInspAllObjDao.delete(rgstr.getObjId());
  186. }
  187. }
  188. }
  189. @Override
  190. public PageInfo findObjPageByType(TypeParam typeParam, HttpServletResponse response) {
  191. return findEcfordPage(typeParam,response);
  192. }
  193. @Override
  194. public Object findObjListByType(TypeParam typeParam) {
  195. if (StringUtils.isNotBlank(typeParam.getAdCode())) {
  196. typeParam.setAdCode(String.valueOf(AdLevelUtil.SubAd(typeParam.getAdCode()).get(SplitValue.SUBAD)));
  197. }
  198. List<BisInspRgstrDto> list = attJskejianEcofrdRgstrDao.findEcfordPage(typeParam);
  199. list=changeList(list);
  200. return list;
  201. }
  202. }