auth
parent
e9b88ba872
commit
13e238f1f9
|
|
@ -7,6 +7,7 @@ import org.qinan.safetyeval.client.api.OrgInfoApi;
|
||||||
import org.qinan.safetyeval.client.co.OrgInfoCO;
|
import org.qinan.safetyeval.client.co.OrgInfoCO;
|
||||||
import org.qinan.safetyeval.client.co.OrgInfoSelectCO;
|
import org.qinan.safetyeval.client.co.OrgInfoSelectCO;
|
||||||
import org.qinan.safetyeval.client.dto.*;
|
import org.qinan.safetyeval.client.dto.*;
|
||||||
|
import org.qinan.safetyeval.infrastructure.adapter.ThreadLocalUserInfoAdapter;
|
||||||
import org.qinan.safetyeval.infrastructure.dataobject.base.Req;
|
import org.qinan.safetyeval.infrastructure.dataobject.base.Req;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
@ -80,4 +81,10 @@ public class OrgInfoController {
|
||||||
public SingleResponse<List<OrgInfoSelectCO>> selectList() {
|
public SingleResponse<List<OrgInfoSelectCO>> selectList() {
|
||||||
return orgInfoApi.selectList();
|
return orgInfoApi.selectList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("查询机构备案的行业信息")
|
||||||
|
@GetMapping("/select/org/industry/code")
|
||||||
|
public SingleResponse<List<String>> orgIndustryCode() {
|
||||||
|
return orgInfoApi.orgIndustryCode(ThreadLocalUserInfoAdapter.getOrgId());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,8 @@ public class QualFilingChangeController {
|
||||||
|
|
||||||
@ApiOperation("聚合新增or编辑资质备案变更申请")
|
@ApiOperation("聚合新增or编辑资质备案变更申请")
|
||||||
@PostMapping("/aggregationSaveOrEdit")
|
@PostMapping("/aggregationSaveOrEdit")
|
||||||
public SingleResponse<QualFilingChangeCO> aggregationSaveOrEdit(@RequestBody AggregationSaveOrEditQualFilingChangeCmd cmd) {
|
public SingleResponse<List<QualFilingComplianceCheckResultCO>> aggregationSaveOrEdit(
|
||||||
|
@RequestBody AggregationSaveOrEditQualFilingChangeCmd cmd) {
|
||||||
cmd.getQualFilingChangeAddCmd().setFilingStatusCode(QualFilingStatusEnum.CHANGE_REVIEWING.getCode());
|
cmd.getQualFilingChangeAddCmd().setFilingStatusCode(QualFilingStatusEnum.CHANGE_REVIEWING.getCode());
|
||||||
return qualFilingChangeApi.aggregationSaveOrEdit(cmd, false);
|
return qualFilingChangeApi.aggregationSaveOrEdit(cmd, false);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -80,7 +80,7 @@ public class QualFilingController {
|
||||||
/////////////////////////////////////聚合接口
|
/////////////////////////////////////聚合接口
|
||||||
@ApiOperation("聚合新增or编辑资质备案申请")
|
@ApiOperation("聚合新增or编辑资质备案申请")
|
||||||
@PostMapping("/aggregationSaveOrEdit")
|
@PostMapping("/aggregationSaveOrEdit")
|
||||||
public SingleResponse<QualFilingCO> aggregationSaveOrEdit(@RequestBody AggregationSaveOrEditQualFilingCmd cmd) {
|
public SingleResponse<List<QualFilingComplianceCheckResultCO>> aggregationSaveOrEdit(@RequestBody AggregationSaveOrEditQualFilingCmd cmd) {
|
||||||
return qualFilingApi.aggregationSaveOrEdit(cmd);
|
return qualFilingApi.aggregationSaveOrEdit(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -221,6 +221,11 @@ public class OrgInfoExecutor implements OrgInfoApi {
|
||||||
return SingleResponse.success(result);
|
return SingleResponse.success(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SingleResponse<List<String>> orgIndustryCode(Long orgId) {
|
||||||
|
return SingleResponse.success(orgInfoDomainService.orgIndustryCode(orgId));
|
||||||
|
}
|
||||||
|
|
||||||
private OrgInfoCO toCO(OrgInfoEntity entity) {
|
private OrgInfoCO toCO(OrgInfoEntity entity) {
|
||||||
if (entity == null) {
|
if (entity == null) {
|
||||||
return null;
|
return null;
|
||||||
|
|
|
||||||
|
|
@ -95,6 +95,7 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private QualFilingChangeDetailGateway qualFilingChangeDetailGateway;
|
private QualFilingChangeDetailGateway qualFilingChangeDetailGateway;
|
||||||
|
|
||||||
@Value("${def.reviewEnable:false}")
|
@Value("${def.reviewEnable:false}")
|
||||||
private Boolean reviewEnable;
|
private Boolean reviewEnable;
|
||||||
|
|
||||||
|
|
@ -261,21 +262,18 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public SingleResponse<QualFilingChangeCO> aggregationSaveOrEdit(
|
public SingleResponse<List<QualFilingComplianceCheckResultCO>> aggregationSaveOrEdit(
|
||||||
AggregationSaveOrEditQualFilingChangeCmd cmd, boolean throwException) {
|
AggregationSaveOrEditQualFilingChangeCmd cmd, boolean throwException) {
|
||||||
validateBeforeSaveOrEdit(cmd);
|
validateBeforeSaveOrEdit(cmd);
|
||||||
|
|
||||||
// 合规性校验:只要有一项未通过则抛出异常
|
// 合规性校验:只要有一项未通过则抛出异常
|
||||||
if (reviewEnable) {
|
AggregationSaveOrEditQualFilingCmd qualFilingCmd = convertToQualFilingCmd(cmd);
|
||||||
AggregationSaveOrEditQualFilingCmd qualFilingCmd = convertToQualFilingCmd(cmd);
|
List<QualFilingComplianceCheckResultCO> complianceResults = ComplianceCheckUtil.complianceCheck(qualFilingCmd, throwException);
|
||||||
List<QualFilingComplianceCheckResultCO> complianceResults = ComplianceCheckUtil.complianceCheck(qualFilingCmd, throwException);
|
complianceResults = complianceResults.stream()
|
||||||
List<String> failedItems = complianceResults.stream()
|
.filter(r -> QualFilingComplianceCheckEnum.STATUS_FAIL.equals(r.getStatus()))
|
||||||
.filter(r -> QualFilingComplianceCheckEnum.STATUS_FAIL.equals(r.getStatus()))
|
.collect(Collectors.toList());
|
||||||
.map(QualFilingComplianceCheckResultCO::getTitle)
|
if (!CollectionUtils.isEmpty(complianceResults)) {
|
||||||
.collect(Collectors.toList());
|
return SingleResponse.success(complianceResults);
|
||||||
if (!failedItems.isEmpty()) {
|
|
||||||
throw new BizException(ErrorCode.QUAL_FILING_COMPLIANCE_CHECK_FAIL,
|
|
||||||
"合规性校验未通过:" + String.join("、", failedItems));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 变更基本信息
|
// 变更基本信息
|
||||||
|
|
@ -328,12 +326,10 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Long id = qualFilingChangeDomainService.aggregationSaveOrEdit(entity, commitmentEntity
|
qualFilingChangeDomainService.aggregationSaveOrEdit(entity, commitmentEntity
|
||||||
, equipmentEntities, materialEntities, personnelEntities, personnelCertEntities);
|
, equipmentEntities, materialEntities, personnelEntities, personnelCertEntities);
|
||||||
|
|
||||||
QualFilingChangeCO co = new QualFilingChangeCO();
|
return SingleResponse.success(null);
|
||||||
co.setId(id);
|
|
||||||
return SingleResponse.success(co);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -181,17 +181,15 @@ public class QualFilingExecutor implements QualFilingApi {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public SingleResponse<QualFilingCO> aggregationSaveOrEdit(AggregationSaveOrEditQualFilingCmd cmd) {
|
public SingleResponse<List<QualFilingComplianceCheckResultCO>> aggregationSaveOrEdit(AggregationSaveOrEditQualFilingCmd cmd) {
|
||||||
if (cmd.getQualFilingAddCmd().getFilingStatusCode() != null
|
if (cmd.getQualFilingAddCmd().getFilingStatusCode() != null
|
||||||
&& cmd.getQualFilingAddCmd().getFilingStatusCode() != QualFilingStatusEnum.DRAFT.getCode()) {
|
&& cmd.getQualFilingAddCmd().getFilingStatusCode() != QualFilingStatusEnum.DRAFT.getCode()) {
|
||||||
List<QualFilingComplianceCheckResultCO> complianceResults = ComplianceCheckUtil.complianceCheck(cmd, false);
|
List<QualFilingComplianceCheckResultCO> complianceResults = ComplianceCheckUtil.complianceCheck(cmd, false);
|
||||||
List<String> failedItems = complianceResults.stream()
|
complianceResults = complianceResults.stream()
|
||||||
.filter(r -> QualFilingComplianceCheckEnum.STATUS_FAIL.equals(r.getStatus()))
|
.filter(r -> QualFilingComplianceCheckEnum.STATUS_FAIL.equals(r.getStatus()))
|
||||||
.map(QualFilingComplianceCheckResultCO::getTitle)
|
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
if (!failedItems.isEmpty()) {
|
if (!CollectionUtils.isEmpty(complianceResults)) {
|
||||||
throw new BizException(ErrorCode.QUAL_FILING_COMPLIANCE_CHECK_FAIL,
|
return SingleResponse.success(complianceResults);
|
||||||
"合规性校验未通过:" + String.join("、", failedItems));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 新增时校验:用当前id查询记录获取org_id,若同机构已存在其他资质备案记录则不允许新增
|
// 新增时校验:用当前id查询记录获取org_id,若同机构已存在其他资质备案记录则不允许新增
|
||||||
|
|
@ -222,7 +220,7 @@ public class QualFilingExecutor implements QualFilingApi {
|
||||||
: qualFilingAddCmdConvertor.convertPersonnelCertCmdListToEntityList(cmd.getQualFilingPersonnelCertAddCmds());
|
: qualFilingAddCmdConvertor.convertPersonnelCertCmdListToEntityList(cmd.getQualFilingPersonnelCertAddCmds());
|
||||||
Long id = qualFilingDomainService.aggregationSaveOrEdit(entity, commitmentEntity, equipmentEntities, materialEntities, personnelEntities, personnelCertEntities);
|
Long id = qualFilingDomainService.aggregationSaveOrEdit(entity, commitmentEntity, equipmentEntities, materialEntities, personnelEntities, personnelCertEntities);
|
||||||
co.setId(id);
|
co.setId(id);
|
||||||
return SingleResponse.success(co);
|
return SingleResponse.success(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -42,4 +42,12 @@ public interface OrgInfoApi {
|
||||||
* @return 机构列表
|
* @return 机构列表
|
||||||
*/
|
*/
|
||||||
SingleResponse<List<OrgInfoSelectCO>> selectList();
|
SingleResponse<List<OrgInfoSelectCO>> selectList();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询机构备案的行业信息
|
||||||
|
*
|
||||||
|
* @param orgId 机构ID
|
||||||
|
* @return 行业编码列表
|
||||||
|
*/
|
||||||
|
SingleResponse<List<String>> orgIndustryCode(Long orgId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ public interface QualFilingApi {
|
||||||
|
|
||||||
SingleResponse<List<QualFilingComplianceCheckResultCO>> complianceCheck(Long id);
|
SingleResponse<List<QualFilingComplianceCheckResultCO>> complianceCheck(Long id);
|
||||||
|
|
||||||
SingleResponse<QualFilingCO> aggregationSaveOrEdit(AggregationSaveOrEditQualFilingCmd cmd);
|
SingleResponse<List<QualFilingComplianceCheckResultCO>> aggregationSaveOrEdit(AggregationSaveOrEditQualFilingCmd cmd);
|
||||||
|
|
||||||
void review(QualFilingReviewAddCmd cmd);
|
void review(QualFilingReviewAddCmd cmd);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ public interface QualFilingChangeApi {
|
||||||
|
|
||||||
SingleResponse<List<QualFilingComplianceCheckResultCO>> complianceCheck(Long id);
|
SingleResponse<List<QualFilingComplianceCheckResultCO>> complianceCheck(Long id);
|
||||||
|
|
||||||
SingleResponse<QualFilingChangeCO> aggregationSaveOrEdit(AggregationSaveOrEditQualFilingChangeCmd cmd
|
SingleResponse<List<QualFilingComplianceCheckResultCO>> aggregationSaveOrEdit(AggregationSaveOrEditQualFilingChangeCmd cmd
|
||||||
, boolean throwException);
|
, boolean throwException);
|
||||||
|
|
||||||
void review(QualFilingChangeReviewAddCmd cmd);
|
void review(QualFilingChangeReviewAddCmd cmd);
|
||||||
|
|
|
||||||
|
|
@ -47,4 +47,12 @@ public interface OrgInfoGateway {
|
||||||
* @return 单位名称
|
* @return 单位名称
|
||||||
*/
|
*/
|
||||||
String getUnitNameById(Long id);
|
String getUnitNameById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询机构备案的行业信息编码列表
|
||||||
|
*
|
||||||
|
* @param orgId 机构ID
|
||||||
|
* @return 行业编码列表
|
||||||
|
*/
|
||||||
|
List<String> orgIndustryCode(Long orgId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -73,4 +73,8 @@ public class OrgInfoDomainService {
|
||||||
public List<OrgInfoEntity> selectList() {
|
public List<OrgInfoEntity> selectList() {
|
||||||
return orgInfoGateway.selectList();
|
return orgInfoGateway.selectList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<String> orgIndustryCode(Long orgId) {
|
||||||
|
return orgInfoGateway.orgIndustryCode(orgId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -318,6 +318,21 @@ public class OrgInfoGatewayImpl implements OrgInfoGateway {
|
||||||
return orgInfoDO == null ? null : orgInfoDO.getUnitName();
|
return orgInfoDO == null ? null : orgInfoDO.getUnitName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> orgIndustryCode(Long orgId) {
|
||||||
|
if (orgId == null) {
|
||||||
|
return java.util.Collections.emptyList();
|
||||||
|
}
|
||||||
|
LambdaQueryWrapper<OrgInfoDO> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.select(OrgInfoDO::getId, OrgInfoDO::getSafetyIndustryCategoryCode)
|
||||||
|
.eq(OrgInfoDO::getId, orgId);
|
||||||
|
OrgInfoDO orgInfoDO = orgInfoMapper.selectOne(wrapper);
|
||||||
|
if (orgInfoDO == null || !StringUtils.hasText(orgInfoDO.getSafetyIndustryCategoryCode())) {
|
||||||
|
return java.util.Collections.emptyList();
|
||||||
|
}
|
||||||
|
return JSONUtil.toList(orgInfoDO.getSafetyIndustryCategoryCode(), String.class);
|
||||||
|
}
|
||||||
|
|
||||||
private void syncGbsUser(String action, Runnable runnable) {
|
private void syncGbsUser(String action, Runnable runnable) {
|
||||||
try {
|
try {
|
||||||
runnable.run();
|
runnable.run();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue