licailing 4 سال پیش
والد
کامیت
5670fa1de4

+ 1 - 1
src/main/java/com/izouma/uwip/domain/Handle.java

@@ -19,6 +19,6 @@ public class Handle {
 
 
     private LocalDateTime checkAt;
     private LocalDateTime checkAt;
 
 
-    private LogoWorkflow logoWorkflow;
+    private String workflow;
 
 
 }
 }

+ 10 - 4
src/main/java/com/izouma/uwip/domain/Patent.java

@@ -1,5 +1,6 @@
 package com.izouma.uwip.domain;
 package com.izouma.uwip.domain;
 
 
+import com.izouma.uwip.converter.HandleListConverter;
 import com.izouma.uwip.enums.ApplyStatus;
 import com.izouma.uwip.enums.ApplyStatus;
 import com.izouma.uwip.enums.PatentType;
 import com.izouma.uwip.enums.PatentType;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModel;
@@ -9,10 +10,10 @@ import lombok.Builder;
 import lombok.Data;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.NoArgsConstructor;
 
 
-import javax.persistence.Entity;
-import javax.persistence.EnumType;
-import javax.persistence.Enumerated;
+import javax.persistence.*;
 import java.time.LocalDate;
 import java.time.LocalDate;
+import java.util.ArrayList;
+import java.util.List;
 
 
 @AllArgsConstructor
 @AllArgsConstructor
 @Data
 @Data
@@ -26,7 +27,8 @@ public class Patent extends BaseEntity {
     @ApiModelProperty(value = "专利名称")
     @ApiModelProperty(value = "专利名称")
     private String name;
     private String name;
 
 
-    private ApplyStatus status;
+    @Enumerated(EnumType.STRING)
+    private ApplyStatus applyStatus;
 
 
     @ApiModelProperty(value = "专利类型")
     @ApiModelProperty(value = "专利类型")
     @Enumerated(EnumType.STRING)
     @Enumerated(EnumType.STRING)
@@ -93,4 +95,8 @@ public class Patent extends BaseEntity {
     private LocalDate applyDate;
     private LocalDate applyDate;
 
 
     private int sort;
     private int sort;
+
+    @Column(columnDefinition = "TEXT")
+    @Convert(converter = HandleListConverter.class)
+    private List<Handle> handle = new ArrayList<>();
 }
 }

+ 5 - 1
src/main/java/com/izouma/uwip/dto/DomesticPatentDTO.java

@@ -2,6 +2,7 @@ package com.izouma.uwip.dto;
 
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.bean.BeanUtil;
 import com.izouma.uwip.domain.DomesticPatent;
 import com.izouma.uwip.domain.DomesticPatent;
+import com.izouma.uwip.domain.Handle;
 import com.izouma.uwip.domain.Patent;
 import com.izouma.uwip.domain.Patent;
 import com.izouma.uwip.enums.ApplyStatus;
 import com.izouma.uwip.enums.ApplyStatus;
 import com.izouma.uwip.enums.DomesticWorkflow;
 import com.izouma.uwip.enums.DomesticWorkflow;
@@ -15,6 +16,7 @@ import lombok.NoArgsConstructor;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDate;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 
 
 @AllArgsConstructor
 @AllArgsConstructor
