lwhhszx 2 years ago
parent
commit
698433a7f9

+ 4 - 1
RMS/src/main/java/cn/cslg/report/common/model/vo/CompareMessageVO.java

@@ -22,10 +22,13 @@ public class CompareMessageVO {
     private Integer id;
     @Schema(description = "标的说明")
     private String targetDescription;
-
+    @Schema(description = "标的说明2")
+    private String targetDescription2;
     @Schema(description = "对比说明")
     private String compareDescription;
 
+    @Schema(description = "对比说明2")
+    private String compareDescription2;
     @Schema(description = "对比结果")
     private Integer compareResult;
 

+ 10 - 1
RMS/src/main/java/cn/cslg/report/common/model/vo/TaskReportVO.java

@@ -54,7 +54,10 @@ public class TaskReportVO extends BaseVO {
  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
  private Date createTime;
-
+    @Schema(description = "任务结束时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date finishTime;
     /**
      * 任务开始时间
      */
@@ -72,4 +75,10 @@ public class TaskReportVO extends BaseVO {
 
     @Schema(description = "登录人在任务中的身份 0创建人 1处理人")
     private Integer roleInTask;
+
+    /**
+     * 结果
+     */
+    @Schema(description = "结果")
+    private Integer result;
 }

+ 6 - 1
RMS/src/main/java/cn/cslg/report/controller/OutSidersController.java

@@ -3,10 +3,13 @@ package cn.cslg.report.controller;
 import cn.cslg.report.common.core.base.Constants;
 import cn.cslg.report.common.model.vo.CompareFilesVO;
 import cn.cslg.report.common.model.vo.PatentVO;
+import cn.cslg.report.common.model.vo.TaskVO;
 import cn.cslg.report.common.utils.Response;
+import cn.cslg.report.entity.Report;
 import cn.cslg.report.entity.Task;
 import cn.cslg.report.entity.asso.SyneryCode;
 import cn.cslg.report.service.business.CompareFilesService;
+import cn.cslg.report.service.business.ReportService;
 import cn.cslg.report.service.business.TaskService;
 import cn.cslg.report.service.business.asso.SyneryCodeService;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -36,6 +39,7 @@ import java.util.regex.Pattern;
 public class OutSidersController {
     private final SyneryCodeService syneryCodeService;
     private final TaskService taskService;
+    private final ReportService reportService;
     @RequestMapping(value = "/getTaskByCode", method = RequestMethod.GET)
     @Operation(summary = "根据code码获得任务信息")
     public String getTaskByCode(String code) throws IOException {
@@ -47,7 +51,8 @@ public class OutSidersController {
             SyneryCode syneryCode = syneryCodes.get(0);
             //根据taskId获得task信息
             Task task = taskService.getById(syneryCode.getTaskId());
-
+            Report report =reportService.getById(task.getReportId());
+            task.setReportType(report.getType());
             return Response.success(task);
         }
         return Response.error("code码输入错误");

+ 3 - 1
RMS/src/main/java/cn/cslg/report/controller/TaskController.java

@@ -118,7 +118,7 @@ public class TaskController {
     }
     @RequestMapping(value = "/reviewTheTasks", method = RequestMethod.POST)
     @Operation(summary = "查看任务")
-    private String ReviewTheTasks(@RequestBody TaskTDO taskVO){
+    private String ReviewTheTasks(@RequestBody TaskTDO taskVO) throws IOException {
         return taskService.ReviewTheTasks(taskVO) ;
     }
 
@@ -127,11 +127,13 @@ public class TaskController {
     private String progress(int id){
         return Response.success (taskService.reCount(id));
     }
+
     @RequestMapping(value = "/read", method = RequestMethod.GET)
     @Operation(summary = "未读变成已读")
     private String read(int taskID,String patentNo ){
         return taskService.read(taskID,patentNo);
     }
+
     @RequestMapping(value = "/look", method = RequestMethod.GET)
     @Operation(summary = "查看某个专利的状态")
     private String look(int taskID,String patentNo){

+ 3 - 0
RMS/src/main/java/cn/cslg/report/entity/Task.java

@@ -143,4 +143,7 @@ public class Task extends BaseEntity<Task> {
 
     @TableField(exist = false)
     private String personEmail;
+
+    @TableField(exist = false)
+    private Integer reportType;
 }

+ 73 - 0
RMS/src/main/java/cn/cslg/report/service/business/CompareMessageService.java

@@ -291,6 +291,8 @@ public class CompareMessageService extends ServiceImpl<CompareMessageMapper, Com
                             }
                             else  if(tem.getTaskType().equals(1)){
                                 compareMessageVO.setCompareResult2(tem.getCompareResult());
+                                compareMessageVO.setCompareDescription2(tem.getCompareDescription());
+                                compareMessageVO.setTargetDescription2(tem.getTargetDescription());
                             }
                         }
                 );
@@ -363,4 +365,75 @@ List<Integer> Ids =features.stream().map(Features::getId).collect(Collectors.toL
    return     this.saveBatch(compareMessages);
 
     }
+
+    /**
+     * @param patentNo
+     * @param reportId
+     * @return
+     * @throws IOException
+     */
+    public Map<String, Object> queryforTemplate(String patentNo, Integer reportId) throws IOException {
+
+        List<CompareMessageVO> lists = new ArrayList<>();
+        String resBody = outInterfaceService.getPatentRightFromPAS(patentNo);
+        JSONObject jsonObject = JSONObject.parseObject(resBody);
+        //解析jason获得标的专利的权要
+        List<PatentRight> patentRightsOrgin = JSON.parseArray(jsonObject.getString("data"), PatentRight.class);
+        //处理权要
+        List<PatentRight> patentRights = featureService.FormatPatentRights(patentRightsOrgin);
+        //查询特征
+        LambdaQueryWrapper<Features> queryWrapper = new LambdaQueryWrapper<>();
+        if (reportId != null && reportId != 0) {
+            queryWrapper.eq(Features::getReportId, reportId);
+        }
+        queryWrapper.eq(Features::getSignPatentNo, patentNo);
+        List<Features> features = featureService.list(queryWrapper);
+        List<Integer> featureIds = features.stream().map(Features::getId).collect(Collectors.toList());
+        List<CompareMessage> compareMessages=new ArrayList<>();
+        if(featureIds.size()>0){
+            LambdaQueryWrapper<CompareMessage> queryWrapper1 = new LambdaQueryWrapper<>();
+            queryWrapper1.in(CompareMessage::getFeatureId, featureIds);
+                queryWrapper1.isNull(CompareMessage::getTaskType);
+            compareMessages = this.list(queryWrapper1);}
+        List<CompareMessageVO> compareMessageVOS = new ArrayList<>();
+        for (Features item: features){
+            CompareMessageVO compareMessageVO = new CompareMessageVO();
+            BeanUtil.copyProperties(item, compareMessageVO);
+            CompareMessage compareMessage = new CompareMessage();
+            if (compareMessages.size() != 0) {
+                List<CompareMessage> compareMessageList = compareMessages.stream().filter(tem -> tem.getFeatureId().equals(item.getId())).collect(Collectors.toList());
+                if (compareMessageList.size() != 0) {
+                    compareMessage = compareMessageList.get(0);
+                }
+
+            }
+            compareMessageVO.setCompareResult(compareMessage.getCompareResult());
+            compareMessageVO.setCompareDescription(compareMessage.getCompareDescription());
+            compareMessageVO.setTargetDescription(compareMessage.getTargetDescription());
+            compareMessageVOS.add(compareMessageVO);
+        }
+        Integer mainRight =0;
+        Integer right=0;
+        //将拆解的权要和特征装载到对象PatentRightVo
+        for (int i = 0; i < patentRights.size(); i++) {
+            if(patentRights.get(i).getType()==1)
+            {mainRight++;}
+          right++;
+            List<CompareMessageVO> featuresList = new ArrayList<>();
+            //对需要拆解的权要进行拆解
+            if (compareMessageVOS != null && compareMessageVOS.size() != 0) {
+                int rightId = patentRights.get(i).getSort();
+                featuresList = compareMessageVOS.stream().filter(item -> item.getRightId().equals(rightId)).collect(Collectors.toList());
+            }
+            for (CompareMessageVO item : featuresList) {
+                item.setRightName("权要" + (patentRights.get(i).getSort() + 1));
+            }
+            lists.addAll(featuresList);
+        }
+        Map<String, Object> map = new HashMap<String, Object>();
+        map.put("compareMessageVOs", lists);
+        map.put("mainRight",mainRight);
+        map.put("right",right);
+        return map;
+    }
 }

+ 1 - 1
RMS/src/main/java/cn/cslg/report/service/business/FeatureService.java

@@ -100,7 +100,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
         if (splitType == null) {
             splitType = 0;
         }
-        PersonnelVO personnelVO = cacheUtils.getLoginUser(StpUtil.getLoginIdAsInt());
+       PersonnelVO personnelVO = cacheUtils.getLoginUser(StpUtil.getLoginIdAsInt());
         //如果是FTO报告则 将拆分信息存入
         if(taskId!=null){
             //根据taskId获得报告ID

+ 99 - 12
RMS/src/main/java/cn/cslg/report/service/business/ReportDocumentService.java

@@ -1,6 +1,8 @@
 package cn.cslg.report.service.business;
 
 import cn.cslg.report.common.model.SystemMO;
+import cn.cslg.report.common.model.vo.CompareMessageVO;
+import cn.cslg.report.common.model.vo.PatentRightVo;
 import cn.cslg.report.common.model.vo.PatentVO;
 import cn.cslg.report.common.model.vo.PersonnelVO;
 import cn.cslg.report.common.utils.*;
@@ -20,6 +22,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.deepoove.poi.XWPFTemplate;
 import com.deepoove.poi.config.Configure;
 import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy;
+import io.swagger.v3.oas.models.security.SecurityScheme;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.poi.poifs.filesystem.DirectoryEntry;
@@ -57,6 +60,7 @@ public class ReportDocumentService extends ServiceImpl<ReportDocumentMapper, Rep
     private final ReportFieldService reportFieldService;
     private final TemplateConfigService templateConfigService;
     private final ReportFieldPatentLinkService reportFieldPatentLinkService;
+    private final CompareMessageService compareMessageService;
 
     public String reportDocument(ReportDocument reportDocument) {
 
@@ -99,12 +103,11 @@ public class ReportDocumentService extends ServiceImpl<ReportDocumentMapper, Rep
         String directoryName = fileUtils.createDirectory();
         String outPath = fileUtils.getSavePath(directoryName) + fileName;
         Report report = reportService.getById(reportId);
-        XWPFTemplate template =null;
-        if(report.getType()==0||report.getType()==2) {
-             template = this.getstabilityMaps(report, filePath);
-        }
-        else if(report.getType()==3){
-            template= this.FTOtemplate(reportId, filePath,templeId);
+        XWPFTemplate template = null;
+        if (report.getType() == 0 || report.getType() == 2) {
+            template = this.getstabilityTemplate(report, filePath);
+        } else if (report.getType() == 3) {
+            template = this.FTOtemplate(reportId, filePath, templeId);
         }
         // 读取模板、数据并渲染
 //         文件是否已存在,则删除
@@ -133,10 +136,10 @@ public class ReportDocumentService extends ServiceImpl<ReportDocumentMapper, Rep
 
     /**
      * @return
-     * @autor
+     * @autor lrj
      * @description 装载稳定和无效模板信息
      */
-    private XWPFTemplate getstabilityMaps(Report report, String filePath) throws IOException {
+    private XWPFTemplate getstabilityTemplate(Report report, String filePath) throws IOException {
         //根据报告Id获得报告信息
         // 根据拆分人(报告的创建人)Id和报告ID获得所有特征
         LambdaQueryWrapper<Features> allFeaturesWrapper = new LambdaQueryWrapper<>();
@@ -433,11 +436,12 @@ public class ReportDocumentService extends ServiceImpl<ReportDocumentMapper, Rep
                 }
             }
         }
-        List<Map<String, Object>> classifyMaps = new ArrayList<>();
+        //
+        List<Map<String,Object>> classifyMaps=new ArrayList<>();
         //装载信息
         for (Map<String, Object> map : loadMaps) {
             Map<String, Object> classifyMap = new HashMap<>();
-            classifyMap.put("classify" + map.get("order"), map.get("CName"));
+            classifyMap.put("classify", map.get("CName"));
             //根据自定义字段ID和值Id查询专利号
             List<String> patentNos = reportFieldPatentLinkService.getPatentNos(Integer.parseInt(map.get("FId").toString()), Integer.parseInt(map.get("CId").toString()));
             PatentVO patentVO = new PatentVO();
@@ -446,9 +450,92 @@ public class ReportDocumentService extends ServiceImpl<ReportDocumentMapper, Rep
             String resBody = outInterfaceService.getPatentDTOListForRMS(patentVO);
             JSONObject jsonObject = JSONObject.parseObject(resBody);
             List<JSONObject> patentDTOS = JSON.parseArray(jsonObject.get("data").toString(), JSONObject.class);
+            //根据专利号和报告Id获得对比记录
+            //存放公告专利
+            List<Map<String, Object>> announcePatents = new ArrayList<>();
+            //存放公开专利
+            List<Map<String, Object>> publicPatents = new ArrayList<>();
+            //存放失效专利信息
+            List<Map<String, Object>> lapsePatents = new ArrayList<>();
+            for (JSONObject patent : patentDTOS) {
+                List<JSONObject> applicantJSONs = JSON.parseArray(patent.get("applicant").toString(), JSONObject.class);
+                StringBuilder applicants = new StringBuilder();
+                StringBuilder rightPerson = new StringBuilder();
+                applicantJSONs.forEach(tem -> {
+                    if(Integer.parseInt(tem.get("dataType").toString())==1) {
+                        applicants.append(tem.get("name") + "\r");
+                    }
+                    else{
+                        rightPerson.append(tem.get("name") + "\r");
+                    }
+                });
+              //装载同族信息
+                JSONObject familys =JSONObject.parseObject(patent.get("family").toString());
+            List<String> patSnaps =  JSON.parseArray(familys.get("patSnap").toString(), String.class);
+                List<String> simples =  JSON.parseArray(familys.get("simple").toString(), String.class);
+                List<String>  inpadocs =JSON.parseArray(familys.get("inpadoc").toString(), String.class);
+                patSnaps.addAll(simples);
+                patSnaps.addAll(inpadocs);
+                String familyStr=StringUtils.join(patSnaps,",");
+                //装载法律状态
+                StringBuilder affair = new StringBuilder();
+               List<JSONObject>  affaires =JSON.parseArray(patent.get("affair").toString(), JSONObject.class);
+               affaires.forEach(item->{
+                   affair.append(item.get("status")+ "\r");}
+
+               );
+                //装载单个专利的信息
+                Map<String, Object> patentMap = new HashMap<>();
+                //同族专利
+                patentMap.put("simpleFamilys",familyStr);
+                //引用专利
+                patentMap.put("quotePatents",patent.get("quote"));
+                //申请日
+                patentMap.put("applicationDate",patent.get("applicationDate"));
+                //公开日
+                patentMap.put("publicDate",patent.get("publicDate"));
+                //专利号
+                patentMap.put("publicNo", patent.get("publicNo"));
+                patentMap.put("firstPublicDate",patent.get("firstPublicDate"));
+                patentMap.put("applicant", applicants);
+                patentMap.put("rightPerson", rightPerson);
+                patentMap.put("affair",affair);
+                //图示
+                patentMap.put("abstractPath", "http://139.224.24.90:8081" + patent.get("abstractPath"));
+                //获得专利对比记录的信息
+                Map<String, Object> temMap = compareMessageService.queryforTemplate(patent.get("patentNo").toString(), reportId);
+                List<CompareMessageVO> compareMessageVOS = (List<CompareMessageVO>) temMap.get("compareMessageVOs");
+                //装载对比记录的信息
+                patentMap.put("compareMessage",compareMessageVOS);
+                patentMap.put("rightNum",temMap.get("right"));
+                patentMap.put("mainRightNum",temMap.get("mainRight"));
+             Integer status =   Integer.parseInt(patent.get("simpleStatusInt").toString());
+                if(status==1||status==5||status==6){
+                    announcePatents.add(patentMap);
+                }
+                else if(status==2){
+                    lapsePatents.add(patentMap);
+                }
+                else if(status==3){
+                    publicPatents.add(patentMap);
+                }
+                classifyMap.put("publicPatents",publicPatents);
+                classifyMap.put("lapsePatents",lapsePatents);
+                classifyMap.put("announcePatents",announcePatents);
+                }
+            classifyMaps.add(classifyMap);
         }
-        XWPFTemplate template = null;
-//        XWPFTemplate template = XWPFTemplate.compile(filePath, configure).render(map);
+        Map<String, Object> map = new HashMap<>();
+        String date = DateUtils.formatDate(new Date(), DateUtils.YYYY_MM_DD);
+        String[] ds = date.split("-");
+        map.put("sys", new SystemMO(ds[0], ds[1], ds[2], "", "reportName"));
+       map.put("classifys", classifyMaps);
+        // 为表格的显示绑定行循环
+        LoopRowTableRenderPolicy policy = new LoopRowTableRenderPolicy();
+        HtmlRenderPolicy htmlRenderPolicy = new HtmlRenderPolicy();
+        // 将bz设置为行循环绑定的数据源的key,即key是bz的value会在模板中的{{bz}}处进行解析
+        Configure configure = Configure.builder().bind("compareMessage", policy).bind("compareMessageVOS", policy).build();
+        XWPFTemplate template = XWPFTemplate.compile(filePath, configure).render(map);
         return template;
     }
 

+ 9 - 8
RMS/src/main/java/cn/cslg/report/service/business/ReportService.java

@@ -114,18 +114,19 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
         if (reportVO.getSignPatentNo() != null && reportVO.getSignPatentNo() != "") {
             queryWrapper.like(Report::getSignPatentNo, reportVO.getSignPatentNo());
         }
-        queryWrapper.and(QueryWrapper -> {
-            QueryWrapper.eq(Report::getCreatePersonId, loginUtils.getId())
-                    .or().eq(Report::getPersonId, loginUtils.getId());
-        });
-        queryWrapper.orderByDesc(Report::getId);
         //分页
         if (reportVO.getSize() != null && reportVO.getCurrent() != null) {
+            queryWrapper.and(QueryWrapper -> {
+                QueryWrapper.eq(Report::getCreatePersonId, loginUtils.getId())
+                        .or().eq(Report::getPersonId, loginUtils.getId());
+            });
+            queryWrapper.orderByDesc(Report::getId);
             List<Report> reports = this.page(new Page<>(reportVO.getCurrent(), reportVO.getSize()), queryWrapper).getRecords();
             reports = this.reportData(reports);
             long count = this.count(queryWrapper);
             return Response.success(reports, DataUtils.setPageColumn(reportVO.getSize(), reportVO.getCurrent(), Math.toIntExact(count)));
         } else {
+            queryWrapper.orderByDesc(Report::getId);
             List<Report> reports = this.list(queryWrapper);
             reports = this.reportData(reports);
             return Response.success(reports);
@@ -146,7 +147,7 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
         //提出部门Id
         List<Integer> departIds = reports.stream().map(Report::getDepartmentId).collect(Collectors.toList());
         //提出人员Id
-        List<Integer> personIds = reports.stream().map(Report::getDepartmentId).collect(Collectors.toList());
+        List<Integer> personIds = reports.stream().map(Report::getPersonId).collect(Collectors.toList());
         //提出创建人Id
         List<Integer> createIds = reports.stream().map(Report::getCreatePersonId).collect(Collectors.toList());
         personIds.addAll(createIds);
@@ -181,8 +182,8 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
         //过滤报告
         for(Report item :reports){
                     //装载创建人名和负责人名
-                    List<Personnel> mapCre = personnels.stream().filter(tem -> tem.getId().equals(item.getPersonId())).collect(Collectors.toList());
-                    List<Personnel> mapDuty = personnels.stream().filter(tem -> tem.getId().equals(item.getCreatePersonId())).collect(Collectors.toList());
+                    List<Personnel> mapCre = personnels.stream().filter(tem -> tem.getId().equals(item.getCreatePersonId())).collect(Collectors.toList());
+                    List<Personnel> mapDuty = personnels.stream().filter(tem -> tem.getId().equals(item.getPersonId())).collect(Collectors.toList());
                     if(mapDuty.size()!=0)
                     item.setPersonName(mapDuty.get(0).getPersonnelName());
                     if(mapCre.size()!=0)

+ 34 - 4
RMS/src/main/java/cn/cslg/report/service/business/TaskService.java

@@ -167,8 +167,8 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
                 List<Personnel> mapDuty = personnels.stream().filter(tem -> tem.getId().equals(item.getHandlePersonId())).collect(Collectors.toList());
                 if(mapCre.size()!=0)
                     item.setCreateName(mapCre.get(0).getPersonnelName());
-                if(mapDuty.size()!=0)
-                    item.setHandlePersonName(mapDuty.get(0).getPersonnelName());
+                if(mapDuty.size()!=0&&item.getHandlePersonName() ==null){
+                    item.setHandlePersonName(mapDuty.get(0).getPersonnelName());}
                 //装载部门名
 
             }
@@ -596,7 +596,7 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
      * @function 根据报告查看任务
      * @author :cj
      */
-    public String ReviewTheTasks(TaskTDO taskVO) {
+    public String ReviewTheTasks(TaskTDO taskVO) throws IOException {
         PersonnelVO personnelVO = cacheUtils.getLoginUser(StpUtil.getLoginIdAsInt());
         LambdaQueryWrapper<Task> lambdaQueryWrapper = new LambdaQueryWrapper<>();
         lambdaQueryWrapper.eq(Task::getReportId, taskVO.getReportId());
@@ -624,6 +624,7 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
 
             if (taskVO.getCurrent() != null && taskVO.getSize() != null) {
                 List<Task> records = this.page(new Page<>(taskVO.getCurrent(), taskVO.getSize()), lambdaQueryWrapper1).getRecords();
+                records =this.reTasks(records);
                 Long count = this.count(lambdaQueryWrapper1);
                 return Response.success(records, DataUtils.setPageColumn(taskVO.getSize(), taskVO.getCurrent(), Math.toIntExact(count)));
             }
@@ -636,6 +637,7 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
             if (taskVO.getCurrent() != null && taskVO.getSize() != null) {
                 //分页
                 List<Task> records = this.page(new Page<>(taskVO.getCurrent(), taskVO.getSize()), lambdaQueryWrapper1).getRecords();
+                records =this.reTasks(records);
                 Long count = this.count(lambdaQueryWrapper1);
                 return Response.success(records, DataUtils.setPageColumn(taskVO.getSize(), taskVO.getCurrent(), Math.toIntExact(count)));
 
@@ -645,6 +647,33 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
 
     }
 
+    public List<Task> reTasks(List<Task>  tasks) throws IOException {
+        if(tasks.size()!=0){
+            //创建人Id
+            List<Integer> createIds = tasks.stream().map(Task::getCreateID).collect(Collectors.toList());
+            //处理人Id
+            List<Integer> handleIds = tasks.stream().map(Task::getHandlePersonId).collect(Collectors.toList());
+            createIds.addAll(handleIds);
+            String res1 = outInterfaceService.getPersonnelByIdsFromPCS(createIds);
+            JSONObject jsonObject1 = JSONObject.parseObject(res1);
+            //解析jason获得标的专利的权要
+            List<Personnel> personnels = JSON.parseArray(jsonObject1.getString("data"), Personnel.class);
+
+            for(Task item :tasks){
+                //装载创建人名和负责人名
+                List<Personnel> mapCre = personnels.stream().filter(tem -> tem.getId().equals(item.getCreateID())).collect(Collectors.toList());
+                List<Personnel> mapDuty = personnels.stream().filter(tem -> tem.getId().equals(item.getHandlePersonId())).collect(Collectors.toList());
+                if(mapCre.size()!=0)
+                    item.setCreateName(mapCre.get(0).getPersonnelName());
+                if(mapDuty.size()!=0&&item.getHandlePersonName() ==null){
+                    item.setHandlePersonName(mapDuty.get(0).getPersonnelName());}
+                //装载部门名
+
+            }
+        }
+        return tasks;
+    }
+
     /**
      * @param : 任务的id 专利号
      * @function :点击自定义字段变成已读
@@ -674,6 +703,7 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
 
     @Transactional(rollbackFor = Exception.class)
     public String addSyneryTask(SyneryVO syneryVO) throws ParseException, IOException {
+        Report report =reportService.getById(syneryVO.getReportId());
         PatentVO patentVO = new PatentVO();
       List<Synery_CC> synery_ccs= syneryVO.getSyneryCCList();
         if (syneryVO.getPatentVO() != null) {
@@ -749,7 +779,7 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
             map.put("email", personnels.get(0).getPersonnelEmail());
             map.put("img", "\\src\\main\\resources\\mail\\logo.png");
             map.put("value2", syneryCode.getCode());
-            map.put("value3", "http://localhost:8086/identificationCode");
+            map.put("value3", "http://localhost:8086/Incomplete?taskId="+task.getId()+"&reportId="+task.getReportId()+"&type=1"+"&reportType="+report.getType());
             mailUtils.sendEmailMessage(map);
         }
       else{

BIN
RMS/target/classes/cn/cslg/report/common/model/vo/CompareMessageVO.class


BIN
RMS/target/classes/cn/cslg/report/controller/TaskController.class


BIN
RMS/target/classes/cn/cslg/report/service/business/CompareMessageService.class


BIN
RMS/target/classes/cn/cslg/report/service/business/ReportDocumentService.class


BIN
RMS/target/classes/cn/cslg/report/service/business/ReportService.class


BIN
RMS/target/classes/cn/cslg/report/service/business/TaskService.class


BIN
RMS/target/classes/cn/cslg/report/service/impl/AssoProductFileServiceImpl.class


BIN
RMS/target/file/FTOTemplate1.docx