Compare commits
No commits in common. "7f751daffecd5fc099d436a001986c315982b707" and "edda109c89ee1a0865aeafb0f02a6f7ba352b85a" have entirely different histories.
7f751daffe
...
edda109c89
|
|
@ -15,7 +15,6 @@ import org.qinan.safetyeval.domain.exception.ErrorCode;
|
||||||
import org.qinan.safetyeval.domain.gateway.*;
|
import org.qinan.safetyeval.domain.gateway.*;
|
||||||
import org.qinan.safetyeval.domain.query.PageResult;
|
import org.qinan.safetyeval.domain.query.PageResult;
|
||||||
import org.qinan.safetyeval.domain.query.QualFilingQuery;
|
import org.qinan.safetyeval.domain.query.QualFilingQuery;
|
||||||
import org.qinan.safetyeval.domain.support.QualFilingExpertCheckSupport;
|
|
||||||
import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter;
|
import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter;
|
||||||
import org.qinan.safetyeval.infrastructure.support.OrgContextResolver;
|
import org.qinan.safetyeval.infrastructure.support.OrgContextResolver;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
|
|
@ -29,9 +28,7 @@ import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -79,9 +76,6 @@ public class QualFilingOrchestrator {
|
||||||
@Resource
|
@Resource
|
||||||
private QualFilingStatusGuard statusGuard;
|
private QualFilingStatusGuard statusGuard;
|
||||||
|
|
||||||
@Resource
|
|
||||||
private QualFilingReviewGateway qualFilingReviewGateway;
|
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private QualFilingMaterialTemplateProvider materialTemplateProvider;
|
private QualFilingMaterialTemplateProvider materialTemplateProvider;
|
||||||
|
|
||||||
|
|
@ -216,49 +210,17 @@ public class QualFilingOrchestrator {
|
||||||
domainQuery.setFilingUnitName(query.getFilingUnitName());
|
domainQuery.setFilingUnitName(query.getFilingUnitName());
|
||||||
domainQuery.setFilingUnitTypeName(query.getFilingUnitTypeName());
|
domainQuery.setFilingUnitTypeName(query.getFilingUnitTypeName());
|
||||||
domainQuery.setBusinessScope(query.getBusinessScope());
|
domainQuery.setBusinessScope(query.getBusinessScope());
|
||||||
domainQuery.setNeedExpertCheck(query.getNeedExpertCheck());
|
|
||||||
domainQuery.setFilingStatusCode(query.getFilingStatusCode());
|
domainQuery.setFilingStatusCode(query.getFilingStatusCode());
|
||||||
domainQuery.setApplyTypeCode(query.getApplyTypeCode());
|
domainQuery.setApplyTypeCode(query.getApplyTypeCode());
|
||||||
domainQuery.setFilingTerritoryCode(query.getFilingTerritoryCode());
|
domainQuery.setFilingTerritoryCode(query.getFilingTerritoryCode());
|
||||||
domainQuery.setSupervision(query.getSupervision());
|
domainQuery.setSupervision(query.getSupervision());
|
||||||
PageResult<QualFilingEntity> pageResult = qualFilingGateway.page(domainQuery);
|
PageResult<QualFilingEntity> pageResult = qualFilingGateway.page(domainQuery);
|
||||||
Map<Long, QualFilingReviewEntity> reviewMap = loadReviewMap(pageResult.getRecords());
|
|
||||||
List<QualFilingCO> records = pageResult.getRecords().stream()
|
List<QualFilingCO> records = pageResult.getRecords().stream()
|
||||||
.map(entity -> toListCO(entity, reviewMap))
|
.map(this::toCO)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
return PageResult.of(records, pageResult.getTotal(), pageResult.getPageNum(), pageResult.getPageSize());
|
return PageResult.of(records, pageResult.getTotal(), pageResult.getPageNum(), pageResult.getPageSize());
|
||||||
}
|
}
|
||||||
|
|
||||||
private Map<Long, QualFilingReviewEntity> loadReviewMap(List<QualFilingEntity> filings) {
|
|
||||||
Map<Long, QualFilingReviewEntity> reviewMap = new HashMap<>();
|
|
||||||
if (filings == null) {
|
|
||||||
return reviewMap;
|
|
||||||
}
|
|
||||||
for (QualFilingEntity filing : filings) {
|
|
||||||
Long reviewId = filing.getFilingReviewId();
|
|
||||||
if (reviewId == null || reviewMap.containsKey(reviewId)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
QualFilingReviewEntity review = qualFilingReviewGateway.get(reviewId);
|
|
||||||
if (review != null) {
|
|
||||||
reviewMap.put(reviewId, review);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return reviewMap;
|
|
||||||
}
|
|
||||||
|
|
||||||
private QualFilingCO toListCO(QualFilingEntity entity, Map<Long, QualFilingReviewEntity> reviewMap) {
|
|
||||||
QualFilingCO co = toCO(entity);
|
|
||||||
if (co == null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
co.setNeedExpertCheck(QualFilingExpertCheckSupport.needsExpertCheck(entity.getFilingUnitTypeName()));
|
|
||||||
QualFilingReviewEntity review = entity.getFilingReviewId() != null
|
|
||||||
? reviewMap.get(entity.getFilingReviewId()) : null;
|
|
||||||
co.setExpertStatus(QualFilingExpertCheckSupport.resolveExpertStatus(entity.getFilingUnitTypeName(), review));
|
|
||||||
return co;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public void initMaterialTemplate(Long filingId) {
|
public void initMaterialTemplate(Long filingId) {
|
||||||
QualFilingEntity filing = qualFilingGateway.get(filingId);
|
QualFilingEntity filing = qualFilingGateway.get(filingId);
|
||||||
|
|
|
||||||
|
|
@ -105,12 +105,6 @@ public class QualFilingCO {
|
||||||
@ApiModelProperty(value = "审核id")
|
@ApiModelProperty(value = "审核id")
|
||||||
private Long filingReviewId;
|
private Long filingReviewId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "是否需专家核验(查询聚合,非表字段)")
|
|
||||||
private Boolean needExpertCheck;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "专家核验状态(arranging/pending/passed,查询聚合,非表字段)")
|
|
||||||
private String expertStatus;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "提交时间")
|
@ApiModelProperty(value = "提交时间")
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
|
|
|
||||||
|
|
@ -30,9 +30,6 @@ public class QualFilingPageQuery extends BasePageQuery {
|
||||||
@ApiModelProperty(value = "安全评价业务范围")
|
@ApiModelProperty(value = "安全评价业务范围")
|
||||||
private String businessScope;
|
private String businessScope;
|
||||||
|
|
||||||
@ApiModelProperty(value = "是否专家核验(yes-是 no-否,异地单位需专家核验)")
|
|
||||||
private String needExpertCheck;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "备案状态编码(1已备案2审核中3已打回4变更审核中5暂存)")
|
@ApiModelProperty(value = "备案状态编码(1已备案2审核中3已打回4变更审核中5暂存)")
|
||||||
private Integer filingStatusCode;
|
private Integer filingStatusCode;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,9 +37,6 @@ public class QualFilingQuery {
|
||||||
/** 安全评价业务范围 */
|
/** 安全评价业务范围 */
|
||||||
private String businessScope;
|
private String businessScope;
|
||||||
|
|
||||||
/** 是否专家核验(yes/no) */
|
|
||||||
private String needExpertCheck;
|
|
||||||
|
|
||||||
/** 备案状态 */
|
/** 备案状态 */
|
||||||
private Integer filingStatusCode;
|
private Integer filingStatusCode;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,36 +0,0 @@
|
||||||
package org.qinan.safetyeval.domain.support;
|
|
||||||
|
|
||||||
import org.qinan.safetyeval.domain.entity.QualFilingReviewEntity;
|
|
||||||
import org.springframework.util.StringUtils;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 资质备案专家核验判定(异地单位需专家核验)
|
|
||||||
*/
|
|
||||||
public final class QualFilingExpertCheckSupport {
|
|
||||||
|
|
||||||
private static final String REMOTE_UNIT_KEYWORD = "异地";
|
|
||||||
|
|
||||||
private QualFilingExpertCheckSupport() {
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean needsExpertCheck(String filingUnitTypeName) {
|
|
||||||
return StringUtils.hasText(filingUnitTypeName)
|
|
||||||
&& filingUnitTypeName.contains(REMOTE_UNIT_KEYWORD);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return arranging=待安排, pending=待核验, passed=已核验;本地单位返回 null
|
|
||||||
*/
|
|
||||||
public static String resolveExpertStatus(String filingUnitTypeName, QualFilingReviewEntity review) {
|
|
||||||
if (!needsExpertCheck(filingUnitTypeName)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
if (review == null || review.getFilingExpertId() == null) {
|
|
||||||
return "arranging";
|
|
||||||
}
|
|
||||||
if ("1".equals(review.getReviewResult())) {
|
|
||||||
return "passed";
|
|
||||||
}
|
|
||||||
return "pending";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -119,13 +119,6 @@ public class QualFilingGatewayImpl implements QualFilingGateway {
|
||||||
if (StringUtils.hasText(query.getBusinessScope())) {
|
if (StringUtils.hasText(query.getBusinessScope())) {
|
||||||
wrapper.like(QualFilingDO::getBusinessScope, query.getBusinessScope());
|
wrapper.like(QualFilingDO::getBusinessScope, query.getBusinessScope());
|
||||||
}
|
}
|
||||||
if (StringUtils.hasText(query.getNeedExpertCheck())) {
|
|
||||||
if ("yes".equalsIgnoreCase(query.getNeedExpertCheck())) {
|
|
||||||
wrapper.like(QualFilingDO::getFilingUnitTypeName, "异地");
|
|
||||||
} else if ("no".equalsIgnoreCase(query.getNeedExpertCheck())) {
|
|
||||||
wrapper.like(QualFilingDO::getFilingUnitTypeName, "本地");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (StringUtils.hasText(query.getFilingTerritoryCode())) {
|
if (StringUtils.hasText(query.getFilingTerritoryCode())) {
|
||||||
String territory = query.getFilingTerritoryCode();
|
String territory = query.getFilingTerritoryCode();
|
||||||
wrapper.and(w -> w.eq(QualFilingDO::getFilingTerritoryCode, territory)
|
wrapper.and(w -> w.eq(QualFilingDO::getFilingTerritoryCode, territory)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue