|
@@ -13,6 +13,7 @@ import cn.cslg.pas.common.model.request.StringRequest;
|
|
|
import cn.cslg.pas.common.utils.CacheUtils;
|
|
|
import cn.cslg.pas.common.utils.LoginUtils;
|
|
|
import cn.cslg.pas.common.vo.DepartmentVO;
|
|
|
+import cn.cslg.pas.common.vo.PatentWithIdVO;
|
|
|
import cn.cslg.pas.common.vo.business.*;
|
|
|
import cn.cslg.pas.domain.business.*;
|
|
|
import cn.cslg.pas.exception.UnLoginException;
|
|
@@ -24,6 +25,7 @@ import cn.cslg.pas.mapper.AssoProjectEventMapper;
|
|
|
import cn.cslg.pas.mapper.EventMapper;
|
|
|
import cn.cslg.pas.mapper.PatentProjectMapper;
|
|
|
import cn.cslg.pas.mapper.ReportProjectMapper;
|
|
|
+import cn.cslg.pas.service.business.es.EsService;
|
|
|
import cn.cslg.pas.service.common.FileManagerService;
|
|
|
import cn.cslg.pas.service.permissions.PermissionService;
|
|
|
import cn.cslg.pas.service.query.FormatQueryService;
|
|
@@ -97,6 +99,8 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
|
|
|
|
|
|
@Autowired
|
|
|
private ScenarioService scenarioService;
|
|
|
+ @Autowired
|
|
|
+ private EsService esService;
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@@ -127,35 +131,43 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Object deleteMessage(List<Integer> ids) throws IOException {
|
|
|
+
|
|
|
//后续事项
|
|
|
LambdaQueryWrapper<FollowUp> followUpWrapper = new LambdaQueryWrapper<>();
|
|
|
followUpWrapper.in(FollowUp::getProjectId, ids);
|
|
|
followUpService.remove(followUpWrapper);
|
|
|
+
|
|
|
//事件
|
|
|
LambdaQueryWrapper<AssoProjectEvent> eventWrapper = new LambdaQueryWrapper<>();
|
|
|
eventWrapper.in(AssoProjectEvent::getProjectId, ids);
|
|
|
assoProjectEventService.remove(eventWrapper);
|
|
|
+
|
|
|
//附件
|
|
|
LambdaQueryWrapper<AssoProjectFile> fileWrapper = new LambdaQueryWrapper<>();
|
|
|
fileWrapper.in(AssoProjectFile::getProjectId, ids);
|
|
|
assoProjectFileService.remove(fileWrapper);
|
|
|
+
|
|
|
//核心结论
|
|
|
LambdaQueryWrapper<AssoReportCron> reportCronWrapper = new LambdaQueryWrapper<>();
|
|
|
reportCronWrapper.in(AssoReportCron::getProjectId, ids);
|
|
|
assoReportCronService.remove(reportCronWrapper);
|
|
|
+
|
|
|
//和报告关联
|
|
|
LambdaQueryWrapper<AssoProject> assoReportWrapper = new LambdaQueryWrapper<>();
|
|
|
assoReportWrapper.in(AssoProject::getProjectId, ids);
|
|
|
assoReportWrapper.eq(AssoProject::getProjectType, 2);
|
|
|
assoReportWrapper.eq(AssoProject::getAssoProjectType, 2);
|
|
|
assoProjectService.remove(assoReportWrapper);
|
|
|
+
|
|
|
//report
|
|
|
LambdaQueryWrapper<ReportProject> reportProjectWrapper = new LambdaQueryWrapper<>();
|
|
|
reportProjectWrapper.in(ReportProject::getProjectId, ids);
|
|
|
this.remove(reportProjectWrapper);
|
|
|
+
|
|
|
//project
|
|
|
projectService.removeBatchByIds(ids);
|
|
|
return ids;
|
|
@@ -250,19 +262,23 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
|
|
|
project.setTenantId(personnelVO.getTenantId());
|
|
|
//TODO 当委托方id或者委托方名称不为空时,
|
|
|
if (reportProjectDTO.getEntrustId() != null || reportProjectDTO.getEntrustName() != null) {
|
|
|
+
|
|
|
//根据创建人的租户类型设置project的委托类型
|
|
|
if (personnelVO.getTenantType().equals("1")) {
|
|
|
project.setEntrustType(1);
|
|
|
+
|
|
|
//当委托方id不为空时
|
|
|
if (reportProjectDTO.getEntrustId() != null) {
|
|
|
project.setEntrustId(reportProjectDTO.getEntrustId());
|
|
|
}
|
|
|
+
|
|
|
//若且租户类型为代理机构,并且委托方id为空,委托方名称不为空时,新增委托方
|
|
|
else {
|
|
|
if (reportProjectDTO.getEntrustName() != null && reportProjectDTO.getEntrustName().trim() != "") {
|
|
|
ClientDTO clientDTO = new ClientDTO();
|
|
|
clientDTO.setName(reportProjectDTO.getEntrustName());
|
|
|
clientDTO.setTenantId(personnelVO.getTenantId());
|
|
|
+
|
|
|
try {
|
|
|
String res = permissionService.addClient(clientDTO);
|
|
|
JSONObject jsonObject = JSONObject.parseObject(res);
|
|
@@ -274,6 +290,7 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
} else {
|
|
|
if (reportProjectDTO.getEntrustId() != null) {
|
|
|
project.setEntrustType(0);
|
|
@@ -295,11 +312,23 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
|
|
|
assoProject.insert();
|
|
|
}
|
|
|
|
|
|
+
|
|
|
/**
|
|
|
* 装载reportProject
|
|
|
*/
|
|
|
ReportProject reportProject = new ReportProject();
|
|
|
BeanUtils.copyProperties(reportProjectDTO, reportProject);
|
|
|
+ if (reportProject.getSignPatentNo() != null) {
|
|
|
+ try {
|
|
|
+ PatentWithIdVO patentWithIdVO = esService.getIdByPatentNo(reportProject.getSignPatentNo());
|
|
|
+ if (patentWithIdVO != null && patentWithIdVO.getPatent() != null) {
|
|
|
+ reportProject.setPatentType(reportProject.getPatentType());
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new XiaoShiException("未查询到标的专利");
|
|
|
+ }
|
|
|
+ //根据专利号查询专利
|
|
|
+ }
|
|
|
reportProject.setProjectId(project.getId());
|
|
|
//根据是否直接完成设置报告的状态
|
|
|
if (reportProjectDTO.getIfFinish() == null) {
|
|
@@ -825,16 +854,16 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
|
|
|
//更新是否有第二次更新
|
|
|
public Boolean updateIfSecondInvalid(UpdateIfSecondInvalidDTO dto) {
|
|
|
Integer projectId = dto.getProjectId();
|
|
|
- Boolean ifSecondInvalid =dto.getIfSecondInvalid();
|
|
|
- if(ifSecondInvalid==null){
|
|
|
+ Boolean ifSecondInvalid = dto.getIfSecondInvalid();
|
|
|
+ if (ifSecondInvalid == null) {
|
|
|
throw new XiaoShiException("");
|
|
|
}
|
|
|
//根据 项目id查询报告
|
|
|
- LambdaQueryWrapper<ReportProject> queryWrapper =new LambdaQueryWrapper<>();
|
|
|
- queryWrapper.eq(ReportProject::getProjectId,projectId);
|
|
|
- ReportProject reportProject =this.getOne(queryWrapper);
|
|
|
- if(reportProject==null){
|
|
|
- throw new XiaoShiException("不存在报告");
|
|
|
+ LambdaQueryWrapper<ReportProject> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(ReportProject::getProjectId, projectId);
|
|
|
+ ReportProject reportProject = this.getOne(queryWrapper);
|
|
|
+ if (reportProject == null) {
|
|
|
+ throw new XiaoShiException("不存在报告");
|
|
|
}
|
|
|
|
|
|
reportProject.setIfSecondInvalid(dto.getIfSecondInvalid());
|