大屏部分接口修改
parent
392f17b857
commit
2641ac9282
|
|
@ -20,7 +20,7 @@ public class OpenApiConfig {
|
|||
"com.gunshi.project.ss.controller",
|
||||
};
|
||||
String[] pathsToMatch = {
|
||||
"/osmoticShiftDevice/**"
|
||||
"/screen/responsibility/**"
|
||||
};
|
||||
return GroupedOpenApi.builder()
|
||||
.group("ss")
|
||||
|
|
|
|||
|
|
@ -3,10 +3,7 @@ package com.gunshi.project.ss.controller;
|
|||
|
||||
import com.gunshi.core.result.R;
|
||||
import com.gunshi.project.ss.entity.vo.ScreenPositionTrainingVo;
|
||||
import com.gunshi.project.ss.model.FileAssociations;
|
||||
import com.gunshi.project.ss.model.ResPerson;
|
||||
import com.gunshi.project.ss.service.FileAssociationsService;
|
||||
import com.gunshi.project.ss.service.PersonnelPlanService;
|
||||
import com.gunshi.project.ss.service.ScreenResponsibilityService;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -24,11 +21,6 @@ public class ScreenResponsibilityController {
|
|||
@Autowired
|
||||
private ScreenResponsibilityService screenResponsibilityService;
|
||||
|
||||
|
||||
|
||||
@Autowired
|
||||
private FileAssociationsService fileService;
|
||||
|
||||
@GetMapping("/getPerson")
|
||||
public R<List<ResPerson>> getPerson(){
|
||||
List<ResPerson> vo = screenResponsibilityService.getPerson();
|
||||
|
|
@ -45,15 +37,7 @@ public class ScreenResponsibilityController {
|
|||
@GetMapping("/getTraining")
|
||||
public R<ScreenPositionTrainingVo> getTraining(){
|
||||
ScreenPositionTrainingVo vo = screenResponsibilityService.getTraining();
|
||||
if(vo.getLatestPersonnelPlan() != null){
|
||||
List<FileAssociations> files = fileService.getFiles(getGroupId(), vo.getLatestPersonnelPlan().getId().toString());
|
||||
vo.getLatestPersonnelPlan().setFiles(files);
|
||||
}
|
||||
return R.ok(vo);
|
||||
}
|
||||
|
||||
public String getGroupId() {
|
||||
return "personnelPlan";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package com.gunshi.project.ss.entity.vo;
|
||||
|
||||
|
||||
import com.gunshi.project.ss.model.PersonnelPlan;
|
||||
import com.gunshi.project.ss.model.PersonnelPlanLog;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
|
|
@ -9,7 +9,7 @@ public class ScreenPositionTrainingVo {
|
|||
|
||||
|
||||
//培训计划数量
|
||||
private Long trainingCount;
|
||||
private Integer trainingCount;
|
||||
|
||||
//已开展
|
||||
private Long hasTraining;
|
||||
|
|
@ -18,9 +18,9 @@ public class ScreenPositionTrainingVo {
|
|||
private Long hasNoTraining;
|
||||
|
||||
//参训总人次
|
||||
private Long totalTraining;
|
||||
private Integer totalTraining;
|
||||
|
||||
|
||||
//最新培训内容
|
||||
private PersonnelPlan latestPersonnelPlan;
|
||||
private PersonnelPlanLog latestPersonnelLog;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ import org.springframework.stereotype.Service;
|
|||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
|
|
@ -29,30 +28,24 @@ public class ScreenResponsibilityService {
|
|||
public ScreenPositionTrainingVo getTraining() {
|
||||
ScreenPositionTrainingVo vo = new ScreenPositionTrainingVo();
|
||||
List<PersonnelPlan> list = personnelPlanService.lambdaQuery().orderByDesc(PersonnelPlan::getCreateTime).list();
|
||||
vo.setTrainingCount(Long.valueOf(list.size()));
|
||||
vo.setTrainingCount(list.size());
|
||||
|
||||
//已开展
|
||||
List<Long> ids = list.stream().map(o -> o.getId()).collect(Collectors.toList());
|
||||
Long hasTraining = 0l;
|
||||
Long hasNoTraining = 0l;
|
||||
Long totalTraining = 0L;
|
||||
//TODO 这里N+1问题自己去解决一下吧,我懒得改了。
|
||||
for (Long id : ids) {
|
||||
List<PersonnelPlanLog> logs = personnelPlanLogService.lambdaQuery().eq(PersonnelPlanLog::getPlanId, id).list();
|
||||
List<Long> ids = list.stream().map(PersonnelPlan::getId).toList();
|
||||
|
||||
List<PersonnelPlanLog> logs = personnelPlanLogService.lambdaQuery().orderByDesc(PersonnelPlanLog::getCreateTime).list();
|
||||
if(logs.isEmpty()){
|
||||
hasNoTraining++;
|
||||
}else{
|
||||
hasTraining++;
|
||||
totalTraining += logs.stream().mapToLong(o -> o.getNumPeople()).sum();
|
||||
}
|
||||
vo.setTotalTraining(0);
|
||||
vo.setHasTraining(0L);
|
||||
vo.setHasNoTraining(0L);
|
||||
return vo;
|
||||
}
|
||||
vo.setLatestPersonnelLog(logs.getFirst());
|
||||
vo.setTotalTraining(logs.stream().mapToInt(PersonnelPlanLog::getNumPeople).sum());
|
||||
|
||||
//已开展数量
|
||||
Long hasTraining = logs.stream().map(PersonnelPlanLog::getPlanId).filter(planId ->ids.contains(planId)).distinct().count();
|
||||
vo.setHasTraining(hasTraining);
|
||||
vo.setHasNoTraining(hasNoTraining);
|
||||
vo.setTotalTraining(totalTraining);
|
||||
if(!list.isEmpty()){
|
||||
PersonnelPlan personnelPlan = list.get(0);
|
||||
vo.setLatestPersonnelPlan(personnelPlan);
|
||||
}
|
||||
vo.setHasNoTraining(vo.getTrainingCount() - hasTraining);
|
||||
return vo;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue