40f34ea165966d8a425a416bd1ec90d5c1a4adc2.svn-base 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. package cn.com.goldenwater.dcproj.service.impl.travel;
  2. import cn.com.goldenwater.core.service.AbstractCrudService;
  3. import cn.com.goldenwater.dcproj.dao.BisInspTravelPlanDayDao;
  4. import cn.com.goldenwater.dcproj.dao.BisInspTravelPlanPointDao;
  5. import cn.com.goldenwater.dcproj.model.AttAdBase;
  6. import cn.com.goldenwater.dcproj.model.BisInspTravelPlanDay;
  7. import cn.com.goldenwater.dcproj.model.BisInspTravelPlanPoint;
  8. import cn.com.goldenwater.dcproj.param.BisInspTravelPlanPointParam;
  9. import cn.com.goldenwater.dcproj.service.AttAdBaseService;
  10. import cn.com.goldenwater.dcproj.service.BisInspTravelPlanDayService;
  11. import cn.com.goldenwater.dcproj.service.BisInspTravelPlanPointService;
  12. import cn.com.goldenwater.id.util.UuidUtil;
  13. import org.apache.commons.lang3.StringUtils;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.stereotype.Service;
  16. import org.springframework.transaction.annotation.Transactional;
  17. import java.util.Date;
  18. import java.util.List;
  19. /**
  20. * @author lhc
  21. * @date 2019-9-17
  22. */
  23. @Service
  24. @Transactional(rollbackFor = Exception.class)
  25. public class BisInspTravelPlanPointServiceImpl extends AbstractCrudService<BisInspTravelPlanPoint, BisInspTravelPlanPointParam> implements BisInspTravelPlanPointService {
  26. @Autowired
  27. private BisInspTravelPlanPointDao bisInspTravelPlanPointDao;
  28. @Autowired
  29. private BisInspTravelPlanDayService bisInspTravelPlanDayService;
  30. @Autowired
  31. private AttAdBaseService attAdBaseService;
  32. @Autowired
  33. private BisInspTravelPlanDayDao bisInspTravelPlanDayDao;
  34. public BisInspTravelPlanPointServiceImpl(BisInspTravelPlanPointDao bisInspTravelPlanPointDao) {
  35. super(bisInspTravelPlanPointDao);
  36. this.bisInspTravelPlanPointDao = bisInspTravelPlanPointDao;
  37. }
  38. public String getAdnmByAdCode(String adCode) {
  39. AttAdBase attAdBase = attAdBaseService.getByAdcode(adCode);
  40. return attAdBase.getAdName();
  41. }
  42. @Override
  43. public int insert(BisInspTravelPlanPoint bisInspTravelPlanPoint) {
  44. bisInspTravelPlanPoint.setIntm(new Date());
  45. bisInspTravelPlanPoint.setUptm(new Date());
  46. bisInspTravelPlanPoint.setId(UuidUtil.uuid());
  47. bisInspTravelPlanPoint.setDataStat("0");
  48. if (StringUtils.isNotBlank(bisInspTravelPlanPoint.getAddvcd())) {
  49. String addvcd = bisInspTravelPlanPoint.getAddvcd();
  50. String addvnm;
  51. if (addvcd.length() == 6) {
  52. addvnm = getAdnmByAdCode(addvcd.substring(0, 4) + "00000000");
  53. } else {
  54. addvnm = getAdnmByAdCode(addvcd);
  55. }
  56. bisInspTravelPlanPoint.setAddvnm(addvnm);
  57. }
  58. Integer ordr = bisInspTravelPlanPointDao.getMaxOne(bisInspTravelPlanPoint.getPlanDayId());
  59. if (null == ordr) {
  60. ordr = 1;
  61. } else {
  62. ordr = ordr + 1;
  63. }
  64. bisInspTravelPlanPoint.setOrdr(ordr);
  65. //插入路书Id
  66. BisInspTravelPlanDay bisInspTravelPlanDay = bisInspTravelPlanDayDao.get(bisInspTravelPlanPoint.getPlanDayId());
  67. bisInspTravelPlanPoint.setTravelPlanId(bisInspTravelPlanDay.getTravelPlanId());
  68. int row = bisInspTravelPlanPointDao.insert(bisInspTravelPlanPoint);
  69. updateTitle(bisInspTravelPlanPoint.getPlanDayId());
  70. return row;
  71. }
  72. @Override
  73. public int update(BisInspTravelPlanPoint bisInspTravelPlanPoint) {
  74. bisInspTravelPlanPoint.setUptm(new Date());
  75. int row = bisInspTravelPlanPointDao.update(bisInspTravelPlanPoint);
  76. updateTitle(bisInspTravelPlanPoint.getPlanDayId());
  77. return row;
  78. }
  79. @Override
  80. public int delete(String id) {
  81. BisInspTravelPlanPoint bisInspTravelPlanPoint = bisInspTravelPlanPointDao.get(id);
  82. String dayId = bisInspTravelPlanPoint.getPlanDayId();
  83. int row = bisInspTravelPlanPointDao.delete(id);
  84. updateTitle(dayId);
  85. return row;
  86. }
  87. @Override
  88. public List<BisInspTravelPlanPoint> getPointByDayId(String dayId) {
  89. return bisInspTravelPlanPointDao.getPointByDayId(dayId);
  90. }
  91. @Override
  92. public List<BisInspTravelPlanPoint> insertList(List<BisInspTravelPlanPoint> bisInspTravelPlanPoints) {
  93. //判断列表大于零,去出天id,删除所有的天Id位这个值得
  94. String dayPlanId = "";
  95. if (bisInspTravelPlanPoints.size() > 0) {
  96. dayPlanId = bisInspTravelPlanPoints.get(0).getPlanDayId();
  97. //删除这一天的所有点
  98. bisInspTravelPlanPointDao.deleteByDayId(dayPlanId);
  99. for (BisInspTravelPlanPoint bisInspTravelPlanPoint : bisInspTravelPlanPoints) {
  100. this.insert(bisInspTravelPlanPoint);
  101. }
  102. return bisInspTravelPlanPoints;
  103. } else {
  104. return null;
  105. }
  106. }
  107. /**
  108. * 根据日ID更新 行程经过点信息
  109. *
  110. * @param dayId 日行程ID
  111. * @return
  112. */
  113. public BisInspTravelPlanDay updateTitle(String dayId) {
  114. //根据日行程获取所有点信息
  115. List<BisInspTravelPlanPoint> bisInspTravelPlanPoints = getPointByDayId(dayId);
  116. if (bisInspTravelPlanPoints.size() > 0) {
  117. String title = "";
  118. String tempAddvcd = "";
  119. for (int i = 0; i < bisInspTravelPlanPoints.size(); i++) {
  120. if (StringUtils.isNotBlank(bisInspTravelPlanPoints.get(i).getAddvcd())) {
  121. String curentAddvcd = bisInspTravelPlanPoints.get(i).getAddvcd().substring(0, 2);
  122. String curentAddvnm = bisInspTravelPlanPoints.get(i).getAddvnm();
  123. if (!tempAddvcd.equalsIgnoreCase(curentAddvcd)) {
  124. title += curentAddvnm + "-";
  125. }
  126. tempAddvcd = curentAddvcd;
  127. }
  128. }
  129. if (title.length() > 0) {
  130. title = title.substring(0, title.length() - 1);
  131. }
  132. BisInspTravelPlanDay bisInspTravelPlanDay = new BisInspTravelPlanDay();
  133. bisInspTravelPlanDay.setId(dayId);
  134. bisInspTravelPlanDay.setTitle(title);
  135. bisInspTravelPlanDayService.update(bisInspTravelPlanDay);
  136. return bisInspTravelPlanDayService.get(dayId);
  137. } else {
  138. return bisInspTravelPlanDayService.get(dayId);
  139. }
  140. }
  141. }