a5347e1d3966ee3af09619a72a000e9a34f403b4.svn-base 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. package cn.com.goldenwater.dcproj.service.impl.meeting;
  2. import cn.com.goldenwater.dcproj.dao.MeetPersListDao;
  3. import cn.com.goldenwater.dcproj.dao.MeetPersSginListDao;
  4. import cn.com.goldenwater.dcproj.dao.MeetSginInOutInfoDao;
  5. import cn.com.goldenwater.dcproj.model.MeetPersList;
  6. import cn.com.goldenwater.dcproj.model.MeetPersSginList;
  7. import cn.com.goldenwater.dcproj.model.MeetSginInOutInfo;
  8. import cn.com.goldenwater.dcproj.param.MeetPersListParam;
  9. import cn.com.goldenwater.dcproj.param.MeetPersSginListParam;
  10. import cn.com.goldenwater.dcproj.param.MeetSginInOutInfoParam;
  11. import cn.com.goldenwater.dcproj.service.MeetPersListService;
  12. import cn.com.goldenwater.core.service.AbstractCrudService;
  13. import cn.com.goldenwater.dcproj.utils.BeanUtil;
  14. import com.github.pagehelper.PageHelper;
  15. import com.github.pagehelper.PageInfo;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.stereotype.Service;
  18. import org.springframework.transaction.annotation.Transactional;
  19. import java.text.SimpleDateFormat;
  20. import java.util.ArrayList;
  21. import java.util.LinkedHashMap;
  22. import java.util.List;
  23. import java.util.Map;
  24. import java.util.function.Function;
  25. import java.util.stream.Collectors;
  26. /**
  27. * @author lune
  28. * @date 2019-7-23
  29. */
  30. @Service
  31. @Transactional
  32. public class MeetPersListServiceImpl extends AbstractCrudService<MeetPersList, MeetPersListParam> implements MeetPersListService {
  33. @Autowired
  34. private MeetPersListDao meetPersListDao;
  35. @Autowired
  36. private MeetSginInOutInfoDao sginInOutInfoDao;
  37. @Autowired
  38. private MeetPersSginListDao persSginListDao;
  39. public MeetPersListServiceImpl(MeetPersListDao meetPersListDao) {
  40. super(meetPersListDao);
  41. this.meetPersListDao = meetPersListDao;
  42. }
  43. @Override
  44. public PageInfo<Map<String, Object>> getPersPage(MeetPersListParam meetPersListParam) {
  45. PageHelper.startPage(meetPersListParam);
  46. //get pers List
  47. List<MeetPersList> list = this.meetPersListDao.findList(meetPersListParam);
  48. List<Map<String,Object>> mapList = new ArrayList<>();
  49. MeetSginInOutInfoParam param = new MeetSginInOutInfoParam();
  50. param.setMeetId(meetPersListParam.getMeetingId());
  51. //get sign list
  52. List<MeetSginInOutInfo> sginInOutInfos = sginInOutInfoDao.findList(param);
  53. MeetPersSginListParam sginListParam = new MeetPersSginListParam();
  54. sginListParam.setMeetId(meetPersListParam.getMeetingId());
  55. List<MeetPersSginList> persSginList = persSginListDao.findMeetPersSginList(sginListParam);
  56. Map<String,MeetPersSginList> signMap = new LinkedHashMap<>();
  57. for(MeetPersSginList per : persSginList) {
  58. String key = per.getPersId() + per.getSginId();
  59. if (!signMap.keySet().contains(key)) {
  60. signMap.put(key,per);
  61. }
  62. }
  63. SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
  64. for (MeetPersList pers : list) {
  65. Map<String,Object> map = BeanUtil.transBean2Map(pers);
  66. if (map == null) {
  67. continue;
  68. }
  69. for (MeetSginInOutInfo sginInOutInfo : sginInOutInfos) {
  70. String key = pers.getId() + sginInOutInfo.getId();
  71. String label = "签到";
  72. if("2".equals(sginInOutInfo.getType())){
  73. label = "签退";
  74. }
  75. if (signMap.keySet().contains(key)) {
  76. map.put(label+dateFormat.format(sginInOutInfo.getStTm())+"-"+dateFormat.format(sginInOutInfo.getEnTm()),"1");
  77. } else {
  78. map.put(label+dateFormat.format(sginInOutInfo.getStTm())+"-"+dateFormat.format(sginInOutInfo.getEnTm()),"2");
  79. }
  80. }
  81. mapList.add(map);
  82. }
  83. PageInfo<MeetPersList> pageInfo1 = new PageInfo<>(list);
  84. PageInfo<Map<String, Object>> pageInfo = new PageInfo<>(mapList);
  85. pageInfo.setPageNum(pageInfo1.getPageNum());
  86. pageInfo.setPageSize(pageInfo1.getPageSize());
  87. pageInfo.setSize(pageInfo1.getSize());
  88. pageInfo.setStartRow(pageInfo1.getStartRow());
  89. pageInfo.setEndRow(pageInfo1.getEndRow());
  90. pageInfo.setTotal(pageInfo1.getTotal());
  91. pageInfo.setPages(pageInfo1.getPages());
  92. pageInfo.setNextPage(pageInfo1.getNextPage());
  93. pageInfo.setIsFirstPage(pageInfo1.isIsFirstPage());
  94. pageInfo.setIsLastPage(pageInfo1.isIsLastPage());
  95. pageInfo.setHasNextPage(pageInfo1.isHasNextPage());
  96. pageInfo.setNavigatePages(pageInfo1.getNavigatePages());
  97. pageInfo.setNavigatepageNums(pageInfo1.getNavigatepageNums());
  98. pageInfo.setNavigateFirstPage(pageInfo1.getNavigateFirstPage());
  99. pageInfo.setNavigateLastPage(pageInfo1.getNavigateLastPage());
  100. return pageInfo;
  101. }
  102. }