package cn.cslg.pas.service; import cn.cslg.pas.common.dto.business.ProjectEventDTO; import cn.cslg.pas.common.dto.business.ReportProjectDTO; import cn.cslg.pas.common.utils.Response; import cn.cslg.pas.common.vo.PatentWithIdVO; import cn.cslg.pas.controller.ReportProjectController; import cn.cslg.pas.domain.business.ReportProject; import cn.cslg.pas.domain.es.Patent; import cn.cslg.pas.domain.es.PatentPerson; import cn.cslg.pas.service.business.ReportProjectService; import cn.cslg.pas.service.business.es.EsService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.apache.commons.lang3.StringUtils; import org.apache.regexp.RE; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.web.multipart.MultipartFile; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; /** * @Author xiexiang * @Date 2023/11/6 */ @SpringBootTest @RunWith(SpringRunner.class) public class ReportProjectServiceTests { @Autowired private ReportProjectService reportProjectService; @Autowired private ReportProjectController reportProjectController; @Autowired private EsService esService; @Test public void addReportProject() throws Exception { // ReportProjectDTO reportProjectDTO = new ReportProjectDTO(); // reportProjectDTO.setName(""); // //委托类型1客户,2部门 // reportProjectDTO.setEntrustType(1); // //委托方id // reportProjectDTO.setEntrustId(); // //负责人id // reportProjectDTO.setHeadId(30); // //负责部门id // reportProjectDTO.setDepartmentId(null); // //项目类型(1专题库 2报告 3专利挖掘项目) // reportProjectDTO.setType(2); // //合同号 // reportProjectDTO.setContractNo("合同号"); // //内部卷号 // reportProjectDTO.setVolumeNumber("内部卷号"); // //委案日 // SimpleDateFormat sdf = new SimpleDateFormat(); // sdf.applyPattern("yyyy-MM-dd"); // String dateString = "2023-11-01"; // Date date = sdf.parse(dateString); // reportProjectDTO.setCommissionCaseDay(null); // //描述 // reportProjectDTO.setDescription(); // //标的专利号 // reportProjectDTO.setSignPatentNo(); // //标的产品号 // reportProjectDTO.setSignProjectId(); // //报告类型 // reportProjectDTO.setReportType(); // //报告状态 // reportProjectDTO.setStauts(); // //案件编号 // reportProjectDTO.setCaseNumber(); // //发文序号 // reportProjectDTO.setIssueNumber(); // //发明创造名称 // reportProjectDTO.setInventionName(); // //专利权人 // reportProjectDTO.setCurrentApplication(); // //无效宣告请求人 // reportProjectDTO.setInvalidApplication(); // //结论论述 // reportProjectDTO.setCronDescription(); // //事件集合 // List events = new ArrayList<>(); // ProjectEventDTO projectEventDTO = new ProjectEventDTO(); // //事件id // projectEventDTO.setEventId(); // //处理事项id // projectEventDTO.setMatterId(); // events.add(projectEventDTO); // reportProjectDTO.setEvents(events); // //文件guids // List guids = new ArrayList<>(); // reportProjectDTO.setFileGuids(guids); // //核心结论 // List cronIds = new ArrayList<>(); // reportProjectDTO.setCronIds(cronIds); // List files = new ArrayList<>(); // Response response = reportProjectController.addReportProject(reportProjectDTO, files); // Assert.assertEquals(200,Integer.parseInt(response.getCode().toString())); } @Test public void refleshReport() throws Exception { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(ReportProject::getReportType, 7); List reportProjects = reportProjectService.list(queryWrapper); reportProjects.forEach(item -> { String rightHolder = item.getRightHolder(); String patentNo = item.getSignPatentNo(); if (rightHolder == null) { PatentWithIdVO patentWithIdVO = null; try { patentWithIdVO = esService.getIdByPatentNo(patentNo); } catch (Exception e) { e.printStackTrace(); } if (patentWithIdVO == null) { item.setRightHolder(""); } else { Patent patent = patentWithIdVO.getPatent(); if (patent.getRightHolder() != null && patent.getRightHolder().size() > 0) { List rightHolders = patent.getRightHolder().stream().map(PatentPerson::getName).collect(Collectors.toList()); String holderString = StringUtils.join(rightHolders, ","); item.setRightHolder(holderString); } else { item.setRightHolder(""); } } item.updateById(); }}); } }