package com.whyc.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.whyc.dto.Response; import com.whyc.mapper.MonPlanMapper; import com.whyc.pojo.MonPlan; import com.whyc.pojo.StationInf; import com.whyc.pojo.UserInf; import com.whyc.util.ActionUtil; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @Service public class MonPlanService { @Resource private MonPlanMapper mapper; //统计计划 public Response staticPlan() { QueryWrapper wrapper=new QueryWrapper(); wrapper.orderByAsc("num"); List list=mapper.selectList(wrapper); //按照状态统计 Map> stateMonMap=list.stream().collect(Collectors.groupingBy(MonPlan::getPlanState)); //按照类型统计 Map> typeMonMap=list.stream().collect(Collectors.groupingBy(MonPlan::getPlanType)); Map stateMap = new HashMap<>(); stateMap.put(0,0); stateMap.put(1,0); stateMap.put(2,0); stateMap.put(3,0); Map typeMap = new HashMap<>(); typeMap.put(0,0); typeMap.put(1,0); typeMap.put(2,0); typeMap.put(3,0); for (Integer state : stateMonMap.keySet()) { stateMap.put(state, stateMonMap.get(state).size()); } for (Integer type : typeMonMap.keySet()) { typeMap.put(type, typeMonMap.get(type).size()); } Map map=new HashMap<>(); map.put("state",stateMap); map.put("type",typeMap); return new Response().setII(1,true,map,"统计计划"); } //查询计划 public Response getPlan(Integer type, Integer state, int pageNum, int pageSize) { PageHelper.startPage(pageNum,pageSize); QueryWrapper wrapper=new QueryWrapper(); if(type!=null){ wrapper.eq("plan_type",type); } if(state!=null){ wrapper.eq("plan_state",state); } wrapper.orderByAsc("num"); List list=mapper.selectList(wrapper); PageInfo pageInfo=new PageInfo(list); return new Response().setII(1,list!=null,pageInfo,"查询计划"); } //查询正在进行的计划 public Response getStartingPlan() { QueryWrapper wrapper=new QueryWrapper(); wrapper.eq("plan_state",1); wrapper.orderByAsc("num"); List list=mapper.selectList(wrapper); return new Response().setII(1,list!=null,list,"查询计划"); } //添加计划 public Response addPlan(MonPlan monPlan) { UserInf uinf= ActionUtil.getUser(); monPlan.setCreateUserId(uinf.getUid()); monPlan.setCreateUserName(uinf.getUname()); monPlan.setCreateTime(new Date()); monPlan.setPlanState(0); int flag=mapper.insert(monPlan); return new Response().set(1,flag>0); } }