更新
1.留痕更新记录操作
This commit is contained in:
+48
-22
@@ -32,6 +32,8 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -201,21 +203,49 @@ public class EntrustAlterApplyServiceImpl extends ServiceImpl<EntrustAlterApplyM
|
|||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Boolean updateEntrust(ApprovedUpdateEntrustDTO dto) {
|
public Boolean updateEntrust(ApprovedUpdateEntrustDTO dto) {
|
||||||
Entrustment entrustment = validUpdateInfoAndGetEntrustInfo(dto);
|
StringBuilder updateRecordBuilder = new StringBuilder(); // 更新记录
|
||||||
|
Entrustment entrustment = validUpdateInfoAndGetEntrustInfo(dto, updateRecordBuilder);
|
||||||
// 提取委托id
|
// 提取委托id
|
||||||
StringBuilder updateRecordBuilder = new StringBuilder();
|
String entrustId = entrustment.getId();
|
||||||
String entrustmentId = entrustment.getId();
|
|
||||||
CaseEvent oldCaseInfo = caseEventService.getById(entrustment.getCaseId());
|
CaseEvent oldCaseInfo = caseEventService.getById(entrustment.getCaseId());
|
||||||
caseEventService.update(Wrappers.<CaseEvent>lambdaUpdate().eq(CaseEvent::getId, entrustment.getCaseId()).set(CaseEvent::getCaseBrief, dto.getCaseBrief()));
|
caseEventService.update(Wrappers.<CaseEvent>lambdaUpdate().eq(CaseEvent::getId, entrustment.getCaseId()).set(CaseEvent::getCaseBrief, dto.getCaseBrief()));
|
||||||
// 添加更新记录 | <br> 代表换行
|
// 添加更新记录 | <br> 代表换行
|
||||||
updateRecordBuilder.append("操作记录:").append("<br>该委托案件的案件简要由 [").append(oldCaseInfo.getCaseBrief()).append("] 更改为 [").append(dto.getCaseBrief()).append("] 。");
|
updateRecordBuilder.append(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
||||||
|
updateRecordBuilder.append("<br>案件更新记录:").append("<br>该委托案件的案件简要由 [").append(oldCaseInfo.getCaseBrief()).append("] 更改为 [").append(dto.getCaseBrief()).append("] 。");
|
||||||
// 2.修改检材 信息
|
// 2.修改检材 信息
|
||||||
// 这里之所以要取未更新前的信息是为了留痕
|
// 这里之所以要取未更新前的信息是为了留痕
|
||||||
Map<String, EntrustmentIdentificationMaterial> oldInfoMap = entrustmentIdentificationMaterialService.list(Wrappers.<EntrustmentIdentificationMaterial>lambdaQuery()
|
Map<String, EntrustmentIdentificationMaterial> oldInfoMap = entrustmentIdentificationMaterialService.list(Wrappers.<EntrustmentIdentificationMaterial>lambdaQuery()
|
||||||
.eq(EntrustmentIdentificationMaterial::getEntrustmentId, entrustmentId)
|
.eq(EntrustmentIdentificationMaterial::getEntrustmentId, entrustId)
|
||||||
.orderByAsc(EntrustmentIdentificationMaterial::getOrderNo))
|
.orderByAsc(EntrustmentIdentificationMaterial::getOrderNo))
|
||||||
.stream().collect(Collectors.toMap(EntrustmentIdentificationMaterial::getId, Function.identity()));
|
.stream().collect(Collectors.toMap(EntrustmentIdentificationMaterial::getId, Function.identity()));
|
||||||
List<MaterialDTO> materialList = dto.getMaterialList();
|
|
||||||
|
List<EntrustmentIdentificationMaterial> entrustmentIdentificationMaterialList = processUpdateEntrustMaterialInfo(
|
||||||
|
dto.getMaterialList(),
|
||||||
|
oldInfoMap,
|
||||||
|
updateRecordBuilder
|
||||||
|
);
|
||||||
|
entrustmentIdentificationMaterialService.updateBatchById(entrustmentIdentificationMaterialList);
|
||||||
|
// 3. 更新委托鉴定要求
|
||||||
|
updateEntrustmentRequirement(entrustment, dto.getEntrustRequirement(), updateRecordBuilder);
|
||||||
|
// 如果确认完成,则删除鉴定事项确认书和委托书,并更新申请状态为已完成
|
||||||
|
if (dto.getFinished()) {
|
||||||
|
// 4.删除鉴定事项确认书和委托书
|
||||||
|
deleteConfirmEntrustLetter(entrustment.getEntrustmentNo(), entrustId);
|
||||||
|
}
|
||||||
|
return super.update(Wrappers.<EntrustAlterApply>lambdaUpdate().eq(EntrustAlterApply::getId, dto.getId())
|
||||||
|
.set(EntrustAlterApply::getUpdateRecord, updateRecordBuilder.toString())
|
||||||
|
.set(dto.getFinished(), EntrustAlterApply::getStatus, EntrustAlterApplyStatus.FINISHED.getStatus()));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 处理更新委托鉴定检材信息
|
||||||
|
*
|
||||||
|
* @param materialList 待更新的材料DTO列表
|
||||||
|
* @param oldInfoMap 旧的委托鉴定材料信息映射表,key为材料ID,value为对应的委托鉴定材料对象
|
||||||
|
* @param updateRecordBuilder 更新记录构建器,用于构建更新记录
|
||||||
|
* @return 更新后的委托鉴定材料对象列表
|
||||||
|
*/
|
||||||
|
private List<EntrustmentIdentificationMaterial> processUpdateEntrustMaterialInfo(List<MaterialDTO> materialList, Map<String, EntrustmentIdentificationMaterial> oldInfoMap, StringBuilder updateRecordBuilder) {
|
||||||
Integer index = 1;
|
Integer index = 1;
|
||||||
List<EntrustmentIdentificationMaterial> entrustmentIdentificationMaterialList = new ArrayList<>();
|
List<EntrustmentIdentificationMaterial> entrustmentIdentificationMaterialList = new ArrayList<>();
|
||||||
for (MaterialDTO item : materialList) {
|
for (MaterialDTO item : materialList) {
|
||||||
@@ -273,17 +303,7 @@ public class EntrustAlterApplyServiceImpl extends ServiceImpl<EntrustAlterApplyM
|
|||||||
entrustmentIdentificationMaterial.setAnalysisOption(analysisOption);
|
entrustmentIdentificationMaterial.setAnalysisOption(analysisOption);
|
||||||
entrustmentIdentificationMaterialList.add(entrustmentIdentificationMaterial);
|
entrustmentIdentificationMaterialList.add(entrustmentIdentificationMaterial);
|
||||||
}
|
}
|
||||||
entrustmentIdentificationMaterialService.updateBatchById(entrustmentIdentificationMaterialList);
|
return entrustmentIdentificationMaterialList;
|
||||||
// 3. 更新委托鉴定要求
|
|
||||||
updateEntrustmentRequirement(entrustmentId, entrustment, dto.getEntrustRequirement());
|
|
||||||
// 如果确认完成,则删除鉴定事项确认书和委托书,并更新申请状态为已完成
|
|
||||||
if (dto.getFinished()) {
|
|
||||||
// 4.删除鉴定事项确认书和委托书
|
|
||||||
deleteConfirmEntrustLetter(entrustment.getEntrustmentNo(), entrustmentId);
|
|
||||||
}
|
|
||||||
return super.update(Wrappers.<EntrustAlterApply>lambdaUpdate().eq(EntrustAlterApply::getId, dto.getId())
|
|
||||||
.set(EntrustAlterApply::getUpdateRecord, updateRecordBuilder.toString())
|
|
||||||
.set(dto.getFinished(), EntrustAlterApply::getStatus, EntrustAlterApplyStatus.FINISHED.getStatus()));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -306,16 +326,17 @@ public class EntrustAlterApplyServiceImpl extends ServiceImpl<EntrustAlterApplyM
|
|||||||
/**
|
/**
|
||||||
* 更新鉴定要求
|
* 更新鉴定要求
|
||||||
*
|
*
|
||||||
* @param entrustmentId
|
|
||||||
* @param entrustment
|
* @param entrustment
|
||||||
* @param entrustRequirement
|
* @param entrustRequirement
|
||||||
|
* @param updateRecordBuilder
|
||||||
*/
|
*/
|
||||||
public void updateEntrustmentRequirement(String entrustmentId, Entrustment entrustment, String entrustRequirement) {
|
public void updateEntrustmentRequirement(Entrustment entrustment, String entrustRequirement, StringBuilder updateRecordBuilder) {
|
||||||
if (StrUtil.isNotBlank(entrustRequirement)) {
|
if (StrUtil.isNotBlank(entrustRequirement) && !entrustment.getEntrustRequirement().equals(entrustRequirement)) {
|
||||||
entrustment.setEntrustRequirement(entrustRequirement);
|
entrustment.setEntrustRequirement(entrustRequirement);
|
||||||
|
updateRecordBuilder.append("<br>鉴定要求更新记录:").append("<br>原鉴定要求 [").append(entrustment.getEntrustRequirement()).append("] 修改为 [").append(entrustRequirement).append("]。");
|
||||||
} else {
|
} else {
|
||||||
List<EntrustmentIdentificationMaterial> renewList = entrustmentIdentificationMaterialService.list(Wrappers.<EntrustmentIdentificationMaterial>lambdaQuery()
|
List<EntrustmentIdentificationMaterial> renewList = entrustmentIdentificationMaterialService.list(Wrappers.<EntrustmentIdentificationMaterial>lambdaQuery()
|
||||||
.eq(EntrustmentIdentificationMaterial::getEntrustmentId, entrustmentId)
|
.eq(EntrustmentIdentificationMaterial::getEntrustmentId, entrustment.getId())
|
||||||
.orderByAsc(EntrustmentIdentificationMaterial::getOrderNo));
|
.orderByAsc(EntrustmentIdentificationMaterial::getOrderNo));
|
||||||
entrustment.setEntrustRequirement(entrustmentService.buildEntrustReq(renewList));
|
entrustment.setEntrustRequirement(entrustmentService.buildEntrustReq(renewList));
|
||||||
}
|
}
|
||||||
@@ -348,10 +369,12 @@ public class EntrustAlterApplyServiceImpl extends ServiceImpl<EntrustAlterApplyM
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 校验更新数据是否合法,并且返回委托信息
|
* 校验更新数据是否合法,并且返回委托信息
|
||||||
|
*
|
||||||
* @param dto
|
* @param dto
|
||||||
|
* @param updateRecordBuilder 初始化
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private Entrustment validUpdateInfoAndGetEntrustInfo(ApprovedUpdateEntrustDTO dto) {
|
private Entrustment validUpdateInfoAndGetEntrustInfo(ApprovedUpdateEntrustDTO dto, StringBuilder updateRecordBuilder) {
|
||||||
// 判断当前申请状态是否审核通过
|
// 判断当前申请状态是否审核通过
|
||||||
EntrustAlterApply entrustAlterApply = super.getById(dto.getId());
|
EntrustAlterApply entrustAlterApply = super.getById(dto.getId());
|
||||||
if (entrustAlterApply == null) {
|
if (entrustAlterApply == null) {
|
||||||
@@ -370,6 +393,9 @@ public class EntrustAlterApplyServiceImpl extends ServiceImpl<EntrustAlterApplyM
|
|||||||
if (entrustment == null) {
|
if (entrustment == null) {
|
||||||
throw new ValidateCodeException("修改的委托记录不存在!");
|
throw new ValidateCodeException("修改的委托记录不存在!");
|
||||||
}
|
}
|
||||||
|
if (StrUtil.isNotBlank(entrustAlterApply.getUpdateRecord())) {
|
||||||
|
updateRecordBuilder.append(entrustAlterApply.getUpdateRecord()).append("<br>");
|
||||||
|
}
|
||||||
return entrustment;
|
return entrustment;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user