32beb6f01015b57376557466e95b63bb65de1c5b.svn-base 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. package cn.com.goldenwater.dcproj.service.impl.wint;
  2. import cn.com.goldenwater.dcproj.dao.AttWintBaseBDao;
  3. import cn.com.goldenwater.dcproj.model.AttWintBaseB;
  4. import cn.com.goldenwater.dcproj.param.AttWintBaseBParam;
  5. import cn.com.goldenwater.dcproj.service.AttWintBaseBService;
  6. import cn.com.goldenwater.core.service.AbstractCrudService;
  7. import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
  8. import cn.com.goldenwater.dcproj.utils.expExcel.ExportUtil;
  9. import org.apache.commons.lang3.StringUtils;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.stereotype.Service;
  12. import org.springframework.transaction.annotation.Transactional;
  13. import javax.servlet.http.HttpServletResponse;
  14. import java.util.ArrayList;
  15. import java.util.List;
  16. /**
  17. * @author lune
  18. * @date 2019-8-9
  19. */
  20. @Service
  21. @Transactional(rollbackFor = Exception.class)
  22. public class AttWintBaseBServiceImpl extends AbstractCrudService<AttWintBaseB, AttWintBaseBParam> implements AttWintBaseBService {
  23. @Autowired
  24. private AttWintBaseBDao attWintBaseBDao;
  25. public AttWintBaseBServiceImpl(AttWintBaseBDao attWintBaseBDao) {
  26. super(attWintBaseBDao);
  27. this.attWintBaseBDao = attWintBaseBDao;
  28. }
  29. @Override
  30. public void exportAttWintBaseB(AttWintBaseBParam attWintBaseBParam, HttpServletResponse response) {
  31. if (StringUtils.isNotBlank(attWintBaseBParam.getAdCode())) {
  32. attWintBaseBParam.setAdCode(AdLevelUtil.SubAd(attWintBaseBParam.getAdCode()).get("subAd").toString());
  33. }
  34. List<AttWintBaseB> list = attWintBaseBDao.findList(attWintBaseBParam);
  35. if (list.size() > 0) {
  36. list.forEach(attWintBaseB -> {
  37. formatObj(attWintBaseB);
  38. });
  39. List<String> columns = new ArrayList<>();
  40. columns.add("id");
  41. columns.add("wintCode");
  42. columns.add("wainLong");
  43. columns.add("wainLat");
  44. columns.add("inTm");
  45. columns.add("upTm");
  46. columns.add("gdX");
  47. columns.add("gdY");
  48. ExportUtil.exportExcel(list, response, "取水口列表", columns, AttWintBaseB.class);
  49. }
  50. }
  51. private void formatObj(AttWintBaseB attWintBaseB) {
  52. if (StringUtils.isNotBlank(attWintBaseB.getWainType())) {
  53. formatWainType(attWintBaseB);
  54. }
  55. if (StringUtils.isNotBlank(attWintBaseB.getWainIntType())) {
  56. formatWainWintType(attWintBaseB);
  57. }
  58. if (StringUtils.isNotBlank(attWintBaseB.getWainWasoType())) {
  59. formatWainWasoTyp(attWintBaseB);
  60. }
  61. }
  62. private void formatWainWasoTyp(AttWintBaseB attWintBaseB) {
  63. switch (attWintBaseB.getWainWasoType()) {
  64. case "1":
  65. attWintBaseB.setWainWasoType("河道内的水库");
  66. break;
  67. case "2":
  68. attWintBaseB.setWainWasoType("湖泊");
  69. break;
  70. case "3":
  71. attWintBaseB.setWainWasoType("河流");
  72. break;
  73. case "4":
  74. attWintBaseB.setWainWasoType("跨省引调水工程");
  75. break;
  76. case "9":
  77. attWintBaseB.setWainWasoType("其他");
  78. break;
  79. }
  80. }
  81. private void formatWainWintType(AttWintBaseB attWintBaseB) {
  82. switch (attWintBaseB.getWainIntType()) {
  83. case "1":
  84. attWintBaseB.setWainIntType("渠道");
  85. break;
  86. case "2":
  87. attWintBaseB.setWainIntType("人工河道");
  88. break;
  89. case "3":
  90. attWintBaseB.setWainIntType("虹吸管");
  91. break;
  92. case "4":
  93. attWintBaseB.setWainIntType("泵站");
  94. break;
  95. case "5":
  96. attWintBaseB.setWainIntType("闸");
  97. break;
  98. case "6":
  99. attWintBaseB.setWainIntType("从江河湖泊饮水的水库");
  100. break;
  101. case "7":
  102. attWintBaseB.setWainIntType("其他");
  103. break;
  104. }
  105. }
  106. private void formatWainType(AttWintBaseB attWintBaseB) {
  107. switch (attWintBaseB.getWainType()) {
  108. case "1":
  109. attWintBaseB.setWainType("单一用户取水口");
  110. break;
  111. case "2":
  112. attWintBaseB.setWainType("多用户公用取水口");
  113. break;
  114. }
  115. }
  116. }