|
@@ -9,6 +9,7 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|
import org.apache.poi.ss.usermodel.Cell;
|
|
import org.apache.poi.ss.usermodel.Cell;
|
|
import org.apache.poi.ss.usermodel.Row;
|
|
import org.apache.poi.ss.usermodel.Row;
|
|
import org.apache.poi.ss.util.CellRangeAddress;
|
|
import org.apache.poi.ss.util.CellRangeAddress;
|
|
|
|
+import org.json.JSONArray;
|
|
import org.json.JSONObject;
|
|
import org.json.JSONObject;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
@@ -96,6 +97,71 @@ public class ReviewAnalyzeService {
|
|
return jsonObject;
|
|
return jsonObject;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public JSONObject getJsonExport ( String jobId){
|
|
|
|
+ ReviewJob job = reviewJobDao.findJob(jobId) ;
|
|
|
|
+ JSONObject res = new JSONObject();
|
|
|
|
+
|
|
|
|
+ JSONArray reportInfo = new JSONArray();
|
|
|
|
+ List<ReviewReport > reports = reviewReportDao.getReportsByPaperId(job.getPaper_id());
|
|
|
|
+ JSONObject reportJsonInfo ;
|
|
|
|
+ for( ReviewReport r : reports){ // 便利所有的报告,报告报告的信息 和 评审信息
|
|
|
|
+ reportJsonInfo = new JSONObject();
|
|
|
|
+ reportJsonInfo.put("info",new JSONObject(r));
|
|
|
|
+ List<ReviewItem> items = reviewItemDao.findItemsByReport(r.getId());
|
|
|
|
+ JSONArray itemArray = new JSONArray();
|
|
|
|
+ for (ReviewItem i : items){
|
|
|
|
+ JSONObject itemJson = new JSONObject();
|
|
|
|
+ itemJson.put("description" , i.getDescription());
|
|
|
|
+ List<ReviewAnswer> answers = reviewAnswerDao.getItemReportJobAnswers(i.getId(),r.getId(),jobId);
|
|
|
|
+ int [] answerCount = new int [i.getOptions().size()];
|
|
|
|
+ StringBuffer sb = new StringBuffer() ;
|
|
|
|
+ JSONArray answerTemp = new JSONArray();
|
|
|
|
+ JSONObject jsonTemp ;
|
|
|
|
+ itemJson.put("type",i.getType());
|
|
|
|
+ switch (i.getType()){
|
|
|
|
+ case "Single" :
|
|
|
|
+ case "Multiple":
|
|
|
|
+ for(ReviewAnswer answer : answers){
|
|
|
|
+ for( int ii = 0 ;ii < answer.getAnswers().size();ii++){
|
|
|
|
+ answerCount[ii] ++;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ for( int ii =0;ii<i.getOptions().size();ii++){
|
|
|
|
+ jsonTemp = new JSONObject();
|
|
|
|
+ jsonTemp.put(i.getOptions().get(ii),answerCount[ii]);
|
|
|
|
+ answerTemp.put(jsonTemp);
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ case "Description" :
|
|
|
|
+ for(ReviewAnswer answer : answers){
|
|
|
|
+ sb.append(answer.getAnswers().toString()+"\n");
|
|
|
|
+ }
|
|
|
|
+ jsonTemp = new JSONObject();
|
|
|
|
+ jsonTemp.put(i.getDescription(),sb.toString());
|
|
|
|
+ answerTemp.put(jsonTemp);
|
|
|
|
+ break;
|
|
|
|
+ case "File":
|
|
|
|
+ for(ReviewAnswer answer : answers){
|
|
|
|
+ sb.append(answer.getFile_url()+"\n");
|
|
|
|
+ }
|
|
|
|
+ jsonTemp = new JSONObject();
|
|
|
|
+ jsonTemp.put(i.getDescription(),sb.toString());
|
|
|
|
+ answerTemp.put(jsonTemp);
|
|
|
|
+ break;
|
|
|
|
+ default:
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ itemJson.put("answer",answerTemp);
|
|
|
|
+ itemArray.put(itemJson);
|
|
|
|
+ }
|
|
|
|
+ reportJsonInfo.put("checkItem",itemArray);
|
|
|
|
+ reportInfo.put(reportJsonInfo);
|
|
|
|
+ }
|
|
|
|
+ res.put("reportInfo",reportInfo);
|
|
|
|
+ res.put("jobInfo",new JSONObject(job));
|
|
|
|
+ return res;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
public String getExcel (String jobId){
|
|
public String getExcel (String jobId){
|