/compliance-check
parent
119945d782
commit
6a4a832671
|
|
@ -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.QualFilingChangeApi;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeAggregationCO;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeCO;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeComplianceCheckResultCO;
|
||||
import org.qinan.safetyeval.client.dto.*;
|
||||
|
|
@ -105,4 +106,10 @@ public class QualFilingChangeController {
|
|||
qualFilingChangeApi.review(cmd);
|
||||
return SingleResponse.success();
|
||||
}
|
||||
|
||||
@ApiOperation("备案变更详情(5表聚合)")
|
||||
@GetMapping("/detail")
|
||||
public SingleResponse<QualFilingChangeAggregationCO> detail(@ApiParam("主键ID") @RequestParam Long id) {
|
||||
return qualFilingChangeApi.detail(id);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import org.mapstruct.Mapper;
|
|||
import org.mapstruct.Mapping;
|
||||
import org.qinan.safetyeval.client.change.request.QualFilingCommitmentChangeAddCmd;
|
||||
import org.qinan.safetyeval.client.change.request.QualFilingCommitmentChangeUpdateCmd;
|
||||
import org.qinan.safetyeval.client.co.QualFilingCommitmentCO;
|
||||
import org.qinan.safetyeval.domain.change.model.QualFilingCommitmentChangeE;
|
||||
import org.qinan.safetyeval.domain.entity.QualFilingCommitmentEntity;
|
||||
|
||||
|
|
@ -41,4 +42,10 @@ public interface QualFilingCommitmentChangeCmdConvertor {
|
|||
@Mapping(target = "tenantId", ignore = true)
|
||||
@Mapping(target = "orgId", ignore = true)
|
||||
QualFilingCommitmentEntity convertChangeEToEntity(QualFilingCommitmentChangeE changeE);
|
||||
|
||||
/**
|
||||
* 变更承诺书转承诺书CO
|
||||
*/
|
||||
@Mapping(source = "filingChangeId", target = "filingId")
|
||||
QualFilingCommitmentCO convertChangeEToCO(QualFilingCommitmentChangeE changeE);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import org.mapstruct.Mapper;
|
|||
import org.mapstruct.Mapping;
|
||||
import org.qinan.safetyeval.client.change.request.QualFilingEquipmentChangeAddCmd;
|
||||
import org.qinan.safetyeval.client.change.request.QualFilingEquipmentChangeUpdateCmd;
|
||||
import org.qinan.safetyeval.client.co.QualFilingEquipmentCO;
|
||||
import org.qinan.safetyeval.domain.change.model.QualFilingEquipmentChangeE;
|
||||
import org.qinan.safetyeval.domain.entity.QualFilingEquipmentEntity;
|
||||
|
||||
|
|
@ -48,4 +49,15 @@ public interface QualFilingEquipmentChangeCmdConvertor {
|
|||
* 批量转换
|
||||
*/
|
||||
List<QualFilingEquipmentEntity> convertChangeEListToEntityList(List<QualFilingEquipmentChangeE> changeEs);
|
||||
|
||||
/**
|
||||
* 变更装备转装备CO
|
||||
*/
|
||||
@Mapping(source = "filingChangeId", target = "filingId")
|
||||
QualFilingEquipmentCO convertChangeEToCO(QualFilingEquipmentChangeE changeE);
|
||||
|
||||
/**
|
||||
* 批量转换变更装备为CO
|
||||
*/
|
||||
List<QualFilingEquipmentCO> convertChangeEListToCOList(List<QualFilingEquipmentChangeE> changeEs);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import org.mapstruct.Mapper;
|
|||
import org.mapstruct.Mapping;
|
||||
import org.qinan.safetyeval.client.change.request.QualFilingMaterialChangeAddCmd;
|
||||
import org.qinan.safetyeval.client.change.request.QualFilingMaterialChangeUpdateCmd;
|
||||
import org.qinan.safetyeval.client.co.QualFilingMaterialCO;
|
||||
import org.qinan.safetyeval.domain.change.model.QualFilingMaterialChangeE;
|
||||
import org.qinan.safetyeval.domain.entity.QualFilingMaterialEntity;
|
||||
|
||||
|
|
@ -48,4 +49,16 @@ public interface QualFilingMaterialChangeCmdConvertor {
|
|||
* 批量转换
|
||||
*/
|
||||
List<QualFilingMaterialEntity> convertChangeEListToEntityList(List<QualFilingMaterialChangeE> changeEs);
|
||||
|
||||
/**
|
||||
* 变更材料转材料CO
|
||||
*/
|
||||
@Mapping(source = "filingChangeId", target = "filingId")
|
||||
@Mapping(target = "materialType", ignore = true)
|
||||
QualFilingMaterialCO convertChangeEToCO(QualFilingMaterialChangeE changeE);
|
||||
|
||||
/**
|
||||
* 批量转换变更材料为CO
|
||||
*/
|
||||
List<QualFilingMaterialCO> convertChangeEListToCOList(List<QualFilingMaterialChangeE> changeEs);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import org.mapstruct.Mapper;
|
|||
import org.mapstruct.Mapping;
|
||||
import org.qinan.safetyeval.client.change.request.QualFilingPersonnelCertChangeAddCmd;
|
||||
import org.qinan.safetyeval.client.change.request.QualFilingPersonnelCertChangeUpdateCmd;
|
||||
import org.qinan.safetyeval.client.co.QualFilingPersonnelCertCO;
|
||||
import org.qinan.safetyeval.domain.change.model.QualFilingPersonnelCertChangeE;
|
||||
import org.qinan.safetyeval.domain.entity.QualFilingPersonnelCertEntity;
|
||||
|
||||
|
|
@ -48,4 +49,15 @@ public interface QualFilingPersonnelCertChangeCmdConvertor {
|
|||
* 批量转换
|
||||
*/
|
||||
List<QualFilingPersonnelCertEntity> convertChangeEListToEntityList(List<QualFilingPersonnelCertChangeE> changeEs);
|
||||
|
||||
/**
|
||||
* 变更人员证书转人员证书CO
|
||||
*/
|
||||
@Mapping(source = "filingChangeId", target = "filingId")
|
||||
QualFilingPersonnelCertCO convertChangeEToCO(QualFilingPersonnelCertChangeE changeE);
|
||||
|
||||
/**
|
||||
* 批量转换变更人员证书为CO
|
||||
*/
|
||||
List<QualFilingPersonnelCertCO> convertChangeEListToCOList(List<QualFilingPersonnelCertChangeE> changeEs);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import org.mapstruct.Mapper;
|
|||
import org.mapstruct.Mapping;
|
||||
import org.qinan.safetyeval.client.change.request.QualFilingPersonnelChangeAddCmd;
|
||||
import org.qinan.safetyeval.client.change.request.QualFilingPersonnelChangeUpdateCmd;
|
||||
import org.qinan.safetyeval.client.co.QualFilingPersonnelCO;
|
||||
import org.qinan.safetyeval.domain.change.model.QualFilingPersonnelChangeE;
|
||||
import org.qinan.safetyeval.domain.entity.QualFilingPersonnelEntity;
|
||||
|
||||
|
|
@ -48,4 +49,15 @@ public interface QualFilingPersonnelChangeCmdConvertor {
|
|||
* 批量转换
|
||||
*/
|
||||
List<QualFilingPersonnelEntity> convertChangeEListToEntityList(List<QualFilingPersonnelChangeE> changeEs);
|
||||
|
||||
/**
|
||||
* 变更人员转人员CO
|
||||
*/
|
||||
@Mapping(source = "filingChangeId", target = "filingId")
|
||||
QualFilingPersonnelCO convertChangeEToCO(QualFilingPersonnelChangeE changeE);
|
||||
|
||||
/**
|
||||
* 批量转换变更人员为CO
|
||||
*/
|
||||
List<QualFilingPersonnelCO> convertChangeEListToCOList(List<QualFilingPersonnelChangeE> changeEs);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,11 +3,13 @@ package org.qinan.safetyeval.app.executor;
|
|||
import org.qinan.safetyeval.app.change.convertor.*;
|
||||
import org.qinan.safetyeval.app.orchestrator.QualFilingOrchestrator;
|
||||
import org.qinan.safetyeval.client.api.QualFilingChangeApi;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeAggregationCO;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeCO;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeComplianceCheckResultCO;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeHistoryCO;
|
||||
import org.qinan.safetyeval.client.dto.*;
|
||||
import org.qinan.safetyeval.domain.change.gateway.*;
|
||||
import org.qinan.safetyeval.domain.gateway.QualFilingChangeDetailGateway;
|
||||
import org.qinan.safetyeval.domain.change.model.*;
|
||||
import org.qinan.safetyeval.domain.constant.QualFilingFormStepEnum;
|
||||
import org.qinan.safetyeval.domain.constant.QualFilingReviewResultEnum;
|
||||
|
|
@ -21,6 +23,7 @@ import org.qinan.safetyeval.domain.service.QualFilingChangeDomainService;
|
|||
import org.qinan.safetyeval.domain.service.QualFilingDomainService;
|
||||
import org.qinan.safetyeval.domain.service.QualFilingReviewDomainService;
|
||||
import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
|
@ -78,6 +81,9 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
|
|||
@Resource
|
||||
private QualFilingPersonnelCertChangeGateway qualFilingPersonnelCertChangeGateway;
|
||||
|
||||
@Resource
|
||||
private QualFilingChangeDetailGateway qualFilingChangeDetailGateway;
|
||||
|
||||
@Override
|
||||
public SingleResponse<QualFilingChangeCO> add(QualFilingChangeAddCmd cmd) {
|
||||
QualFilingChangeEntity entity = new QualFilingChangeEntity();
|
||||
|
|
@ -203,6 +209,7 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
|
|||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public SingleResponse<QualFilingChangeCO> aggregationSaveOrEdit(AggregationSaveOrEditQualFilingChangeCmd cmd) {
|
||||
validateBeforeSaveOrEdit(cmd);
|
||||
|
||||
|
|
@ -235,17 +242,29 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
|
|||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
Long id = qualFilingChangeDomainService.aggregationSaveOrEdit(entity, commitmentEntity
|
||||
, equipmentEntities, materialEntities, personnelEntities, personnelCertEntities);
|
||||
|
||||
// 编辑场景:对比请求数据与已有变更数据,生成变更明细
|
||||
if (!cmd.isAdd()) {
|
||||
List<QualFilingChangeDetailEntity> details = diffFromCmd(cmd.getQualFilingChangeAddCmd().getId()
|
||||
Long changeId = cmd.getQualFilingChangeAddCmd().getId();
|
||||
List<QualFilingChangeDetailEntity> details = diffFromCmd(changeId
|
||||
, entity, commitmentEntity, equipmentEntities
|
||||
, materialEntities, personnelEntities, personnelCertEntities);
|
||||
// TODO: 后续可将details传入domainService进行持久化
|
||||
// 根据changeId先删除原有变更明细,再新增
|
||||
List<QualFilingChangeDetailEntity> existingDetails = qualFilingChangeDetailGateway.listByChangeId(changeId);
|
||||
if (!CollectionUtils.isEmpty(existingDetails)) {
|
||||
existingDetails.forEach(d -> qualFilingChangeDetailGateway.delete(d.getId()));
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(details)) {
|
||||
String operatorName = AuthUserContextAdapter.getCurrentUserName();
|
||||
details.forEach(d -> {
|
||||
d.setCreateName(operatorName);
|
||||
qualFilingChangeDetailGateway.save(d);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Long id = qualFilingChangeDomainService.aggregationSaveOrEdit(entity, commitmentEntity
|
||||
, equipmentEntities, materialEntities, personnelEntities, personnelCertEntities);
|
||||
|
||||
QualFilingChangeCO co = new QualFilingChangeCO();
|
||||
co.setId(id);
|
||||
return SingleResponse.success(co);
|
||||
|
|
@ -325,6 +344,55 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
|
|||
qualFilingChangeDomainService.modify(updateE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse<QualFilingChangeAggregationCO> detail(Long id) {
|
||||
// 查询变更主记录
|
||||
QualFilingChangeEntity changeEntity = qualFilingChangeDomainService.get(id);
|
||||
if (changeEntity == null) {
|
||||
throw new BizException(ErrorCode.QUAL_FILING_CHANGE_NOT_FOUND);
|
||||
}
|
||||
|
||||
QualFilingChangeAggregationCO detail = new QualFilingChangeAggregationCO();
|
||||
BeanUtils.copyProperties(toCO(changeEntity), detail);
|
||||
|
||||
Long changeFilingId = changeEntity.getChangeFilingId();
|
||||
if (changeFilingId == null) {
|
||||
return SingleResponse.success(detail);
|
||||
}
|
||||
|
||||
// 承诺书
|
||||
QualFilingCommitmentChangeE commitmentChangeE = qualFilingCommitmentChangeGateway.getByFilingId(changeFilingId);
|
||||
if (commitmentChangeE != null) {
|
||||
detail.setCommitment(qualFilingCommitmentChangeCmdConvertor.convertChangeEToCO(commitmentChangeE));
|
||||
}
|
||||
|
||||
// 装备清单
|
||||
List<QualFilingEquipmentChangeE> equipmentChangeEs = qualFilingEquipmentChangeGateway.listByFilingId(changeFilingId);
|
||||
if (!CollectionUtils.isEmpty(equipmentChangeEs)) {
|
||||
detail.setEquipmentList(qualFilingEquipmentChangeCmdConvertor.convertChangeEListToCOList(equipmentChangeEs));
|
||||
}
|
||||
|
||||
// 材料清单
|
||||
List<QualFilingMaterialChangeE> materialChangeEs = qualFilingMaterialChangeGateway.listByFilingId(changeFilingId);
|
||||
if (!CollectionUtils.isEmpty(materialChangeEs)) {
|
||||
detail.setMaterialList(qualFilingMaterialChangeCmdConvertor.convertChangeEListToCOList(materialChangeEs));
|
||||
}
|
||||
|
||||
// 人员清单
|
||||
List<QualFilingPersonnelChangeE> personnelChangeEs = qualFilingPersonnelChangeGateway.listByFilingId(changeFilingId);
|
||||
if (!CollectionUtils.isEmpty(personnelChangeEs)) {
|
||||
detail.setPersonnelList(qualFilingPersonnelChangeCmdConvertor.convertChangeEListToCOList(personnelChangeEs));
|
||||
}
|
||||
|
||||
// 人员证书清单
|
||||
List<QualFilingPersonnelCertChangeE> personnelCertChangeEs = qualFilingPersonnelCertChangeGateway.listByFilingId(changeFilingId);
|
||||
if (!CollectionUtils.isEmpty(personnelCertChangeEs)) {
|
||||
detail.setPersonnelCertList(qualFilingPersonnelCertChangeCmdConvertor.convertChangeEListToCOList(personnelCertChangeEs));
|
||||
}
|
||||
|
||||
return SingleResponse.success(detail);
|
||||
}
|
||||
|
||||
/**
|
||||
* 聚合保存或编辑前的状态校验
|
||||
* <ul>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package org.qinan.safetyeval.client.api;
|
||||
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeAggregationCO;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeComplianceCheckResultCO;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeHistoryCO;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeCO;
|
||||
|
|
@ -45,4 +46,6 @@ public interface QualFilingChangeApi {
|
|||
SingleResponse<QualFilingChangeCO> aggregationSaveOrEdit(AggregationSaveOrEditQualFilingChangeCmd cmd);
|
||||
|
||||
void review(QualFilingChangeReviewAddCmd cmd);
|
||||
|
||||
SingleResponse<QualFilingChangeAggregationCO> detail(Long id);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,32 @@
|
|||
package org.qinan.safetyeval.client.co;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 备案变更详情聚合 CO(5 个子表聚合)
|
||||
*
|
||||
* @author safety-eval
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class QualFilingChangeAggregationCO extends QualFilingChangeCO {
|
||||
|
||||
@ApiModelProperty(value = "法定代表人承诺书")
|
||||
private QualFilingCommitmentCO commitment;
|
||||
|
||||
@ApiModelProperty(value = "变更装备列表")
|
||||
private List<QualFilingEquipmentCO> equipmentList;
|
||||
|
||||
@ApiModelProperty(value = "变更材料列表")
|
||||
private List<QualFilingMaterialCO> materialList;
|
||||
|
||||
@ApiModelProperty(value = "变更人员列表")
|
||||
private List<QualFilingPersonnelCO> personnelList;
|
||||
|
||||
@ApiModelProperty(value = "变更人员证书列表")
|
||||
private List<QualFilingPersonnelCertCO> personnelCertList;
|
||||
}
|
||||
Loading…
Reference in New Issue