lwhhszx 2 years ago
parent
commit
1b7dbd6d5d

+ 35 - 0
RMS/src/main/java/cn/cslg/report/common/model/dto/PasUserDTO.java

@@ -0,0 +1,35 @@
+package cn.cslg.report.common.model.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class PasUserDTO {
+    /**
+     * 每页条数
+     */
+    private Long size;
+
+    /**
+     * 当前页数
+     */
+    private Long current;
+
+    /**
+     * 数据总数
+     */
+    private Long total;
+    /**
+     * Front:姓名
+     * Back:人员名称
+     */
+    private String name;
+    /**
+     * Front:账号
+     * Back:人员账号
+     */
+    private String username;
+
+     private List<Integer> userIds;
+}

+ 28 - 0
RMS/src/main/java/cn/cslg/report/common/model/dto/ShareReportDTO.java

@@ -0,0 +1,28 @@
+package cn.cslg.report.common.model.dto;
+
+import cn.cslg.report.common.model.BaseVO;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ShareReportDTO{
+private Integer reportId;
+private List<Integer> personIds;
+private String personName;
+private String userName;
+    /**
+     * 每页条数
+     */
+    private Long size;
+
+    /**
+     * 当前页数
+     */
+    private Long current;
+
+    /**
+     * 数据总数
+     */
+    private Long total;
+}

+ 54 - 0
RMS/src/main/java/cn/cslg/report/controller/AssoReportPersonController.java

@@ -0,0 +1,54 @@
+package cn.cslg.report.controller;
+
+import cn.cslg.report.common.core.base.Constants;
+import cn.cslg.report.common.model.dto.AvoidDesignDirectionDTO;
+import cn.cslg.report.common.model.dto.ShareReportDTO;
+import cn.cslg.report.common.model.vo.AvoidDesignWholeVO;
+import cn.cslg.report.common.utils.Response;
+import cn.cslg.report.exception.XiaoShiException;
+import cn.cslg.report.service.IAvoidDesignDirectionService;
+import cn.cslg.report.service.business.asso.AssoReportPersonService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.IOException;
+
+/**
+ * 报告分享管理的Controller层
+ *
+ * @Author lrj
+ * @Data 2023/4/1
+ */
+@Tag(name = "报告分享管理")
+@Slf4j
+@RequiredArgsConstructor
+@RestController
+@RequestMapping(Constants.REPORT_API + "/shareReport")
+public class AssoReportPersonController {
+    private final AssoReportPersonService assoReportPersonService;
+
+    @Operation(summary = "添加分享人")
+    @PostMapping("/add")
+    public String add(@RequestBody ShareReportDTO shareReportDTO) {
+     Integer flag =   assoReportPersonService.shareReport(shareReportDTO);
+        return Response.success(flag);
+    }
+
+    @Operation(summary = "删除分享人")
+    @PostMapping("/remove")
+    public String remove(@RequestBody ShareReportDTO shareReportDTO) {
+assoReportPersonService.removeShare(shareReportDTO);
+        return Response.success();
+    }
+
+    @Operation(summary = "展示分享人")
+    @PostMapping("/showShare")
+    public String showShare(@RequestBody ShareReportDTO shareReportDTO) throws IOException {
+
+        return Response.success(assoReportPersonService.showShare(shareReportDTO));
+    }
+
+}

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