@@ -88,7 +90,7 @@ public class DomesticPatentDTO {
     @ApiModelProperty(value = "专利名称")
     @ApiModelProperty(value = "专利名称")
     private String name;
     private String name;
 
 
-    private ApplyStatus status;
+    private ApplyStatus applyStatus;
 
 
     @ApiModelProperty(value = "专利类型")
     @ApiModelProperty(value = "专利类型")
     private PatentType type;
     private PatentType type;
@@ -155,6 +157,8 @@ public class DomesticPatentDTO {
 
 
     public List<AttachmentDTO> attachments;
     public List<AttachmentDTO> attachments;
 
 
+    private List<Handle> handle = new ArrayList<>();
+
     public DomesticPatentDTO(DomesticPatent dPatent, Patent patent){
     public DomesticPatentDTO(DomesticPatent dPatent, Patent patent){
         BeanUtil.copyProperties(dPatent,this);
         BeanUtil.copyProperties(dPatent,this);
         BeanUtil.copyProperties(patent,this);
         BeanUtil.copyProperties(patent,this);

+ 4 - 0
src/main/java/com/izouma/uwip/enums/ApplyStatus.java

@@ -2,6 +2,10 @@ package com.izouma.uwip.enums;
 
 
 public enum ApplyStatus {
 public enum ApplyStatus {
     APPLY_STAGE("申请阶段"),
     APPLY_STAGE("申请阶段"),
+    SUBSTANTIVE_STAGE("实审阶段"),
+    /*
+    审查/复审
+     */
     REVIEW_STAGE("审查阶段"),
     REVIEW_STAGE("审查阶段"),
     GRANT_STAGE("授权阶段"),
     GRANT_STAGE("授权阶段"),
     COMPLETED("已完成")
     COMPLETED("已完成")

+ 14 - 0
src/main/java/com/izouma/uwip/enums/DomesticWorkflow.java

@@ -9,8 +9,22 @@ public enum DomesticWorkflow {
     ADD_SUPPLIERS("待添加供应商",2),
     ADD_SUPPLIERS("待添加供应商",2),
     SUPPLIER_MATERIALS("待提交供应商材料",2),
     SUPPLIER_MATERIALS("待提交供应商材料",2),
     MAINTAIN_CASE("待维护案件",1),
     MAINTAIN_CASE("待维护案件",1),
+    REPLY_TO_NOTICE("上传答复通知",2),
+    /*
+    是否答复
+     */
     PENDING_REVIEW("待审查",1),
     PENDING_REVIEW("待审查",1),
+    NO_REPLY("不答复终止",1),
+    REPLY_SUBMISSIONS("上传答复意见书",1),
+    REPLY_RESULT("上传答复结果",2),
+    /*
+    授权办登通知日
+    */
     PENDING_REGISTER("待办登",1),
     PENDING_REGISTER("待办登",1),
+    /*
+    是否缴费
+     */
+    PAYMENT_REGISTER("补充办登信息",1),
     REGISTER("办理登记",2),
     REGISTER("办理登记",2),
     ANNUAL_FEE("待维护年费信息",1),
     ANNUAL_FEE("待维护年费信息",1),
     COMPLETED("已完成",1),
     COMPLETED("已完成",1),

+ 36 - 3
src/main/java/com/izouma/uwip/service/DomesticPatentService.java

@@ -1,13 +1,13 @@
 package com.izouma.uwip.service;
 package com.izouma.uwip.service;
 
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.izouma.uwip.domain.DomesticPatent;
 import com.izouma.uwip.domain.DomesticPatent;
+import com.izouma.uwip.domain.Handle;
 import com.izouma.uwip.domain.Patent;
 import com.izouma.uwip.domain.Patent;
 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.CaseStage;
-import com.izouma.uwip.enums.CaseType;
-import com.izouma.uwip.enums.PatentType;
+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.PatentRepo;
 import com.izouma.uwip.repo.PatentRepo;
@@ -18,6 +18,8 @@ import org.apache.commons.collections.CollectionUtils;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Page;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.time.LocalDateTime;
+
 @Service
 @Service
 @AllArgsConstructor
 @AllArgsConstructor
 public class DomesticPatentService {
 public class DomesticPatentService {
@@ -43,6 +45,15 @@ public class DomesticPatentService {
             Patent patent = new Patent();
             Patent patent = new Patent();
             BeanUtil.copyProperties(record, patent);
             BeanUtil.copyProperties(record, patent);
             ObjUtils.merge(orig1, patent);
             ObjUtils.merge(orig1, patent);
+
+            orig1.getHandle().add(Handle.builder()
+                    .workflow(record.getWorkflow().toString())
+                    .userId(userId)
+                    .checkAt(LocalDateTime.now())
+                    .build());
+            if (ObjectUtil.isNull(record.getApplyStatus()) || !ApplyStatus.COMPLETED.equals(record.getApplyStatus())) {
+                orig1.setApplyStatus(this.getApplyStatus(record.getWorkflow()));
+            }
             patentRepo.save(orig1);
             patentRepo.save(orig1);
 
 
             // 保存附件
             // 保存附件
@@ -73,4 +84,26 @@ public class DomesticPatentService {
         }
         }
         return dPatent;
         return dPatent;
     }
     }
+
+    public ApplyStatus getApplyStatus(DomesticWorkflow workflow) {
+        switch (workflow) {
+            case ADD_SUPPLIERS://待添加供应商
+            case SUPPLIER_MATERIALS://供应商反馈文件
+            case MAINTAIN_CASE://申请号/申请日
+            case REPLY_TO_NOTICE://官方期限/内部期限
+            case PENDING_REVIEW://是否答复 待审查
+                return ApplyStatus.APPLY_STAGE;//申请阶段
+            case REPLY_SUBMISSIONS://答复意见书
+                return ApplyStatus.SUBSTANTIVE_STAGE;// 实审阶段
+            case REPLY_RESULT://答复结果
+                return ApplyStatus.REVIEW_STAGE;//复查阶段
+            case PENDING_REGISTER://办登通知日
+            case PAYMENT_REGISTER://是否缴费
+            case REGISTER://办登登记
+            case ANNUAL_FEE://维护费用
+                return ApplyStatus.GRANT_STAGE;//授权阶段
+            default://不答复终止
+                return ApplyStatus.COMPLETED;
+        }
+    }
 }
 }

+ 1 - 4
src/main/java/com/izouma/uwip/service/LogoPatentService.java

@@ -3,12 +3,10 @@ package com.izouma.uwip.service;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.izouma.uwip.domain.Handle;
 import com.izouma.uwip.domain.Handle;
 import com.izouma.uwip.domain.LogoPatent;
 import com.izouma.uwip.domain.LogoPatent;
-import com.izouma.uwip.domain.Partner;
 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.LogoPatentRepo;
 import com.izouma.uwip.repo.LogoPatentRepo;
-import com.izouma.uwip.repo.PartnerRepo;
 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;
@@ -16,7 +14,6 @@ import org.apache.commons.collections.CollectionUtils;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Page;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
-import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 
 
 @Service
 @Service
@@ -33,7 +30,7 @@ public class LogoPatentService {
 
 
     public Handle saveHandle(LogoWorkflow workflow, Long userId) {
     public Handle saveHandle(LogoWorkflow workflow, Long userId) {
         return Handle.builder()
         return Handle.builder()
-                .logoWorkflow(workflow)
+                .workflow(workflow.toString())
                 .userId(userId)
                 .userId(userId)
                 .checkAt(LocalDateTime.now())
                 .checkAt(LocalDateTime.now())
                 .build();
                 .build();

+ 1 - 2
src/main/java/com/izouma/uwip/service/PartnerService.java

@@ -1,6 +1,5 @@
 package com.izouma.uwip.service;
 package com.izouma.uwip.service;
 
 
-import com.izouma.uwip.domain.LogoPatent;
 import com.izouma.uwip.domain.Partner;
 import com.izouma.uwip.domain.Partner;
 import com.izouma.uwip.dto.PageQuery;
 import com.izouma.uwip.dto.PageQuery;
 import com.izouma.uwip.enums.CaseStage;
 import com.izouma.uwip.enums.CaseStage;
@@ -18,7 +17,7 @@ import java.time.LocalDate;
 @AllArgsConstructor
 @AllArgsConstructor
 public class PartnerService {
 public class PartnerService {
 
 
-    private PartnerRepo partnerRepo;
+    private final PartnerRepo partnerRepo;
 
 
     public Page<Partner> all(PageQuery pageQuery) {
     public Page<Partner> all(PageQuery pageQuery) {
         return partnerRepo.findAll(JpaUtils.toSpecification(pageQuery, Partner.class), JpaUtils.toPageRequest(pageQuery));
         return partnerRepo.findAll(JpaUtils.toSpecification(pageQuery, Partner.class), JpaUtils.toPageRequest(pageQuery));

+ 1 - 1
src/main/java/com/izouma/uwip/web/LogoPatentController.java

@@ -59,7 +59,7 @@ public class LogoPatentController extends BaseController {
 
 
             List<Handle> handles = logoPatent.getHandle()
             List<Handle> handles = logoPatent.getHandle()
                     .stream()
                     .stream()
-                    .filter(handle -> handle.getLogoWorkflow().equals(logoPatent.getLogoWorkflow()))
+                    .filter(handle -> handle.getWorkflow().equals(logoPatent.getLogoWorkflow().toString()))
                     .limit(1)
                     .limit(1)
                     .collect(Collectors.toList());
                     .collect(Collectors.toList());
             if (CollUtil.isNotEmpty(handles)) {
             if (CollUtil.isNotEmpty(handles)) {