|
@@ -1,6 +1,7 @@
|
|
package com.qmth.cqb.paper.service;
|
|
package com.qmth.cqb.paper.service;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
|
+import java.util.Arrays;
|
|
import java.util.Collections;
|
|
import java.util.Collections;
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
import java.util.HashSet;
|
|
import java.util.HashSet;
|
|
@@ -16,6 +17,10 @@ import org.springframework.data.domain.PageRequest;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import com.google.gson.Gson;
|
|
import com.google.gson.Gson;
|
|
|
|
+import com.mongodb.BasicDBList;
|
|
|
|
+import com.mongodb.BasicDBObject;
|
|
|
|
+import com.mongodb.DBObject;
|
|
|
|
+import com.qmth.cqb.flow.enums.PassEnum;
|
|
import com.qmth.cqb.flow.model.DataMapModel;
|
|
import com.qmth.cqb.flow.model.DataMapModel;
|
|
import com.qmth.cqb.flow.service.ComTaskService;
|
|
import com.qmth.cqb.flow.service.ComTaskService;
|
|
import com.qmth.cqb.flow.service.DataMapModelService;
|
|
import com.qmth.cqb.flow.service.DataMapModelService;
|
|
@@ -100,7 +105,19 @@ public class PaperService {
|
|
importPaper.setPaperType(PaperType.IMPORT);
|
|
importPaper.setPaperType(PaperType.IMPORT);
|
|
return paperRepo.findAll(Example.of(importPaper), new PageRequest(curPage - 1, pageSize));
|
|
return paperRepo.findAll(Example.of(importPaper), new PageRequest(curPage - 1, pageSize));
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 根据条件查询
|
|
|
|
+ * @param paperSearchInfo
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public List<Paper> getImportPapersBySearch(PaperSearchInfo paperSearchInfo) {
|
|
|
|
+ formatPaperSearchInfo(paperSearchInfo);
|
|
|
|
+ Paper importPaper = BeanCopierUtil.copyProperties(paperSearchInfo, Paper.class);
|
|
|
|
+ importPaper.setPaperType(PaperType.IMPORT);
|
|
|
|
+ return paperRepo.findAll(Example.of(importPaper));
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 保存试卷
|
|
* 保存试卷
|
|
*
|
|
*
|
|
@@ -108,23 +125,33 @@ public class PaperService {
|
|
* @return
|
|
* @return
|
|
* @throws Exception
|
|
* @throws Exception
|
|
*/
|
|
*/
|
|
- public Paper savePaper(PaperExp paperExp) throws Exception {
|
|
|
|
|
|
+ public Paper savePaper(AccessUser user,PaperExp paperExp) throws Exception {
|
|
Paper paper = BeanCopierUtil.copyProperties(paperExp, Paper.class);
|
|
Paper paper = BeanCopierUtil.copyProperties(paperExp, Paper.class);
|
|
|
|
+ paper.setOrgId(user.getOrgId()+"");
|
|
formatPaper(paper);
|
|
formatPaper(paper);
|
|
DataMapModel dataMapModel = dataMapModelService.findDataMapModel(paper.getId());
|
|
DataMapModel dataMapModel = dataMapModelService.findDataMapModel(paper.getId());
|
|
String processInstanceId = dataMapModel.getProcessInstanceId();
|
|
String processInstanceId = dataMapModel.getProcessInstanceId();
|
|
- paper = paperRepo.save(paper);
|
|
|
|
|
|
+ //在流程中
|
|
if(StringUtils.isNotBlank(processInstanceId)){
|
|
if(StringUtils.isNotBlank(processInstanceId)){
|
|
- /*
|
|
|
|
- Map<String, Object> variables = new HashMap<String,Object>();
|
|
|
|
- variables.put("assignee", "admin1");
|
|
|
|
- if("管理员"){
|
|
|
|
- variables.put("condition", 1);
|
|
|
|
- }else{
|
|
|
|
- variables.put("condition", 0);
|
|
|
|
- }
|
|
|
|
- comTaskService.completeTaskByProcInstId(processInstanceId, variables);
|
|
|
|
|
|
+ Map<String, Object> variables = new HashMap<String,Object>();
|
|
|
|
+ /**
|
|
|
|
+ * 审核人员和非审核人员都可以点击保存试卷
|
|
|
|
+ * 如果是 审核人员点击保存,试卷状态为通过
|
|
|
|
+ * 如果不是 审核人员点击保存,试卷状态为待审核
|
|
*/
|
|
*/
|
|
|
|
+ variables.put("assignee", "admin1");
|
|
|
|
+ variables.put("condition", PassEnum.PASS.getValue());
|
|
|
|
+ paper.setPaperStatus(PaperStatus.PASS);
|
|
|
|
+ /**
|
|
|
|
+ * 非审核人员保存试卷
|
|
|
|
+ * variables.put("assignee", "admin2");
|
|
|
|
+ * variables.put("condition", PassEnum.NOPASS.getValue());
|
|
|
|
+ * paper.setPaperStatus(PaperStatus.DRAFT);
|
|
|
|
+ */
|
|
|
|
+ paper = paperRepo.save(paper);
|
|
|
|
+ comTaskService.completeTaskByProcInstIdAndAssignee(processInstanceId, variables);
|
|
|
|
+ }else{//不在流程中
|
|
|
|
+ paper = paperRepo.save(paper);
|
|
}
|
|
}
|
|
return paper;
|
|
return paper;
|
|
}
|
|
}
|
|
@@ -252,22 +279,23 @@ public class PaperService {
|
|
* @param paperIds
|
|
* @param paperIds
|
|
* @throws Exception
|
|
* @throws Exception
|
|
*/
|
|
*/
|
|
- public void passPapers(List<String> paperIds) throws Exception {
|
|
|
|
|
|
+ public void passPapers(AccessUser user,List<String> paperIds) throws Exception {
|
|
List<Paper> papers = CommonUtils.toList(paperRepo.findAll(paperIds));
|
|
List<Paper> papers = CommonUtils.toList(paperRepo.findAll(paperIds));
|
|
- papers.stream().forEach(paper -> {
|
|
|
|
- paper.setPaperStatus(PaperStatus.PASS);
|
|
|
|
- });
|
|
|
|
for(int i = 0;i<papers.size();i++){
|
|
for(int i = 0;i<papers.size();i++){
|
|
|
|
+ Paper paper = papers.get(i);
|
|
|
|
+ paper.setPaperStatus(PaperStatus.PASS);
|
|
|
|
+ paperRepo.save(paper);
|
|
|
|
+
|
|
DataMapModel dataMapModel = dataMapModelService.findDataMapModel(papers.get(i).getId());
|
|
DataMapModel dataMapModel = dataMapModelService.findDataMapModel(papers.get(i).getId());
|
|
String processInstanceId = dataMapModel.getProcessInstanceId();
|
|
String processInstanceId = dataMapModel.getProcessInstanceId();
|
|
if(StringUtils.isNotBlank(processInstanceId)){
|
|
if(StringUtils.isNotBlank(processInstanceId)){
|
|
Map<String, Object> variables = new HashMap<String,Object>();
|
|
Map<String, Object> variables = new HashMap<String,Object>();
|
|
variables.put("assignee", "admin1");
|
|
variables.put("assignee", "admin1");
|
|
- variables.put("condition", 1);
|
|
|
|
- comTaskService.completeTaskByProcInstId(processInstanceId, variables);
|
|
|
|
|
|
+ variables.put("condition", PassEnum.PASS.getValue());
|
|
|
|
+ comTaskService.completeTaskByProcInstIdAndAssignee(processInstanceId, variables);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- paperRepo.save(papers);
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -276,22 +304,23 @@ public class PaperService {
|
|
* @param paperIds
|
|
* @param paperIds
|
|
* @throws Exception
|
|
* @throws Exception
|
|
*/
|
|
*/
|
|
- public void noPassPapers(List<String> paperIds) throws Exception {
|
|
|
|
|
|
+ public void noPassPapers(AccessUser user,List<String> paperIds) throws Exception {
|
|
List<Paper> papers = CommonUtils.toList(paperRepo.findAll(paperIds));
|
|
List<Paper> papers = CommonUtils.toList(paperRepo.findAll(paperIds));
|
|
- papers.stream().forEach(paper -> {
|
|
|
|
- paper.setPaperStatus(PaperStatus.NOPASS);
|
|
|
|
- });
|
|
|
|
|
|
+ paperRepo.save(papers);
|
|
for(int i = 0;i<papers.size();i++){
|
|
for(int i = 0;i<papers.size();i++){
|
|
|
|
+ Paper paper = papers.get(i);
|
|
|
|
+ paper.setPaperStatus(PaperStatus.NOPASS);
|
|
|
|
+ paperRepo.save(paper);
|
|
|
|
+
|
|
DataMapModel dataMapModel = dataMapModelService.findDataMapModel(papers.get(i).getId());
|
|
DataMapModel dataMapModel = dataMapModelService.findDataMapModel(papers.get(i).getId());
|
|
String processInstanceId = dataMapModel.getProcessInstanceId();
|
|
String processInstanceId = dataMapModel.getProcessInstanceId();
|
|
if(StringUtils.isNotBlank(processInstanceId)){
|
|
if(StringUtils.isNotBlank(processInstanceId)){
|
|
Map<String, Object> variables = new HashMap<String,Object>();
|
|
Map<String, Object> variables = new HashMap<String,Object>();
|
|
variables.put("assignee", "admin1");
|
|
variables.put("assignee", "admin1");
|
|
- variables.put("condition", 0);
|
|
|
|
- comTaskService.completeTaskByProcInstId(processInstanceId, variables);
|
|
|
|
|
|
+ variables.put("condition", PassEnum.NOPASS.getValue());
|
|
|
|
+ comTaskService.completeTaskByProcInstIdAndAssignee(processInstanceId, variables);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- paperRepo.save(papers);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|