DikeServiceImpl.java 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package com.goldenwater.slgc.service.impl;
  2. import java.util.List;
  3. import java.util.Map;
  4. import java.util.Date;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Service;
  7. import com.goldenwater.common.utils.StringUtils;
  8. import com.goldenwater.slgc.domain.AttDikeBase;
  9. import com.goldenwater.slgc.mapper.AttDikeBaseMapper;
  10. import com.goldenwater.slgc.service.DikeService;
  11. /** 堤防信息 业务实现 */
  12. @Service
  13. public class DikeServiceImpl implements DikeService {
  14. @Autowired
  15. private AttDikeBaseMapper attDikeBaseMapper;
  16. @Override
  17. public List<AttDikeBase> selectAttDikeBaseList(AttDikeBase attDikeBase) {
  18. return attDikeBaseMapper.selectAttDikeBaseList(attDikeBase);
  19. }
  20. @Override
  21. public AttDikeBase selectAttDikeBaseById(String dikeCode) {
  22. return attDikeBaseMapper.selectAttDikeBaseById(dikeCode);
  23. }
  24. @Override
  25. public int deleteAttDikeBaseByIds(String[] dikeCodes) {
  26. return attDikeBaseMapper.deleteAttDikeBaseByIds(dikeCodes);
  27. }
  28. @Override
  29. public int insertAttDikeBase(AttDikeBase attDikeBase) {
  30. if (attDikeBase.getCollDate() == null) {
  31. attDikeBase.setCollDate(new Date());
  32. }
  33. return attDikeBaseMapper.insertAttDikeBase(attDikeBase);
  34. }
  35. @Override
  36. public int updateAttDikeBase(AttDikeBase attDikeBase) {
  37. attDikeBase.setUpdDate(new Date());
  38. return attDikeBaseMapper.updateAttDikeBase(attDikeBase);
  39. }
  40. @Override
  41. public List<Map<String, Object>> countType() {
  42. return attDikeBaseMapper.countType();
  43. }
  44. @Override
  45. public String importDike(List<AttDikeBase> list) {
  46. if (list == null || list.isEmpty()) {
  47. return "导入数据为空";
  48. }
  49. int successNum = 0;
  50. int updateNum = 0;
  51. int skipNum = 0;
  52. int failureNum = 0;
  53. StringBuilder errorMsg = new StringBuilder();
  54. StringBuilder failureMsg = new StringBuilder();
  55. for (AttDikeBase attDikeBase : list) {
  56. try {
  57. if (attDikeBase.getCollDate() == null) {
  58. attDikeBase.setCollDate(new Date());
  59. }
  60. if (StringUtils.isEmpty(attDikeBase.getDikeCode())) {
  61. skipNum++;
  62. continue;
  63. }
  64. AttDikeBase existing = attDikeBaseMapper.selectAttDikeBaseById(attDikeBase.getDikeCode());
  65. if (existing != null) {
  66. attDikeBase.setUpdDate(new Date());
  67. attDikeBaseMapper.updateAttDikeBase(attDikeBase);
  68. updateNum++;
  69. } else {
  70. attDikeBaseMapper.insertAttDikeBase(attDikeBase);
  71. successNum++;
  72. }
  73. } catch (Exception e) {
  74. failureNum++;
  75. failureMsg.append("<br/>" + failureNum + "、" + attDikeBase.getDikeName() + " 导入失败:" + e.getMessage());
  76. }
  77. }
  78. errorMsg.append("导入成功:").append(successNum).append("条,更新:").append(updateNum).append("条");
  79. if (skipNum > 0) {
  80. errorMsg.append(",跳过(编码为空):").append(skipNum).append("条");
  81. }
  82. if (failureNum > 0) {
  83. errorMsg.append(",失败:").append(failureNum).append("条");
  84. errorMsg.append("<br/>失败明细:").append(failureMsg);
  85. }
  86. return errorMsg.toString();
  87. }
  88. }