package com.whyc.service;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.whyc.dto.Response;
|
import com.whyc.mapper.FaultUploadMapper;
|
import com.whyc.pojo.BaoJiGroup;
|
import com.whyc.pojo.FaultUpload;
|
import com.whyc.pojo.UserInf;
|
import com.whyc.util.ActionUtil;
|
import com.whyc.util.DateUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.util.*;
|
import java.util.stream.Collectors;
|
|
@Service
|
public class FaultUploadService {
|
|
@Resource
|
private FaultUploadMapper mapper;
|
|
@Autowired
|
private BaoJiGroupService baoJiGroupService;
|
|
@Autowired
|
private UserService userService;
|
|
public Response add(FaultUpload fault) {
|
int userId = ActionUtil.getUser().getUId().intValue();
|
Date now = new Date();
|
fault.setUploadUserId(userId);
|
fault.setCreateTime(now);
|
mapper.insert(fault);
|
return new Response().setII(1,"上传完成");
|
}
|
|
public Response updateConfirm(FaultUpload fault) {
|
int userId = ActionUtil.getUser().getUId().intValue();
|
Date now = new Date();
|
fault.setConfirmUserId(userId);
|
fault.setConfirmTime(now);
|
mapper.updateById(fault);
|
return new Response().setII(1,"确认完成");
|
}
|
|
public Response listPage(int pageNum, int pageSize, FaultUpload upload) {
|
PageHelper.startPage(pageNum,pageSize);
|
int userId = ActionUtil.getUser().getUId().intValue();
|
List<FaultUpload> faultUploads = mapper.getList(userId,upload);
|
//联查拆分,组装 用户名
|
List<UserInf> users = userService.getAll();
|
Map<Long, List<UserInf>> userIdListMap = users.stream().collect(Collectors.groupingBy(UserInf::getUId));
|
for (FaultUpload faultUpload : faultUploads) {
|
faultUpload.setUploadUserName(userIdListMap.get(Long.valueOf(faultUpload.getUploadUserId() +"")).get(0).getUName());
|
faultUpload.setConfirmUserName(userIdListMap.get(Long.valueOf(faultUpload.getConfirmUserId() +"")).get(0).getUName());
|
}
|
|
PageInfo<FaultUpload> pageInfo = new PageInfo<>(faultUploads);
|
return new Response().set(1,pageInfo);
|
}
|
|
public Response listPage2(int pageNum, int pageSize, FaultUpload upload) {
|
PageHelper.startPage(pageNum,pageSize);
|
int userId = ActionUtil.getUser().getUId().intValue();
|
List<FaultUpload> faultUploads = mapper.getList2(userId,upload);
|
//联查拆分,组装 用户名
|
List<UserInf> users = userService.getAll();
|
Map<Long, List<UserInf>> userIdListMap = users.stream().collect(Collectors.groupingBy(UserInf::getUId));
|
for (FaultUpload faultUpload : faultUploads) {
|
faultUpload.setUploadUserName(userIdListMap.get(Long.valueOf(faultUpload.getUploadUserId() +"")).get(0).getUName());
|
faultUpload.setConfirmUserName(userIdListMap.get(Long.valueOf(faultUpload.getConfirmUserId() +"")).get(0).getUName());
|
}
|
|
PageInfo<FaultUpload> pageInfo = new PageInfo<>(faultUploads);
|
return new Response().set(1,pageInfo);
|
}
|
|
public Response getTypeNum() {
|
int userId = ActionUtil.getUser().getUId().intValue();
|
FaultUpload upload = new FaultUpload();
|
List<FaultUpload> faultUploads = mapper.getList(userId,upload);
|
Map<Integer, List<FaultUpload>> typeListMap = faultUploads.stream().collect(Collectors.groupingBy(FaultUpload::getType));
|
Map<Integer,Integer> typeMap = new HashMap<>();
|
Set<Integer> typeSet = typeListMap.keySet();
|
for (Integer type : typeSet) {
|
typeMap.put(type,typeListMap.get(type).size());
|
}
|
return new Response().set(1,typeMap);
|
|
}
|
|
public Response groupNameCount(int timeType) {
|
int userId = ActionUtil.getUser().getUId().intValue();
|
FaultUpload upload = new FaultUpload();
|
Date now = new Date();
|
String uploadStartTime = null;
|
String uploadEndTime = null;
|
if(timeType == 1){
|
//本月
|
Calendar monthStart = Calendar.getInstance();
|
monthStart.setTime(now);
|
//设置为1号,当前日期既为本月第一天
|
monthStart.set(Calendar.DAY_OF_MONTH,1);
|
monthStart.set(Calendar.HOUR, 0);
|
monthStart.set(Calendar.MINUTE, 0);
|
monthStart.set(Calendar.SECOND, 0);
|
|
Calendar monthEnd = Calendar.getInstance();
|
monthEnd.setTime(now);
|
//设置为1号,当前日期既为本月第一天
|
monthEnd.set(Calendar.DAY_OF_MONTH,monthEnd.getActualMaximum(Calendar.DAY_OF_MONTH));
|
monthEnd.set(Calendar.HOUR, 23);
|
monthEnd.set(Calendar.MINUTE, 59);
|
monthEnd.set(Calendar.SECOND, 59);
|
|
uploadStartTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthStart.getTime());
|
uploadEndTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthEnd.getTime());
|
}else if(timeType == 2){
|
//本季度
|
Calendar monthStart = Calendar.getInstance();
|
monthStart.setTime(now);
|
monthStart.set(Calendar.DAY_OF_MONTH,1);
|
monthStart.set(Calendar.HOUR, 0);
|
monthStart.set(Calendar.MINUTE, 0);
|
monthStart.set(Calendar.SECOND, 0);
|
|
Calendar monthEnd = Calendar.getInstance();
|
monthEnd.setTime(now);
|
//设置为1号,当前日期既为本月第一天
|
monthEnd.set(Calendar.DAY_OF_MONTH,monthEnd.getActualMaximum(Calendar.DAY_OF_MONTH));
|
monthEnd.set(Calendar.HOUR, 23);
|
monthEnd.set(Calendar.MINUTE, 59);
|
monthEnd.set(Calendar.SECOND, 59);
|
|
//定位是第几季度
|
int i = monthStart.get(Calendar.MONTH);
|
if (i<=2){ // 0,1,2
|
monthStart.set(Calendar.MONTH,0);
|
monthEnd.set(Calendar.MONTH,2);
|
}
|
else if(i<=5){ // 3,4,5
|
monthStart.set(Calendar.MONTH,3);
|
monthEnd.set(Calendar.MONTH,5);
|
}
|
else if(i<=8){ // 6,7,8
|
monthStart.set(Calendar.MONTH,6);
|
monthEnd.set(Calendar.MONTH,8);
|
}else{ //9,10,11
|
monthStart.set(Calendar.MONTH,9);
|
monthEnd.set(Calendar.MONTH,11);
|
}
|
uploadStartTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthStart.getTime());
|
uploadEndTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthEnd.getTime());
|
}else{
|
//年度
|
Calendar monthStart = Calendar.getInstance();
|
monthStart.setTime(now);
|
monthStart.set(Calendar.MONTH,0);
|
monthStart.set(Calendar.DAY_OF_MONTH,1);
|
monthStart.set(Calendar.HOUR, 0);
|
monthStart.set(Calendar.MINUTE, 0);
|
monthStart.set(Calendar.SECOND, 0);
|
|
Calendar monthEnd = Calendar.getInstance();
|
monthEnd.setTime(now);
|
//设置为1号,当前日期既为本月第一天
|
monthEnd.set(Calendar.MONTH,11);
|
monthEnd.set(Calendar.DAY_OF_MONTH,monthEnd.getActualMaximum(Calendar.DAY_OF_MONTH));
|
monthEnd.set(Calendar.HOUR, 23);
|
monthEnd.set(Calendar.MINUTE, 59);
|
monthEnd.set(Calendar.SECOND, 59);
|
|
uploadStartTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthStart.getTime());
|
uploadEndTime = DateUtil.YYYY_MM_DD_HH_MM_SS.format(monthEnd.getTime());
|
}
|
upload.setUploadStartTime(uploadStartTime);
|
upload.setUploadEndTime(uploadEndTime);
|
|
List<FaultUpload> list = mapper.getList2(userId, upload);
|
|
Map<String, List<FaultUpload>> groupNameListMap = list.stream().collect(Collectors.groupingBy(FaultUpload::getGroupName));
|
//初始化 班组列表
|
Map<String,Integer> groupNameCountMap = new HashMap<>();
|
List<BaoJiGroup> baoJiGroups = baoJiGroupService.getBaoJiGroupNameByFlag(1);
|
for (BaoJiGroup baoJiGroup : baoJiGroups) {
|
groupNameCountMap.put(baoJiGroup.getBaoJiGroupName(),0);
|
}
|
|
Set<String> groupNameSet = groupNameListMap.keySet();
|
for (String groupName : groupNameSet) {
|
groupNameCountMap.put(groupName,groupNameListMap.get(groupName).size());
|
}
|
|
return new Response().set(1,groupNameCountMap);
|
|
}
|
|
public Response getListOfLastWeek() {
|
int userId = ActionUtil.getUser().getUId().intValue();
|
FaultUpload upload = new FaultUpload();
|
Date now = new Date();
|
Calendar instance = Calendar.getInstance();
|
instance.setTime(now);
|
instance.add(Calendar.DATE,-7);
|
|
upload.setUploadStartTime(DateUtil.YYYY_MM_DD_HH_MM_SS.format(instance.getTime()));
|
upload.setUploadEndTime(DateUtil.YYYY_MM_DD_HH_MM_SS.format(now));
|
List<FaultUpload> faultUploads = mapper.getList(userId, upload);
|
//联查拆分,组装 用户名
|
List<UserInf> users = userService.getAll();
|
Map<Long, List<UserInf>> userIdListMap = users.stream().collect(Collectors.groupingBy(UserInf::getUId));
|
for (FaultUpload faultUpload : faultUploads) {
|
faultUpload.setUploadUserName(userIdListMap.get(Long.valueOf(faultUpload.getUploadUserId() +"")).get(0).getUName());
|
}
|
return new Response().set(1,faultUploads);
|
}
|
}
|