Merge remote-tracking branch 'origin/guoshengxiong' into guoshengxiong

This commit is contained in:
guoshengxiong 2024-07-05 09:13:46 +08:00
commit f761561ec6
2 changed files with 5 additions and 5 deletions

View File

@ -56,6 +56,7 @@ import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.MapUtils;
import org.omg.CORBA.ExceptionList;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.web.bind.annotation.*;
@ -643,10 +644,8 @@ public class XzRiskPredictionController {
WorkerType workerType = workerTypeService.getOne(Wrappers.<WorkerType>lambdaQuery()
.eq(WorkerType::getProjectSn, projectSn)
.eq(WorkerType::getTypeName, "特殊工种"));
List<ExamTrain> examTrainList = examTrainService.list(Wrappers.<ExamTrain>lambdaQuery().eq(ExamTrain::getProjectSn, projectSn)
.isNotNull(ExamTrain::getExamPaperId));
for (ProjectEnterprise projectEnterprise : parentList) {
EnterpriseInfo enterpriseInfo = enterpriseInfoService.getById(projectEnterprise.getEnterpriseId());
List<Long> enterpriseIds = allList.stream().filter(a -> a.getAncestors().contains(projectEnterprise.getId().toString())).collect(Collectors.toList())
@ -685,13 +684,14 @@ public class XzRiskPredictionController {
int pass = trainRecordList.stream().filter(t -> t.getIsPass() == 1).collect(Collectors.toList()).size();
record.setPassRadio(trainRecordList.size() == 0 ? null : new BigDecimal(pass).divide(new BigDecimal(trainRecordList.size()), 2, BigDecimal.ROUND_HALF_UP));
} else {
record.setPassRadio(new BigDecimal(1));
record.setPassRadio(null);
}
}
}
List<ExamTrain> joinList = examTrainList.stream().filter(s -> s.getPassRadio() != null).collect(Collectors.toList());
// 教育培训
BigDecimal passRadio = examTrainList.stream().map(e -> e.getPassRadio()).reduce(BigDecimal.ZERO, BigDecimal::add);
resultMap.put("exam", examTrainList.size() == 0 ? null : new BigDecimal(1).subtract(passRadio.divide(new BigDecimal(examTrainList.size()), 2, BigDecimal.ROUND_HALF_UP)));
BigDecimal passRadio = joinList.stream().map(e -> e.getPassRadio()).reduce(BigDecimal.ZERO, BigDecimal::add);
resultMap.put("exam", joinList.size() == 0 ? 0 : new BigDecimal(1).subtract(passRadio.divide(new BigDecimal(joinList.size()), 2, BigDecimal.ROUND_HALF_UP)));
} else {
resultMap.put("exam", 0);
}