浏览代码

Merge remote-tracking branch 'origin/master_novelty' into master_novelty

xiexiang 11 月之前
父节点
当前提交
dcddea2ae5

+ 1 - 1
src/main/java/cn/cslg/pas/common/dto/AddNoveltyProjectDTO.java

@@ -27,7 +27,7 @@ public class AddNoveltyProjectDTO {
 
     private String preliminaryConclusions;
 
-    private Boolean ifPatentability;
+    private String ifPatentability;
 
     private String applicationAdvice;
 

+ 4 - 0
src/main/java/cn/cslg/pas/common/dto/EditCompareFileDTO.java

@@ -24,4 +24,8 @@ public class EditCompareFileDTO {
     private String excuteCase;
 
     private String beneficialEffect;
+
+    private String field;
+
+    private String value;
 }

+ 9 - 0
src/main/java/cn/cslg/pas/common/dto/QueryNoveltyProjectDTO.java

@@ -10,4 +10,13 @@ public class QueryNoveltyProjectDTO {
     private Long current;
 
     private Long size;
+
+    //创建人id
+    private String createId;
+
+    //租户id
+    private Integer tenantId;
+
+    //角色
+    private Integer roleType;
 }

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

@@ -55,7 +55,7 @@ public class NoveltyProject extends BaseEntity<NoveltyProject> {
 
     //是否具有专利性
     @TableField(value = "if_patentability")
-    private Boolean ifPatentability;
+    private String ifPatentability;
 
     //申请建议
     @TableField(value = "application_advice")

+ 14 - 2
src/main/java/cn/cslg/pas/service/business/NoveltyProjectService.java

@@ -79,6 +79,8 @@ public class NoveltyProjectService extends ServiceImpl<NoveltyProjectMapper, Nov
     private NoveltyCompareLiteratureService noveltyCompareLiteratureService;
 
     public Records queryNoveltyProject(QueryNoveltyProjectDTO vo) throws IOException {
+        //封装权限
+        loadPermissions(vo);
         //查询数据库
         List<QueryNoveltyProjectVO> noveltyProjectVOS = noveltyProjectMapper.queryNoveltyProject(vo);
         this.loadNoveltyProjectVOS(noveltyProjectVOS);
@@ -92,6 +94,16 @@ public class NoveltyProjectService extends ServiceImpl<NoveltyProjectMapper, Nov
         return records;
     }
 
+    public void loadPermissions(QueryNoveltyProjectDTO vo) {
+        PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
+        String id = personnelVO.getId();
+        Integer tenantId = personnelVO.getTenantId();
+        Integer roleType = personnelVO.getRoleType();
+        vo.setCreateId(id);
+        vo.setTenantId(tenantId);
+        vo.setRoleType(roleType);
+    }
+
     private void loadNoveltyProjectVOS(List<QueryNoveltyProjectVO> noveltyProjectVOS) throws IOException {
         if (!CollectionUtils.isEmpty(noveltyProjectVOS)) {
             List<String> createIds = new ArrayList<>();
@@ -225,7 +237,7 @@ public class NoveltyProjectService extends ServiceImpl<NoveltyProjectMapper, Nov
                 project.setEntrustType(1);
 
                 //当委托方id不为空时
-                if (vo.getEntrustId() != null) {
+                if (StringUtils.isNotEmpty(vo.getEntrustId()) && !StringUtils.equals(vo.getEntrustId(), "-1")) {
                     project.setEntrustId(vo.getEntrustId());
                 }
 
@@ -280,7 +292,7 @@ public class NoveltyProjectService extends ServiceImpl<NoveltyProjectMapper, Nov
                 project.setEntrustType(1);
 
                 //当委托方id不为空时
-                if (vo.getEntrustId() != null) {
+                if (StringUtils.isNotEmpty(vo.getEntrustId()) && !StringUtils.equals(vo.getEntrustId(), "-1")) {
                     project.setEntrustId(vo.getEntrustId());
                 }
                 //若且租户类型为代理机构,并且委托方id为空,委托方名称不为空时,新增委托方

+ 3 - 2
src/main/java/cn/cslg/pas/service/business/PatentDigProjectService.java

@@ -31,6 +31,7 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -206,7 +207,7 @@ public class PatentDigProjectService extends ServiceImpl<PatentDigProjectMapper,
                 project.setEntrustType(1);
 
                 //当委托方id不为空时
-                if (patentDigProjectDTO.getEntrustId() != null) {
+                if (StringUtils.isNotEmpty(patentDigProjectDTO.getEntrustId()) && !StringUtils.equals(patentDigProjectDTO.getEntrustId(), "-1")) {
                     project.setEntrustId(patentDigProjectDTO.getEntrustId());
                 }
                 //若且租户类型为代理机构,并且委托方id为空,委托方名称不为空时,新增委托方
@@ -345,7 +346,7 @@ public class PatentDigProjectService extends ServiceImpl<PatentDigProjectMapper,
         project.setDescription(projectUpdateDTO.getDescription());
 
         //当委托方id不为空时
-        if (projectUpdateDTO.getEntrustId() != null) {
+        if (StringUtils.isNotEmpty(projectUpdateDTO.getEntrustId()) && !StringUtils.equals(projectUpdateDTO.getEntrustId(), "-1")) {
             project.setEntrustId(projectUpdateDTO.getEntrustId());
         }
         else {//若且租户类型为代理机构,并且委托方id为空,委托方名称不为空时,新增委托方

+ 3 - 2
src/main/java/cn/cslg/pas/service/business/PatentProjectService.java

@@ -37,6 +37,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -288,7 +289,7 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
                 project.setEntrustType(1);
 
                 //当委托方id不为空时
-                if (patentProjectDTO.getEntrustId() != null) {
+                if (StringUtils.isNotEmpty(patentProjectDTO.getEntrustId()) && !StringUtils.equals(patentProjectDTO.getEntrustId(), "-1")) {
                     project.setEntrustId(patentProjectDTO.getEntrustId());
                 }
                 //若且租户类型为代理机构,并且委托方id为空,委托方名称不为空时,新增委托方
@@ -463,7 +464,7 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
                 project.setEntrustType(1);
 
                 //当委托方id不为空时
-                if (updatePatentProjectDTO.getEntrustId() != null) {
+                if (StringUtils.isNotEmpty(updatePatentProjectDTO.getEntrustId()) && !StringUtils.equals(updatePatentProjectDTO.getEntrustId(), "-1")) {
                     project.setEntrustId(updatePatentProjectDTO.getEntrustId());
                 }
                 //若且租户类型为代理机构,并且委托方id为空,委托方名称不为空时,新增委托方

+ 3 - 2
src/main/java/cn/cslg/pas/service/business/ReportProjectService.java

@@ -38,6 +38,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import jakarta.validation.constraints.AssertFalse;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
@@ -287,7 +288,7 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
                 project.setEntrustType(1);
 
                 //当委托方id不为空时
-                if (reportProjectDTO.getEntrustId() != null) {
+                if (StringUtils.isNotEmpty(reportProjectDTO.getEntrustId()) && !StringUtils.equals(reportProjectDTO.getEntrustId(), "-1")) {
                     project.setEntrustId(reportProjectDTO.getEntrustId());
                 }
 
@@ -473,7 +474,7 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
                 project.setEntrustType(1);
 
                 //当委托方id不为空时
-                if (updateReportProjectDTO.getEntrustId() != null) {
+                if (StringUtils.isNotEmpty(updateReportProjectDTO.getEntrustId()) && !StringUtils.equals(updateReportProjectDTO.getEntrustId(), "-1")) {
                     project.setEntrustId(updateReportProjectDTO.getEntrustId());
                 }
                 //若且租户类型为代理机构,并且委托方id为空,委托方名称不为空时,新增委托方

+ 20 - 16
src/main/java/cn/cslg/pas/service/novelty/NoveltyCompareLiteratureService.java

@@ -7,6 +7,7 @@ import cn.cslg.pas.common.dto.QueryCompareFileDTO;
 import cn.cslg.pas.common.dto.business.LiteratureQueryDTO;
 import cn.cslg.pas.common.model.cronModel.Records;
 import cn.cslg.pas.common.model.cronModel.SystemFile;
+import cn.cslg.pas.common.utils.GenerateObjectUtil;
 import cn.cslg.pas.common.vo.CompareLiteratureVO;
 import cn.cslg.pas.common.vo.NoveltyProjectVO.NoveltyCompareLiteratureVO;
 import cn.cslg.pas.common.vo.NoveltyProjectVO.NoveltyCompareRecordVO;
@@ -14,6 +15,7 @@ import cn.cslg.pas.common.vo.QueryCompareFileVO;
 import cn.cslg.pas.domain.business.CompareLiterature;
 import cn.cslg.pas.domain.es.Marking;
 import cn.cslg.pas.domain.es.Patent;
+import cn.cslg.pas.domain.es.PatentPerson;
 import cn.cslg.pas.exception.XiaoShiException;
 import cn.cslg.pas.mapper.CompareLiteratureMapper;
 import cn.cslg.pas.mapper.RetrieveRecordMapper;
@@ -37,6 +39,7 @@ import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.lang.reflect.Field;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
@@ -120,7 +123,15 @@ public class NoveltyCompareLiteratureService extends ServiceImpl<NoveltyCompareL
                 }
                 compareLiteratureVO.setGrantDate(patent.getGrantDate());
                 compareLiteratureVO.setGrantNo(patent.getGrantNo());
-                compareLiteratureVO.setApplicant(patent.getApplicant());
+                if (StringUtils.isNotEmpty(compareLiteratureVO.getAuthorName())) {
+                    List<PatentPerson> personList = new ArrayList<>();
+                    PatentPerson person = new PatentPerson();
+                    person.setName(compareLiteratureVO.getAuthorName());
+                    personList.add(person);
+                    compareLiteratureVO.setApplicant(personList);
+                } else {
+                    compareLiteratureVO.setApplicant(patent.getApplicant());
+                }
             }
             compareLiteratureVOS.add(compareLiteratureVO);
         }
@@ -188,29 +199,22 @@ public class NoveltyCompareLiteratureService extends ServiceImpl<NoveltyCompareL
         return literature.getId();
     }
 
-    public Integer editCompareFileByProjectId(EditCompareFileDTO vo) {
+    public Integer editCompareFileByProjectId(EditCompareFileDTO vo) throws Exception {
         CompareLiterature compareLiterature = compareLiteratureMapper.selectOne(new LambdaQueryWrapper<CompareLiterature>()
                 .eq(CompareLiterature::getLiteratureNo, vo.getPatentNo())
                 .eq(CompareLiterature::getProjectId, vo.getProjectId()));
         NoveltyCompareLiterature literature = noveltyCompareLiteratureMapper.selectOne(new LambdaQueryWrapper<NoveltyCompareLiterature>()
                 .eq(NoveltyCompareLiterature::getCompareLitertureId, compareLiterature.getId()));
-        //TODO
         if (ObjectUtils.isEmpty(literature)) {
-//            throw new XiaoShiException("没有找到查新对比文件信息");
-        }
-        literature.setId(literature.getId());
-        if (StringUtils.isNotEmpty(vo.getIfEffectinv())) {
-            literature.setIfEffectinv(vo.getIfEffectinv());
-        }
-        if (vo.getRetrieveRecordId() != null) {
-            literature.setRetrieveRecordId(vo.getRetrieveRecordId());
-        }
-        if (StringUtils.isNotEmpty(vo.getRelevance())) {
-            literature.setRelevance(vo.getRelevance());
+            literature = new NoveltyCompareLiterature();
+            literature.setCompareLitertureId(compareLiterature.getId());
+            literature.insert();
         }
-        if (StringUtils.isNotEmpty(vo.getRemark())) {
-            literature.setRemark(vo.getRemark());
+        if (StringUtils.equals(vo.getField(), "fileRemark")) {
+            vo.setField("remark");
         }
+        GenerateObjectUtil.setObjectProperty(literature, vo.getField(), vo.getValue());
+        literature.updateById();
         return literature.getId();
     }
 

+ 6 - 0
src/main/resources/mapper/NoveltyProjectMapper.xml

@@ -41,6 +41,12 @@
             <if test="vo.projectId != null">
                 np.project_id = #{vo.projectId}
             </if>
+            <if test="vo.roleType == null or vo.roleType == 0">
+                and (p.create_id = #{vo.createId} or p.head_id = #{vo.createId} or p.id in (select project_id from asso_project_person where person_id = #{vo.createId}))
+            </if>
+            <if test="vo.roleType == 2">
+                and (p.tenant_id = #{vo.tenantId} or p.id in (select project_id from asso_project_person where person_id = #{vo.createId}))
+            </if>
         </where>
         order by p.create_time desc
         <if test="vo.current != null and vo.size != null">

+ 6 - 4
src/test/java/cn/cslg/pas/service/NoveltyProjectTest.java

@@ -195,13 +195,15 @@ public class NoveltyProjectTest {
     }
 
     @Test
-    public void editCompareFileByProjectId() {
+    public void editCompareFileByProjectId() throws Exception {
         EditCompareFileDTO vo = new EditCompareFileDTO();
         vo.setProjectId(1);
         vo.setPatentNo("CN202420249312.5");
-        vo.setRetrieveRecordId(2);
-        vo.setBeneficialEffect("1010");
-        vo.setRelevance("相关度111");
+//        vo.setRetrieveRecordId(2);
+//        vo.setBeneficialEffect("1010");
+//        vo.setRelevance("相关度111");
+        vo.setField("fileRemark");
+        vo.setValue("备注");
         final Integer id = noveltyCompareLiteratureService.editCompareFileByProjectId(vo);
         System.out.println(id);
     }