|
|
@@ -1,11 +1,16 @@
|
|
|
package com.izouma.wenlvju.service;
|
|
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
import com.izouma.wenlvju.config.DateConfig;
|
|
|
+import com.izouma.wenlvju.domain.Collaborate;
|
|
|
+import com.izouma.wenlvju.domain.GradingOrganization;
|
|
|
import com.izouma.wenlvju.domain.Rate;
|
|
|
import com.izouma.wenlvju.dto.PageQuery;
|
|
|
import com.izouma.wenlvju.dto.RateAudit;
|
|
|
import com.izouma.wenlvju.enums.RateStatus;
|
|
|
import com.izouma.wenlvju.exception.BusinessException;
|
|
|
+import com.izouma.wenlvju.repo.CollaborateRepo;
|
|
|
+import com.izouma.wenlvju.repo.GradingOrganizationRepo;
|
|
|
import com.izouma.wenlvju.repo.RateRepo;
|
|
|
import com.izouma.wenlvju.utils.JpaUtils;
|
|
|
import freemarker.template.Configuration;
|
|
|
@@ -22,16 +27,16 @@ import java.nio.file.Paths;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
@AllArgsConstructor
|
|
|
public class RateService {
|
|
|
|
|
|
- private final RateRepo rateRepo;
|
|
|
+ private final RateRepo rateRepo;
|
|
|
+ private final CollaborateRepo collaborateRepo;
|
|
|
+ private final GradingOrganizationRepo gradingOrganizationRepo;
|
|
|
|
|
|
public Page<Rate> all(PageQuery pageQuery) {
|
|
|
return rateRepo.findAll(JpaUtils.toSpecification(pageQuery, Rate.class), JpaUtils.toPageRequest(pageQuery));
|
|
|
@@ -85,6 +90,18 @@ public class RateService {
|
|
|
// if (rate.isUndertakeExamination()) {
|
|
|
// dataMap.put("examination", String.join(",", rate.getExamination()));
|
|
|
// }
|
|
|
+ Set<Long> ids = collaborateRepo.findAllByRateId(rate.getId())
|
|
|
+ .stream()
|
|
|
+ .map(Collaborate::getGradingOrganizationId)
|
|
|
+ .collect(Collectors.toSet());
|
|
|
+ if (CollUtil.isNotEmpty(ids)) {
|
|
|
+ String str = gradingOrganizationRepo.findAllById(ids)
|
|
|
+ .stream()
|
|
|
+ .map(GradingOrganization::getName)
|
|
|
+ .collect(Collectors.joining(","));
|
|
|
+ dataMap.put("examination", str);
|
|
|
+ }
|
|
|
+
|
|
|
//单位概况
|
|
|
dataMap.put("introduction", rate.getIntroduction());
|
|
|
//Configuration 用于读取ftl文件
|