package com.fzzy.igds; import com.bstek.dorado.annotation.DataProvider; import com.bstek.dorado.data.provider.Page; import com.fzzy.igds.data.IgdsBaseParam; import com.fzzy.igds.data.NoticeParam; import com.fzzy.igds.data.PatrolSuperData; import com.fzzy.igds.domain.Dept; import com.fzzy.igds.domain.InoutNoticeIn; import com.fzzy.igds.domain.Patrol; import com.fzzy.igds.service.CoreDeptService; import com.fzzy.igds.service.PatrolService; import com.fzzy.igds.utils.DateUtil; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.*; /** * @Description 巡更监管统计 * @Author CZT * @Date 2025/12/17 11:32 */ @Component public class PatrolPR { @Resource private PatrolService patrolService; @Resource private CoreDeptService coreDeptService; /** * patrolPR#getData 巡检监管统计 * * @return * @throws Exception */ @DataProvider public List getData() { //查询当前用户下属的所有库区 List deptList = coreDeptService.getDeptData(); if(null == deptList || deptList.isEmpty()){ return null; } //库区转换 Map map = new HashMap<>(); for (Dept dept : deptList) { map.put(dept.getId(), new PatrolSuperData(dept.getCompanyId(), dept.getId())); } List weekList = patrolService.getWeekList(); if(null != weekList && weekList.size() > 0){ PatrolSuperData patrolSuperData; Date start = DateUtil.getCurZero(DateUtil.getNewByDay(new Date(), -1)); //昨天零点零分 Date end = DateUtil.getCurZero(new Date()); //今天零点零分 for (Patrol patrol : weekList) { patrolSuperData = map.get(patrol.getDeptId()); //7天内统计 patrolSuperData.setWeekNum(patrolSuperData.getWeekNum() + 1); //当天统计 if(patrol.getCreateTime().after(end)){ patrolSuperData.setCurNum(patrolSuperData.getCurNum() + 1); patrolSuperData.setIsPatrol("Y"); } //昨天统计 if(patrol.getCreateTime().after(start) && patrol.getCreateTime().before(end)){ patrolSuperData.setWeekNum(patrolSuperData.getWeekNum() + 1); } } } return new ArrayList<>(map.values()); } /** * patrolPR#pagePatrolData 获取巡检记录信息 * * @param param * @return */ @DataProvider public void pagePatrolData(Page page, IgdsBaseParam param) { if(null == param) { param = new IgdsBaseParam(); } com.baomidou.mybatisplus.extension.plugins.pagination.Page corePage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPageNo(), page.getPageSize()); patrolService.pagePatrolData(corePage, param); // 重新封装 page.setEntities(corePage.getRecords()); page.setEntityCount(Integer.parseInt(String.valueOf(corePage.getTotal()))); } }