dev
luotaiqian 2026-07-22 14:47:12 +08:00
parent 4ab4451396
commit 3cd2c46ec2
9 changed files with 141 additions and 0 deletions

View File

@ -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<QualOnSiteReviewResultCo> getReviewResult(@PathVariable Long id) {

View File

@ -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<RiskWarningCO> riskWarningPage(@Validated RiskWarningPageQuery query) {
return evalProjectApi.riskWarningPage(query);
}
@ApiOperation("企业安全评价项目分页")
@GetMapping("/customer-page")
public PageResponse<CustomerEvalProjectCO> customerPage(@Validated CustomerEvalProjectPageQuery query) {
return evalProjectApi.customerPage(query);
}
}

View File

@ -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<CustomerEvalProjectCO> customerPage(CustomerEvalProjectPageQuery query) {
EvalProjectQuery domainQuery = new EvalProjectQuery();
domainQuery.setPageNum(query.getCurrent());
domainQuery.setPageSize(query.getSize());
domainQuery.setOrgId(ThreadLocalUserInfoAdapter.getOrgId());
domainQuery.setCustomerId(query.getCustomerId());
PageResult<EvalProjectEntity> pageResult = evalProjectDomainService.page(domainQuery);
List<CustomerEvalProjectCO> 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;
}
/**
*
*

View File

@ -83,6 +83,34 @@ public class QualOnSiteReviewUpdateCmdExe {
return true;
}
/**
*
* <p>
* 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;
}
/**
*
* <p>

View File

@ -108,5 +108,13 @@ public interface QualOnSiteReviewServiceI {
*/
QualOnSiteReviewStatisticsCo statistics(Long orgId);
/**
*
*
* @param id ID
* @return
*/
boolean confirmByAgency(Long id);
}

View File

@ -92,4 +92,9 @@ public class QualOnSiteReviewServiceImpl implements QualOnSiteReviewServiceI {
return qualOnSiteReviewPageQueryExe.executeStatistics(orgId);
}
@Override
public boolean confirmByAgency(Long id) {
return qualOnSiteReviewUpdateCommandExe.confirmByAgency(id);
}
}

View File

@ -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<RiskWarningStatCO> riskWarningStat();
PageResponse<RiskWarningCO> riskWarningPage(RiskWarningPageQuery query);
PageResponse<CustomerEvalProjectCO> customerPage(CustomerEvalProjectPageQuery query);
}

View File

@ -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;
}

View File

@ -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;
}