Sfoglia il codice sorgente

批量给证据组合添加特征

lwhhszx 1 anno fa
parent
commit
65a008a082

+ 11 - 0
src/main/java/cn/cslg/pas/common/dto/invalidDTO/AddFeatureGroupBatchDTO.java

@@ -0,0 +1,11 @@
+package cn.cslg.pas.common.dto.invalidDTO;
+
+import lombok.Data;
+
+@Data
+public class AddFeatureGroupBatchDTO {
+    private Integer claimId;
+    private String featureText;
+    private Integer gen;
+    private String common;
+}

+ 1 - 1
src/main/java/cn/cslg/pas/common/vo/invalidVO/ProjectFigureVO.java

@@ -10,7 +10,7 @@ import java.util.Date;
 
 @Data
 public class ProjectFigureVO {
-
+    private Integer id;
     private Integer projectId;
 
     private String fileGuid;

+ 14 - 0
src/main/java/cn/cslg/pas/controller/AssoGroupFeatureController.java

@@ -2,6 +2,7 @@ package cn.cslg.pas.controller;
 
 import cn.cslg.pas.common.core.base.Constants;
 import cn.cslg.pas.common.dto.QueryFeatureHistoryDTO;
+import cn.cslg.pas.common.dto.invalidDTO.AddFeatureGroupBatchDTO;
 import cn.cslg.pas.common.dto.invalidDTO.RemoveGroupFeatureDTO;
 import cn.cslg.pas.common.dto.invalidDTO.UpdateMessageDTO;
 import cn.cslg.pas.common.model.cronModel.Records;
@@ -90,4 +91,17 @@ public class AssoGroupFeatureController {
         }
         return Response.success("更新成功");
     }
+
+
+    @Operation(summary = "批量给证据组合添加特征")
+    @PostMapping("/addFeatureGroupBatch")
+    public Response addFeatureGroupBatch(@RequestBody AddFeatureGroupBatchDTO addFeatureGroupBatchDTO) {
+        try {
+            assoGroupFeatureService.addFeatureGroupBatch(addFeatureGroupBatchDTO);
+        }
+        catch (Exception e){
+            return  Response.error(e.getMessage());
+        }
+        return Response.success("添加成功");
+    }
 }

+ 3 - 1
src/main/java/cn/cslg/pas/domain/business/ProjectFigure.java

@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import org.joda.time.DateTime;
 
