11809aa4999cd717810530c3341a67a993e2bfea.svn-base 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package cn.com.goldenwater.dcproj.service.impl.meeting;
  2. import cn.com.goldenwater.dcproj.dao.MeetSginInOutInfoDao;
  3. import cn.com.goldenwater.dcproj.model.MeetSginInOutInfo;
  4. import cn.com.goldenwater.dcproj.param.MeetSginInOutInfoParam;
  5. import cn.com.goldenwater.dcproj.service.MeetSginInOutInfoService;
  6. import cn.com.goldenwater.core.service.AbstractCrudService;
  7. import com.github.pagehelper.PageHelper;
  8. import com.github.pagehelper.PageInfo;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Service;
  11. import org.springframework.transaction.annotation.Transactional;
  12. import java.math.BigDecimal;
  13. import java.util.Date;
  14. import java.util.List;
  15. /**
  16. * @author lune
  17. * @date 2019-7-23
  18. */
  19. @Service
  20. @Transactional
  21. public class MeetSginInOutInfoServiceImpl extends AbstractCrudService<MeetSginInOutInfo, MeetSginInOutInfoParam> implements MeetSginInOutInfoService {
  22. @Autowired
  23. private MeetSginInOutInfoDao meetSginInOutInfoDao;
  24. public MeetSginInOutInfoServiceImpl(MeetSginInOutInfoDao meetSginInOutInfoDao) {
  25. super(meetSginInOutInfoDao);
  26. this.meetSginInOutInfoDao = meetSginInOutInfoDao;
  27. }
  28. @Override
  29. public PageInfo<MeetSginInOutInfo> findSginInOutInfoPage(MeetSginInOutInfoParam meetSginInOutInfoParam) {
  30. PageHelper.startPage(meetSginInOutInfoParam);
  31. List<MeetSginInOutInfo> list = meetSginInOutInfoDao.findSginInOutInfoPage(meetSginInOutInfoParam);
  32. if (list.size() > 0) {
  33. for (MeetSginInOutInfo inOutInfo : list) {
  34. if (inOutInfo.getMeetCount() == 0) {
  35. inOutInfo.setSignCate("0");
  36. continue;
  37. }
  38. BigDecimal divisorEnd = new BigDecimal(inOutInfo.getMeetCount());
  39. BigDecimal divisor = new BigDecimal(inOutInfo.getSginCount());
  40. BigDecimal result = divisor.multiply(new BigDecimal(100)).divide(divisorEnd, 0, BigDecimal.ROUND_HALF_UP);
  41. inOutInfo.setSignCate(String.valueOf(result));
  42. }
  43. }
  44. PageInfo<MeetSginInOutInfo> pageInfo = new PageInfo<>(list);
  45. return pageInfo;
  46. }
  47. @Override
  48. public List<MeetSginInOutInfo> fingSginInOutInfoList(MeetSginInOutInfoParam meetSginInOutInfoParam) {
  49. List<MeetSginInOutInfo> list = meetSginInOutInfoDao.fingSginInOutInfoList(meetSginInOutInfoParam);
  50. Date date = new Date();
  51. for (MeetSginInOutInfo info : list) {
  52. info.setIsState("0");
  53. if (info.getStTm().compareTo(date) < 0 && info.getEnTm().compareTo(date)>0) {
  54. info.setIsState("1");
  55. } else if (info.getStTm().compareTo(date) > 0) {
  56. info.setIsState("2");
  57. }
  58. }
  59. return list;
  60. }
  61. }