Sfoglia il codice sorgente

422 保存无效证据

lwhhszx 1 anno fa
parent
commit
fd3bf4f5ff

+ 3 - 0
src/main/java/cn/cslg/pas/service/business/AvoidDesignService.java

@@ -106,6 +106,7 @@ public class AvoidDesignService extends ServiceImpl<AvoidDesignMapper, AvoidDesi
         //新增插入回避设计方向集合
         List<AvoidDesign> avoidDesignList = new ArrayList<>();
         //遍历传入集合
+        Integer order =1;
         for (AvoidDesignDTO avoidDesignDTO : avoidDesignDTOS) {
             Feature feature = new Feature();
             feature.setRightSort(avoidDesignDTO.getRightSort());
@@ -117,6 +118,7 @@ public class AvoidDesignService extends ServiceImpl<AvoidDesignMapper, AvoidDesi
             feature.setRightType(avoidDesignDTO.getRightType());
             feature.setSplitMessageId(patentSplitMessage.getId());
             feature.setId(avoidDesignDTO.getFeatureId());
+            feature.setSysOrder(order);
             if (avoidDesignDTO.getFeatureId() == null) {
                 feature.insert();
             } else {
@@ -134,6 +136,7 @@ public class AvoidDesignService extends ServiceImpl<AvoidDesignMapper, AvoidDesi
                 avoidDesign.setCreateId(personnelVO.getId());
                 avoidDesignList.add(avoidDesign);
             }
+            order++;
         }
         List<Integer> ids = new ArrayList<>();
         if (!avoidDesignList.isEmpty()) {

+ 28 - 26
src/main/java/cn/cslg/pas/service/business/FeatureService.java

@@ -396,7 +396,8 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Feature> {
             featureList = allFeatures
                     .stream()
                     .filter(item -> item.getRightSort().equals(sort))
-                    .sorted(Comparator.comparingInt(Feature::getSysOrder))
+                    .sorted(Comparator.comparing(Feature::getSysOrder,
+                            Comparator.nullsLast(Integer::compareTo)))
                     .collect(Collectors.toList());
             PatentRightVo patentRightVo = new PatentRightVo();
             patentRightVo.setPatentNo(patentRights.get(i).getPatentNo());
@@ -544,7 +545,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Feature> {
         if (patentSplitMessage == null) {
             throw new XiaoShiException("未进行拆分过");
         }
-        List<Integer> ids = this.saveFeatures(features, patentSplitMessage.getId(), projectId);
+        List<Integer> ids = this.saveFeatures(features, patentSplitMessage.getId(), projectId,signPatentNo);
         return ids;
     }
 
@@ -557,7 +558,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Feature> {
      * @param projectId
      * @return
      */
-    public List<Integer> saveFeatures(List<UpdateFeatureDTO.ChangedFeatures> features, Integer splitMessageId, Integer projectId) {
+    public List<Integer> saveFeatures(List<UpdateFeatureDTO.ChangedFeatures> features, Integer splitMessageId, Integer projectId,String patentNo) {
         List<Integer> addIds = new ArrayList<>();
         LambdaQueryWrapper<Feature> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.select(Feature::getId);
@@ -570,35 +571,36 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Feature> {
         personnelVO.setTenantId(1);
 
         List<Feature> addFeatures = new ArrayList<>();
-        features.forEach(item -> {
-            Integer id = item.getId();
-            if (id == null) {
-                Feature feature = new Feature();
-                feature.setCreateId(personnelVO.getId());
-                feature.setSplitMessageId(splitMessageId);
-                feature.setContent(item.getContent());
-                feature.setExplainText(item.getExplainText());
-                feature.setRightSort(item.getRightSort());
-                feature.setProjectId(projectId);
-                feature.setSysOrder(item.getSysOrder());
-                feature.setTenantId(personnelVO.getTenantId());
-                addFeatures.add(feature);
-            } else {
-                ids.remove(id);
-                if (item.getIfChange() != null && item.getIfChange().equals(true)) {
-                    Feature feature = this.getById(id);
-                    feature.setSysOrder(item.getSysOrder());
+        Integer order=1;
+        for(UpdateFeatureDTO.ChangedFeatures item:features) {
+                Integer id = item.getId();
+                if (id == null || !ids.contains(id)) {
+                    Feature feature = new Feature();
+                    feature.setCreateId(personnelVO.getId());
+                    feature.setSplitMessageId(splitMessageId);
                     feature.setContent(item.getContent());
                     feature.setExplainText(item.getExplainText());
-                    feature.updateById();
-                }
-            }
+                    feature.setRightSort(item.getRightSort());
+                    feature.setProjectId(projectId);
+                    feature.setSysOrder(order);
+                    feature.setPatentNo(patentNo);
+                    feature.setRightType(item.getRightType());
+                    feature.setTenantId(personnelVO.getTenantId());
+                   feature.insert();
+                } else {
+                    ids.remove(id);
+                        Feature feature = this.getById(id);
+                        feature.setSysOrder(order);
+                        feature.setContent(item.getContent());
+                        feature.setExplainText(item.getExplainText());
+                        feature.updateById();
 
-        });
+                }
+                order++;
+        }
 
         //添加特征
         if (addFeatures.size() != 0) {
-            this.saveBatch(addFeatures);
             addIds = addFeatures.stream().map(Feature::getId).collect(Collectors.toList());
         }
         if (ids.size() != 0) {

+ 19 - 6
src/main/java/cn/cslg/pas/service/business/TortCompareRecordService.java

@@ -10,10 +10,7 @@ import cn.cslg.pas.common.utils.StringUtils;
 import cn.cslg.pas.common.vo.PatentRightVo;
 import cn.cslg.pas.common.vo.RePatentClaim;
 import cn.cslg.pas.common.vo.business.*;
-import cn.cslg.pas.domain.business.FTOCompareRecord;
-import cn.cslg.pas.domain.business.Feature;
-import cn.cslg.pas.domain.business.ProjectTask;
-import cn.cslg.pas.domain.business.ReportProject;
+import cn.cslg.pas.domain.business.*;
 import cn.cslg.pas.exception.UnLoginException;
 import cn.cslg.pas.exception.XiaoShiException;
 import cn.cslg.pas.mapper.FTOCompareRecordMapper;
@@ -58,6 +55,8 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
     @Lazy
     private ProjectTaskService projectTaskService;
 
+    @Autowired
+    private PatentSplitMessageService patentSplitMessageService;
 //    /**
 //     * 新增侵权对比结果
 //     *
@@ -139,16 +138,19 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
             throw new XiaoShiException("projectId不能为空");
         }
         List<TortDTO> tortDTOS = tortCompareRecordDTO.getTortDTOS();
+
         //不能将特征一次性全部删除,使用处理特征方法
         if (tortDTOS.isEmpty()) {
             throw new XiaoShiException("传入特征集合不能为空");
         }
+
         //查询出原来的特征id集合
         LambdaQueryWrapper<Feature> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.select(Feature::getId)
                 .eq(Feature::getProjectId, projectId);
         Function<Object,Integer> f = (o -> Integer.parseInt(o.toString()));
         List<Integer> featureIds = featureService.listObjs(queryWrapper,f);
+
         // 删除特征
         List<Integer> ids = new ArrayList<>();
         if (!featureIds.isEmpty()) {
@@ -192,9 +194,19 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
      * @param tortDTOS
      */
     public List<Integer> updateFeatures(Integer projectId, List<Integer> featureIds, List<TortDTO> tortDTOS){
+
         // 处理剩余特征和对比结果
         // 根据projctId查询出专利号
         String patentNo = projectTaskService.getPatentNoByProjectId(projectId);
+
+        //根据专利号和专题库id获得拆分信息
+        LambdaQueryWrapper<PatentSplitMessage> queryWrapper =new LambdaQueryWrapper<>();
+        queryWrapper.eq(PatentSplitMessage::getProjectId,projectId);
+        queryWrapper.eq(PatentSplitMessage::getPatentNo,patentNo);
+        PatentSplitMessage patentSplitMessage =patentSplitMessageService.getOne(queryWrapper,false);
+        if(patentSplitMessage==null){
+            throw new XiaoShiException("未查询出拆分信息");
+        }
         // 获取登录人信息
         PersonnelVO personnelVO = new PersonnelVO();
         try {
@@ -231,11 +243,12 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
                 feature.setExplainText(item.getExplainText());
                 feature.setCreateId(personnelVO.getId());
                 feature.setRightType(item.getRightType());
+                feature.setSplitMessageId(patentSplitMessage.getId());
                 feature.setSysOrder(order);
                 feature.insert();
                 item.setFeatureId(feature.getId());
                 // 新增对比结果
-                Integer id = this.addCompareRecords(projectId, item);
+                Integer id = this.addCompareRecords(projectId,item);
                 if (id != null) {
                     ftoIds.add(id);
                 }
@@ -250,7 +263,7 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
      * @param projectId
      * @param tortDTO
      */
-    public Integer addCompareRecords(Integer projectId, TortDTO tortDTO){
+    public Integer addCompareRecords(Integer projectId, TortDTO tortDTO) {
         Integer featureId = tortDTO.getFeatureId();
         //获取登录人信息
         PersonnelVO personnelVO = new PersonnelVO();