IntelligentRecognition/ah-jjsp-service/.svn/pristine/12/125e6ba9e618d6f0bbfb0887a4d...

443 lines
16 KiB
Plaintext
Raw Normal View History

2024-05-24 16:09:40 +08:00
package com.sercurityControl.proteam.service.impl;
import com.google.common.collect.Maps;
import com.securityControl.common.core.utils.aes.DateTimeHelper;
import com.securityControl.common.core.utils.aes.ListHelper;
import com.securityControl.common.core.utils.aes.StringHelper;
import com.sercurityControl.proteam.domain.PersonNum;
import com.sercurityControl.proteam.domain.dto.LoginDto;
import com.sercurityControl.proteam.domain.vo.MapsVo;
import com.sercurityControl.proteam.domain.vo.WeekPlanVo;
import com.sercurityControl.proteam.dutyTask.domain.ClassMettingCheckVo;
import com.sercurityControl.proteam.dutyTask.domain.NoticeVoiVo;
import com.sercurityControl.proteam.mapper.SupervisorMapper;
import com.sercurityControl.proteam.service.SupervisorService;
import com.sercurityControl.proteam.util.ListEntityUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.IntSummaryStatistics;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 值长 页面 业务处理层
*
*/
@Service
@Slf4j
public class SupervisorServiceImpl implements SupervisorService {
@Autowired
private SupervisorMapper mapper;
@Override
public Map<String, Object> getProMaps(LoginDto loginDto) {
Map<String,Object> map= Maps.newHashMap();
try{
List<String> allProCode=mapper.getAllProNum(loginDto);//查询全部工程
List<String> distinctNumbers=allProCode.stream().distinct().collect(Collectors.toList());
map.put("allNum",allProCode.size());
//查询当日 有作业工程
List<String> sgProNum=mapper.getSgProNum(distinctNumbers);
map.put("sgNum",sgProNum.size());//有施工的工程数量
loginDto.setType("停工");
List<String> tgNum=mapper.getAllProNum(loginDto);//查询全部工程
int wsgNum=allProCode.size()-sgProNum.size()-tgNum.size();
map.put("wsgNum",wsgNum);//今日未施工的工程数量
map.put("TgNum",tgNum.size());//停工+投产数量
map.put("code","200");
map.put("msg","success");
}catch (Exception e){
map.put("allNum",0);
map.put("sgNum",0);
map.put("wsgNum",0);
map.put("TgNum",0);
map.put("msg",e.toString());
map.put("code","201");
log.error(e.toString(),e);
}
return map;
}
@Override
public Map<String, Object> getWeekMaps(LoginDto loginDto) {
switch (loginDto.getType()){
case "1":
return weekPlan(loginDto);
case "2":
return planList(loginDto);
case "3":
return AllWeekPlan(loginDto);
default:
return weekPlan(loginDto);
}
}
/**
* 值班任务统计查询
* @param loginDto
* @return
*/
@Override
public Map<String, Object> getDutyTaskMaps(LoginDto loginDto) {
Map<String,Object> map= Maps.newHashMap();
try{
//List<ClassMettingCheckVo> list=mapper.getDutyTaskMaps(loginDto);
int allNum=mapper.getAllTaskNum(loginDto);
loginDto.setType("1");
int xsNum=mapper.getAllTaskNum(loginDto);
int wxsNum=allNum-xsNum;
// IntSummaryStatistics allData= list.stream().collect(Collectors.summarizingInt(ClassMettingCheckVo::getNum));
// IntSummaryStatistics wxsData= list.stream().filter(vo ->"0".equals(vo.getState())).collect(Collectors.summarizingInt(ClassMettingCheckVo::getNum));
// IntSummaryStatistics xsData= list.stream().filter(vo ->"1".equals(vo.getState())).collect(Collectors.summarizingInt(ClassMettingCheckVo::getNum));
loginDto.setType(null);
Integer wzNum=mapper.getAllWzNum(loginDto);
loginDto.setType("严重违章");
Integer yzwz=mapper.getAllWzNum(loginDto);
loginDto.setType("一般违章");
Integer ybwz=mapper.getAllWzNum(loginDto);
// List<MapsVo> mapsVos=mapper.getWzList(loginDto);
// List<MapsVo> yzwz=mapsVos.stream().filter(vo ->"严重违章".equals(vo.getStatus())).collect(Collectors.toList());
// List<MapsVo> ybwz=mapsVos.stream().filter(vo ->"一般违章".equals(vo.getStatus())).collect(Collectors.toList());
int num=mapper.getZgNum(loginDto);
// int allNum=mapsVos.size();
map.put("YZWZ",yzwz);
map.put("YBWZ",ybwz);
map.put("XFWZ",wzNum);
map.put("YZG",num);
map.put("allNum",allNum);
map.put("noXs",wxsNum);
map.put("xs",xsNum);
map.put("code","200");
map.put("msg","success");
}catch (Exception e){
map.put("allNum",0);
map.put("noXs",0);
map.put("xs",0);
map.put("msg",e.toString());
map.put("code","201");
log.error(e.toString());
}
return map;
}
/**
* 值班进度 统计查询
* @param loginDto
* @return
*/
@Override
public Map<String, Object> getDutySchedule(LoginDto loginDto) {
Map<String,Object> map= Maps.newHashMap();
try{
List<String> userList=new ArrayList<>();
List<String> taskList=new ArrayList<>();
List<Integer> xsList=new ArrayList<>();
List<Integer> wzList=new ArrayList<>();
List<MapsVo> list=mapper.getUserList(loginDto);
list.forEach(mapsVo -> {
if(StringHelper.isNotEmpty(mapsVo.getName())){
userList.add(mapsVo.getName());
}else{
userList.add(mapsVo.getStatus());
}
int nums=mapper.getTaskNum(mapsVo.getUserId());
taskList.add(nums+"");
int num=mapper.getWzNumByUser(mapsVo.getUserId());
int xsNum=mapper.getXsNum(mapsVo.getUserId());
xsList.add(xsNum);
wzList.add(num);
});
map.put("code",200);
map.put("msg","success");
map.put("userList",userList);
map.put("taskList",taskList);
map.put("xsList",xsList);
map.put("wzList",wzList);
}catch (Exception e){
map.put("msg",e.toString());
map.put("code","201");
log.error(e.toString());
}
return map;
}
/**
*
* @param loginDto
* @return
*/
@Override
public Map<String, Object> getViolationAudit(LoginDto loginDto) {
Map<String,Object> map= Maps.newHashMap();
try{
List<NoticeVoiVo> list=mapper.getViolationAudit(loginDto);
map.put("code",200);
map.put("data",list);
map.put("msg","success");
}catch (Exception e){
map.put("msg",e.toString());
map.put("code","201");
log.error(e.toString());
}
return map;
}
@Override
public Map<String, Object> getPeopleMaps(LoginDto dto) {
Map<String, Object> map= Maps.newHashMap();
try{
PersonNum person=new PersonNum();
person.setIsSup(dto.getIsSup());
person.setOrgId(dto.getOrgId());
List<PersonNum> list = mapper.getClassPeopleNum(person);
List<String> bzgg= ListEntityUtil.getPeopleTypeList(1);
List<String> tzzy= ListEntityUtil.getPeopleTypeList(2);
int allNUM=0;//全部人数;
int teamNum = 0;//班组骨干
int tzzyNum = 0;//特种作业
int ptsgNum = 0;//普通施工
for ( PersonNum personNum:list) {
if(personNum!=null){
String personType = personNum.getPersonType();
if(bzgg.contains(personType)){//班组骨干
teamNum += personNum.getPersonNum();
}else if(tzzy.contains(personType)){//特种作业
tzzyNum += personNum.getPersonNum();
}else{//其他
ptsgNum += personNum.getPersonNum();
}
}
}
allNUM=teamNum+tzzyNum+ptsgNum;
map.put("bzgg",teamNum);
map.put("ttzy",tzzyNum);
map.put("ptzy",ptsgNum);
map.put("allNUM",allNUM);
map.put("code",200);
map.put("msg","success");
}catch (Exception e){
map.put("bzgg",0);
map.put("ttzy",0);
map.put("ptzy",0);
map.put("allNUM",0);
map.put("msg",e.toString());
map.put("code","201");
log.error(e.toString());
log.error(e.toString(),e);
}
return map;
}
/**
* 日计划统计查询
* @param loginDto
* @return
*/
@Override
public Map<String, Object> getDayPlanMaps(LoginDto loginDto) {
switch (loginDto.getType()){
case "1":
return getDayPlan(loginDto);
case "2":
return getDayPlanList(loginDto);
default:
return getDayPlan(loginDto);
}
}
/**
* 日计划统计查询
* @param loginDto
* @return
*/
public Map<String, Object> getDayPlan(LoginDto loginDto) {
Map<String, Object> map= Maps.newHashMap();
try{
List<Integer> list=mapper.getTicketNum(loginDto);
map.put("allNum",list.get(0));//总数量
map.put("yzxNum",list.get(1));//已执行
map.put("wzxNum",list.get(2));//未执行
map.put("HsNum",list.get(3));//核实
map.put("WhsNum",list.get(4));//未核实
map.put("code",200);
map.put("msg","success");
}catch (Exception e){
map.put("allNum",0);//总数量
map.put("yzxNum",0);//已执行
map.put("wzxNum",0);//未执行
map.put("HsNum",0);//核实
map.put("WhsNum",0);//未核实
map.put("msg",e.toString());
map.put("code","201");
log.error(e.toString());
}
return map;
}
/**
* 日计划统计查询
* @param loginDto
* @return
*/
public Map<String, Object> getDayPlanList(LoginDto loginDto) {
Map<String, Object> map= Maps.newHashMap();
try{
List<MapsVo> list=mapper.getDayPlanList(loginDto);
List<String> cityList=new ArrayList<>();
List<String> planList=new ArrayList<>();
List<String> dayList=new ArrayList<>();
list.forEach(mapsVo -> {
cityList.add(mapsVo.getName());
planList.add(mapsVo.getTotalNum());
dayList.add(mapsVo.getExecutedNum());
});
map.put("cityList",cityList);
map.put("planList",planList);
map.put("dayList",dayList);
map.put("code",200);
map.put("msg","success");
}catch (Exception e){
map.put("cityList",new ArrayList<>());
map.put("planList",0);
map.put("dayList",0);
map.put("msg",e.toString());
map.put("code","201");
}
return map;
}
/**
* 周计划统计
* @param loginDto
* @return
*/
private Map<String, Object> weekPlan(LoginDto loginDto) {
Map<String,Object> map= Maps.newHashMap();
try{
String time= DateTimeHelper.getNowDay();
String startWeek= DateTimeHelper.getWeekStartOrEndTime(time,true);//本周开始时间
String endWeek= DateTimeHelper.getWeekStartOrEndTime(time,false);//本周结束时间
loginDto.setStartTime(startWeek);
loginDto.setEndTime(endWeek);
Map<String,Object> maps = mapper.getWeekRiskNumByWeekTime(loginDto);
List<String> list=new ArrayList<>();
list.add(maps.get("twoRisk").toString());
list.add(maps.get("threeRisk").toString());
list.add(maps.get("foureRisk").toString());
list.add(maps.get("fiveRisk").toString());
map.put("data",list);
map.put("code","200");
map.put("msg","success");
}catch (Exception e){
map.put("data",new Integer[]{0,0,0,0});
map.put("msg",e.toString());
map.put("code","201");
log.error(e.toString(),e);
}
return map;
}
/**
* 周计划趋势
* @param loginDto
* @return
*/
private Map<String, Object> planList(LoginDto loginDto) {
Map<String,Object> map= Maps.newHashMap();
try{
List<String> times=new ArrayList<>();
List<String> twoList=new ArrayList<>();
List<String> threeList=new ArrayList<>();
List<String> timeList=DateTimeHelper.getWeekList();
timeList.forEach(time->{
String startWeek= DateTimeHelper.getWeekStartOrEndTime(time,true);//本周开始时间
String endWeek= DateTimeHelper.getWeekStartOrEndTime(time,false);//本周结束时间
loginDto.setStartTime(startWeek);
loginDto.setEndTime(endWeek);
List<WeekPlanVo> list=mapper.planList(loginDto);
Map<String, String> twoWeek=list.stream().filter(week->"二级".equals(week.getRiskLevel())).collect(Collectors.toMap(WeekPlanVo::getRiskLevel, WeekPlanVo::getNum));
Map<String, String> three=list.stream().filter(week->"三级".equals(week.getRiskLevel())).collect(Collectors.toMap(WeekPlanVo::getRiskLevel, WeekPlanVo::getNum));
times.add(DateTimeHelper.getWeekTimes(time));
if(StringHelper.isNotEmpty(twoWeek.get("二级"))){
twoList.add(twoWeek.get("二级"));
}else{
twoList.add("0");
}
if(StringHelper.isNotEmpty(three.get("三级"))){
threeList.add(three.get("三级"));
}else{
threeList.add("0");
}
});
map.put("times",times);
map.put("twoList",twoList);
map.put("threeList",threeList);
map.put("code","200");
map.put("msg","success");
}catch (Exception e){
map.put("msg",e.toString());
map.put("code","201");
log.error(e.toString(),e);
}
return map;
}
/**
* 全省周计划
* @param loginDto
* @return
*/
private Map<String, Object> AllWeekPlan(LoginDto loginDto) {
Map<String,Object> map= Maps.newHashMap();
try{
List<String> twoList=new ArrayList<>();
List<String> threeList=new ArrayList<>();
String time= DateTimeHelper.getNowDay();
String startWeek= DateTimeHelper.getWeekStartOrEndTime(time,true);//本周开始时间
String endWeek= DateTimeHelper.getWeekStartOrEndTime(time,false);//本周结束时间
loginDto.setStartTime(startWeek);
loginDto.setEndTime(endWeek);
List<WeekPlanVo> list=mapper.AllWeekPlan(loginDto);
List<String> cityList = list.stream().map(WeekPlanVo::getCityName).distinct().collect(Collectors.toList());
Map<String, String> twoWeek=list.stream().filter(week->"二级".equals(week.getRiskLevel())).collect(Collectors.toMap(WeekPlanVo::getCityName, WeekPlanVo::getNum));
Map<String, String> three=list.stream().filter(week->"三级".equals(week.getRiskLevel())).collect(Collectors.toMap(WeekPlanVo::getCityName, WeekPlanVo::getNum));
cityList.forEach(city ->{
if(StringHelper.isNotEmpty(twoWeek.get(city))){
twoList.add(twoWeek.get(city));
}else{
twoList.add("0");
}
if(StringHelper.isNotEmpty(three.get(city))){
threeList.add(three.get(city));
}else{
threeList.add("0");
}
});
map.put("city",cityList);
map.put("twoList",twoList);
map.put("threeList",threeList);
map.put("code","200");
map.put("msg","success");
}catch (Exception e){
map.put("msg",e.toString());
map.put("code","201");
log.error(e.toString(),e);
}
return map;
}
}