|
@@ -86,12 +86,21 @@ public class EvidenceReasonService extends ServiceImpl<EvidenceReasonMapper, Evi
|
|
|
}
|
|
|
|
|
|
|
|
|
+ List<Integer> assoIds = new ArrayList<>();
|
|
|
+ if (gen.equals(0)) {
|
|
|
+ LambdaQueryWrapper<AssoGroupFeature> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(AssoGroupFeature::getGroupId, groupId);
|
|
|
+ List<AssoGroupFeature> assoGroupFeatures = assoGroupFeatureService.list(queryWrapper);
|
|
|
+ assoIds = assoGroupFeatures.stream().map(AssoGroupFeature::getId).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
for (AddEvidenceReasonsDTO addEvidenceReasonsDTO : addEvidenceReasonsDTOs) {
|
|
|
//获得特征信息
|
|
|
Integer featureId = addEvidenceReasonsDTO.getFeatureId();
|
|
|
Integer featureOrder = addEvidenceReasonsDTO.getFeatureOrder();
|
|
|
Integer featureGroupId = addEvidenceReasonsDTO.getFeatureGroupId();
|
|
|
- if(gen.equals(0)) {
|
|
|
+ if (gen.equals(0)) {
|
|
|
//判断
|
|
|
AddEvidenceReasonsDTO tem = addEvidenceReasonsDTOList.stream()
|
|
|
.filter(item -> addEvidenceReasonsDTO.getFeatureOrder().equals(item.getFeatureOrder())).findFirst().orElse(null);
|
|
@@ -108,8 +117,13 @@ public class EvidenceReasonService extends ServiceImpl<EvidenceReasonMapper, Evi
|
|
|
assoGroupFeature.setFeatureGen(0);
|
|
|
assoGroupFeature.insert();
|
|
|
featureGroupId = assoGroupFeature.getId();
|
|
|
+ } else {
|
|
|
+ assoIds.remove(featureId);
|
|
|
}
|
|
|
}
|
|
|
+ if (assoIds.size() != 0) {
|
|
|
+ assoGroupFeatureService.removeByIds(assoIds);
|
|
|
+ }
|
|
|
//添加无效理由
|
|
|
Integer reasonId = this.addEvidenceReason(addEvidenceReasonsDTO, personnelVO.getId());
|
|
|
//根据特征证据组合关联id 删除和无效理由关联
|
|
@@ -138,12 +152,14 @@ public class EvidenceReasonService extends ServiceImpl<EvidenceReasonMapper, Evi
|
|
|
evidenceReason.setCreateId(createId);
|
|
|
evidenceReason.setDescription(addEvidenceReasonsDTO.getEvidenceDescription());
|
|
|
evidenceReason.insert();
|
|
|
+ id = evidenceReason.getId();
|
|
|
} else {
|
|
|
EvidenceReason evidenceReason = this.getById(id);
|
|
|
evidenceReason.setEvidenceText(addEvidenceReasonsDTO.getEvidenceText());
|
|
|
evidenceReason.setDescription(addEvidenceReasonsDTO.getEvidenceDescription());
|
|
|
}
|
|
|
//添加无效理由和证据关联
|
|
|
+
|
|
|
this.addAssoReasonLiterature(addEvidenceReasonsDTO.getLiteratureId(), id);
|
|
|
return id;
|
|
|
}
|
|
@@ -171,33 +187,37 @@ public class EvidenceReasonService extends ServiceImpl<EvidenceReasonMapper, Evi
|
|
|
//查询无效理由
|
|
|
public List<QueryEvidenceReasonVO> queryEvidenceReason(@RequestBody QueryEvidenceReasonDTO queryEvidenceReasonDTO) {
|
|
|
Integer groupId = queryEvidenceReasonDTO.getGroupId();
|
|
|
- Integer gen = queryEvidenceReasonDTO.getGen();
|
|
|
+ Integer gen = queryEvidenceReasonDTO.getGen() - 1;
|
|
|
//根据证据组合id 查询特征
|
|
|
|
|
|
List<AssoGroupFeature> assoGroupFeatures = assoGroupFeatureService.getBaseMapper().selectLastGroupFeature(groupId, null, gen);
|
|
|
|
|
|
List<QueryEvidenceReasonVO> queryEvidenceReasonVOS = new ArrayList<>();
|
|
|
if (assoGroupFeatures != null && assoGroupFeatures.size() != 0) {
|
|
|
- assoGroupFeatures.forEach(item -> {
|
|
|
+ assoGroupFeatures.forEach(assoGroupFeature -> {
|
|
|
//查询特征
|
|
|
- Integer featureId = item.getFeatureId();
|
|
|
+ Integer featureId = assoGroupFeature.getFeatureId();
|
|
|
//根据特征id查询特征
|
|
|
Feature feature = featureService.getById(featureId);
|
|
|
- Integer featureGroupId = item.getId();
|
|
|
+ Integer featureGroupId = assoGroupFeature.getId();
|
|
|
|
|
|
//查询特征历史
|
|
|
QueryFeatureHistoryDTO queryFeatureHistoryDTO = new QueryFeatureHistoryDTO();
|
|
|
queryFeatureHistoryDTO.setFeatureGroupId(featureGroupId);
|
|
|
List<GroupFeatureHistoryVO> queryFeatureHistories = assoGroupFeatureService.queryFeatureHistory(queryFeatureHistoryDTO);
|
|
|
|
|
|
+ Integer n = gen >= queryFeatureHistories.size() - 1 ? queryFeatureHistories.size() - 1 : gen;
|
|
|
+ GroupFeatureHistoryVO item=queryFeatureHistories.get(n);
|
|
|
+ Integer newFeatureGroupId = item.getFeatureGroupId();
|
|
|
+
|
|
|
//根据特征id 查询无效理由
|
|
|
LambdaQueryWrapper<AssoFeatureReason> queryWrapper1 = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper1.eq(AssoFeatureReason::getGFeatureId, featureGroupId);
|
|
|
+ queryWrapper1.eq(AssoFeatureReason::getGFeatureId, newFeatureGroupId);
|
|
|
+ queryWrapper1.eq(AssoFeatureReason::getGen,gen);
|
|
|
List<AssoFeatureReason> assoFeatureReasons = assoFeatureReasonService.list(queryWrapper1);
|
|
|
|
|
|
if (assoFeatureReasons.size() != 0) {
|
|
|
for (AssoFeatureReason assoFeatureReason : assoFeatureReasons) {
|
|
|
-
|
|
|
//装载特征信息
|
|
|
QueryEvidenceReasonVO queryEvidenceReasonVO = new QueryEvidenceReasonVO();
|
|
|
queryEvidenceReasonVO.setFeatureId(featureId);
|
|
@@ -206,18 +226,33 @@ public class EvidenceReasonService extends ServiceImpl<EvidenceReasonMapper, Evi
|
|
|
queryEvidenceReasonVO.setGroupId(groupId);
|
|
|
queryEvidenceReasonVO.setFeatureGroupId(featureGroupId);
|
|
|
queryEvidenceReasonVO.setFeatureHistories(queryFeatureHistories);
|
|
|
+ //装载特征陈述信息
|
|
|
+ queryEvidenceReasonVO.setFCommon(item.getCommon());
|
|
|
+ queryEvidenceReasonVO.setFIfPresentOpinions1(item.getIfPresentOpinions1());
|
|
|
+ queryEvidenceReasonVO.setFIfPresentOpinions2(item.getIfPresentOpinions2());
|
|
|
+ queryEvidenceReasonVO.setFPresentOpinions1(item.getPresentOpinions1());
|
|
|
+ queryEvidenceReasonVO.setFIfPresentOpinions2(item.getIfPresentOpinions2());
|
|
|
+ queryEvidenceReasonVO.setFInvalidReasonDetail1(item.getInvalidReasonDetail1());
|
|
|
+ queryEvidenceReasonVO.setFInvalidReasonDetail2(item.getInvalidReasonDetail2());
|
|
|
+ queryEvidenceReasonVO.setFRbDecisionKey(item.getRbDecisionKey());
|
|
|
+ queryEvidenceReasonVO.setFRbOpinions(item.getRbOpinions());
|
|
|
+
|
|
|
//根据无效理由id 查询无效理由
|
|
|
EvidenceReason evidenceReason = this.getById(assoFeatureReason.getReasonId());
|
|
|
- queryEvidenceReasonVO.setEvidenceText(evidenceReason.getEvidenceText());
|
|
|
- queryEvidenceReasonVO.setEvidenceDescription(evidenceReason.getDescription());
|
|
|
-
|
|
|
+ if (evidenceReason != null) {
|
|
|
+ queryEvidenceReasonVO.setEvidenceText(evidenceReason.getEvidenceText());
|
|
|
+ queryEvidenceReasonVO.setEvidenceDescription(evidenceReason.getDescription());
|
|
|
+ queryEvidenceReasonVO.setRPresentOpinions1(evidenceReason.getPresentOpinions1());
|
|
|
+ queryEvidenceReasonVO.setRRbDecisionKey(evidenceReason.getRbDecisionKey());
|
|
|
+ queryEvidenceReasonVO.setRIfPresentOpinions1(evidenceReason.getIfPresentOpinions1());
|
|
|
+ queryEvidenceReasonVO.setRRbOpinions(evidenceReason.getRbOpinions());
|
|
|
+ }
|
|
|
//根据无效理由id查询对比文献
|
|
|
LambdaQueryWrapper<AssoReasonLiterature> queryWrapper2 = new LambdaQueryWrapper<>();
|
|
|
queryWrapper2.eq(AssoReasonLiterature::getReasonId, assoFeatureReason.getReasonId());
|
|
|
List<AssoReasonLiterature> assoReasonLiteratures = assoReasonLiteratureService.list(queryWrapper2);
|
|
|
if (assoReasonLiteratures.size() > 0) {
|
|
|
List<Integer> literatureIds = assoReasonLiteratures.stream().map(AssoReasonLiterature::getLiteratureId).collect(Collectors.toList());
|
|
|
-
|
|
|
//根据证据文献id 查询文献
|
|
|
LambdaQueryWrapper<CompareLiterature> queryWrapper3 = new LambdaQueryWrapper<>();
|
|
|
queryWrapper3.in(CompareLiterature::getId, literatureIds);
|
|
@@ -312,26 +347,28 @@ public class EvidenceReasonService extends ServiceImpl<EvidenceReasonMapper, Evi
|
|
|
|
|
|
//更新信息
|
|
|
public Boolean updateMessage(UpdateMessageDTO updateMessageDTO) {
|
|
|
- Integer id = updateMessageDTO.getId();
|
|
|
+ List<Integer> ids = updateMessageDTO.getIds();
|
|
|
List<DomainFieldDTO> domainFieldDTOS = updateMessageDTO.getFieldList();
|
|
|
- EvidenceReason evidenceReason = this.getById(id);
|
|
|
- if (evidenceReason == null) {
|
|
|
- throw new XiaoShiException("证据不存在");
|
|
|
+ for (Integer id : ids) {
|
|
|
+ EvidenceReason evidenceReason = this.getById(id);
|
|
|
+ if (evidenceReason == null) {
|
|
|
+ throw new XiaoShiException("证据不存在");
|
|
|
|
|
|
- }
|
|
|
- if (domainFieldDTOS == null || domainFieldDTOS.size() == 0) {
|
|
|
- throw new XiaoShiException("请输入值");
|
|
|
- }
|
|
|
- domainFieldDTOS.forEach(item -> {
|
|
|
- try {
|
|
|
- if (item.getValue() != null) {
|
|
|
- GenerateObjectUtil.setObjectProperty(evidenceReason, item.getField(), item.getValue());
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- throw new XiaoShiException("装载失败");
|
|
|
}
|
|
|
- });
|
|
|
- evidenceReason.updateById();
|
|
|
+ if (domainFieldDTOS == null || domainFieldDTOS.size() == 0) {
|
|
|
+ throw new XiaoShiException("请输入值");
|
|
|
+ }
|
|
|
+ domainFieldDTOS.forEach(item -> {
|
|
|
+ try {
|
|
|
+ if (item.getValue() != null) {
|
|
|
+ GenerateObjectUtil.setObjectProperty(evidenceReason, item.getField(), item.getValue());
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new XiaoShiException("装载失败");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ evidenceReason.updateById();
|
|
|
+ }
|
|
|
return true;
|
|
|
|
|
|
}
|