|
@@ -2,16 +2,16 @@ package com.izouma.uwip.service;
|
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
-import com.izouma.uwip.domain.DomesticPatent;
|
|
|
|
|
-import com.izouma.uwip.domain.Fee;
|
|
|
|
|
-import com.izouma.uwip.domain.Handle;
|
|
|
|
|
-import com.izouma.uwip.domain.Patent;
|
|
|
|
|
|
|
+import com.izouma.uwip.domain.*;
|
|
|
import com.izouma.uwip.dto.DomesticPatentDTO;
|
|
import com.izouma.uwip.dto.DomesticPatentDTO;
|
|
|
import com.izouma.uwip.dto.PageQuery;
|
|
import com.izouma.uwip.dto.PageQuery;
|
|
|
import com.izouma.uwip.enums.*;
|
|
import com.izouma.uwip.enums.*;
|
|
|
import com.izouma.uwip.exception.BusinessException;
|
|
import com.izouma.uwip.exception.BusinessException;
|
|
|
import com.izouma.uwip.repo.DomesticPatentRepo;
|
|
import com.izouma.uwip.repo.DomesticPatentRepo;
|
|
|
|
|
+import com.izouma.uwip.repo.MessageRepo;
|
|
|
import com.izouma.uwip.repo.PatentRepo;
|
|
import com.izouma.uwip.repo.PatentRepo;
|
|
|
|
|
+import com.izouma.uwip.repo.UserRepo;
|
|
|
|
|
+import com.izouma.uwip.security.Authority;
|
|
|
import com.izouma.uwip.utils.JpaUtils;
|
|
import com.izouma.uwip.utils.JpaUtils;
|
|
|
import com.izouma.uwip.utils.ObjUtils;
|
|
import com.izouma.uwip.utils.ObjUtils;
|
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
@@ -22,6 +22,7 @@ import org.springframework.stereotype.Service;
|
|
|
import javax.persistence.criteria.Predicate;
|
|
import javax.persistence.criteria.Predicate;
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
@Service
|
|
@Service
|
|
|
@AllArgsConstructor
|
|
@AllArgsConstructor
|
|
@@ -32,6 +33,8 @@ public class DomesticPatentService {
|
|
|
private final PatentRepo patentRepo;
|
|
private final PatentRepo patentRepo;
|
|
|
private final PartnerService partnerService;
|
|
private final PartnerService partnerService;
|
|
|
private final PatentService patentService;
|
|
private final PatentService patentService;
|
|
|
|
|
+ private final UserRepo userRepo;
|
|
|
|
|
+ private final MessageRepo messageRepo;
|
|
|
|
|
|
|
|
public Page<DomesticPatent> all(PageQuery pageQuery) {
|
|
public Page<DomesticPatent> all(PageQuery pageQuery) {
|
|
|
return domesticPatentRepo.findAll(JpaUtils.toSpecification(pageQuery, DomesticPatent.class), JpaUtils.toPageRequest(pageQuery));
|
|
return domesticPatentRepo.findAll(JpaUtils.toSpecification(pageQuery, DomesticPatent.class), JpaUtils.toPageRequest(pageQuery));
|
|
@@ -58,7 +61,7 @@ public class DomesticPatentService {
|
|
|
patentService.saveHandle(record.getWorkflow().toString(), userId, handleList);
|
|
patentService.saveHandle(record.getWorkflow().toString(), userId, handleList);
|
|
|
|
|
|
|
|
if (ObjectUtil.isNull(record.getApplyStatus()) || !ApplyStatus.COMPLETED.equals(record.getApplyStatus())) {
|
|
if (ObjectUtil.isNull(record.getApplyStatus()) || !ApplyStatus.COMPLETED.equals(record.getApplyStatus())) {
|
|
|
- orig1.setApplyStatus(this.getApplyStatus(record.getWorkflow()));
|
|
|
|
|
|
|
+ orig1.setApplyStatus(this.getApplyStatus(record.getWorkflow(), record.getName()));
|
|
|
}
|
|
}
|
|
|
// 流程--首页统计用
|
|
// 流程--首页统计用
|
|
|
patent.setFlow(orig.getWorkflow().getDescription());
|
|
patent.setFlow(orig.getWorkflow().getDescription());
|
|
@@ -98,21 +101,83 @@ public class DomesticPatentService {
|
|
|
return dPatent;
|
|
return dPatent;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public ApplyStatus getApplyStatus(DomesticWorkflow workflow) {
|
|
|
|
|
|
|
+ public ApplyStatus getApplyStatus(DomesticWorkflow workflow, String name) {
|
|
|
|
|
+ List<Long> accountIds = userRepo.findAllByAuthoritiesContainsAndDelFalse(Authority.get(AuthorityName.ROLE_ACCOUNT))
|
|
|
|
|
+ .stream()
|
|
|
|
|
+ .map(User::getId)
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
+
|
|
|
|
|
+ List<Long> projectIds = userRepo.findAllByAuthoritiesContainsAndDelFalse(Authority.get(AuthorityName.ROLE_PROJECT))
|
|
|
|
|
+ .stream()
|
|
|
|
|
+ .map(User::getId)
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
+
|
|
|
switch (workflow) {
|
|
switch (workflow) {
|
|
|
case ADD_SUPPLIERS://待添加供应商
|
|
case ADD_SUPPLIERS://待添加供应商
|
|
|
case SUPPLIER_MATERIALS://供应商反馈文件
|
|
case SUPPLIER_MATERIALS://供应商反馈文件
|
|
|
|
|
+ return ApplyStatus.APPLY_STAGE;
|
|
|
case MAINTAIN_CASE://申请号/申请日
|
|
case MAINTAIN_CASE://申请号/申请日
|
|
|
|
|
+ //发送消息-客户经理
|
|
|
|
|
+ messageRepo.save(
|
|
|
|
|
+ Message.builder()
|
|
|
|
|
+ .receiveUserId(accountIds)
|
|
|
|
|
+ .title("国内专利:" + name)
|
|
|
|
|
+ .content("收到一条待维护案件专利")
|
|
|
|
|
+ .build());
|
|
|
|
|
+ return ApplyStatus.APPLY_STAGE;
|
|
|
case REPLY_TO_NOTICE://官方期限/内部期限
|
|
case REPLY_TO_NOTICE://官方期限/内部期限
|
|
|
|
|
+ //发送消息-项目经理
|
|
|
|
|
+ messageRepo.save(
|
|
|
|
|
+ Message.builder()
|
|
|
|
|
+ .receiveUserId(projectIds)
|
|
|
|
|
+ .title("国内专利:" + name)
|
|
|
|
|
+ .content("收到一条上传答复通知专利")
|
|
|
|
|
+ .build());
|
|
|
|
|
+ return ApplyStatus.APPLY_STAGE;
|
|
|
|
|
+
|
|
|
case PENDING_REVIEW://是否答复 待审查
|
|
case PENDING_REVIEW://是否答复 待审查
|
|
|
|
|
+ //发送消息-客户经理
|
|
|
|
|
+ messageRepo.save(
|
|
|
|
|
+ Message.builder()
|
|
|
|
|
+ .receiveUserId(accountIds)
|
|
|
|
|
+ .title("国内专利:" + name)
|
|
|
|
|
+ .content("收到一条待审查专利")
|
|
|
|
|
+ .build());
|
|
|
|
|
+
|
|
|
return ApplyStatus.APPLY_STAGE;//申请阶段
|
|
return ApplyStatus.APPLY_STAGE;//申请阶段
|
|
|
case REPLY_SUBMISSIONS://答复意见书
|
|
case REPLY_SUBMISSIONS://答复意见书
|
|
|
return ApplyStatus.SUBSTANTIVE_STAGE;// 实审阶段
|
|
return ApplyStatus.SUBSTANTIVE_STAGE;// 实审阶段
|
|
|
case REPLY_RESULT://答复结果
|
|
case REPLY_RESULT://答复结果
|
|
|
|
|
+ //发送消息-项目经理
|
|
|
|
|
+ messageRepo.save(
|
|
|
|
|
+ Message.builder()
|
|
|
|
|
+ .receiveUserId(projectIds)
|
|
|
|
|
+ .title("国内专利:" + name)
|
|
|
|
|
+ .content("收到一条待上传答复通知专利")
|
|
|
|
|
+ .build());
|
|
|
|
|
+
|
|
|
return ApplyStatus.REVIEW_STAGE;//复查阶段
|
|
return ApplyStatus.REVIEW_STAGE;//复查阶段
|
|
|
case PENDING_REGISTER://办登通知日
|
|
case PENDING_REGISTER://办登通知日
|
|
|
|
|
+ //发送消息-客户经理
|
|
|
|
|
+ messageRepo.save(
|
|
|
|
|
+ Message.builder()
|
|
|
|
|
+ .receiveUserId(accountIds)
|
|
|
|
|
+ .title("国内专利:" + name)
|
|
|
|
|
+ .content("收到一条待待办登专利")
|
|
|
|
|
+ .build());
|
|
|
|
|
+ return ApplyStatus.GRANT_STAGE;
|
|
|
|
|
+
|
|
|
case PAYMENT_REGISTER://是否缴费
|
|
case PAYMENT_REGISTER://是否缴费
|
|
|
|
|
+ return ApplyStatus.GRANT_STAGE;
|
|
|
case REGISTER://办登登记
|
|
case REGISTER://办登登记
|
|
|
|
|
+ //发送消息-项目经理
|
|
|
|
|
+ messageRepo.save(
|
|
|
|
|
+ Message.builder()
|
|
|
|
|
+ .receiveUserId(projectIds)
|
|
|
|
|
+ .title("国内专利:" + name)
|
|
|
|
|
+ .content("收到一条待办理登记专利")
|
|
|
|
|
+ .build());
|
|
|
|
|
+
|
|
|
case ANNUAL_FEE://维护费用
|
|
case ANNUAL_FEE://维护费用
|
|
|
return ApplyStatus.GRANT_STAGE;//授权阶段
|
|
return ApplyStatus.GRANT_STAGE;//授权阶段
|
|
|
default://不答复终止
|
|
default://不答复终止
|