|
@@ -49,7 +49,7 @@ public class InvalidReasonService extends ServiceImpl<InvalidReasonMapper, Inval
|
|
|
private final LoginUtils loginUtils;
|
|
|
private final CompareFilesService compareFilesService;
|
|
|
private final InvalidReasonFieldValueService invalidReasonFieldValueService;
|
|
|
-
|
|
|
+ private final AssoProofGroupStrService assoProofGroupStrService;
|
|
|
/**
|
|
|
* 判断特征是否有重复的方法
|
|
|
*
|
|
@@ -342,17 +342,33 @@ public class InvalidReasonService extends ServiceImpl<InvalidReasonMapper, Inval
|
|
|
//复制DTO类字段到InvalidReason实体类并保存入库
|
|
|
BeanUtils.copyProperties(invalidReasonDTO, invalidReason);
|
|
|
invalidReason.updateById();
|
|
|
- //删除无效理由的证据组合
|
|
|
- proofGroupService.deleteProofGroupByInvalid(invalidReason.getId());
|
|
|
//根据proofGroups保存proofGroup
|
|
|
List<ProofGroupDTO> proofGroupDTOS = new ArrayList<>();
|
|
|
+ List<Integer> noDeleteIds = new ArrayList<>();
|
|
|
for (InvalidReasonDTO.ProofGroupIn proofGroupIn : invalidReasonDTO.getProofGroups()) {
|
|
|
- ProofGroupDTO proofGroupDTO = new ProofGroupDTO();
|
|
|
- proofGroupDTO.setInvalidReasonId(invalidReason.getId());//无效理由id
|
|
|
- proofGroupDTO.setDescription(proofGroupIn.getDescription());//描述
|
|
|
- proofGroupDTO.setArgumentStr(proofGroupIn.getArgumentStr());//陈述意见
|
|
|
- proofGroupDTO.setGroupDetails(proofGroupIn.getGroupDetails());//证据ids
|
|
|
- proofGroupDTOS.add(proofGroupDTO);
|
|
|
+ if (proofGroupIn.getId() != null) {
|
|
|
+ noDeleteIds .add(proofGroupIn.getId());
|
|
|
+ } else {
|
|
|
+ ProofGroupDTO proofGroupDTO = new ProofGroupDTO();
|
|
|
+ proofGroupDTO.setInvalidReasonId(invalidReason.getId());//无效理由id
|
|
|
+ proofGroupDTO.setDescription(proofGroupIn.getDescription());//描述
|
|
|
+ proofGroupDTO.setArgumentStr(proofGroupIn.getArgumentStr());//陈述意见
|
|
|
+ proofGroupDTO.setGroupDetails(proofGroupIn.getGroupDetails());//证据ids
|
|
|
+ proofGroupDTOS.add(proofGroupDTO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //删除无效理由的证据组合
|
|
|
+ if(noDeleteIds.size()!=0) {
|
|
|
+ LambdaQueryWrapper<ProofGroup> lambdaQueryWrapper =new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.notIn(ProofGroup::getId,noDeleteIds).eq(ProofGroup::getInvalidReasonId,invalidReason.getId());
|
|
|
+ List<ProofGroup> proofGroups =proofGroupService.list(lambdaQueryWrapper);
|
|
|
+ List<Integer> deleteIds =proofGroups.stream().map(ProofGroup::getId).collect(Collectors.toList());
|
|
|
+ if(deleteIds.size()!=0) {
|
|
|
+ LambdaQueryWrapper<AssoProofGroupStr> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.in(AssoProofGroupStr::getProofGroupId, deleteIds);
|
|
|
+ assoProofGroupStrService.remove(queryWrapper);
|
|
|
+ proofGroupService.removeByIds(deleteIds);
|
|
|
+ }
|
|
|
}
|
|
|
proofGroupService.addProofGroup(proofGroupDTOS);
|
|
|
} else {
|
|
@@ -420,7 +436,6 @@ public class InvalidReasonService extends ServiceImpl<InvalidReasonMapper, Inval
|
|
|
//由于查出来的proofGroups中没有proofIds这个字段,于是采用下面的方法装载成proofGroupVOS
|
|
|
List<QueryInvalidReasonVO.proofGroupIn> proofGroupIns = this.loadProofGroupVO(proofGroups);
|
|
|
//根据无效理由id查询自定义字段
|
|
|
-
|
|
|
//根据无效理由id查询自定义字段值
|
|
|
LambdaQueryWrapper<InvalidReasonFieldValue> wrapper = new LambdaQueryWrapper<>();
|
|
|
wrapper.in(InvalidReasonFieldValue::getInvalidReasonId, invalidReasonsIds);
|
|
@@ -462,6 +477,7 @@ public class InvalidReasonService extends ServiceImpl<InvalidReasonMapper, Inval
|
|
|
for (ProofGroup proofGroup : proofGroups) {
|
|
|
QueryInvalidReasonVO.proofGroupIn proofGroupIn = new QueryInvalidReasonVO.proofGroupIn();
|
|
|
//基本信息装载
|
|
|
+ proofGroupIn.setId(proofGroup.getId());
|
|
|
proofGroupIn.setInvalidReasonId(proofGroup.getInvalidReasonId());
|
|
|
proofGroupIn.setDescription(proofGroup.getDescription());
|
|
|
proofGroupIn.setArgument_str(proofGroup.getArgumentStr());
|
|
@@ -639,6 +655,7 @@ public class InvalidReasonService extends ServiceImpl<InvalidReasonMapper, Inval
|
|
|
invalidReason.updateById();
|
|
|
return Response.success("修改成功");
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 导出无效理由所需的查询
|
|
|
*
|
|
@@ -703,6 +720,7 @@ public class InvalidReasonService extends ServiceImpl<InvalidReasonMapper, Inval
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 根据无效理由id,返回相关证据的字符串
|
|
|
*
|