package com.ruoyi.system.service.impl;
|
import java.time.LocalDateTime;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.documents4j.api.IFileConsumer;
|
import com.ruoyi.common.basic.PageInfo;
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
import com.ruoyi.system.mapper.TResultWorkEvaluateMapper;
|
import com.ruoyi.system.model.TProjectTeamStaff;
|
import com.ruoyi.system.model.TResultWorkEvaluate;
|
import com.ruoyi.system.query.TResultWorkEvaluateQuery;
|
import com.ruoyi.system.service.TResultWorkEvaluateService;
|
import com.ruoyi.system.vo.TProjectTeamVO;
|
import com.ruoyi.system.vo.TResultWorkEvaluateVO;
|
import org.springframework.stereotype.Service;
|
import org.springframework.util.CollectionUtils;
|
|
import java.util.List;
|
import java.util.stream.Collectors;
|
|
/**
|
* <p>
|
* 实验员工作评定 服务实现类
|
* </p>
|
*
|
* @author xiaochen
|
* @since 2025-04-08
|
*/
|
@Service
|
public class TTesterWorkEvaluateServiceImpl extends ServiceImpl<TResultWorkEvaluateMapper, TResultWorkEvaluate> implements TResultWorkEvaluateService {
|
|
@Override
|
public PageInfo<TResultWorkEvaluateVO> pageList(TResultWorkEvaluateQuery query) {
|
PageInfo<TResultWorkEvaluateVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
|
List<TResultWorkEvaluateVO> list = this.baseMapper.pageList(query,pageInfo);
|
List<TResultWorkEvaluate> tResultWorkEvaluates = this.baseMapper.selectList(new LambdaQueryWrapper<TResultWorkEvaluate>()
|
.orderByDesc(TResultWorkEvaluate::getEvaluateTime));
|
for (TResultWorkEvaluateVO tResultWorkEvaluateVO : list) {
|
List<TResultWorkEvaluate> collect = tResultWorkEvaluates.stream().filter(e ->
|
// e.getEvaluateOne()!=null&&
|
// e.getEvaluateTwo()!=null&&
|
// e.getEvaluateThree()!=null&&
|
// e.getEvaluateFour()!=null&&
|
// e.getEvaluateFive()!=null&&
|
// e.getEvaluateSix()!=null&&
|
e.getStatus()==1&&
|
e.getTeamId().equals(tResultWorkEvaluateVO.getTeamId())).collect(Collectors.toList());
|
if (!collect.isEmpty()){
|
tResultWorkEvaluateVO.setEndTime(collect.get(0).getEvaluateTime());
|
}
|
int temp1=0;
|
int temp2=0;
|
int temp3=0;
|
int temp4=0;
|
|
for (TResultWorkEvaluate tResultWorkEvaluate : collect) {
|
Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
|
switch (evaluateOne){
|
case 1:
|
if (tResultWorkEvaluate.getEvaluateType()==1){
|
temp2+=2;
|
}
|
if (tResultWorkEvaluate.getEvaluateType()==2){
|
temp3+=2;
|
}
|
if (tResultWorkEvaluate.getEvaluateType()==3){
|
temp4+=2;
|
}
|
temp1+=2;
|
break;
|
case 2:
|
temp1+=1;
|
if (tResultWorkEvaluate.getEvaluateType()==1){
|
temp2+=1;
|
}
|
if (tResultWorkEvaluate.getEvaluateType()==2){
|
temp3+=1;
|
}
|
if (tResultWorkEvaluate.getEvaluateType()==3){
|
temp4+=1;
|
}
|
break;
|
|
}
|
Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo();
|
switch (evaluateTwo){
|
case 1:
|
temp1+=2;
|
if (tResultWorkEvaluate.getEvaluateType()==1){
|
temp2+=2;
|
}
|
if (tResultWorkEvaluate.getEvaluateType()==2){
|
temp3+=2;
|
}
|
if (tResultWorkEvaluate.getEvaluateType()==3){
|
temp4+=2;
|
}
|
break;
|
case 2:
|
temp1+=1;
|
if (tResultWorkEvaluate.getEvaluateType()==1){
|
temp2+=1;
|
}
|
if (tResultWorkEvaluate.getEvaluateType()==2){
|
temp3+=1;
|
}
|
if (tResultWorkEvaluate.getEvaluateType()==3){
|
temp4+=1;
|
}
|
break;
|
}
|
Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree();
|
switch (evaluateThree){
|
case 1:
|
temp1+=2;
|
if (tResultWorkEvaluate.getEvaluateType()==1){
|
temp2+=2;
|
}
|
if (tResultWorkEvaluate.getEvaluateType()==2){
|
temp3+=2;
|
}
|
if (tResultWorkEvaluate.getEvaluateType()==3){
|
temp4+=2;
|
}
|
break;
|
case 2:
|
temp1+=1;
|
if (tResultWorkEvaluate.getEvaluateType()==1){
|
temp2+=1;
|
}
|
if (tResultWorkEvaluate.getEvaluateType()==2){
|
temp3+=1;
|
}
|
if (tResultWorkEvaluate.getEvaluateType()==3){
|
temp4+=1;
|
}
|
break;
|
}
|
Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour();
|
switch (evaluateFour){
|
case 1:
|
temp1+=2;
|
if (tResultWorkEvaluate.getEvaluateType()==1){
|
temp2+=2;
|
}
|
if (tResultWorkEvaluate.getEvaluateType()==2){
|
temp3+=2;
|
}
|
if (tResultWorkEvaluate.getEvaluateType()==3){
|
temp4+=2;
|
}
|
break;
|
case 2:
|
temp1+=1;
|
if (tResultWorkEvaluate.getEvaluateType()==1){
|
temp2+=1;
|
}
|
if (tResultWorkEvaluate.getEvaluateType()==2){
|
temp3+=1;
|
}
|
if (tResultWorkEvaluate.getEvaluateType()==3){
|
temp4+=1;
|
}
|
break;
|
}
|
Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive();
|
switch (evaluateFive){
|
case 1:
|
temp1+=2;
|
if (tResultWorkEvaluate.getEvaluateType()==1){
|
temp2+=2;
|
}
|
if (tResultWorkEvaluate.getEvaluateType()==2){
|
temp3+=2;
|
}
|
if (tResultWorkEvaluate.getEvaluateType()==3){
|
temp4+=2;
|
}
|
break;
|
case 2:
|
temp1+=1;
|
if (tResultWorkEvaluate.getEvaluateType()==1){
|
temp2+=1;
|
}
|
if (tResultWorkEvaluate.getEvaluateType()==2){
|
temp3+=1;
|
}
|
if (tResultWorkEvaluate.getEvaluateType()==3){
|
temp4+=1;
|
}
|
break;
|
}
|
Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix();
|
switch (evaluateSix){
|
case 1:
|
temp1+=2;
|
if (tResultWorkEvaluate.getEvaluateType()==1){
|
temp2-=3;
|
}
|
if (tResultWorkEvaluate.getEvaluateType()==2){
|
temp3-=3;
|
}
|
if (tResultWorkEvaluate.getEvaluateType()==3){
|
temp4-=3;
|
}
|
break;
|
}
|
}
|
tResultWorkEvaluateVO.setTeamIntegral(temp1);
|
tResultWorkEvaluateVO.setEngineerIntegral(temp2);
|
tResultWorkEvaluateVO.setChemistIntegral(temp3);
|
tResultWorkEvaluateVO.setTesterIntegral(temp4);
|
}
|
pageInfo.setRecords(list);
|
return pageInfo;
|
}
|
}
|