| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- package cn.com.goldenwater.dcproj.service.impl.meeting;
- import cn.com.goldenwater.dcproj.dao.MeetPersListDao;
- import cn.com.goldenwater.dcproj.dao.MeetPersSginListDao;
- import cn.com.goldenwater.dcproj.dao.MeetSginInOutInfoDao;
- import cn.com.goldenwater.dcproj.model.MeetPersList;
- import cn.com.goldenwater.dcproj.model.MeetPersSginList;
- import cn.com.goldenwater.dcproj.model.MeetSginInOutInfo;
- import cn.com.goldenwater.dcproj.param.MeetPersListParam;
- import cn.com.goldenwater.dcproj.param.MeetPersSginListParam;
- import cn.com.goldenwater.dcproj.param.MeetSginInOutInfoParam;
- import cn.com.goldenwater.dcproj.service.MeetPersListService;
- import cn.com.goldenwater.core.service.AbstractCrudService;
- import cn.com.goldenwater.dcproj.utils.BeanUtil;
- import com.github.pagehelper.PageHelper;
- import com.github.pagehelper.PageInfo;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.LinkedHashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.function.Function;
- import java.util.stream.Collectors;
- /**
- * @author lune
- * @date 2019-7-23
- */
- @Service
- @Transactional
- public class MeetPersListServiceImpl extends AbstractCrudService<MeetPersList, MeetPersListParam> implements MeetPersListService {
- @Autowired
- private MeetPersListDao meetPersListDao;
- @Autowired
- private MeetSginInOutInfoDao sginInOutInfoDao;
- @Autowired
- private MeetPersSginListDao persSginListDao;
- public MeetPersListServiceImpl(MeetPersListDao meetPersListDao) {
- super(meetPersListDao);
- this.meetPersListDao = meetPersListDao;
- }
- @Override
- public PageInfo<Map<String, Object>> getPersPage(MeetPersListParam meetPersListParam) {
- PageHelper.startPage(meetPersListParam);
- //get pers List
- List<MeetPersList> list = this.meetPersListDao.findList(meetPersListParam);
- List<Map<String,Object>> mapList = new ArrayList<>();
- MeetSginInOutInfoParam param = new MeetSginInOutInfoParam();
- param.setMeetId(meetPersListParam.getMeetingId());
- //get sign list
- List<MeetSginInOutInfo> sginInOutInfos = sginInOutInfoDao.findList(param);
- MeetPersSginListParam sginListParam = new MeetPersSginListParam();
- sginListParam.setMeetId(meetPersListParam.getMeetingId());
- List<MeetPersSginList> persSginList = persSginListDao.findMeetPersSginList(sginListParam);
- Map<String,MeetPersSginList> signMap = new LinkedHashMap<>();
- for(MeetPersSginList per : persSginList) {
- String key = per.getPersId() + per.getSginId();
- if (!signMap.keySet().contains(key)) {
- signMap.put(key,per);
- }
- }
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
- for (MeetPersList pers : list) {
- Map<String,Object> map = BeanUtil.transBean2Map(pers);
- if (map == null) {
- continue;
- }
- for (MeetSginInOutInfo sginInOutInfo : sginInOutInfos) {
- String key = pers.getId() + sginInOutInfo.getId();
- String label = "签到";
- if("2".equals(sginInOutInfo.getType())){
- label = "签退";
- }
- if (signMap.keySet().contains(key)) {
- map.put(label+dateFormat.format(sginInOutInfo.getStTm())+"-"+dateFormat.format(sginInOutInfo.getEnTm()),"1");
- } else {
- map.put(label+dateFormat.format(sginInOutInfo.getStTm())+"-"+dateFormat.format(sginInOutInfo.getEnTm()),"2");
- }
- }
- mapList.add(map);
- }
- PageInfo<MeetPersList> pageInfo1 = new PageInfo<>(list);
- PageInfo<Map<String, Object>> pageInfo = new PageInfo<>(mapList);
- pageInfo.setPageNum(pageInfo1.getPageNum());
- pageInfo.setPageSize(pageInfo1.getPageSize());
- pageInfo.setSize(pageInfo1.getSize());
- pageInfo.setStartRow(pageInfo1.getStartRow());
- pageInfo.setEndRow(pageInfo1.getEndRow());
- pageInfo.setTotal(pageInfo1.getTotal());
- pageInfo.setPages(pageInfo1.getPages());
- pageInfo.setNextPage(pageInfo1.getNextPage());
- pageInfo.setIsFirstPage(pageInfo1.isIsFirstPage());
- pageInfo.setIsLastPage(pageInfo1.isIsLastPage());
- pageInfo.setHasNextPage(pageInfo1.isHasNextPage());
- pageInfo.setNavigatePages(pageInfo1.getNavigatePages());
- pageInfo.setNavigatepageNums(pageInfo1.getNavigatepageNums());
- pageInfo.setNavigateFirstPage(pageInfo1.getNavigateFirstPage());
- pageInfo.setNavigateLastPage(pageInfo1.getNavigateLastPage());
- return pageInfo;
- }
- }
|