package cn.com.goldenwater.dcproj.service.impl.meeting; import cn.com.goldenwater.dcproj.dao.MeetSginInOutInfoDao; import cn.com.goldenwater.dcproj.model.MeetSginInOutInfo; import cn.com.goldenwater.dcproj.param.MeetSginInOutInfoParam; import cn.com.goldenwater.dcproj.service.MeetSginInOutInfoService; import cn.com.goldenwater.core.service.AbstractCrudService; 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.math.BigDecimal; import java.util.Date; import java.util.List; /** * @author lune * @date 2019-7-23 */ @Service @Transactional public class MeetSginInOutInfoServiceImpl extends AbstractCrudService implements MeetSginInOutInfoService { @Autowired private MeetSginInOutInfoDao meetSginInOutInfoDao; public MeetSginInOutInfoServiceImpl(MeetSginInOutInfoDao meetSginInOutInfoDao) { super(meetSginInOutInfoDao); this.meetSginInOutInfoDao = meetSginInOutInfoDao; } @Override public PageInfo findSginInOutInfoPage(MeetSginInOutInfoParam meetSginInOutInfoParam) { PageHelper.startPage(meetSginInOutInfoParam); List list = meetSginInOutInfoDao.findSginInOutInfoPage(meetSginInOutInfoParam); if (list.size() > 0) { for (MeetSginInOutInfo inOutInfo : list) { if (inOutInfo.getMeetCount() == 0) { inOutInfo.setSignCate("0"); continue; } BigDecimal divisorEnd = new BigDecimal(inOutInfo.getMeetCount()); BigDecimal divisor = new BigDecimal(inOutInfo.getSginCount()); BigDecimal result = divisor.multiply(new BigDecimal(100)).divide(divisorEnd, 0, BigDecimal.ROUND_HALF_UP); inOutInfo.setSignCate(String.valueOf(result)); } } PageInfo pageInfo = new PageInfo<>(list); return pageInfo; } @Override public List fingSginInOutInfoList(MeetSginInOutInfoParam meetSginInOutInfoParam) { List list = meetSginInOutInfoDao.fingSginInOutInfoList(meetSginInOutInfoParam); Date date = new Date(); for (MeetSginInOutInfo info : list) { info.setIsState("0"); if (info.getStTm().compareTo(date) < 0 && info.getEnTm().compareTo(date)>0) { info.setIsState("1"); } else if (info.getStTm().compareTo(date) > 0) { info.setIsState("2"); } } return list; } }