From 3cd2c46ec2cb48881b374c6a004637e39bec3541 Mon Sep 17 00:00:00 2001 From: luotaiqian <1147642922@qq.com> Date: Wed, 22 Jul 2026 14:47:12 +0800 Subject: [PATCH] waring --- .../web/QualOnSiteReviewController.java | 7 ++++ .../institution/EvalProjectController.java | 8 +++++ .../institution/EvalProjectExecutor.java | 33 +++++++++++++++++++ .../command/QualOnSiteReviewUpdateCmdExe.java | 28 ++++++++++++++++ .../service/QualOnSiteReviewServiceI.java | 8 +++++ .../impl/QualOnSiteReviewServiceImpl.java | 5 +++ .../api/institution/EvalProjectApi.java | 4 +++ .../co/institution/CustomerEvalProjectCO.java | 31 +++++++++++++++++ .../CustomerEvalProjectPageQuery.java | 17 ++++++++++ 9 files changed, 141 insertions(+) create mode 100644 safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/institution/CustomerEvalProjectCO.java create mode 100644 safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/CustomerEvalProjectPageQuery.java diff --git a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/QualOnSiteReviewController.java b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/QualOnSiteReviewController.java index 9ba322b..400756c 100644 --- a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/QualOnSiteReviewController.java +++ b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/QualOnSiteReviewController.java @@ -95,6 +95,13 @@ public class QualOnSiteReviewController implements Serializable { return Response.buildSuccess(); } + @PostMapping("/confirm") + @ApiOperation("机构确认安评") + public Response confirmByAgency(@RequestParam Long id) { + qualOnSiteReviewServiceI.confirmByAgency(id); + return Response.buildSuccess(); + } + @GetMapping("/result-detail/{id}") @ApiOperation("查询审查结果明细(上传信息)") public SingleResponse getReviewResult(@PathVariable Long id) { diff --git a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/EvalProjectController.java b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/EvalProjectController.java index 82aa437..17ba796 100644 --- a/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/EvalProjectController.java +++ b/safety-eval-adapter/src/main/java/org/qinan/safetyeval/adapter/web/institution/EvalProjectController.java @@ -4,6 +4,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.qinan.safetyeval.client.api.institution.EvalProjectApi; +import org.qinan.safetyeval.client.co.institution.CustomerEvalProjectCO; import org.qinan.safetyeval.client.co.institution.EvalProjectCO; import org.qinan.safetyeval.client.co.institution.EvalProjectEnumsCO; import org.qinan.safetyeval.client.co.institution.EvalProjectProgressCO; @@ -13,6 +14,7 @@ import org.qinan.safetyeval.client.co.institution.RiskWarningStatCO; import org.qinan.safetyeval.client.dto.PageResponse; import org.qinan.safetyeval.client.dto.SingleResponse; import org.qinan.safetyeval.client.dto.institution.EvalProjectAddCmd; +import org.qinan.safetyeval.client.dto.institution.CustomerEvalProjectPageQuery; import org.qinan.safetyeval.client.dto.institution.EvalProjectPageQuery; import org.qinan.safetyeval.client.dto.institution.EvalProjectProgressPageQuery; import org.qinan.safetyeval.client.dto.institution.RiskWarningPageQuery; @@ -84,4 +86,10 @@ public class EvalProjectController { public PageResponse riskWarningPage(@Validated RiskWarningPageQuery query) { return evalProjectApi.riskWarningPage(query); } + + @ApiOperation("企业安全评价项目分页") + @GetMapping("/customer-page") + public PageResponse customerPage(@Validated CustomerEvalProjectPageQuery query) { + return evalProjectApi.customerPage(query); + } } diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalProjectExecutor.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalProjectExecutor.java index 4e3d88f..d939339 100644 --- a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalProjectExecutor.java +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/institution/EvalProjectExecutor.java @@ -2,6 +2,7 @@ package org.qinan.safetyeval.app.executor.institution; import org.qinan.safetyeval.app.convertor.EvalProjectCmdConvertor; import org.qinan.safetyeval.client.api.institution.EvalProjectApi; +import org.qinan.safetyeval.client.co.institution.CustomerEvalProjectCO; import org.qinan.safetyeval.client.co.institution.EvalProjectCO; import org.qinan.safetyeval.client.co.institution.EvalProjectEnumsCO; import org.qinan.safetyeval.client.co.institution.EvalProjectProgressCO; @@ -11,10 +12,12 @@ import org.qinan.safetyeval.client.co.institution.RiskWarningStatCO; import org.qinan.safetyeval.client.dto.PageResponse; import org.qinan.safetyeval.client.dto.SingleResponse; import org.qinan.safetyeval.client.dto.institution.EvalProjectAddCmd; +import org.qinan.safetyeval.client.dto.institution.CustomerEvalProjectPageQuery; import org.qinan.safetyeval.client.dto.institution.EvalProjectPageQuery; import org.qinan.safetyeval.client.dto.institution.EvalProjectProgressPageQuery; import org.qinan.safetyeval.client.dto.institution.RiskWarningPageQuery; import org.qinan.safetyeval.domain.constant.EvalProjectProgressStatEnum; +import org.qinan.safetyeval.domain.constant.EvalTypeEnum; import org.qinan.safetyeval.domain.entity.EvalProjectEntity; import org.qinan.safetyeval.domain.exception.BizException; import org.qinan.safetyeval.domain.exception.ErrorCode; @@ -32,6 +35,7 @@ import org.springframework.stereotype.Service; import java.time.LocalDate; import java.util.List; +import java.util.stream.Collectors; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -136,6 +140,35 @@ public class EvalProjectExecutor implements EvalProjectApi { return PageResponse.of(result.getRecords(), result.getTotal()); } + @Override + public PageResponse customerPage(CustomerEvalProjectPageQuery query) { + EvalProjectQuery domainQuery = new EvalProjectQuery(); + domainQuery.setPageNum(query.getCurrent()); + domainQuery.setPageSize(query.getSize()); + domainQuery.setOrgId(ThreadLocalUserInfoAdapter.getOrgId()); + domainQuery.setCustomerId(query.getCustomerId()); + PageResult pageResult = evalProjectDomainService.page(domainQuery); + List coList = pageResult.getRecords().stream() + .map(this::convertToCustomerCO) + .collect(Collectors.toList()); + return PageResponse.of(coList, pageResult.getTotal()); + } + + private CustomerEvalProjectCO convertToCustomerCO(EvalProjectEntity entity) { + CustomerEvalProjectCO co = new CustomerEvalProjectCO(); + co.setId(entity.getId() == null ? null : String.valueOf(entity.getId())); + co.setProjectNo(entity.getProjectNo()); + co.setProjectName(entity.getProjectName()); + co.setEvalTypeCode(entity.getEvalTypeCode()); + EvalTypeEnum evalType = EvalTypeEnum.ofCode(entity.getEvalTypeCode()); + if (evalType != null) { + co.setEvalTypeName(evalType.getValue()); + } + co.setReportCompleteDate(entity.getPlanEndDate()); + co.setArchiveFlag(entity.getArchiveFlag()); + return co; + } + /** * 根据项目结束日期计算剩余天数、进度状态码、进度状态名称。 * 规则(参考原型页面): diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/executor/command/QualOnSiteReviewUpdateCmdExe.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/executor/command/QualOnSiteReviewUpdateCmdExe.java index d8317ff..db63e4a 100644 --- a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/executor/command/QualOnSiteReviewUpdateCmdExe.java +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/executor/command/QualOnSiteReviewUpdateCmdExe.java @@ -83,6 +83,34 @@ public class QualOnSiteReviewUpdateCmdExe { return true; } + /** + * 机构确认安评 + *

+ * 仅当状态为 AGENCY_PENDING_CONFIRMATION(机构待确认)时,更新为 AGENCY_CONFIRMED(机构已确认) + * + * @param id 资质现场核查ID + * @return 结果 + */ + @Transactional(rollbackFor = Exception.class) + public boolean confirmByAgency(Long id) { + QualOnSiteReviewDO reviewDO = qualOnSiteReviewQueryService.getById(id); + if (reviewDO == null) { + throw new BizException("资质现场核查记录不存在"); + } + if (!QualOnSiteReviewStatusEnum.AGENCY_PENDING_CONFIRMATION.getCode().equals(reviewDO.getStatus())) { + throw new BizException("当前状态不允许确认"); + } + + QualOnSiteReviewE reviewE = QualOnSiteReviewE.of(); + reviewE.setId(id); + reviewE.setStatus(QualOnSiteReviewStatusEnum.AGENCY_CONFIRMED.getCode()); + Boolean updateRes = reviewE.update(); + if (!updateRes) { + throw new BizException("数据已被更新,请刷新重试"); + } + return true; + } + /** * 审查结果上传 *

diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/service/QualOnSiteReviewServiceI.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/service/QualOnSiteReviewServiceI.java index ca9c818..c7f4615 100644 --- a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/service/QualOnSiteReviewServiceI.java +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/service/QualOnSiteReviewServiceI.java @@ -108,5 +108,13 @@ public interface QualOnSiteReviewServiceI { */ QualOnSiteReviewStatisticsCo statistics(Long orgId); + /** + * 机构确认安评 + * + * @param id 资质现场核查ID + * @return 结果 + */ + boolean confirmByAgency(Long id); + } diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/service/impl/QualOnSiteReviewServiceImpl.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/service/impl/QualOnSiteReviewServiceImpl.java index def28a8..47ff0bd 100644 --- a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/service/impl/QualOnSiteReviewServiceImpl.java +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/review/service/impl/QualOnSiteReviewServiceImpl.java @@ -92,4 +92,9 @@ public class QualOnSiteReviewServiceImpl implements QualOnSiteReviewServiceI { return qualOnSiteReviewPageQueryExe.executeStatistics(orgId); } + @Override + public boolean confirmByAgency(Long id) { + return qualOnSiteReviewUpdateCommandExe.confirmByAgency(id); + } + } diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/api/institution/EvalProjectApi.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/api/institution/EvalProjectApi.java index 460ed73..3417959 100644 --- a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/api/institution/EvalProjectApi.java +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/api/institution/EvalProjectApi.java @@ -1,5 +1,6 @@ package org.qinan.safetyeval.client.api.institution; +import org.qinan.safetyeval.client.co.institution.CustomerEvalProjectCO; import org.qinan.safetyeval.client.co.institution.EvalProjectCO; import org.qinan.safetyeval.client.co.institution.EvalProjectEnumsCO; import org.qinan.safetyeval.client.co.institution.EvalProjectProgressCO; @@ -9,6 +10,7 @@ import org.qinan.safetyeval.client.co.institution.RiskWarningStatCO; import org.qinan.safetyeval.client.dto.PageResponse; import org.qinan.safetyeval.client.dto.SingleResponse; import org.qinan.safetyeval.client.dto.institution.EvalProjectAddCmd; +import org.qinan.safetyeval.client.dto.institution.CustomerEvalProjectPageQuery; import org.qinan.safetyeval.client.dto.institution.EvalProjectPageQuery; import org.qinan.safetyeval.client.dto.institution.EvalProjectProgressPageQuery; import org.qinan.safetyeval.client.dto.institution.RiskWarningPageQuery; @@ -34,4 +36,6 @@ public interface EvalProjectApi { SingleResponse riskWarningStat(); PageResponse riskWarningPage(RiskWarningPageQuery query); + + PageResponse customerPage(CustomerEvalProjectPageQuery query); } diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/institution/CustomerEvalProjectCO.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/institution/CustomerEvalProjectCO.java new file mode 100644 index 0000000..996d38d --- /dev/null +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/institution/CustomerEvalProjectCO.java @@ -0,0 +1,31 @@ +package org.qinan.safetyeval.client.co.institution; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDate; + +@Data +public class CustomerEvalProjectCO { + + @ApiModelProperty("项目id") + private String id; + + @ApiModelProperty("项目编号") + private String projectNo; + + @ApiModelProperty("项目名称") + private String projectName; + + @ApiModelProperty("评价类别编码") + private String evalTypeCode; + + @ApiModelProperty("评价类别名称") + private String evalTypeName; + + @ApiModelProperty("报告完成日期") + private LocalDate reportCompleteDate; + + @ApiModelProperty("项目状态:1归档 0未归档") + private Integer archiveFlag; +} diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/CustomerEvalProjectPageQuery.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/CustomerEvalProjectPageQuery.java new file mode 100644 index 0000000..c695717 --- /dev/null +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/institution/CustomerEvalProjectPageQuery.java @@ -0,0 +1,17 @@ +package org.qinan.safetyeval.client.dto.institution; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.qinan.safetyeval.client.dto.BasePageQuery; + +import javax.validation.constraints.NotNull; + +@Data +@EqualsAndHashCode(callSuper = true) +public class CustomerEvalProjectPageQuery extends BasePageQuery { + + @ApiModelProperty("被评价客户ID") + @NotNull(message = "客户ID不能为空") + private Long customerId; +}