|
@@ -0,0 +1,157 @@
|
|
|
+package cn.cslg.pas.service.business;
|
|
|
+
|
|
|
+import cn.cslg.pas.common.dto.business.ProjectOpenAuditTaskDTO;
|
|
|
+import cn.cslg.pas.common.dto.business.TaskAuditTaskDTO;
|
|
|
+import cn.cslg.pas.common.model.cronModel.PersonnelVO;
|
|
|
+import cn.cslg.pas.common.model.request.GroupRequest;
|
|
|
+import cn.cslg.pas.common.model.request.QueryRequest;
|
|
|
+import cn.cslg.pas.common.utils.CacheUtils;
|
|
|
+import cn.cslg.pas.common.utils.LoginUtils;
|
|
|
+import cn.cslg.pas.domain.business.ProjectTask;
|
|
|
+import cn.cslg.pas.exception.UnLoginException;
|
|
|
+import cn.cslg.pas.exception.XiaoShiException;
|
|
|
+import cn.cslg.pas.factorys.businessFactory.Business;
|
|
|
+import cn.cslg.pas.mapper.ProjectTaskMapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
+
|
|
|
+import java.io.IOException;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 专利挖掘任务模块
|
|
|
+ * @Author xiexiang
|
|
|
+ * @Date 2023/11/21
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTask> implements Business {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private CacheUtils cacheUtils;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private LoginUtils loginUtils;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 项目开卷审核任务
|
|
|
+ * @param projectOpenAuditTaskDTO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public Object addProjectOpenExamineTask(ProjectOpenAuditTaskDTO projectOpenAuditTaskDTO){
|
|
|
+ Integer type = projectOpenAuditTaskDTO.getType();
|
|
|
+ if (type == null && type > 5) {
|
|
|
+ throw new XiaoShiException("任务类型不能为空!");
|
|
|
+ }
|
|
|
+ //判断专题库id不为空
|
|
|
+ Integer projectId = projectOpenAuditTaskDTO.getProjectId();
|
|
|
+ if (projectId == null) {
|
|
|
+ throw new XiaoShiException("专题库id不能为空!");
|
|
|
+ }
|
|
|
+ //判断任务名称不为空
|
|
|
+ projectOpenAuditTaskDTO.setName(projectOpenAuditTaskDTO.getName().trim());
|
|
|
+ String name = projectOpenAuditTaskDTO.getName();
|
|
|
+ if (name == null || name.equals("")) {
|
|
|
+ throw new XiaoShiException("任务名称不能为空!");
|
|
|
+ }
|
|
|
+ LambdaQueryWrapper<ProjectTask> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(ProjectTask::getName, name);
|
|
|
+ queryWrapper.eq(ProjectTask::getProjectId, projectId);
|
|
|
+ List<ProjectTask> projectTasks = this.list(queryWrapper);
|
|
|
+ if (projectTasks != null && projectTasks.size() != 0) {
|
|
|
+ throw new XiaoShiException("任务名称不能重复!");
|
|
|
+ }
|
|
|
+ ProjectTask projectTask = new ProjectTask();
|
|
|
+ BeanUtils.copyProperties(projectOpenAuditTaskDTO, projectTask);
|
|
|
+ //获取登录人信息
|
|
|
+ PersonnelVO personnelVO = new PersonnelVO();
|
|
|
+ try {
|
|
|
+ personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new UnLoginException("未登录");
|
|
|
+ }
|
|
|
+ projectTask.setCreateId(personnelVO.getId());
|
|
|
+ projectTask.insert();
|
|
|
+ return projectTask.getId();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 任务审核任务
|
|
|
+ * @param taskAuditTaskDTO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public Object addTaskExamineTask(TaskAuditTaskDTO taskAuditTaskDTO){
|
|
|
+ Integer type = taskAuditTaskDTO.getType();
|
|
|
+ if (type == null && type > 5) {
|
|
|
+ throw new XiaoShiException("任务类型不能为空!");
|
|
|
+ }
|
|
|
+ //判断专题库id不为空
|
|
|
+ Integer projectId = taskAuditTaskDTO.getProjectId();
|
|
|
+ if (projectId == null) {
|
|
|
+ throw new XiaoShiException("专题库id不能为空!");
|
|
|
+ }
|
|
|
+ //判断任务名称不为空
|
|
|
+ taskAuditTaskDTO.setName(taskAuditTaskDTO.getName().trim());
|
|
|
+ String name = taskAuditTaskDTO.getName();
|
|
|
+ if (name == null || name.equals("")) {
|
|
|
+ throw new XiaoShiException("任务名称不能为空!");
|
|
|
+ }
|
|
|
+ LambdaQueryWrapper<ProjectTask> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(ProjectTask::getName, name);
|
|
|
+ queryWrapper.eq(ProjectTask::getProjectId, projectId);
|
|
|
+ List<ProjectTask> projectTasks = this.list(queryWrapper);
|
|
|
+ if (projectTasks != null && projectTasks.size() != 0) {
|
|
|
+ throw new XiaoShiException("任务名称不能重复!");
|
|
|
+ }
|
|
|
+ ProjectTask projectTask = new ProjectTask();
|
|
|
+ BeanUtils.copyProperties(taskAuditTaskDTO, projectTask);
|
|
|
+ //获取登录人信息
|
|
|
+ PersonnelVO personnelVO = new PersonnelVO();
|
|
|
+ try {
|
|
|
+ personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new UnLoginException("未登录");
|
|
|
+ }
|
|
|
+ projectTask.setCreateId(personnelVO.getId());
|
|
|
+ projectTask.insert();
|
|
|
+ return projectTask.getId();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Object queryMessage(QueryRequest queryRequest) throws Exception {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Object addMessage(Object object, List<MultipartFile> files) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Object deleteMessage(List<Integer> ids) throws IOException {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Object updateMessage(Object object, List<MultipartFile> files) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Object getGroup(GroupRequest groupRequest, String tableName) throws Exception {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Object addMessage(Object object) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Object updateMessage(Object object) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+}
|