|
@@ -1,8 +1,6 @@
|
|
package cn.cslg.pas.service.business;
|
|
package cn.cslg.pas.service.business;
|
|
|
|
|
|
-import cn.cslg.pas.common.dto.business.EventDTO;
|
|
|
|
-import cn.cslg.pas.common.dto.business.PatentProjectDTO;
|
|
|
|
-import cn.cslg.pas.common.dto.business.UpdateEventDTO;
|
|
|
|
|
|
+import cn.cslg.pas.common.dto.business.*;
|
|
import cn.cslg.pas.common.model.cronModel.*;
|
|
import cn.cslg.pas.common.model.cronModel.*;
|
|
import cn.cslg.pas.common.model.request.GroupRequest;
|
|
import cn.cslg.pas.common.model.request.GroupRequest;
|
|
import cn.cslg.pas.common.model.request.QueryRequest;
|
|
import cn.cslg.pas.common.model.request.QueryRequest;
|
|
@@ -13,6 +11,7 @@ import cn.cslg.pas.common.vo.business.EventCountVO;
|
|
import cn.cslg.pas.common.vo.business.EventVO;
|
|
import cn.cslg.pas.common.vo.business.EventVO;
|
|
import cn.cslg.pas.domain.business.*;
|
|
import cn.cslg.pas.domain.business.*;
|
|
|
|
|
|
|
|
+import cn.cslg.pas.exception.UnLoginException;
|
|
import cn.cslg.pas.exception.XiaoShiException;
|
|
import cn.cslg.pas.exception.XiaoShiException;
|
|
import cn.cslg.pas.factorys.businessFactory.Business;
|
|
import cn.cslg.pas.factorys.businessFactory.Business;
|
|
import cn.cslg.pas.factorys.reGroupFactory.QueryGroupFactory;
|
|
import cn.cslg.pas.factorys.reGroupFactory.QueryGroupFactory;
|
|
@@ -78,6 +77,12 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
|
|
@Autowired
|
|
@Autowired
|
|
private AssoProjectEventService assoProjectEventService;
|
|
private AssoProjectEventService assoProjectEventService;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private AssoProjectTreeNodeService assoProjectTreeNodeService;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private AssoProjectFileService assoProjectFileService;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public Object queryMessage(QueryRequest queryRequest) throws Exception {
|
|
public Object queryMessage(QueryRequest queryRequest) throws Exception {
|
|
@@ -187,27 +192,105 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public Object addMessage(Object object) {
|
|
public Object addMessage(Object object) {
|
|
//TODO 校验参数
|
|
//TODO 校验参数
|
|
- //1 判断是否选择更新并且上传了cron表达式
|
|
|
|
- //2校验必传参数是否上传
|
|
|
|
-
|
|
|
|
- //装载project
|
|
|
|
PatentProjectDTO patentProjectDTO =(PatentProjectDTO)object;
|
|
PatentProjectDTO patentProjectDTO =(PatentProjectDTO)object;
|
|
|
|
+ //判断是否选择更新并且上传了cron表达式
|
|
|
|
+ if (patentProjectDTO.getIfUpdate() != false) {
|
|
|
|
+ if (patentProjectDTO.getCrons() == null && patentProjectDTO.getCrons().equals("")) {
|
|
|
|
+ throw new XiaoShiException("选择更新,则cron表达式不能为空!");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //校验必传参数是否上传
|
|
|
|
+ if (patentProjectDTO.getHeadId() == null) {
|
|
|
|
+ throw new XiaoShiException("负责人id不能为空");
|
|
|
|
+ }
|
|
|
|
+ //获取登陆人信息 用于设置创建人
|
|
|
|
+ PersonnelVO personnelVO = new PersonnelVO();
|
|
|
|
+ try {
|
|
|
|
+ personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ throw new UnLoginException("未登录");
|
|
|
|
+ }
|
|
|
|
+ /**
|
|
|
|
+ * 装载project
|
|
|
|
+ */
|
|
Project project = new Project();
|
|
Project project = new Project();
|
|
- BeanUtils.copyProperties(patentProjectDTO,project);
|
|
|
|
-
|
|
|
|
- //装载patentProject
|
|
|
|
- PatentProject patentProject=new PatentProject();
|
|
|
|
- BeanUtils.copyProperties(patentProjectDTO,patentProject);
|
|
|
|
-
|
|
|
|
- //装载事件与project关联
|
|
|
|
- AssoProjectEvent assoProjectEvent =new AssoProjectEvent();
|
|
|
|
-
|
|
|
|
- //装载树结构和project关联
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- //装载和附件关联
|
|
|
|
- AssoProjectFile assoProjectFile =new AssoProjectFile();
|
|
|
|
- return null;
|
|
|
|
|
|
+ BeanUtils.copyProperties(patentProjectDTO, project);
|
|
|
|
+ project.setCreateId(personnelVO.getId());
|
|
|
|
+ project.setTenantId(personnelVO.getTenantId());
|
|
|
|
+ project.insert();
|
|
|
|
+ /**
|
|
|
|
+ * 装载patentProject
|
|
|
|
+ */
|
|
|
|
+ PatentProject patentProject = new PatentProject();
|
|
|
|
+ BeanUtils.copyProperties(patentProjectDTO, patentProject);
|
|
|
|
+ patentProject.setProjectId(project.getId());
|
|
|
|
+ patentProject.insert();
|
|
|
|
+ /**
|
|
|
|
+ * 装载事件与project关联
|
|
|
|
+ */
|
|
|
|
+ List<AssoProjectEvent> assoProjectEvents = new ArrayList<>();
|
|
|
|
+
|
|
|
|
+ List<ProjectEventDTO> events = patentProjectDTO.getEvents();
|
|
|
|
+ if (events != null && events.size() != 0) {
|
|
|
|
+ //遍历传入的事件集合
|
|
|
|
+ for (ProjectEventDTO projectEventDTO : events) {
|
|
|
|
+ AssoProjectEvent assoProjectEvent = new AssoProjectEvent();
|
|
|
|
+ //事件id和处理事项id
|
|
|
|
+ BeanUtils.copyProperties(projectEventDTO, assoProjectEvent);
|
|
|
|
+ //项目id
|
|
|
|
+ assoProjectEvent.setProjectId(project.getId());
|
|
|
|
+ //创建人
|
|
|
|
+ assoProjectEvent.setCreateId(personnelVO.getId());
|
|
|
|
+ //类型为专题库
|
|
|
|
+ assoProjectEvent.setProjectType(0);
|
|
|
|
+ assoProjectEvents.add(assoProjectEvent);
|
|
|
|
+ }
|
|
|
|
+ if (assoProjectEvents != null && assoProjectEvents.size() != 0) {
|
|
|
|
+ assoProjectEventService.saveBatch(assoProjectEvents);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ /**
|
|
|
|
+ * 装载树结构和project关联
|
|
|
|
+ */
|
|
|
|
+ List<AssoProjectTreeNode> assoProjectTreeNodes = new ArrayList<>();
|
|
|
|
+ List<ProjectTreesDTO> trees = patentProjectDTO.getTrees();
|
|
|
|
+ if (trees != null && trees.size() != 0) {
|
|
|
|
+ //遍历传入的树
|
|
|
|
+ for (ProjectTreesDTO projectTreesDTO : trees) {
|
|
|
|
+ List<Integer> valueIds = projectTreesDTO.getValueIds();
|
|
|
|
+ //遍历值id集合
|
|
|
|
+ for (Integer valueId : valueIds) {
|
|
|
|
+ AssoProjectTreeNode assoProjectTreeNode = new AssoProjectTreeNode();
|
|
|
|
+ BeanUtils.copyProperties(projectTreesDTO, assoProjectTreeNode);
|
|
|
|
+ //专题库、报告id
|
|
|
|
+ assoProjectTreeNode.setProjectId(project.getId());
|
|
|
|
+ //值id
|
|
|
|
+ assoProjectTreeNode.setValueId(valueId);
|
|
|
|
+ assoProjectTreeNodes.add(assoProjectTreeNode);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (assoProjectTreeNodes != null && assoProjectTreeNodes.size() != 0) {
|
|
|
|
+ assoProjectTreeNodeService.saveBatch(assoProjectTreeNodes);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ /**
|
|
|
|
+ * 装载和附件关联
|
|
|
|
+ */
|
|
|
|
+ List<AssoProjectFile> assoProjectFiles = new ArrayList<>();
|
|
|
|
+ List<String> fileGuids = patentProjectDTO.getFileGuids();
|
|
|
|
+ if (fileGuids != null && fileGuids.size() != 0) {
|
|
|
|
+ for (String fileGuid : fileGuids) {
|
|
|
|
+ AssoProjectFile assoProjectFile = new AssoProjectFile();
|
|
|
|
+ assoProjectFile.setProjectId(project.getId());
|
|
|
|
+ assoProjectFile.setFileGuid(fileGuid);
|
|
|
|
+ assoProjectFile.setCreateId(personnelVO.getId());
|
|
|
|
+ assoProjectFiles.add(assoProjectFile);
|
|
|
|
+ }
|
|
|
|
+ if (assoProjectFiles != null && assoProjectFiles.size() != 0) {
|
|
|
|
+ assoProjectFileService.saveBatch(assoProjectFiles);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return project.getId();
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|