upgrade
parent
da9c0e764c
commit
5242a486ed
|
|
@ -2,6 +2,7 @@ package org.qinan.safetyeval.app.executor;
|
|||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.toolkit.Db;
|
||||
import org.qinan.safetyeval.app.change.convertor.*;
|
||||
import org.qinan.safetyeval.app.orchestrator.QualFilingOrchestrator;
|
||||
import org.qinan.safetyeval.client.api.QualFilingChangeApi;
|
||||
|
|
@ -25,9 +26,11 @@ import org.qinan.safetyeval.domain.service.QualFilingReviewDomainService;
|
|||
import org.qinan.safetyeval.infrastructure.adapter.ThreadLocalUserInfoAdapter;
|
||||
import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter;
|
||||
import org.qinan.safetyeval.infrastructure.dataobject.QualFilingChangeCountDO;
|
||||
import org.qinan.safetyeval.infrastructure.dataobject.QualFilingChangeDetailDO;
|
||||
import org.qinan.safetyeval.infrastructure.mapper.QualFilingChangeMapper;
|
||||
import org.qinan.safetyeval.infrastructure.mapper.QualFilingPersonnelCertMapper;
|
||||
import org.qinan.safetyeval.infrastructure.persistence.mapper.QualFilingPersonnelChangeMapper;
|
||||
import org.qinan.safetyeval.infrastructure.support.InsertFieldDefaults;
|
||||
import org.qinan.safetyeval.infrastructure.utils.CommonUtil;
|
||||
import org.qinan.safetyeval.infrastructure.utils.ComplianceCheckUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -314,22 +317,8 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
|
|||
|
||||
// 编辑场景:对比请求数据与已有变更数据,生成变更明细
|
||||
if (cmd.getOriginChangeFilingId() != null) {
|
||||
Long changeId = cmd.getOriginChangeFilingId();
|
||||
List<QualFilingChangeDetailEntity> details = diffFromCmd(changeId
|
||||
, entity, commitmentEntity, equipmentEntities
|
||||
, materialEntities, personnelEntities, personnelCertEntities);
|
||||
// 根据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);
|
||||
});
|
||||
}
|
||||
regenerateChangeDetailsForEdit(cmd, entity, commitmentEntity
|
||||
, equipmentEntities, materialEntities, personnelEntities, personnelCertEntities);
|
||||
}
|
||||
|
||||
qualFilingChangeDomainService.aggregationSaveOrEdit(entity, commitmentEntity
|
||||
|
|
@ -338,6 +327,26 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
|
|||
return SingleResponse.success(null);
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑场景:对比请求数据与已有变更数据,重新生成变更明细。
|
||||
* 先删除原有变更明细,再新增对比生成的明细。
|
||||
*/
|
||||
private void regenerateChangeDetailsForEdit(AggregationSaveOrEditQualFilingChangeCmd cmd
|
||||
, QualFilingChangeEntity entity, QualFilingCommitmentChangeE commitmentEntity
|
||||
, List<QualFilingEquipmentChangeE> equipmentEntities, List<QualFilingMaterialChangeE> materialEntities
|
||||
, List<QualFilingPersonnelChangeE> personnelEntities, List<QualFilingPersonnelCertChangeE> personnelCertEntities) {
|
||||
Long changeId = cmd.getOriginChangeFilingId();
|
||||
List<QualFilingChangeDetailDO> details = diffFromCmd(changeId
|
||||
, entity, commitmentEntity, equipmentEntities
|
||||
, materialEntities, personnelEntities, personnelCertEntities);
|
||||
// 根据changeId先删除原有变更明细,再新增
|
||||
qualFilingChangeDetailGateway.deleteByChangeId(changeId);
|
||||
if (!CollectionUtils.isEmpty(details)) {
|
||||
details.forEach(InsertFieldDefaults::apply);
|
||||
Db.saveBatch(details);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void review(QualFilingChangeReviewAddCmd cmd) {
|
||||
|
|
@ -567,11 +576,11 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
|
|||
/**
|
||||
* 对比请求数据与已有变更数据,生成变更明细列表
|
||||
*/
|
||||
private List<QualFilingChangeDetailEntity> diffFromCmd(
|
||||
private List<QualFilingChangeDetailDO> diffFromCmd(
|
||||
Long changeId, QualFilingChangeEntity newEntity, QualFilingCommitmentChangeE newCommitment,
|
||||
List<QualFilingEquipmentChangeE> newEquipments, List<QualFilingMaterialChangeE> newMaterials,
|
||||
List<QualFilingPersonnelChangeE> newPersonnel, List<QualFilingPersonnelCertChangeE> newCerts) {
|
||||
List<QualFilingChangeDetailEntity> details = new ArrayList<>();
|
||||
List<QualFilingChangeDetailDO> details = new ArrayList<>();
|
||||
|
||||
// 基本信息变更
|
||||
QualFilingChangeEntity existingEntity = qualFilingChangeDomainService.get(changeId);
|
||||
|
|
@ -702,9 +711,9 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
|
|||
return list == null ? Collections.emptyList() : list;
|
||||
}
|
||||
|
||||
private QualFilingChangeDetailEntity stepDetail(Long changeId, QualFilingFormStepEnum step,
|
||||
private QualFilingChangeDetailDO stepDetail(Long changeId, QualFilingFormStepEnum step,
|
||||
String content, String before, String after) {
|
||||
QualFilingChangeDetailEntity detail = new QualFilingChangeDetailEntity();
|
||||
QualFilingChangeDetailDO detail = new QualFilingChangeDetailDO();
|
||||
detail.setChangeId(changeId);
|
||||
detail.setFormStepCode(step.getCode());
|
||||
detail.setFormStepName(step.getName());
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ package org.qinan.safetyeval.domain.constant;
|
|||
*/
|
||||
public enum QualFilingFormStepEnum {
|
||||
|
||||
BASIC_INFO(1, "备案基本信息"),
|
||||
BASIC_INFO(1, "基本信息备案"),
|
||||
MATERIALS(2, "备案材料上传"),
|
||||
COMMITMENT(3, "法定代表人承诺书"),
|
||||
PERSONNEL(4, "备案人员管理"),
|
||||
|
|
|
|||
|
|
@ -26,5 +26,7 @@ public interface QualFilingChangeDetailGateway {
|
|||
|
||||
void delete(Long id);
|
||||
|
||||
void deleteByChangeId(Long changeId);
|
||||
|
||||
PageResult<QualFilingChangeDetailEntity> page(QualFilingChangeDetailQuery query);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package org.qinan.safetyeval.infrastructure.gatewayimpl;
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.toolkit.Db;
|
||||
import org.qinan.safetyeval.domain.entity.QualFilingChangeDetailEntity;
|
||||
import org.qinan.safetyeval.domain.gateway.QualFilingChangeDetailGateway;
|
||||
import org.qinan.safetyeval.domain.query.QualFilingChangeDetailQuery;
|
||||
|
|
@ -76,6 +77,13 @@ public class QualFilingChangeDetailGatewayImpl implements QualFilingChangeDetail
|
|||
qualFilingChangeDetailMapper.deleteById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteByChangeId(Long changeId) {
|
||||
LambdaQueryWrapper<QualFilingChangeDetailDO> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(QualFilingChangeDetailDO::getChangeId, changeId);
|
||||
qualFilingChangeDetailMapper.delete(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<QualFilingChangeDetailEntity> page(QualFilingChangeDetailQuery query) {
|
||||
LambdaQueryWrapper<QualFilingChangeDetailDO> wrapper = new LambdaQueryWrapper<>();
|
||||
|
|
|
|||
Loading…
Reference in New Issue