xiexiang 7 月之前
父节点
当前提交
e4efa3d82e

+ 2 - 0
src/main/java/cn/cslg/pas/common/vo/business/ReportProjectVO.java

@@ -244,4 +244,6 @@ public class ReportProjectVO {
     private String caseChildPhase;
     @Schema(description = "行诉结果")
     private String conclusion;
+    @Schema(description = "实际处理人")
+    private String actualPerson;
 }

+ 54 - 47
src/main/java/cn/cslg/pas/service/report/MatchCasePersonService.java

@@ -72,7 +72,7 @@ public class MatchCasePersonService extends ServiceImpl<MatchCasePersonMapper, M
             IprPerson iprPerson = iprPersonService.getOne(queryWrapper, false);
             if (iprPerson != null) {
                 if (!name.trim().equals(iprPerson.getName().trim()) || assoAccountId != iprPerson.getAssoAccountId()) {
-                    throw new XiaoShiException(ExceptionEnum.BUSINESS_ERROR, "禁止修改已存在邮箱的相关信息!");
+                    throw new XiaoShiException(ExceptionEnum.BUSINESS_ERROR, "禁止修改已存在邮箱的相关信息!请前往联系邮箱处");
                 }
                 //邮箱存在
                 iprPersonId = iprPerson.getId();
@@ -136,7 +136,7 @@ public class MatchCasePersonService extends ServiceImpl<MatchCasePersonMapper, M
                     //主动类型  请求人代理所
                     if (actType != null && actType.equals(1)) {
                         reportProject.setApplicantAgency(resultName);
-                    } else {//被动类型 专利权人代理所
+                    } else if (actType != null && actType.equals(0)) {//被动类型 专利权人代理所
                         reportProject.setRightHolderAgency(resultName);
                     }
                 } else if (type.equals(1)) { // 内部ipr
@@ -155,11 +155,15 @@ public class MatchCasePersonService extends ServiceImpl<MatchCasePersonMapper, M
         Integer id = updateMatchCasePersonDTO.getId();
         Integer assoAccountId = updateMatchCasePersonDTO.getAssoAccountId();
         Integer type = updateMatchCasePersonDTO.getType();
-        Integer iprPerson = updateMatchCasePersonDTO.getIprPersonId();
+        Integer iprPersonId = updateMatchCasePersonDTO.getIprPersonId();
+
         LambdaQueryWrapper<MatchCasePerson> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(MatchCasePerson::getIprPersonId, iprPerson);
+        queryWrapper.eq(MatchCasePerson::getIprPersonId, iprPersonId);
         queryWrapper.eq(MatchCasePerson::getProjectId, updateMatchCasePersonDTO.getReportId());
         queryWrapper.eq(MatchCasePerson::getType, type);
+        if (id != null) {
+            queryWrapper.ne(MatchCasePerson::getId, id);
+        }
         List<MatchCasePerson> matchCasePeople = this.list(queryWrapper);
         if (matchCasePeople != null && !matchCasePeople.isEmpty()) {
             String entityType = type.equals(2) ? "代理所" : "IPR";
@@ -171,11 +175,11 @@ public class MatchCasePersonService extends ServiceImpl<MatchCasePersonMapper, M
                 matchCasePerson.setIprPersonId(updateMatchCasePersonDTO.getIprPersonId());
                 matchCasePerson.updateById();
                 if (assoId != null) {
-                    LambdaQueryWrapper<AssoProjectPerson> assoProjectPersonLambdaQueryWrapper = new LambdaQueryWrapper<>();
-                    assoProjectPersonLambdaQueryWrapper.eq(AssoProjectPerson::getProjectId, updateMatchCasePersonDTO.getReportId())
-                            .eq(AssoProjectPerson::getRole, 1)
-                            .eq(AssoProjectPerson::getPersonId, assoId);
-                    assoProjectPersonService.remove(assoProjectPersonLambdaQueryWrapper);
+//                    LambdaQueryWrapper<AssoProjectPerson> assoProjectPersonLambdaQueryWrapper = new LambdaQueryWrapper<>();
+//                    assoProjectPersonLambdaQueryWrapper.eq(AssoProjectPerson::getProjectId, updateMatchCasePersonDTO.getReportId())
+//                            .eq(AssoProjectPerson::getRole, 1)
+//                            .eq(AssoProjectPerson::getPersonId, assoId);
+//                    assoProjectPersonService.remove(assoProjectPersonLambdaQueryWrapper);
                 }
             }
         } else {
@@ -188,12 +192,19 @@ public class MatchCasePersonService extends ServiceImpl<MatchCasePersonMapper, M
             matchCasePerson.insert();
         }
         if (assoAccountId != null) {
-            AssoProjectPerson assoProjectPerson = new AssoProjectPerson();
-            assoProjectPerson.setRole(1);
-            assoProjectPerson.setProjectId(updateMatchCasePersonDTO.getReportId());
-            assoProjectPerson.setPersonId(String.valueOf(assoAccountId));
-            assoProjectPerson.setCreateId(personId);
-            assoProjectPerson.insert();
+            LambdaQueryWrapper<AssoProjectPerson> queryWrapper1 = new LambdaQueryWrapper<>();
+            queryWrapper1.eq(AssoProjectPerson::getProjectId, updateMatchCasePersonDTO.getReportId());
+            queryWrapper1.eq(AssoProjectPerson::getRole, 1);
+            queryWrapper1.eq(AssoProjectPerson::getPersonId, assoAccountId);
+            List<AssoProjectPerson> assoProjectPersons = assoProjectPersonService.list(queryWrapper1);
+            if (assoProjectPersons == null || assoProjectPersons.isEmpty()) {
+                AssoProjectPerson assoProjectPerson = new AssoProjectPerson();
+                assoProjectPerson.setRole(1);
+                assoProjectPerson.setProjectId(updateMatchCasePersonDTO.getReportId());
+                assoProjectPerson.setPersonId(String.valueOf(assoAccountId));
+                assoProjectPerson.setCreateId(personId);
+                assoProjectPerson.insert();
+            }
         }
         return matchCasePerson;
     }
