e3fbd99174b31164af2b65f9dd0aa629bb1f5075.svn-base 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  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.AttJskejianFlkdisBaseDao;
  5. import cn.com.goldenwater.dcproj.dao.AttJskejianFlkdisRgstrDao;
  6. import cn.com.goldenwater.dcproj.dao.BisInspAllObjDao;
  7. import cn.com.goldenwater.dcproj.dao.BisInspPblmDao;
  8. import cn.com.goldenwater.dcproj.dto.AttJskejianFlkdisRgstrDto;
  9. import cn.com.goldenwater.dcproj.dto.BisInspRgstrDto;
  10. import cn.com.goldenwater.dcproj.model.AttJskejianFlkdisBase;
  11. import cn.com.goldenwater.dcproj.model.AttJskejianFlkdisRgstr;
  12. import cn.com.goldenwater.dcproj.model.BisInspAllObj;
  13. import cn.com.goldenwater.dcproj.param.AttJskejianFlkdisRgstrParam;
  14. import cn.com.goldenwater.dcproj.param.BisInspPblmParam;
  15. import cn.com.goldenwater.dcproj.param.TypeParam;
  16. import cn.com.goldenwater.dcproj.service.AttJskejianFlkdisRgstrService;
  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.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.Date;
  32. import java.util.List;
  33. import java.util.Map;
  34. import static cn.com.goldenwater.dcproj.constValue.BisInspObjEnum.JSFL;
  35. import static cn.com.goldenwater.dcproj.utils.expExcel.ExportUtil.COMMONLIST_AND_OPEN_ANNOTATION;
  36. /**
  37. * @author lune
  38. * @date 2019-12-13
  39. */
  40. @Service
  41. @Transactional
  42. public class AttJskejianFlkdisRgstrServiceImpl extends AbstractCrudService<AttJskejianFlkdisRgstr, AttJskejianFlkdisRgstrParam> implements AttJskejianFlkdisRgstrService,BisInspObjStrategy {
  43. @Autowired
  44. private AttJskejianFlkdisRgstrDao attJskejianFlkdisRgstrDao;
  45. @Autowired
  46. private AttJskejianFlkdisBaseDao jskejianFlkdisBaseDao;
  47. @Autowired
  48. private BisInspAllObjDao bisInspAllObjDao;
  49. @Autowired
  50. private BisInspPblmDao bisInspPblmDao;
  51. public AttJskejianFlkdisRgstrServiceImpl(AttJskejianFlkdisRgstrDao attJskejianFlkdisRgstrDao) {
  52. super(attJskejianFlkdisRgstrDao);
  53. this.attJskejianFlkdisRgstrDao = attJskejianFlkdisRgstrDao;
  54. }
  55. @Override
  56. public PageInfo<BisInspRgstrDto> findJsflPage(TypeParam typeParam, HttpServletResponse response) {
  57. if (StringUtils.isNotBlank(typeParam.getAdCode())) {
  58. typeParam.setAdCode(String.valueOf(AdLevelUtil.SubAd(typeParam.getAdCode()).get(SplitValue.SUBAD)));
  59. }
  60. if ("1".equals(typeParam.getIsExport())) {
  61. ExportUtil.exportExcel( attJskejianFlkdisRgstrDao.findJsflPage(typeParam), response,"河湖四乱核查");
  62. }
  63. PageHelper.startPage(typeParam);
  64. List<BisInspRgstrDto> list = attJskejianFlkdisRgstrDao.findJsflPage(typeParam);
  65. list=changeList(list);
  66. return new PageInfo<BisInspRgstrDto>(list);
  67. }
  68. @Override
  69. public List findJsflList(TypeParam typeParam) {
  70. if (StringUtils.isNotBlank(typeParam.getAdCode())) {
  71. typeParam.setAdCode(String.valueOf(AdLevelUtil.SubAd(typeParam.getAdCode()).get(SplitValue.SUBAD)));
  72. }
  73. List<BisInspRgstrDto> list = attJskejianFlkdisRgstrDao.findJsflPage(typeParam);
  74. return changeList(list);
  75. }
  76. @Override
  77. public PageInfo<AttJskejianFlkdisRgstrDto> findPcJsflPage(AttJskejianFlkdisRgstrParam attJskejianFlkdisRgstrParam) {
  78. PageHelper.startPage(attJskejianFlkdisRgstrParam);
  79. List<AttJskejianFlkdisRgstrDto> list = attJskejianFlkdisRgstrDao.findPcJsflPage(attJskejianFlkdisRgstrParam);
  80. if (list.size() > 0) {
  81. for (AttJskejianFlkdisRgstrDto b : list) {
  82. // 添加省、市、县
  83. if (b.getAdFullName() != null) {
  84. if (b.getAdFullName().contains(SplitValue.HENG_SPLIT)) {
  85. String[] split = b.getAdFullName().split(SplitValue.HENG_SPLIT);
  86. if (split.length == 3) {
  87. b.setProvince(split[0]);
  88. b.setCity(split[1]);
  89. b.setCounty(split[2]);
  90. }
  91. if (split.length == 2) {
  92. b.setProvince(split[0]);
  93. b.setCity(split[1]);
  94. b.setCounty("");
  95. }
  96. } else {
  97. b.setProvince(b.getAdFullName());
  98. }
  99. }
  100. }
  101. }
  102. return new PageInfo<AttJskejianFlkdisRgstrDto>(list);
  103. }
  104. @Override
  105. public void findPcPageExport(AttJskejianFlkdisRgstrParam attJskejianFlkdisRgstrParam,HttpServletResponse response) {
  106. List<AttJskejianFlkdisRgstrDto> result = attJskejianFlkdisRgstrDao.findPcJsflPage(attJskejianFlkdisRgstrParam);
  107. result.forEach(x -> {
  108. x.setState(FormatFieldUtil.commonStateFormat(x.getState()));
  109. x.setPtype(JSFL.getDesc());
  110. x.setPblmType(FormatFieldUtil.commonPblmTypeFormat(x.getPblmType()));
  111. });
  112. ExportUtil.exportExcel(result, response, "河湖四乱督查登记列表", COMMONLIST_AND_OPEN_ANNOTATION, AttJskejianFlkdisRgstrDto.class);
  113. }
  114. private List<BisInspRgstrDto> changeList(List<BisInspRgstrDto> list){
  115. if (list.size() > 0) {
  116. for (BisInspRgstrDto rgstrDto : list) {
  117. String adFullName = rgstrDto.getAdName();
  118. if(StringUtils.isBlank(adFullName)){
  119. continue;
  120. }
  121. if (adFullName.contains(SplitValue.HENG_SPLIT)) {
  122. String[] split = adFullName.split(SplitValue.HENG_SPLIT);
  123. if (split.length == 3) {
  124. rgstrDto.setProvince(split[0]);
  125. rgstrDto.setCity(split[1]);
  126. rgstrDto.setCountry(split[2]);
  127. }
  128. if (split.length == 2) {
  129. rgstrDto.setProvince(split[0]);
  130. rgstrDto.setCity(split[1]);
  131. rgstrDto.setCountry("");
  132. }
  133. } else {
  134. rgstrDto.setProvince(adFullName);
  135. }
  136. }
  137. }
  138. return list;
  139. }
  140. @Override
  141. public void insertObj(BisInspAllObj bisInspAllObj, String persId) {
  142. AttJskejianFlkdisBase jskejianFlkdisBase = jskejianFlkdisBaseDao.get(bisInspAllObj.getCode());
  143. AttJskejianFlkdisRgstr jskejianFlkdisRgstr = new AttJskejianFlkdisRgstr();
  144. jskejianFlkdisRgstr.setId(UuidUtil.uuid());
  145. jskejianFlkdisRgstr.setAdCode(jskejianFlkdisBase.getAdCode());
  146. jskejianFlkdisRgstr.setAdName(jskejianFlkdisBase.getAdName());
  147. if (jskejianFlkdisBase.getGdX() != null && jskejianFlkdisBase.getGdY() != null) {
  148. Map<String, Double> params = GeoUtil.gcj02towgs84(jskejianFlkdisBase.getGdX(), jskejianFlkdisBase.getGdY());
  149. jskejianFlkdisRgstr.setCenterX(params.get("lon"));
  150. jskejianFlkdisRgstr.setCenterY(params.get("lat"));
  151. }
  152. jskejianFlkdisRgstr.setContRvonNameDuty(jskejianFlkdisBase.getContRvonNameDuty());
  153. jskejianFlkdisRgstr.setGdX(jskejianFlkdisBase.getGdX());
  154. jskejianFlkdisRgstr.setGdY(jskejianFlkdisBase.getGdY());
  155. jskejianFlkdisRgstr.setProvince(bisInspAllObj.getProvince());
  156. jskejianFlkdisRgstr.setGroupId(bisInspAllObj.getId());
  157. jskejianFlkdisRgstr.setObjId(bisInspAllObj.getObjId());
  158. jskejianFlkdisRgstr.setIntm(new Date());
  159. jskejianFlkdisRgstr.setUptm(new Date());
  160. jskejianFlkdisRgstr.setLocation(jskejianFlkdisBase.getLocation());
  161. jskejianFlkdisRgstr.setName(jskejianFlkdisBase.getName());
  162. jskejianFlkdisRgstr.setPersId(persId);
  163. jskejianFlkdisRgstr.setState("0");
  164. jskejianFlkdisRgstr.setTownRvonNameDuty(jskejianFlkdisBase.getTownRvonNameDuty());
  165. jskejianFlkdisRgstr.setVilgRvonNameDuty(jskejianFlkdisBase.getVilgRvonNameDuty());
  166. jskejianFlkdisRgstr.setPblmDesc(jskejianFlkdisBase.getPblmDesc());
  167. jskejianFlkdisRgstr.setPblmType(jskejianFlkdisBase.getPblmType());
  168. jskejianFlkdisRgstr.setRectConc(jskejianFlkdisBase.getRectConc());
  169. attJskejianFlkdisRgstrDao.insert(jskejianFlkdisRgstr);
  170. }
  171. @Override
  172. public String getType() {
  173. return BisInspEnum.JSFL.getValue();
  174. }
  175. @Override
  176. public void cleanObjData(String objId) {
  177. AttJskejianFlkdisRgstrParam param = new AttJskejianFlkdisRgstrParam();
  178. param.setObjId(objId);
  179. List<AttJskejianFlkdisRgstr> list = attJskejianFlkdisRgstrDao.findList(param);
  180. if (list.size() > 0) {
  181. String id = list.get(0).getId();
  182. AttJskejianFlkdisRgstr rgstr = attJskejianFlkdisRgstrDao.get(id);
  183. attJskejianFlkdisRgstrDao.delete(id);
  184. BisInspPblmParam bisInspPblmParam = new BisInspPblmParam();
  185. bisInspPblmParam.setRegid(id);
  186. bisInspPblmParam.setObjType(BisInspEnum.JSFL.getValue());
  187. this.bisInspPblmDao.deleteBy(bisInspPblmParam);
  188. if (rgstr != null) {
  189. this.bisInspAllObjDao.delete(rgstr.getObjId());
  190. }
  191. }
  192. }
  193. @Override
  194. public PageInfo findObjPageByType(TypeParam typeParam, HttpServletResponse response) {
  195. return findJsflPage(typeParam,response);
  196. }
  197. @Override
  198. public Object findObjListByType(TypeParam typeParam) {
  199. return findJsflList(typeParam);
  200. }
  201. }