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