@@ -271,8 +282,8 @@ public class MatchCasePersonService extends ServiceImpl<MatchCasePersonMapper, M
                     .findFirst()
                     .orElse(null);
             if (assoAccount != null) {
-                queryMatchCasePersonVO.setAccountName(personnel.getPersonnelName());
-                queryMatchCasePersonVO.setAccountUserName(personnel.getPersonnelUserName());
+                queryMatchCasePersonVO.setAccountName(assoAccount.getPersonnelName());
+                queryMatchCasePersonVO.setAccountUserName(assoAccount.getPersonnelUserName());
             }
         }
     }
@@ -286,40 +297,36 @@ public class MatchCasePersonService extends ServiceImpl<MatchCasePersonMapper, M
     }
 
     public void delete(List<Integer> ids) {
-        for (Integer id : ids) {
-            MatchCasePerson matchCasePerson = this.getById(id);
-            Integer iprPersonId = matchCasePerson.getIprPersonId();
-            Integer type = matchCasePerson.getType();
-            Integer projectId = matchCasePerson.getProjectId();
-
-            IprPerson iprPerson = iprPersonService.getById(iprPersonId);
-            Integer assoId = iprPerson.getAssoAccountId();
-            if (assoId != null) {
-                //assoId取消关联
-                LambdaQueryWrapper<AssoProjectPerson> assoProjectPersonLambdaQueryWrapper = new LambdaQueryWrapper<>();
-                assoProjectPersonLambdaQueryWrapper.eq(AssoProjectPerson::getProjectId, projectId)
-                        .eq(AssoProjectPerson::getRole, 1)
-                        .eq(AssoProjectPerson::getPersonId, assoId);
-                assoProjectPersonService.remove(assoProjectPersonLambdaQueryWrapper);
-            }
-            // 如果删除的是代理所
-            if (type != null && type.equals(2)) {
-                LambdaQueryWrapper<ReportProject> queryWrapper = new LambdaQueryWrapper<>();
-                queryWrapper.eq(ReportProject::getProjectId, projectId);
-                ReportProject reportProject = reportProjectService.getOne(queryWrapper, false);
-                if (reportProject != null) {
-                    Integer actType = reportProject.getActType();
-                    // 主动类型
-                    if (actType != null && actType.equals(1)) {
-
-                    } else { // 被动类型
+        if (ids != null && !ids.isEmpty()) {
+            LambdaQueryWrapper<MatchCasePerson> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.in(MatchCasePerson::getId, ids);
+            List<MatchCasePerson> matchCasePeople = this.list(queryWrapper);
+            this.removeBatchByIds(ids);
+            List<Integer> assoIds = new ArrayList<>();
+            Integer projectId = null;
+            for (MatchCasePerson matchCasePerson : matchCasePeople) {
+                Integer iprPersonId = matchCasePerson.getIprPersonId();
+                Integer type = matchCasePerson.getType();
+                projectId = matchCasePerson.getProjectId();
 
-                    }
+                IprPerson iprPerson = iprPersonService.getById(iprPersonId);
+                Integer assoId = iprPerson.getAssoAccountId();
+                if (assoId != null) {
+                    assoIds.add(assoId);
+//                    //assoId取消关联
+//                    LambdaQueryWrapper<AssoProjectPerson> assoProjectPersonLambdaQueryWrapper = new LambdaQueryWrapper<>();
+//                    assoProjectPersonLambdaQueryWrapper.eq(AssoProjectPerson::getProjectId, projectId)
+//                            .eq(AssoProjectPerson::getRole, 1)
+//                            .eq(AssoProjectPerson::getPersonId, assoId);
+//                    assoProjectPersonService.remove(assoProjectPersonLambdaQueryWrapper);
                 }
+                this.updateReport(projectId, type);
             }
-
         }
-        this.removeBatchByIds(ids);
+    }
+
+    public void cancelConnect() {
+
     }
 
     public void deleteByIprIds(List<Integer> iprPersonIds) {

+ 1 - 1
src/main/resources/mapper/ReportProjectMapper.xml

@@ -11,7 +11,7 @@
         invalidApplication ,rp.act_type as actType ,rp.patent_type as patentType ,rp.current_application as
         currentApplication, rp.invention_name as inventionName,p.contract_no as contractNo,rp.carding_opinion,
         rp.accept_year as acceptYear,rp.applicant_agency as applicantAgency,rp.right_holder_agency as rightHolderAgency,rp.case_stage as caseStage,
-        aspe.event_id as eventId,arc.cron_id as cronId,aspm.matter_id as matterId,asps.scenario_id as scenarioId
+        aspe.event_id as eventId,arc.cron_id as cronId,aspm.matter_id as matterId,asps.scenario_id as scenarioId,rp.actual_person as actualPerson
         from report as rp left join project as p
         on rp.project_id =p.id left join asso_report_cron arc on p.id =arc.project_id
         left join (select * from asso_project_event where scenario_id is not null ) as asps on p.id = asps.project_id