package com.ruoyi.station.service.impl; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.concurrent.atomic.AtomicInteger; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.station.domain.MjTeamMember; import com.ruoyi.station.domain.MjWorkOrder; import com.ruoyi.station.mapper.MjFingerprintReadHeadMapper; import com.ruoyi.station.service.IMjTeamMemberService; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.station.mapper.MjVisitLogMapper; import com.ruoyi.station.domain.MjVisitLog; import com.ruoyi.station.service.IMjVisitLogService; import com.ruoyi.common.core.text.Convert; /** * 指纹识别访问后台记录Service业务层处理 * * @author ruoyi * @date 2020-08-10 */ @Service public class MjVisitLogServiceImpl implements IMjVisitLogService { @Autowired private MjVisitLogMapper mjVisitLogMapper; @Autowired private MjWorkUserServiceImpl mjWorkUserService; @Autowired private MjFingerprintReadHeadMapper mjFingerprintReadHeadMapper; @Autowired private IMjTeamMemberService mjTeamMemberService; /** * 查询指纹识别访问后台记录 * * @param id 指纹识别访问后台记录ID * @return 指纹识别访问后台记录 */ @Override public MjVisitLog selectMjVisitLogById(String id) { return mjVisitLogMapper.selectMjVisitLogById(id); } /** * 查询指纹识别访问后台记录列表 * * @param mjVisitLog 指纹识别访问后台记录 * @return 指纹识别访问后台记录 */ @Override public List selectMjVisitLogList(MjVisitLog mjVisitLog) { return mjVisitLogMapper.selectMjVisitLogList(mjVisitLog); } /** * 新增指纹识别访问后台记录 * * @param mjVisitLog 指纹识别访问后台记录 * @return 结果 */ @Override public int insertMjVisitLog(MjVisitLog mjVisitLog) { mjVisitLog.setCreateTime(DateUtils.getNowDate()); return mjVisitLogMapper.insertMjVisitLog(mjVisitLog); } /** * 修改指纹识别访问后台记录 * * @param mjVisitLog 指纹识别访问后台记录 * @return 结果 */ @Override public int updateMjVisitLog(MjVisitLog mjVisitLog) { mjVisitLog.setUpdateTime(DateUtils.getNowDate()); return mjVisitLogMapper.updateMjVisitLog(mjVisitLog); } /** * 删除指纹识别访问后台记录对象 * * @param ids 需要删除的数据ID * @return 结果 */ @Override public int deleteMjVisitLogByIds(String ids) { return mjVisitLogMapper.deleteMjVisitLogByIds(Convert.toStrArray(ids)); } /** * 删除指纹识别访问后台记录信息 * * @param id 指纹识别访问后台记录ID * @return 结果 */ @Override public int deleteMjVisitLogById(String id) { return mjVisitLogMapper.deleteMjVisitLogById(id); } @Override public int selectVisitLogCount() { return mjVisitLogMapper.selectVisitLogCount(); } /** * 门禁开启数据统计-》授权方式 * * @return */ @Override public Map getMjOpenAuthType() { Integer monthCount = null; int longAuth = 0; //长期授权 int shortAuth = 0; //短期授权 int ERPAuth = 0; //ERP授权 MjVisitLog mjVisitLog = new MjVisitLog(); List mjWorkOrderList = mjVisitLogMapper.selectVisitOrder(); if (CollectionUtils.isNotEmpty(mjWorkOrderList)) { ERPAuth = (int) mjWorkOrderList.stream().filter(Objects::nonNull).filter(item -> item.getOpenMode() != null).filter(item -> item.getOpenMode() == 1 || item.getOpenMode() == 2).count(); shortAuth = (int) mjWorkOrderList.stream().filter(Objects::nonNull).filter(item -> item.getOpenMode() != null).filter(item -> item.getOpenMode() == 0).count(); longAuth = (int)mjWorkOrderList.stream().filter(Objects::nonNull).filter(item -> item.getExpandStatus() != null).filter(item -> item.getExpandStatus() == 1).count(); } // if(mjWorkOrderList != null && mjWorkOrderList.size() > 0) { // for(MjWorkOrder mjWorkOrder : mjWorkOrderList) { // if(mjWorkOrder != null) { // try { // shortAuth++; // monthCount = mjWorkUserService.monthsBetween(mjWorkOrder.getStartTime(), mjWorkOrder.getEndTime()); // /*if(monthCount != null) { // if(monthCount >= 12) { //判断有效年份是否超过一年,超过则为长期授权否则短期授权 // longAuth++; // }else { // shortAuth++; // } // }*/ // }catch (Exception e) { // e.printStackTrace(); // return null; // } // } // } // } Map map = new HashMap<>(); map.put("longAuth", longAuth); map.put("shortAuth", shortAuth); map.put("ERPAuth", ERPAuth); map.put("num", shortAuth + ERPAuth+longAuth); return map; } @Override public List selectVisitLog() { return mjVisitLogMapper.selectVisitLog(); } @Override public List selectVisitLogByCondition(MjVisitLog mjVisitLog) { return mjVisitLogMapper.selectVisitLogByCondition(mjVisitLog); } @Override public void delete7days() { mjVisitLogMapper.delete7days(); } @Override public List selectMjVisitLogList3(MjVisitLog mjVisitLog) { return mjVisitLogMapper.selectMjVisitLogList3(mjVisitLog); } }