新需求,资质管理下发app签字管理
parent
3ead1e18b5
commit
be9b06b765
|
|
@ -0,0 +1,55 @@
|
|||
package org.qinan.safetyeval.adapter.web.institution.app;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.qinan.safetyeval.client.api.QualFilingCommitmentApi;
|
||||
import org.qinan.safetyeval.client.co.QualFilingCommitmentCO;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalSignTaskStatisticsCO;
|
||||
import org.qinan.safetyeval.client.dto.PageResponse;
|
||||
import org.qinan.safetyeval.client.dto.QualFilingAttachmentUploadCmd;
|
||||
import org.qinan.safetyeval.client.dto.QualFilingCommitmentPageQuery;
|
||||
import org.qinan.safetyeval.client.dto.SingleResponse;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalSignTaskPageQuery;
|
||||
import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* 法定代表人承诺书适配层(Controller)
|
||||
*
|
||||
* @author safety-eval
|
||||
*/
|
||||
@Api(tags = "移动资质签字管理")
|
||||
@RestController
|
||||
@RequestMapping("/safetyEval/app/qual-filing-commitment")
|
||||
public class AppQualFilingCommitmentController {
|
||||
|
||||
@Resource
|
||||
private QualFilingCommitmentApi qualFilingCommitmentApi;
|
||||
|
||||
@ApiOperation("分页查询法定代表人承诺书")
|
||||
@GetMapping("/page")
|
||||
public PageResponse<QualFilingCommitmentCO> page(@Validated QualFilingCommitmentPageQuery query) {
|
||||
query.setLegalRepPersonnelId(AuthUserContextAdapter.getCurrentUserId());
|
||||
return qualFilingCommitmentApi.page(query);
|
||||
}
|
||||
|
||||
@ApiOperation("上传法定代表人签名")
|
||||
@PostMapping("/upload-signature")
|
||||
public SingleResponse<QualFilingCommitmentCO> uploadSignature(
|
||||
@Validated @RequestBody QualFilingAttachmentUploadCmd cmd) {
|
||||
return qualFilingCommitmentApi.uploadSignature(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("签字统计")
|
||||
@PostMapping("/signStatistics")
|
||||
public SingleResponse<EvalSignTaskStatisticsCO> signStatistics(@RequestBody EvalSignTaskPageQuery cmd) {
|
||||
if (!StringUtils.hasText(cmd.getSignerPersonnelId())) {
|
||||
cmd.setSignerPersonnelId(String.valueOf(AuthUserContextAdapter.getCurrentUserId()));
|
||||
}
|
||||
return qualFilingCommitmentApi.signStatistics(cmd);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,20 +1,25 @@
|
|||
package org.qinan.safetyeval.app.executor;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import org.qinan.safetyeval.client.api.QualFilingCommitmentApi;
|
||||
import org.qinan.safetyeval.client.dto.PageResponse;
|
||||
import org.qinan.safetyeval.client.dto.SingleResponse;
|
||||
import org.qinan.safetyeval.client.co.QualFilingCommitmentCO;
|
||||
import org.qinan.safetyeval.client.dto.QualFilingCommitmentAddCmd;
|
||||
import org.qinan.safetyeval.client.dto.QualFilingCommitmentModifyCmd;
|
||||
import org.qinan.safetyeval.client.dto.QualFilingCommitmentPageQuery;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalSignTaskStatisticsCO;
|
||||
import org.qinan.safetyeval.client.dto.*;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalSignTaskPageQuery;
|
||||
import org.qinan.safetyeval.domain.entity.QualFilingCommitmentEntity;
|
||||
import org.qinan.safetyeval.domain.query.QualFilingCommitmentQuery;
|
||||
import org.qinan.safetyeval.domain.query.PageResult;
|
||||
import org.qinan.safetyeval.domain.query.QualFilingCommitmentQuery;
|
||||
import org.qinan.safetyeval.domain.service.QualFilingCommitmentDomainService;
|
||||
import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter;
|
||||
import org.qinan.safetyeval.infrastructure.dataobject.QualFilingCommitmentDO;
|
||||
import org.qinan.safetyeval.infrastructure.mapper.QualFilingCommitmentMapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 法定代表人承诺书执行器(App层)
|
||||
|
|
@ -27,6 +32,8 @@ public class QualFilingCommitmentExecutor implements QualFilingCommitmentApi {
|
|||
@Lazy
|
||||
@Autowired(required = false)
|
||||
private QualFilingCommitmentDomainService qualFilingCommitmentDomainService;
|
||||
@Autowired
|
||||
private QualFilingCommitmentMapper qualFilingCommitmentMapper;
|
||||
|
||||
@Override
|
||||
public SingleResponse<QualFilingCommitmentCO> add(QualFilingCommitmentAddCmd cmd) {
|
||||
|
|
@ -74,6 +81,7 @@ public class QualFilingCommitmentExecutor implements QualFilingCommitmentApi {
|
|||
domainQuery.setPageSize(query.getSize());
|
||||
domainQuery.setTenantId(AuthUserContextAdapter.getCurrentTenantId());
|
||||
domainQuery.setFilingId(query.getFilingId());
|
||||
domainQuery.setLegalRepPersonnelId(query.getLegalRepPersonnelId());
|
||||
|
||||
PageResult<QualFilingCommitmentEntity> pageResult = qualFilingCommitmentDomainService.page(domainQuery);
|
||||
|
||||
|
|
@ -144,6 +152,22 @@ public class QualFilingCommitmentExecutor implements QualFilingCommitmentApi {
|
|||
return SingleResponse.success(toCO(qualFilingCommitmentDomainService.modify(existing)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse<EvalSignTaskStatisticsCO> signStatistics(EvalSignTaskPageQuery cmd) {
|
||||
EvalSignTaskStatisticsCO evalSignTaskStatisticsCO = new EvalSignTaskStatisticsCO();
|
||||
List<QualFilingCommitmentDO> qualFilingCommitmentDOS = qualFilingCommitmentMapper.selectList(new LambdaQueryWrapper<QualFilingCommitmentDO>()
|
||||
.eq(QualFilingCommitmentDO::getLegalRepSignatureUrl, cmd.getSignerPersonnelId()));
|
||||
if (!CollectionUtils.isEmpty(qualFilingCommitmentDOS)) {
|
||||
long pendingSign = qualFilingCommitmentDOS.stream().filter(f -> Objects.isNull(f.getLegalRepSignatureUrl())).count();
|
||||
long completed = qualFilingCommitmentDOS.stream().filter(f -> Objects.nonNull(f.getLegalRepSignatureUrl())).count();
|
||||
long allTasks = qualFilingCommitmentDOS.size();
|
||||
evalSignTaskStatisticsCO.setPendingSign(Math.toIntExact(pendingSign));
|
||||
evalSignTaskStatisticsCO.setCompleted(Math.toIntExact(completed));
|
||||
evalSignTaskStatisticsCO.setAllTasks(Math.toIntExact(allTasks));
|
||||
}
|
||||
return SingleResponse.success(evalSignTaskStatisticsCO);
|
||||
}
|
||||
|
||||
private QualFilingCommitmentCO toCO(QualFilingCommitmentEntity entity) {
|
||||
if (entity == null) {
|
||||
return null;
|
||||
|
|
|
|||
|
|
@ -1,11 +1,13 @@
|
|||
package org.qinan.safetyeval.client.api;
|
||||
|
||||
import org.qinan.safetyeval.client.co.QualFilingCommitmentCO;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalSignTaskStatisticsCO;
|
||||
import org.qinan.safetyeval.client.dto.PageResponse;
|
||||
import org.qinan.safetyeval.client.dto.SingleResponse;
|
||||
import org.qinan.safetyeval.client.dto.QualFilingCommitmentAddCmd;
|
||||
import org.qinan.safetyeval.client.dto.QualFilingCommitmentModifyCmd;
|
||||
import org.qinan.safetyeval.client.dto.QualFilingCommitmentPageQuery;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalSignTaskPageQuery;
|
||||
|
||||
/**
|
||||
* 法定代表人承诺书接口定义(Client层)
|
||||
|
|
@ -27,4 +29,6 @@ public interface QualFilingCommitmentApi {
|
|||
SingleResponse<QualFilingCommitmentCO> saveOrUpdate(QualFilingCommitmentModifyCmd cmd);
|
||||
|
||||
SingleResponse<QualFilingCommitmentCO> uploadSignature(org.qinan.safetyeval.client.dto.QualFilingAttachmentUploadCmd cmd);
|
||||
|
||||
SingleResponse<EvalSignTaskStatisticsCO> signStatistics(EvalSignTaskPageQuery cmd);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
package org.qinan.safetyeval.client.co;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 法定代表人承诺书CO(Client Object)
|
||||
|
|
|
|||
|
|
@ -13,6 +13,9 @@ import lombok.EqualsAndHashCode;
|
|||
@EqualsAndHashCode(callSuper = true)
|
||||
public class QualFilingCommitmentPageQuery extends BasePageQuery {
|
||||
|
||||
@ApiModelProperty(value = "备案申请id")
|
||||
@ApiModelProperty(value = "(pc使用)备案申请id")
|
||||
private Long filingId;
|
||||
|
||||
@ApiModelProperty(value = "App法定代表人id,不传值默认填充当前登录人")
|
||||
private Long legalRepPersonnelId;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,6 +12,6 @@ public class EvalSignTaskPageQuery extends BasePageQuery {
|
|||
@ApiModelProperty("项目id")
|
||||
private String projectId;
|
||||
|
||||
@ApiModelProperty("待签人员id")
|
||||
@ApiModelProperty("待签人员id, 不传默认当前登录人")
|
||||
private String signerPersonnelId;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ public enum QualFilingComplianceCheckEnum {
|
|||
KEY_POSITION("负责人配备", "每个业务范围配备专职技术负责人;另配过程控制负责人", "负责人备案.技术负责人、负责人备案.过程控制负责人"),
|
||||
MANAGEMENT_SYSTEM("制度与过程控制体系", "具有健全内部管理制度和安全评价过程控制体系", "制度文件.版本、过程控制.节点记录"),
|
||||
COMMITMENT("承诺书/网站/报告查询", "法定代表人承诺书已出具;网站正常运行并可查询机构信息和报告", "承诺书.上传状态、网站备案.报告查询状态"),
|
||||
COMMITMENT_SIGNATURE("承诺书签字", "法定代表人承诺书签字", "承诺书签字"),
|
||||
CREDIT_RECORD("三年重大违法失信记录", "截至申请或核查日三年内无重大违法失信记录", "信用核查.重大违法失信记录"),
|
||||
TERRITORIAL("属地满足情况", "在注册地所在直辖市、设区市行政区域范围内满足资质条件", "异地备案.注册地、本市社保.缴纳人数、场所核验.属地"),
|
||||
;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package org.qinan.safetyeval.domain.entity;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
|
|
|||
|
|
@ -21,4 +21,6 @@ public class QualFilingCommitmentQuery {
|
|||
|
||||
/** 备案ID */
|
||||
private Long filingId;
|
||||
|
||||
private Long legalRepPersonnelId;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,13 +5,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.qinan.safetyeval.domain.entity.QualFilingCommitmentEntity;
|
||||
import org.qinan.safetyeval.domain.gateway.QualFilingCommitmentGateway;
|
||||
import org.qinan.safetyeval.domain.query.QualFilingCommitmentQuery;
|
||||
import org.qinan.safetyeval.domain.query.PageResult;
|
||||
import org.qinan.safetyeval.domain.query.QualFilingCommitmentQuery;
|
||||
import org.qinan.safetyeval.infrastructure.dataobject.QualFilingCommitmentDO;
|
||||
import org.qinan.safetyeval.infrastructure.mapper.QualFilingCommitmentMapper;
|
||||
import org.qinan.safetyeval.infrastructure.support.InsertFieldDefaults;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
|
@ -79,6 +78,11 @@ public class QualFilingCommitmentGatewayImpl implements QualFilingCommitmentGate
|
|||
if (query.getFilingId() != null) {
|
||||
wrapper.eq(QualFilingCommitmentDO::getFilingId, query.getFilingId());
|
||||
}
|
||||
if (query.getLegalRepPersonnelId() != null) {
|
||||
wrapper.eq(QualFilingCommitmentDO::getLegalRepPersonnelId, query.getLegalRepPersonnelId());
|
||||
}
|
||||
|
||||
wrapper.orderByDesc(QualFilingCommitmentDO::getId);
|
||||
|
||||
Page<QualFilingCommitmentDO> page = new Page<>(query.getPageNum(), query.getPageSize());
|
||||
IPage<QualFilingCommitmentDO> result = qualFilingCommitmentMapper.selectPage(page, wrapper);
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ import org.qinan.safetyeval.infrastructure.persistence.domainobject.IndustryProf
|
|||
import org.qinan.safetyeval.infrastructure.persistence.domainobject.OrgPersonnelLeaderCountDO;
|
||||
import org.qinan.safetyeval.infrastructure.persistence.mapper.IndustryProfessionalStandardsMapper;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
|
|
@ -79,6 +80,8 @@ public class ComplianceCheckUtil {
|
|||
|
||||
// 9. 承诺书/网站/报告查询
|
||||
results.add(checkCommitment(cmd.getQualFilingCommitmentAddCmd(), filing));
|
||||
// 承诺书签字管理
|
||||
results.add(checkCommitmentSignature(cmd.getQualFilingCommitmentAddCmd(), filing));
|
||||
|
||||
// 10. 三年重大违法失信记录
|
||||
results.add(checkCreditRecord(materialList));
|
||||
|
|
@ -90,6 +93,16 @@ public class ComplianceCheckUtil {
|
|||
return results;
|
||||
}
|
||||
|
||||
private static QualFilingComplianceCheckResultCO checkCommitmentSignature(QualFilingCommitmentAddCmd commitment, QualFilingAddCmd filing) {
|
||||
QualFilingComplianceCheckResultCO qualFilingComplianceCheckResultCO = new QualFilingComplianceCheckResultCO();
|
||||
qualFilingComplianceCheckResultCO.setTitle(QualFilingComplianceCheckEnum.COMMITMENT_SIGNATURE.getTitle());
|
||||
qualFilingComplianceCheckResultCO.setDescription(QualFilingComplianceCheckEnum.COMMITMENT_SIGNATURE.getDescription());
|
||||
qualFilingComplianceCheckResultCO.setStatus(Objects.nonNull(commitment) && StringUtils.hasText(commitment.getLegalRepSignatureUrl()) ? QualFilingComplianceCheckEnum.STATUS_PASS : QualFilingComplianceCheckEnum.STATUS_FAIL);
|
||||
qualFilingComplianceCheckResultCO.setCurrentValue(Objects.nonNull(commitment) && StringUtils.hasText(commitment.getLegalRepSignatureUrl()) ? "法定代表人已签字" : "法定代表人未签字");
|
||||
qualFilingComplianceCheckResultCO.setSourceColumn(QualFilingComplianceCheckEnum.COMMITMENT_SIGNATURE.getSourceColumn());
|
||||
return qualFilingComplianceCheckResultCO;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询人员证书专业能力信息
|
||||
* <p>
|
||||
|
|
|
|||
Loading…
Reference in New Issue