7da587f86752c646ba874deee41abbd6982fffa2.svn-base 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. package cn.com.goldenwater.dcproj.service.impl.travel;
  2. import cn.com.goldenwater.core.service.AbstractCrudService;
  3. import cn.com.goldenwater.dcproj.dao.BisInspTravelPlanDao;
  4. import cn.com.goldenwater.dcproj.dao.BisInspTravelPlanDayDao;
  5. import cn.com.goldenwater.dcproj.dto.BisInspTravelPlanDayDto;
  6. import cn.com.goldenwater.dcproj.model.BisInspTravelPlan;
  7. import cn.com.goldenwater.dcproj.model.BisInspTravelPlanDay;
  8. import cn.com.goldenwater.dcproj.param.BisInspTravelPlanDayParam;
  9. import cn.com.goldenwater.dcproj.service.BisInspTravelPlanDayService;
  10. import cn.com.goldenwater.id.util.UuidUtil;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.stereotype.Service;
  13. import org.springframework.transaction.annotation.Transactional;
  14. import java.util.Calendar;
  15. import java.util.Date;
  16. import java.util.List;
  17. /**
  18. * @author lhc
  19. * @date 2019-9-17
  20. */
  21. @Service
  22. @Transactional(rollbackFor = Exception.class)
  23. public class BisInspTravelPlanDayServiceImpl extends AbstractCrudService<BisInspTravelPlanDay, BisInspTravelPlanDayParam> implements BisInspTravelPlanDayService {
  24. @Autowired
  25. private BisInspTravelPlanDayDao bisInspTravelPlanDayDao;
  26. @Autowired
  27. private BisInspTravelPlanDao bisInspTravelPlanDao;
  28. public BisInspTravelPlanDayServiceImpl(BisInspTravelPlanDayDao bisInspTravelPlanDayDao) {
  29. super(bisInspTravelPlanDayDao);
  30. this.bisInspTravelPlanDayDao = bisInspTravelPlanDayDao;
  31. }
  32. @Override
  33. public int insert(BisInspTravelPlanDay bisInspTravelPlanDay) {
  34. int effRow = 0;
  35. bisInspTravelPlanDay.setId(UuidUtil.uuid());
  36. bisInspTravelPlanDay.setUptm(new Date());
  37. bisInspTravelPlanDay.setIntm(new Date());
  38. bisInspTravelPlanDay.setDataStat("0");
  39. Integer ordr = bisInspTravelPlanDayDao.getMaxOne(bisInspTravelPlanDay.getTravelPlanId());
  40. if (null == ordr) {
  41. ordr = 1;
  42. } else {
  43. ordr = ordr + 1;
  44. }
  45. bisInspTravelPlanDay.setOrdr(ordr);
  46. effRow = bisInspTravelPlanDayDao.insert(bisInspTravelPlanDay);
  47. //更新行程天数
  48. if (null != bisInspTravelPlanDay.getTravelPlanId()) {
  49. updateTravelPlanDayCount(bisInspTravelPlanDay.getTravelPlanId());
  50. }
  51. return effRow;
  52. }
  53. @Override
  54. public int update(BisInspTravelPlanDay bisInspTravelPlanDay) {
  55. int effRow = 0;
  56. bisInspTravelPlanDay.setUptm(new Date());
  57. effRow = bisInspTravelPlanDayDao.update(bisInspTravelPlanDay);
  58. //更新行程天数
  59. if (null != bisInspTravelPlanDay.getTravelPlanId()) {
  60. updateTravelPlanDayCount(bisInspTravelPlanDay.getTravelPlanId());
  61. }
  62. return effRow;
  63. }
  64. @Override
  65. public int delete(String id) {
  66. int effRow = 0;
  67. BisInspTravelPlanDay bisInspTravelPlanDay = bisInspTravelPlanDayDao.get(id);
  68. effRow = bisInspTravelPlanDayDao.delete(id);
  69. //更新行程天数
  70. if (null != bisInspTravelPlanDay.getTravelPlanId()) {
  71. updateTravelPlanDayCount(bisInspTravelPlanDay.getTravelPlanId());
  72. }
  73. return effRow;
  74. }
  75. @Override
  76. public List<BisInspTravelPlanDayDto> getTravelPlanDay(String travelId) {
  77. return bisInspTravelPlanDayDao.getTravelPlanDay(travelId);
  78. }
  79. /**
  80. * 根据行程ID获取行程天数
  81. *
  82. * @param travelId
  83. * @return
  84. */
  85. public Integer updateTravelPlanDayCount(String travelId) {
  86. Integer dayCount = getTravelPlanDayCount(travelId);
  87. BisInspTravelPlan bisInspTravelPlan = bisInspTravelPlanDao.get(travelId);
  88. bisInspTravelPlan.setDayCount(dayCount);
  89. Date stTm = bisInspTravelPlan.getSttm();
  90. Calendar c = Calendar.getInstance();
  91. c.setTime(stTm);
  92. c.add(Calendar.DAY_OF_MONTH, dayCount);// 今天+1天
  93. bisInspTravelPlan.setEntm(c.getTime());
  94. bisInspTravelPlanDao.update(bisInspTravelPlan);
  95. return bisInspTravelPlanDayDao.getTravelPlanDayCount(travelId);
  96. }
  97. public Integer getTravelPlanDayCount(String travelId) {
  98. return bisInspTravelPlanDayDao.getTravelPlanDay(travelId) == null ? 1 : bisInspTravelPlanDayDao.getTravelPlanDay(travelId).size();
  99. }
  100. }