|
@@ -15,10 +15,12 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
|
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import java.time.LocalDate;
|
|
import java.time.LocalDate;
|
|
|
|
+import java.time.LocalDateTime;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Optional;
|
|
import java.util.Optional;
|
|
@@ -64,6 +66,10 @@ public class ProjectApprovalController {
|
|
private ParticipationService participationService;
|
|
private ParticipationService participationService;
|
|
@Resource
|
|
@Resource
|
|
private SysFunctionService sysFunctionService;
|
|
private SysFunctionService sysFunctionService;
|
|
|
|
+ @Resource
|
|
|
|
+ private ProjectApprovalLogService projectApprovalLogService;
|
|
|
|
+ @Resource
|
|
|
|
+ private ReportService reportService;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 分页获取项目列表
|
|
* 分页获取项目列表
|
|
@@ -148,6 +154,18 @@ public class ProjectApprovalController {
|
|
}
|
|
}
|
|
projectApprovalCheckService.saveOrUpdateBatch(projectApprovalCheckList);
|
|
projectApprovalCheckService.saveOrUpdateBatch(projectApprovalCheckList);
|
|
}
|
|
}
|
|
|
|
+ //新增操作记录数据
|
|
|
|
+ ProjectApprovalLog projectApprovalLog=new ProjectApprovalLog();
|
|
|
|
+ projectApprovalLog.setCreateTime(LocalDateTime.now());
|
|
|
|
+ projectApprovalLog.setProjectApprovalId(projectApproval.getId());
|
|
|
|
+ if(projectApproval.getId()==null){
|
|
|
|
+ //提交
|
|
|
|
+ projectApprovalLog.setType(0);
|
|
|
|
+ }else {
|
|
|
|
+ //编辑
|
|
|
|
+ projectApprovalLog.setType(1);
|
|
|
|
+ }
|
|
|
|
+ projectApprovalLogService.save(projectApprovalLog);
|
|
return msg;
|
|
return msg;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -203,12 +221,15 @@ public class ProjectApprovalController {
|
|
Optional<ProjectApprovalCheck> first = projectApprovalChecks.stream().filter(p -> p.getUserId().equals(user.getId())&&p.getStatus()==0).findFirst();
|
|
Optional<ProjectApprovalCheck> first = projectApprovalChecks.stream().filter(p -> p.getUserId().equals(user.getId())&&p.getStatus()==0).findFirst();
|
|
// boolean hasAllPriviledge = sysFunctionService.hasPriviledge(user.getRoleId(), "管理全部立项申请");
|
|
// boolean hasAllPriviledge = sysFunctionService.hasPriviledge(user.getRoleId(), "管理全部立项申请");
|
|
// boolean hasCheckPriviledge = sysFunctionService.hasPriviledge(user.getRoleId(), "审核立项申请");
|
|
// boolean hasCheckPriviledge = sysFunctionService.hasPriviledge(user.getRoleId(), "审核立项申请");
|
|
- if(projectApprovalChecks.size()>0){
|
|
|
|
- if(!first.isPresent()){
|
|
|
|
- msg.setError("审核人验证失败,请按照审核人顺序审核");
|
|
|
|
- return msg;
|
|
|
|
|
|
+ if(checkType!=3){
|
|
|
|
+ if(projectApprovalChecks.size()>0){
|
|
|
|
+ if(!first.isPresent()){
|
|
|
|
+ msg.setError("审核人验证失败,请按照审核人顺序审核");
|
|
|
|
+ return msg;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ ProjectApprovalLog projectApprovalLog=new ProjectApprovalLog();
|
|
switch (checkType){
|
|
switch (checkType){
|
|
/*审核通过*/
|
|
/*审核通过*/
|
|
case 1:
|
|
case 1:
|
|
@@ -257,18 +278,56 @@ public class ProjectApprovalController {
|
|
projectBasecostService.saveBatch(projectBasecostList);
|
|
projectBasecostService.saveBatch(projectBasecostList);
|
|
participationService.saveBatch(participationList);
|
|
participationService.saveBatch(participationList);
|
|
projectAuditorService.saveBatch(projectAuditorList);
|
|
projectAuditorService.saveBatch(projectAuditorList);
|
|
|
|
+ //新增操作记录数据
|
|
|
|
+ projectApprovalLog.setCreateTime(LocalDateTime.now());
|
|
|
|
+ projectApprovalLog.setProjectApprovalId(projectApproval.getId());
|
|
|
|
+ //通过
|
|
|
|
+ projectApprovalLog.setType(2);
|
|
|
|
+ projectApprovalLogService.save(projectApprovalLog);
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
/*驳回*/
|
|
/*驳回*/
|
|
case 2:
|
|
case 2:
|
|
projectApproval.setStatus(2);
|
|
projectApproval.setStatus(2);
|
|
projectApprovalService.updateById(projectApproval);
|
|
projectApprovalService.updateById(projectApproval);
|
|
|
|
+ //新增操作记录数据
|
|
|
|
+ projectApprovalLog.setCreateTime(LocalDateTime.now());
|
|
|
|
+ projectApprovalLog.setProjectApprovalId(projectApproval.getId());
|
|
|
|
+ //驳回
|
|
|
|
+ projectApprovalLog.setType(3);
|
|
|
|
+ projectApprovalLogService.save(projectApprovalLog);
|
|
break;
|
|
break;
|
|
/*撤销*/
|
|
/*撤销*/
|
|
case 3:
|
|
case 3:
|
|
|
|
+ Project project = projectService.getOne(new LambdaQueryWrapper<Project>().eq(Project::getApproveId,projectApproval.getId()));
|
|
|
|
+ if(project!=null){
|
|
|
|
+ int count = reportService.count(new LambdaQueryWrapper<Report>().eq(Report::getProjectId, project.getId()));
|
|
|
|
+ if(count>0){
|
|
|
|
+ msg.setError("已存在填报数据无法撤销立项");
|
|
|
|
+ return msg;
|
|
|
|
+ }
|
|
|
|
+ projectAuditorService.remove(new LambdaQueryWrapper<ProjectAuditor>().eq(ProjectAuditor::getProjectId,project.getId()));
|
|
|
|
+ projectBasecostService.remove(new LambdaQueryWrapper<ProjectBasecost>().eq(ProjectBasecost::getProjectId,project.getId()));
|
|
|
|
+ participationService.remove(new LambdaQueryWrapper<Participation>().eq(Participation::getProjectId,project.getId()));
|
|
|
|
+ project.deleteById(project.getId());
|
|
|
|
+ }
|
|
|
|
+ projectApproval.setStatus(3);
|
|
|
|
+ projectApprovalService.updateById(projectApproval);
|
|
|
|
+ //新增操作记录数据
|
|
|
|
+ projectApprovalLog.setCreateTime(LocalDateTime.now());
|
|
|
|
+ projectApprovalLog.setProjectApprovalId(projectApproval.getId());
|
|
|
|
+ //驳回
|
|
|
|
+ projectApprovalLog.setType(4);
|
|
|
|
+ projectApprovalLogService.save(projectApprovalLog);
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
return msg;
|
|
return msg;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ @RequestMapping("/importData")
|
|
|
|
+ public HttpRespMsg importData(MultipartFile multipartFile){
|
|
|
|
+ return projectApprovalService.importData(multipartFile);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|