@@ -89,11 +89,11 @@ public class TaskController {
 
     @RequestMapping(value = "/import", method = RequestMethod.POST)
     @Operation(summary = "导入")
-    public String importPatent(MultipartFile file, Integer reportId) throws ParseException, IOException {
+    public String importPatent(MultipartFile file, Integer reportId,Boolean asCompare) throws ParseException, IOException {
         ImportTask importTask =baseService.getImportPatentTaskParamsBro(file, reportId);
-            baseService.uploadToPCS(importTask);
+            baseService.uploadToPCS(importTask,asCompare);
         //解析file装载数据
-        return Response.success(importTask );
+        return Response.success(importTask);
     }
 
     @RequestMapping(value = "/import/delete", method = RequestMethod.GET)

+ 19 - 1
RMS/src/main/java/cn/cslg/report/entity/Report.java

@@ -18,7 +18,7 @@ import java.util.List;
 @NoArgsConstructor
 @AllArgsConstructor
 @Builder(toBuilder = true)
-public class Report extends BaseEntity<Report> {
+public class  Report extends BaseEntity<Report> {
     /**
      * 标的专利/产品号
      */
@@ -183,6 +183,21 @@ public class Report extends BaseEntity<Report> {
     private String remark;
 
     /**
+     * 结论id
+     */
+    @Schema(description = "结论id")
+    @TableField(value = "CONCLUSION_ID")
+    private String conclusionId;
+
+
+    /**
+     * 核心结论
+     */
+    @Schema(description = "核心结论")
+    @TableField(value = "CRON_CONCLUSION")
+    private String cronConclusion;
+
+    /**
      * 文件
      */
     @TableField(exist = false)
@@ -195,4 +210,7 @@ public class Report extends BaseEntity<Report> {
 
     @TableField(exist = false)
     private List<String> scenarioNames;
+
+    @TableField(exist = false)
+    private List<Integer> conclusionIds                                         ;
 }

+ 31 - 0
RMS/src/main/java/cn/cslg/report/entity/asso/AssoReportPerson.java

@@ -0,0 +1,31 @@
+package cn.cslg.report.entity.asso;
+
+import cn.cslg.report.common.model.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * 对比方案与对比记录关联表
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = true)
+@TableName(value = "ASSO_REPORT_PERSON")
+public class AssoReportPerson extends BaseEntity<AssoReportPerson> {
+
+    @Schema(description = "报告ID")
+    @TableField(value = "REPORT_ID")
+    private Integer reportId;
+
+    @Schema(description = "文件类型")
+    @TableField(value = "PERSON_ID")
+    private Integer personId;
+
+
+
+
+}

+ 12 - 0
RMS/src/main/java/cn/cslg/report/mapper/AssoReportPersonMapper.java

@@ -0,0 +1,12 @@
+package cn.cslg.report.mapper;
+
+
+import cn.cslg.report.entity.asso.AssoInvalidRecordFile;
+import cn.cslg.report.entity.asso.AssoReportPerson;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface AssoReportPersonMapper extends BaseMapper<AssoReportPerson> {
+
+}

+ 78 - 66
RMS/src/main/java/cn/cslg/report/service/BaseService.java

@@ -9,6 +9,7 @@ import cn.cslg.report.common.model.vo.PersonnelVO;
 import cn.cslg.report.common.model.vo.TaskParams;
 import cn.cslg.report.common.utils.*;
 import cn.cslg.report.common.utils.SecurityUtils.LoginUtils;
+import cn.cslg.report.entity.CompareFiles;
 import cn.cslg.report.entity.ImportTask;
 import cn.cslg.report.entity.Task;
 import cn.cslg.report.service.business.ImportTaskService;
@@ -46,6 +47,7 @@ public class BaseService {
     private final LoginUtils loginUtils;
     private final CacheUtils cacheUtils;
     private final ImportTaskService importTaskService;
+
     /**
      * @return 1.生成验证码的base64转码 2.生成的UUID 与Redis里面的验证码KEY值一致
      * @title 获取验证码
@@ -161,8 +163,7 @@ public class BaseService {
         try {
             String resBody = outInterfaceService.getPartDepartmentFromPCS();
             return resBody;
-        }
-        catch (Exception ex) {
+        } catch (Exception ex) {
             ex.printStackTrace();
             log.error("权限系统获取部门列表失败,错误信息:" + LogExceptionUtil.getMessage(ex));
             return Response.error(Constants.NET_ERROR);
@@ -201,6 +202,7 @@ public class BaseService {
             return Response.error(Constants.NET_ERROR);
         }
     }
+
     public String getPartPersonnelID(Integer id) {
         try {
             String resBody = outInterfaceService.getPartPersonnelID(id);
@@ -253,11 +255,11 @@ public class BaseService {
      * @author lrj
      */
     //获得
-    public ImportTask getImportPatentTaskParamsBro(MultipartFile file,Integer reportId) throws IOException {
-        Integer type =0;
-        if(reportId==null){
-            reportId =0;
-            type=1;
+    public ImportTask getImportPatentTaskParamsBro(MultipartFile file, Integer reportId) throws IOException {
+        Integer type = 0;
+        if (reportId == null) {
+            reportId = 0;
+            type = 1;
         }
         //上传文档
         UploadFileDTO fileDTO = fileUtils.uploadFile(file);
@@ -270,14 +272,14 @@ public class BaseService {
         // excel类型
         if (fileName.endsWith(".xls")) {
             workbook = new HSSFWorkbook(fileInputStream);
-        } else if (fileName.endsWith(".xlsx")||fileName.endsWith(".XLSX")) {
+        } else if (fileName.endsWith(".xlsx") || fileName.endsWith(".XLSX")) {
             workbook = new XSSFWorkbook(fileInputStream);
         }
         Sheet sheet1 = workbook.getSheetAt(0); // excel文件的工作簿的名称
         // 不作处理时获取的行数
         int total = sheet1.getLastRowNum();
-        PersonnelVO personnelVO =cacheUtils.getLoginUser(loginUtils.getId());
-        ImportTask importTask =new ImportTask();
+        PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
+        ImportTask importTask = new ImportTask();
         importTask.setImportCount(total);
         importTask.setReportId(reportId);
         importTask.setState(0);
@@ -292,65 +294,75 @@ public class BaseService {
 
 
     @Async()
-    public void uploadToPCS(ImportTask importTask){
-        Integer total =importTask.getImportCount();
-        List<List<Object>> fileHead =new ArrayList<>();
+    public void uploadToPCS(ImportTask importTask, Boolean asCompare) {
+        Integer total = importTask.getImportCount();
+        List<List<Object>> fileHead = new ArrayList<>();
         //解析excel文件并保存进map里
-        ExcelUtil.readBySax(fileUtils.getSystemPath()+importTask.getFilePath(), -1, (sheetIndex, rowIndex, row) ->
-                { if(rowIndex==0)
-                { fileHead.add(row);}
-                else {
-                    Integer i = Math.toIntExact(rowIndex-1);
-                    List<Map<Object, Object>> mapList = new ArrayList<>();
-                    mapList.add(IterUtil.toMap(fileHead.get(0),row));
-                    TaskParams taskParams = new TaskParams();
-                    taskParams.setPath(fileUtils.getSystemPath()+importTask.getFilePath());
-                    taskParams.setTaskType(1);
-                    taskParams.setOldName(importTask.getTaskName());
-                    taskParams.setTotal(importTask.getImportCount());
-                    taskParams.setTaskId(importTask.getId());
-                    taskParams.setRowList(mapList);
-                    taskParams.setUserId(String.valueOf(importTask.getCreateUserId()));
-                    taskParams.setIndex((int) rowIndex);
-                    try {
-                    String res =     outInterfaceService.importPatents(taskParams);
-                    JSONObject jsonObject =JSONObject.parseObject(res);
-                    if(jsonObject.get("code").toString().equals("0")){
-                        importTask.setState(3);
-                        importTask.updateById();
-                        WebSocketServer.sendInfo(Response.error("部分数据上传成功" + "\n" + "成功条数:" + i + "失败条数:" + (total-i)),taskParams.getUserId());
-                        throw new PermissionException("上传失败");
-                    }
-                        if((int) rowIndex==taskParams.getTotal())
-                        {
-                            importTask.setState(1);
-                            SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        ExcelUtil.readBySax(fileUtils.getSystemPath() + importTask.getFilePath(), -1, (sheetIndex, rowIndex, row) ->
+                {
+                    if (rowIndex == 0) {
+                        fileHead.add(row);
+                    } else {
+                        Integer i = Math.toIntExact(rowIndex - 1);
+                        List<Map<Object, Object>> mapList = new ArrayList<>();
+                        mapList.add(IterUtil.toMap(fileHead.get(0), row));
+                        TaskParams taskParams = new TaskParams();
+                        taskParams.setPath(fileUtils.getSystemPath() + importTask.getFilePath());
+                        taskParams.setTaskType(1);
+                        taskParams.setOldName(importTask.getTaskName());
+                        taskParams.setTotal(importTask.getImportCount());
+                        taskParams.setTaskId(importTask.getId());
+                        taskParams.setRowList(mapList);
+                        taskParams.setUserId(String.valueOf(importTask.getCreateUserId()));
+                        taskParams.setIndex((int) rowIndex);
+                        try {
+                            String res = outInterfaceService.importPatents(taskParams);
+                            JSONObject jsonObject = JSONObject.parseObject(res);
+                            if (jsonObject.get("code").toString().equals("0")) {
+                                importTask.setState(3);
+                                importTask.updateById();
+                                WebSocketServer.sendInfo(Response.error("部分数据上传成功" + "\n" + "成功条数:" + i + "失败条数:" + (total - i)), taskParams.getUserId());
+                                throw new PermissionException("上传失败");
+                            }
+                            //判断是否直接作为对比文件
+                            if (asCompare) {
+                                if (jsonObject.get("code").toString().equals("200")) {
+                                    CompareFiles compareFiles =new CompareFiles();
+                                    compareFiles.setReportId(importTask.getReportId());
+                                    compareFiles.setPatentNo(jsonObject.get("data").toString());
+                                    compareFiles.insert();
 
-                            Date date = new Date(System.currentTimeMillis());
-                            importTask.setFinishTime(formatter.parse(formatter.format(date)));
+                                }
+                            }
+                            if ((int) rowIndex == taskParams.getTotal()) {
+                                importTask.setState(1);
+                                SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+                                Date date = new Date(System.currentTimeMillis());
+                                importTask.setFinishTime(formatter.parse(formatter.format(date)));
+                                importTask.updateById();
+                            }
+
+                            //通过WebSocket 在每一次循环结束后 向前端发送完成进度
+                            WebSocketServer.sendInfo(Response.websocket(new TaskWebSocketDTO()
+                                    .setTaskId(taskParams.getTaskId())
+                                    .setComplete(false)
+                                    .setIndex((int) rowIndex)
+                                    .setTaskType(Constants.TASK_IMPORT_PATENT)
+                                    .setPercentage(total == 0 ? 0 : Math.round((total.equals(i) ? (i * 1D) : (i + 1D)) / total * 100D))
+                                    .setFileName("")
+                                    .setOldName(taskParams.getOldName())
+                                    .setUrl("")
+                                    .setTotal(total), ResponseEnum.PATENT_IMPORT_TASK_SUCCESS), taskParams.getUserId());
+                        } catch (IOException | ParseException e) {
+                            importTask.setState(3);
                             importTask.updateById();
+                            e.printStackTrace();
+                            WebSocketServer.sendInfo(Response.error("部分数据上传成功" + "\n" + "成功条数:" + i + "失败条数:" + (total - i)), taskParams.getUserId());
+                            return;
                         }
-
-                        //通过WebSocket 在每一次循环结束后 向前端发送完成进度
-                        WebSocketServer.sendInfo(Response.websocket(new TaskWebSocketDTO()
-                                .setTaskId(taskParams.getTaskId())
-                                .setComplete(false)
-                                .setIndex((int) rowIndex)
-                                .setTaskType(Constants.TASK_IMPORT_PATENT)
-                                .setPercentage(total == 0 ? 0 : Math.round((total.equals(i) ? (i * 1D) : (i + 1D)) / total * 100D))
-                                .setFileName("")
-                                .setOldName(taskParams.getOldName())
-                                .setUrl("")
-                                .setTotal(total), ResponseEnum.PATENT_IMPORT_TASK_SUCCESS), taskParams.getUserId());
-                    } catch (IOException | ParseException e) {
-                        importTask.setState(3);
-                        importTask.updateById();
-                        e.printStackTrace();
-                        WebSocketServer.sendInfo(Response.error("部分数据上传成功" + "\n" + "成功条数:" + i + "失败条数:" + (total-i)),taskParams.getUserId());
-                        return;
                     }
                 }
-                }
         );
         WebSocketServer.sendInfo(Response.websocket(new TaskWebSocketDTO()
                 .setTaskId(importTask.getId())
@@ -362,9 +374,9 @@ public class BaseService {
                 .setOldName(importTask.getTaskName())
                 .setUrl("")
                 .setTotal(total), ResponseEnum.PATENT_IMPORT_TASK_SUCCESS), String.valueOf(importTask.getCreateUserId()));
-     ImportTask importTask1 =   importTaskService.getById(importTask.getId());
-     importTask1.setState(2);
-     importTask1.updateById();
+        ImportTask importTask1 = importTaskService.getById(importTask.getId());
+        importTask1.setState(2);
+        importTask1.updateById();
 
     }
 

+ 18 - 0
RMS/src/main/java/cn/cslg/report/service/OutInterfaceService.java

@@ -3,6 +3,7 @@ package cn.cslg.report.service;
 import cn.cslg.report.common.core.base.Constants;
 import cn.cslg.report.common.model.PASPatentVO;
 import cn.cslg.report.common.model.ProjectSourceVO;
+import cn.cslg.report.common.model.dto.PasUserDTO;
 import cn.cslg.report.common.model.vo.*;
 import cn.cslg.report.common.utils.CacheUtils;
 import cn.cslg.report.common.utils.JsonUtils;
@@ -568,4 +569,21 @@ String resBody =okHttpClient.newCall(request).execute().body().string();
 
     }
 
+    /**
+     * @title 获得专题库成员列表
+     * @description 获得专题库成员列表
+     * @autor lrj
+     */
+
+    public String getPASAssignedUser(PasUserDTO params) throws IOException {
+        OkHttpClient okHttpClient = new OkHttpClient();
+        String param = new Gson().toJson(params);
+        RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), param);
+        Request request = new Request.Builder()
+                .url(PCSUrl + "/permission/api/system/getPASAssignedUser")
+                .post(requestBody)
+                .build();
+        return Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).string();
+    }
+
 }

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

@@ -75,7 +75,6 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
      */
     @Transactional(rollbackFor = Exception.class)
     public Integer addReport(Report report, List<MultipartFile> files) {
-        try {
             report.getScenarioList();
             report.setScenarioId(StringUtils.join(report.getScenarioList(), ","));
             if (report.getAssociateReportId() != null) {
@@ -87,9 +86,15 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
             PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
             report.setCreatePersonId(personnelVO.getId());
             //如果报告类型是4(侵权分析报告)或 5(规避设计报告)则将状态设为2(处理中)
-            if (!report.getStatus().equals(0) && (report.getType().equals(4) || report.getType().equals(5))) {
+            if (!report.getStatus().equals(0) &&!report.getStatus().equals(2)&& (report.getType().equals(4) || report.getType().equals(5))) {
                 report.setStatus(2);
             }
+            else  if(report.getStatus().equals(1))
+            {     report.getConclusionIds();
+                report.setConclusionId(StringUtils.join(report.getConclusionIds(), ","));
+                report.setStatus(1);
+            }
+
             boolean addFlag = this.save(report);
 
             if (files != null && files.size() != 0) {
@@ -104,17 +109,7 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
             } else {
                 return 0;
             }
-        } catch (Exception e) {
-            e.printStackTrace();
-            log.error("新增报告异常,异常信息:" + LogExceptionUtil.getMessage(e));
-            log.info("新增报告功能异常,开始回滚! 时间: " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
-            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            log.info("回滚完毕! 时间: " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
-            return -1;
-        } finally {
-            // TODO: 2022/11/4 这个Finally可以引入表日志记录 或者做点别的什么 也可以删掉
-            System.out.println("报告新增结束");
-        }
+
     }
 
     //    @Transactional(rollbackFor = Exception.class)

+ 108 - 0
RMS/src/main/java/cn/cslg/report/service/business/asso/AssoReportPersonService.java

@@ -0,0 +1,108 @@
+package cn.cslg.report.service.business.asso;
+
+import cn.cslg.report.common.model.dto.PasUserDTO;
+import cn.cslg.report.common.model.dto.ShareReportDTO;
+import cn.cslg.report.entity.AssoComapareFiel;
+import cn.cslg.report.entity.asso.AssoReportPerson;
+import cn.cslg.report.mapper.AssoComapareFielMapper;
+import cn.cslg.report.mapper.AssoReportPersonMapper;
+import cn.cslg.report.service.OutInterfaceService;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import io.swagger.v3.oas.models.security.SecurityScheme;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.poi.ss.formula.functions.T;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.function.Function;
+
+@SuppressWarnings({"all"})
+@Service
+@Slf4j
+@RequiredArgsConstructor(onConstructor_ = {@Lazy})
+public class AssoReportPersonService extends ServiceImpl<AssoReportPersonMapper, AssoReportPerson> {
+    private final OutInterfaceService outInterfaceService;
+    /**
+     * 分享报告
+     *
+     * @param comapareFiel
+     * @throws IOException
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public Integer shareReport(ShareReportDTO shareReportDTO)  {
+        int flag = 0;
+        List<Integer> ids = shareReportDTO.getPersonIds();
+        Integer reportId = shareReportDTO.getReportId();
+        if (reportId != null && ids != null && ids.size() != 0) {
+            //循环添加
+            for (Integer id : ids) {
+                AssoReportPerson assoReportPerson = new AssoReportPerson();
+                assoReportPerson.setReportId(reportId);
+                assoReportPerson.setPersonId(id);
+                assoReportPerson.insert();
+                flag++;
+            }
+        }
+        return flag;
+    }
+
+    /**
+     * 移除分享
+     *
+     * @param assoComapareFiel
+     * @throws IOException
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public void removeShare(ShareReportDTO shareReportDTO){
+        if (shareReportDTO.getReportId() != null) {
+            LambdaQueryWrapper<AssoReportPerson> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(AssoReportPerson::getReportId, shareReportDTO.getReportId());
+            if (shareReportDTO.getPersonIds() != null && shareReportDTO.getPersonIds().size() != 0) {
+                wrapper.in(AssoReportPerson::getPersonId,shareReportDTO.getPersonIds());
+            }
+        }
+    }
+
+    /**
+     * 移除分享
+     *
+     * @param assoComapareFiel
+     * @throws IOException
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public Object showShare(ShareReportDTO shareReportDTO) throws IOException {
+        //根据报告id查询人员id
+        LambdaQueryWrapper<AssoReportPerson> wrapper =new LambdaQueryWrapper<>();
+        wrapper.select(AssoReportPerson::getPersonId);
+        wrapper.eq(AssoReportPerson::getReportId,shareReportDTO.getReportId());
+        Function<Object,Integer> f = (o -> Integer.parseInt(o.toString())) ;
+        List<Integer> userIds =this.listObjs(wrapper,f);
+        IPage<T> iPage =new Page();
+        if(userIds==null||userIds.size()==0){
+            iPage.setCurrent(shareReportDTO.getCurrent());
+               iPage.setSize(shareReportDTO.getSize());
+               iPage.setTotal(0);
+            return JSONObject.toJSON(iPage);
+        }
+        PasUserDTO pasUserDTO =new PasUserDTO();
+        pasUserDTO.setUserIds(userIds);
+        pasUserDTO.setUsername(shareReportDTO.getUserName());
+        pasUserDTO.setName(shareReportDTO.getPersonName());
+        pasUserDTO.setCurrent(shareReportDTO.getCurrent());
+        pasUserDTO.setSize(shareReportDTO.getSize());
+        String res = outInterfaceService.getPASAssignedUser(pasUserDTO);
+           return JSONObject.toJSON(res);
+    }
+
+
+}