+import java.util.Date;
+
 /**
  * <p>
  * 报告附图表
@@ -30,5 +32,5 @@ public class ProjectFigure extends BaseEntity<ProjectFigure> {
     @TableField(value = "create_id")
     private String createId;
     @TableField(value = "create_time")
-    private DateTime createTime;
+    private Date createTime;
 }

+ 1 - 0
src/main/java/cn/cslg/pas/mapper/InvalidReport/AssoGroupFeatureMapper.java

@@ -16,4 +16,5 @@ import java.util.List;
 @Repository
 public interface AssoGroupFeatureMapper extends BaseMapper<AssoGroupFeature> {
     public List<AssoGroupFeature> selectLastGroupFeature(Integer groupId,Integer order,Integer gen);
+    public Integer selectLastGroupFeatureOrder(Integer groupId,Integer gen);
 }

+ 64 - 8
src/main/java/cn/cslg/pas/service/business/invalidReport/AssoGroupFeatureService.java

@@ -2,26 +2,25 @@ package cn.cslg.pas.service.business.invalidReport;
 
 import cn.cslg.pas.common.dto.DomainFieldDTO;
 import cn.cslg.pas.common.dto.QueryFeatureHistoryDTO;
-import cn.cslg.pas.common.dto.invalidDTO.QueryClaimSplitHistoryDTO;
-import cn.cslg.pas.common.dto.invalidDTO.RemoveGroupFeatureDTO;
-import cn.cslg.pas.common.dto.invalidDTO.UpdateGroupFeatureDTO;
-import cn.cslg.pas.common.dto.invalidDTO.UpdateMessageDTO;
+import cn.cslg.pas.common.dto.invalidDTO.*;
+import cn.cslg.pas.common.model.cronModel.PersonnelVO;
 import cn.cslg.pas.common.model.cronModel.Records;
 import cn.cslg.pas.common.utils.GenerateObjectUtil;
 import cn.cslg.pas.common.utils.Response;
 import cn.cslg.pas.common.vo.invalidVO.GroupFeatureHistoryVO;
-import cn.cslg.pas.domain.business.AssoGroupFeature;
-import cn.cslg.pas.domain.business.EvidenceReason;
-import cn.cslg.pas.domain.business.Feature;
+import cn.cslg.pas.domain.business.*;
 import cn.cslg.pas.exception.XiaoShiException;
 import cn.cslg.pas.mapper.InvalidReport.AssoGroupFeatureMapper;
 import cn.cslg.pas.service.business.FeatureService;
+import cn.cslg.pas.service.business.InvalidStatutesService;
+import cn.cslg.pas.service.business.ProofGroupService;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import io.swagger.v3.oas.annotations.Operation;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
@@ -41,6 +40,10 @@ public class AssoGroupFeatureService extends ServiceImpl<AssoGroupFeatureMapper,
 
     @Autowired
     private FeatureService featureService;
+    @Autowired
+    private InvalidStatutesService invalidStatutesService;
+    @Autowired
+    private ProofGroupService proofGroupService;
 
     //根据证据组合id查询特征id
     public List<Integer> getFeatureIdsByGroupId(Integer groupId) {
@@ -391,10 +394,63 @@ public class AssoGroupFeatureService extends ServiceImpl<AssoGroupFeatureMapper,
                 ids.addAll(temIds);
             }
         });
-        if(ids.size()>0){
+        if (ids.size() > 0) {
             this.removeByIds(ids);
         }
         return true;
 
     }
+
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean addFeatureGroupBatch(AddFeatureGroupBatchDTO addFeatureGroupBatchDTO) {
+
+        PersonnelVO personnelVO = new PersonnelVO();
+        personnelVO.setId("1");
+
+        Integer claimId = addFeatureGroupBatchDTO.getClaimId();
+        Integer gen = addFeatureGroupBatchDTO.getGen();
+        String common = addFeatureGroupBatchDTO.getCommon();
+        String featureText = addFeatureGroupBatchDTO.getFeatureText();
+        //添加特征
+        Feature feature = new Feature();
+        feature.setContent(featureText);
+        feature.setCreateId(personnelVO.getId());
+        feature.insert();
+        Integer featureId = feature.getId();
+        //根据权要id 查询 无效法条
+        LambdaQueryWrapper<InvalidStatutes> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(InvalidStatutes::getClaimId, claimId);
+        List<InvalidStatutes> invalidStatutes = invalidStatutesService.list(queryWrapper);
+        if (invalidStatutes != null && invalidStatutes.size() != 0) {
+            List<Integer> statutesIds = invalidStatutes.stream().map(InvalidStatutes::getId).collect(Collectors.toList());
+
+            //根据无效法条查询证据组合
+            if (statutesIds != null && statutesIds.size() != 0) {
+                LambdaQueryWrapper<ProofGroup> queryWrapper1 = new LambdaQueryWrapper<>();
+                queryWrapper1.in(ProofGroup::getInvalidStatutesId, statutesIds);
+                List<ProofGroup> proofGroups = proofGroupService.list(queryWrapper1);
+
+                if (proofGroups != null && proofGroups.size() > 0) {
+                    for (ProofGroup proofGroup : proofGroups) {
+                        Integer order = this.getBaseMapper().selectLastGroupFeatureOrder(proofGroup.getId(), gen);
+                        if (order == null) {
+                            order = 1;
+                        } else {
+                            order = order + 1;
+                        }
+
+                        AssoGroupFeature assoGroupFeature = new AssoGroupFeature();
+                        assoGroupFeature.setGroupId(proofGroup.getId());
+                        assoGroupFeature.setFeatureId(featureId);
+                        assoGroupFeature.setFeatureGen(gen);
+                        assoGroupFeature.setFeatureOrder(order);
+                        assoGroupFeature.setCommon(common);
+                        assoGroupFeature.insert();
+                    }
+                }
+            }
+
+        }
+        return true;
+    }
 }

+ 7 - 2
src/main/java/cn/cslg/pas/service/business/invalidReport/ProjectFigureService.java

@@ -4,6 +4,8 @@ import cn.cslg.pas.common.dto.invalidDTO.ProjectFigureDTO;
 import cn.cslg.pas.common.model.cronModel.Personnel;
 import cn.cslg.pas.common.model.cronModel.PersonnelVO;
 import cn.cslg.pas.common.model.cronModel.SystemFile;
+import cn.cslg.pas.common.utils.CacheUtils;
+import cn.cslg.pas.common.utils.LoginUtils;
 import cn.cslg.pas.common.vo.invalidVO.ProjectFigureVO;
 import cn.cslg.pas.domain.business.PatentClaim;
 import cn.cslg.pas.domain.business.ProjectFigure;
@@ -30,6 +32,10 @@ public class ProjectFigureService extends ServiceImpl<ProjectFigureMapper, Proje
 
     @Autowired
     private FileManagerService fileManagerService;
+    @Autowired
+    private CacheUtils cacheUtils;
+    @Autowired
+    private LoginUtils loginUtils;
     public Boolean updateProjectFigure(ProjectFigureDTO projectFigureDTO) {
 
         Integer id = projectFigureDTO.getId();
@@ -51,8 +57,7 @@ public class ProjectFigureService extends ServiceImpl<ProjectFigureMapper, Proje
         }
         //新增
         else {
-            PersonnelVO personnelVO = new PersonnelVO();
-            personnelVO.setId("1");
+            PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
             projectFigure.setCreateId(personnelVO.getId());
             projectFigure.insert();
 

+ 12 - 1
src/main/resources/mapper/AssoGroupFeatureMapper.xml

@@ -19,5 +19,16 @@
         group by a.group_id, a.feature_order
     </select>
 
-
+    <select id="selectLastGroupFeatureOrder" resultType="java.lang.Integer">
+        select a.feature_order
+        from (select *
+        from asso_group_feature f
+        <where>
+            f.group_id = #{groupId} and
+            (operate_mode!=1 or  isnull(operate_mode))
+            and feature_gen &lt;= #{gen}
+        </where>
+        order by feature_gen desc limit 9999) a
+        group by a.group_id, a.feature_order order by a.feature_order desc
+    </select>
 </mapper>

+ 7 - 8
src/test/java/cn/cslg/pas/service/ProjectFigureTest.java

@@ -13,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -30,14 +31,15 @@ public class ProjectFigureTest {
     public void updateProjectFigure() throws Exception {
         ProjectFigureDTO projectFigureDTO =new ProjectFigureDTO();
         projectFigureDTO.setProjectId(1);
-        projectFigureDTO.setFigureTitle("附图1");
-        projectFigureDTO.setDescription("描述1");
-        projectFigureDTO.setFileGuid("9174f701fd59459fb155e10d31a3fe60");
+        projectFigureDTO.setId(1);
+        projectFigureDTO.setFigureTitle("附图2");
+        projectFigureDTO.setDescription("描述2");
+        projectFigureDTO.setFileGuid("096b899589bd488fbf93b38eed44f271");
         projectFigureService.updateProjectFigure(projectFigureDTO);
     }
 
     @Test
-    public void aa() {
+    public void queryProjectFigureVOs() {
         ProjectFigureDTO projectFigureDTO =new ProjectFigureDTO();
         projectFigureDTO.setProjectId(1);
   List<ProjectFigureVO>   projectFigureVOS=   projectFigureService.queryProjectFigureVOs(projectFigureDTO);
@@ -46,10 +48,7 @@ System.out.println(projectFigureVOS);
 
     @Test
     public void testGet() throws Exception {
-        Integer gen = 2;
-        Integer size = 1;
-        Integer a = gen >= size ? size : gen;
-        System.out.println(a);
+        projectFigureService.removeProjectFigure(Arrays.asList(1));
 
     }
 }