b0a20e0e68e97771cfa3efd1d903a7f79c3199d6.svn-base 9.7 KB

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