Explorar el Código

修改终审的数据结构及基本操作

MengyangDuan hace 5 años
padre
commit
5bd89bf325

+ 20 - 0
src/main/java/edu/nju/controller/ExtraController.java

@@ -467,5 +467,25 @@ public class ExtraController {
 
 	}
 
+	@RequestMapping(value = "/checkJob", method = RequestMethod.POST)
+	@ResponseBody
+	public void checkExam(String jobJson, String reportJson, HttpServletResponse response) {
+		try {
+//			System.out.println(jobJson);
+			PrintWriter out = response.getWriter();
+			JSONObject result = new JSONObject();
+			String job_id = extraService.saveJob(jobJson);
+			result.put("id", job_id);
+			out.print(result);
+//			out.print("success");
+			out.flush();
+			out.close();
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+
+	}
+
 
 }

+ 49 - 29
src/main/java/edu/nju/controller/ItemController.java → src/main/java/edu/nju/controller/ReviewController.java

@@ -1,8 +1,9 @@
 package edu.nju.controller;
 
-import edu.nju.entities.Answer;
-import edu.nju.entities.Item;
-import edu.nju.entities.Job;
+import edu.nju.entities.ReviewAnswer;
+import edu.nju.entities.ReviewItem;
+import edu.nju.entities.ReviewJob;
+import edu.nju.entities.ReviewReport;
 import edu.nju.service.ItemService;
 import org.json.JSONArray;
 import org.json.JSONObject;
@@ -16,9 +17,9 @@ import java.io.PrintWriter;
 import java.util.List;
 
 @Controller
-@RequestMapping(value = "/item")
+@RequestMapping(value = "/review")
 @CrossOrigin(origins = "*", maxAge = 3600, allowCredentials = "true")
-public class ItemController {
+public class ReviewController {
 
     @Autowired
     ItemService iservice;
@@ -28,7 +29,7 @@ public class ItemController {
     public void getJobById(String job_id, HttpServletResponse response){
         try {
             PrintWriter out = response.getWriter();
-            Job job = iservice.getJob(job_id);
+            ReviewJob job = iservice.getJob(job_id);
             out.print(new JSONObject(job));
             out.flush();
             out.close();
@@ -43,7 +44,7 @@ public class ItemController {
     public void getItemListByJobId(String job_id, HttpServletResponse response){
         try {
             PrintWriter out = response.getWriter();
-            List<Item> items = iservice.getJobItems(job_id);
+            List<ReviewItem> items = iservice.getJobItems(job_id);
             out.print(new JSONArray(items));
             out.flush();
             out.close();
@@ -54,13 +55,28 @@ public class ItemController {
 
     }
 
-    @RequestMapping(value = "/getItemsByWorker")
+    @RequestMapping(value = "/getReportsByWorkerJob")
     @ResponseBody
-    public void getItemListByWorkerJob(String job_id, String worker_id, HttpServletResponse response){
+    public void getReportListByWorkerJob(String job_id, String worker_id, HttpServletResponse response){
         try {
             PrintWriter out = response.getWriter();
-            List<Item> items = iservice.getItemsByWorkerJob(worker_id, job_id);
-            out.print(new JSONArray(items));
+            List<ReviewReport> reports = iservice.getReportsByWorkerJob(worker_id, job_id);
+            out.print(new JSONArray(reports));
+            out.flush();
+            out.close();
+        }catch (IOException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+    }
+
+    @RequestMapping(value = "/getItemByReport")
+    @ResponseBody
+    public void getItemByReport(String report_id, HttpServletResponse response){
+        try {
+            PrintWriter out = response.getWriter();
+            ReviewItem item = iservice.getItemByReport(report_id);
+            out.print(new JSONObject(item));
             out.flush();
             out.close();
         }catch (IOException e) {
@@ -70,12 +86,28 @@ public class ItemController {
 
     }
 
-    @RequestMapping(value = "/getAnswerByWorkerItem")
+//    @RequestMapping(value = "/getItemsByWorker")
+//    @ResponseBody
+//    public void getItemListByWorkerJob(String job_id, String worker_id, HttpServletResponse response){
+//        try {
+//            PrintWriter out = response.getWriter();
+//            List<ReviewItem> items = iservice.getItemsByWorkerJob(worker_id, job_id);
+//            out.print(new JSONArray(items));
+//            out.flush();
+//            out.close();
+//        }catch (IOException e) {
+//            // TODO Auto-generated catch block
+//            e.printStackTrace();
+//        }
+//
+//    }
+
+    @RequestMapping(value = "/getAnswerByWorkerReport")
     @ResponseBody
-    public void getAnswerByWorkerItem(String item_id,String worker_id, HttpServletResponse response){
+    public void getAnswerByWorkerReport(String report_id,String worker_id, HttpServletResponse response){
         try {
             PrintWriter out = response.getWriter();
-            Answer answer = iservice.getAnswerByItemWorker(item_id, worker_id);
+            ReviewAnswer answer = iservice.getAnswerByReportWorker(report_id, worker_id);
             out.print(new JSONObject(answer));
             out.flush();
             out.close();
@@ -85,12 +117,12 @@ public class ItemController {
         }
     }
 
-    @RequestMapping(value = "/getAnswersByWorkerJob")
+    @RequestMapping(value = "/getAnswersByReport")
     @ResponseBody
-    public void getAnswersByWorkerJob(String job_id,String worker_id, HttpServletResponse response){
+    public void getAnswersByReport(String report_id, HttpServletResponse response){
         try {
             PrintWriter out = response.getWriter();
-            List<Answer>answers=iservice.getAnswersByWorkerJob(job_id, worker_id);
+            List<ReviewAnswer>answers=iservice.getAnswersByReport(report_id);
             out.print(new JSONArray(answers));
             out.flush();
             out.close();
@@ -126,13 +158,6 @@ public class ItemController {
     @RequestMapping(value = "/updateAnswer", method = RequestMethod.POST)
     @ResponseBody
     public void updateAnswer(String id, @RequestParam("answers")List<String>answers,@RequestParam("attachment_location") List<String> attachment_location, HttpServletResponse response){
-        System.out.println(id);
-//        System.out.println(item_id);
-//        System.out.println(worker_id);
-//        System.out.println(job_id);
-        System.out.println(answers);
-        System.out.println(attachment_location);
-
         JSONObject result = new JSONObject();
         if(iservice.updateAnswer(id, answers, attachment_location)){
             result.put("status", "200");
@@ -149,9 +174,4 @@ public class ItemController {
             e.printStackTrace();
         }
     }
-
-
-
-    
-
 }

+ 0 - 43
src/main/java/edu/nju/dao/ItemDao.java

@@ -1,43 +0,0 @@
-package edu.nju.dao;
-
-
-import edu.nju.entities.*;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.mongodb.core.MongoOperations;
-import org.springframework.data.mongodb.core.query.Criteria;
-import org.springframework.data.mongodb.core.query.Query;
-import org.springframework.stereotype.Repository;
-
-
-import java.util.List;
-
-@Repository
-public class ItemDao {
-
-    @Autowired
-    private MongoOperations mongoOperations;
-
-    public String saveItem(Item item){
-        mongoOperations.save(item);
-        return item.getId();
-    }
-
-    public List<Item>findItemsByJob(String job_id){
-        Query query = new Query();
-        query.addCriteria(Criteria.where("job_id").is(job_id));
-        return mongoOperations.find(query, Item.class);
-    }
-
-    public Item getItem(String id){
-        Query query = new Query();
-        query.addCriteria(Criteria.where("_id").is(id));
-        List<Item> list = mongoOperations.find(query, Item.class);
-        if(list.size() == 0 || list == null) {return null;}
-        return list.get(0);
-    }
-
-
-
-
-}
-

+ 11 - 11
src/main/java/edu/nju/dao/AnswerDao.java → src/main/java/edu/nju/dao/ReviewAnswerDao.java

@@ -1,6 +1,6 @@
 package edu.nju.dao;
 
-import edu.nju.entities.Answer;
+import edu.nju.entities.ReviewAnswer;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoOperations;
 import org.springframework.data.mongodb.core.query.Criteria;
@@ -10,38 +10,38 @@ import org.springframework.stereotype.Repository;
 import java.util.List;
 
 @Repository
-public class AnswerDao {
+public class ReviewAnswerDao {
 
     @Autowired
     private MongoOperations mongoOperations;
 
-    public Answer findAnswerByItemWorker(String item_id, String worker_id){
+    public ReviewAnswer findAnswerByReportWorker(String report_id, String worker_id){
         Query query = new Query();
-        query.addCriteria(Criteria.where("item_id").is(item_id).and("worker_id").is(worker_id));
-        List<Answer>answers= mongoOperations.find(query, Answer.class);
+        query.addCriteria(Criteria.where("report_id").is(report_id).and("worker_id").is(worker_id));
+        List<ReviewAnswer>answers= mongoOperations.find(query, ReviewAnswer.class);
         if(answers!=null&&answers.size()!=0){
             return answers.get(0);
         }
         return null;
     }
 
-    public List<Answer> findAnswersByJobWorker(String job_id, String worker_id){
+    public List<ReviewAnswer> findAnswersByReport(String report_id){
         Query query = new Query();
-        query.addCriteria(Criteria.where("job_id").is(job_id).and("worker_id").is(worker_id));
-        List<Answer>answers= mongoOperations.find(query, Answer.class);
+        query.addCriteria(Criteria.where("report_id").is(report_id));
+        List<ReviewAnswer>answers= mongoOperations.find(query, ReviewAnswer.class);
         return answers;
     }
 
     //存在则更新,不存在则插入
-    public String save(Answer answer){
+    public String save(ReviewAnswer answer){
         mongoOperations.save(answer);
         return answer.getId();
     }
 
-    public Answer getAnswerById(String id){
+    public ReviewAnswer getAnswerById(String id){
         Query query = new Query();
         query.addCriteria(Criteria.where("_id").is(id));
-        List<Answer> list = mongoOperations.find(query, Answer.class);
+        List<ReviewAnswer> list = mongoOperations.find(query, ReviewAnswer.class);
         if(list.size() == 0 || list == null) {return null;}
         return list.get(0);
     }

+ 6 - 6
src/main/java/edu/nju/dao/GroupDao.java → src/main/java/edu/nju/dao/ReviewGroupDao.java

@@ -1,6 +1,6 @@
 package edu.nju.dao;
 
-import edu.nju.entities.Group;
+import edu.nju.entities.ReviewGroup;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoOperations;
 import org.springframework.data.mongodb.core.query.Criteria;
@@ -10,23 +10,23 @@ import org.springframework.stereotype.Repository;
 import java.util.List;
 
 @Repository
-public class GroupDao {
+public class ReviewGroupDao {
 
     @Autowired
     private MongoOperations mongoOperations;
 
     //存在则更新,不存在则插入
-    public String save(Group group){
+    public String save(ReviewGroup group){
         mongoOperations.save(group);
         return group.getId();
     }
 
-    public List<String>getItemsByUserJob(String worker_id,String job_id){
+    public List<String>getReportsByUserJob(String worker_id,String job_id){
         Query query = new Query();
         query.addCriteria(Criteria.where("workers_id").is(worker_id).and("job_id").is(job_id));
-        List<Group>list = mongoOperations.find(query, Group.class);
+        List<ReviewGroup>list = mongoOperations.find(query, ReviewGroup.class);
         if(list.size() == 0 || list == null) {return null;}
-        return list.get(0).getItem_id();
+        return list.get(0).getReport_id();
     }
 
 }

+ 63 - 0
src/main/java/edu/nju/dao/ReviewItemDao.java

@@ -0,0 +1,63 @@
+package edu.nju.dao;
+
+
+import edu.nju.entities.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoOperations;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Repository;
+
+
+import java.util.List;
+
+@Repository
+public class ReviewItemDao {
+
+    @Autowired
+    private MongoOperations mongoOperations;
+
+    public String saveItem(ReviewItem item){
+        mongoOperations.save(item);
+        return item.getId();
+    }
+
+    public List<ReviewItem>findItemsByJob(String job_id){
+        Query query = new Query();
+        query.addCriteria(Criteria.where("job_id").is(job_id));
+        return mongoOperations.find(query, ReviewItem.class);
+    }
+
+    public ReviewItem findItemsByReport(String report_id){
+        Query query = new Query();
+        query.addCriteria(Criteria.where("report_id").is(report_id));
+        List<ReviewItem>reviewItems=mongoOperations.find(query, ReviewItem.class);
+        if(reviewItems==null||reviewItems.size()==0)
+            return null;
+        else
+            return reviewItems.get(0);
+    }
+
+    public ReviewItem findById(String item_id){
+        Query query = new Query();
+        query.addCriteria(Criteria.where("_id").is(item_id));
+        List<ReviewItem>list=mongoOperations.find(query, ReviewItem.class);
+        if(list==null||list.size()==0)
+            return null;
+        else
+            return list.get(0);
+    }
+
+//    public Item getItem(String id){
+//        Query query = new Query();
+//        query.addCriteria(Criteria.where("_id").is(id));
+//        List<Item> list = mongoOperations.find(query, Item.class);
+//        if(list.size() == 0 || list == null) {return null;}
+//        return list.get(0);
+//    }
+
+
+
+
+}
+

+ 5 - 5
src/main/java/edu/nju/dao/JobDao.java → src/main/java/edu/nju/dao/ReviewJobDao.java

@@ -1,6 +1,6 @@
 package edu.nju.dao;
 
-import edu.nju.entities.Job;
+import edu.nju.entities.ReviewJob;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoOperations;
 import org.springframework.data.mongodb.core.query.Criteria;
@@ -10,21 +10,21 @@ import org.springframework.stereotype.Repository;
 import java.util.List;
 
 @Repository
-public class JobDao {
+public class ReviewJobDao {
 
     @Autowired
     private MongoOperations mongoOperations;
 
     //id查询,find查询所有
-    public Job findJob(String id){
+    public ReviewJob findJob(String id){
         Query query = new Query();
         query.addCriteria(Criteria.where("_id").is(id));
-        List<Job> list = mongoOperations.find(query,Job.class);
+        List<ReviewJob> list = mongoOperations.find(query,ReviewJob.class);
         if(list.size() == 0 || list == null) {return null;}
         return list.get(0);
     }
 
-    public String save(Job job) {
+    public String save(ReviewJob job) {
         mongoOperations.save(job);
         return job.getId();
     }

+ 0 - 124
src/main/java/edu/nju/entities/Item.java

@@ -1,124 +0,0 @@
-package edu.nju.entities;
-
-import org.springframework.data.annotation.Id;
-import org.springframework.data.annotation.PersistenceConstructor;
-import org.springframework.data.mongodb.core.mapping.Document;
-
-import java.util.List;
-import java.util.Set;
-
-@Document
-public class Item implements java.io.Serializable {
-
-    /**
-     *
-     */
-    private static final long serialVersionUID = 1884350958222679356L;
-
-    @Id
-    private String id;
-
-    private String job_id;
-
-    private String name;
-
-    private String description;
-
-    private List<String> img_urls;
-
-    private boolean isRequired;
-
-    private boolean isMultiple;
-
-    private List<String> attachment_locations;
-
-    private List<String> options;
-
-    @PersistenceConstructor
-    public Item(String name,String description, List<String> img_urls, boolean isRequired, boolean isMultiple, List<String> attachment_locations, List<String> options, String job_id) {
-        this.name=name;
-        this.description = description;
-        this.img_urls = img_urls;
-        this.isRequired = isRequired;
-        this.isMultiple = isMultiple;
-        this.attachment_locations = attachment_locations;
-        this.options = options;
-        this.job_id = job_id;
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-
-    public List<String> getImg_urls() {
-        return img_urls;
-    }
-
-    public void setImg_urls(List<String> img_urls) {
-        this.img_urls = img_urls;
-    }
-
-    public boolean isRequired() {
-        return isRequired;
-    }
-
-    public void setRequired(boolean required) {
-        isRequired = required;
-    }
-
-    public boolean isMultiple() {
-        return isMultiple;
-    }
-
-    public void setMultiple(boolean multiple) {
-        isMultiple = multiple;
-    }
-
-    public List<String> getAttachment_locations() {
-        return attachment_locations;
-    }
-
-    public void setAttachment_locations(List<String> attachment_locations) {
-        this.attachment_locations = attachment_locations;
-    }
-
-    public List<String> getOptions() {
-        return options;
-    }
-
-    public void setOptions(List<String> options) {
-        this.options = options;
-    }
-
-    public String getJob_id() {
-        return job_id;
-    }
-
-    public void setJob_id(String job_id) {
-        this.job_id = job_id;
-    }
-
-
-
-
-}

+ 0 - 82
src/main/java/edu/nju/entities/Job.java

@@ -1,82 +0,0 @@
-package edu.nju.entities;
-
-import org.springframework.data.annotation.Id;
-import org.springframework.data.annotation.PersistenceConstructor;
-import org.springframework.data.mongodb.core.mapping.Document;
-
-@Document
-public class Job implements java.io.Serializable{
-
-    private static final long serialVersionUID = 3417624501014997684L;
-
-    @Id
-    private String id;
-
-    private String description;
-
-    private String name;
-
-    private String script_location;
-
-    private String report_location;
-
-    private String log_location;
-
-    @PersistenceConstructor
-    public Job(String description, String name, String script_location, String report_location, String log_location) {
-        this.description = description;
-        this.name = name;
-        this.script_location = script_location;
-        this.report_location = report_location;
-        this.log_location = log_location;
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String desciption) {
-        this.description = desciption;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getScript_location() {
-        return script_location;
-    }
-
-    public void setScript_location(String script_location) {
-        this.script_location = script_location;
-    }
-
-    public String getReport_location() {
-        return report_location;
-    }
-
-    public void setReport_location(String report_location) {
-        this.report_location = report_location;
-    }
-
-    public String getLog_location() {
-        return log_location;
-    }
-
-    public void setLog_location(String log_location) {
-        this.log_location = log_location;
-    }
-
-}

+ 15 - 3
src/main/java/edu/nju/entities/Answer.java → src/main/java/edu/nju/entities/ReviewAnswer.java

@@ -8,7 +8,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 @Document
-public class Answer implements java.io.Serializable{
+public class ReviewAnswer implements java.io.Serializable{
 
 
     private static final long serialVersionUID = -8263451883506704407L;
@@ -18,6 +18,8 @@ public class Answer implements java.io.Serializable{
 
     private String item_id;
 
+    private String report_id;
+
     private List<String> answers;
 
     private String worker_id;
@@ -27,16 +29,18 @@ public class Answer implements java.io.Serializable{
     private List<String> attachment_location;
 
     @PersistenceConstructor
-    public Answer(String item_id, List<String> answers, String worker_id, List<String> attachment_location,String job_id) {
+    public ReviewAnswer(String item_id,String report_id, List<String> answers, String worker_id, List<String> attachment_location,String job_id) {
         this.item_id = item_id;
+        this.report_id=report_id;
         this.answers = answers;
         this.worker_id = worker_id;
         this.attachment_location = attachment_location;
         this.job_id=job_id;
     }
     @PersistenceConstructor
-    public Answer(String item_id,String worker_id,String job_id,int optionNum){
+    public ReviewAnswer(String item_id,String report_id,String worker_id,String job_id,int optionNum){
         this.item_id = item_id;
+        this.report_id=report_id;
         this.worker_id = worker_id;
         this.attachment_location = new ArrayList<>();
         this.job_id=job_id;
@@ -62,6 +66,14 @@ public class Answer implements java.io.Serializable{
         this.item_id = item_id;
     }
 
+    public String getReport_id() {
+        return report_id;
+    }
+
+    public void setReport_id(String report_id) {
+        this.report_id = report_id;
+    }
+
     public List<String> getAnswers() {
         return answers;
     }

+ 8 - 8
src/main/java/edu/nju/entities/Group.java → src/main/java/edu/nju/entities/ReviewGroup.java

@@ -6,7 +6,7 @@ import org.springframework.data.mongodb.core.mapping.Document;
 import java.util.List;
 
 @Document
-public class Group implements java.io.Serializable{
+public class ReviewGroup implements java.io.Serializable{
 
     private static final long serialVersionUID = -1113511530478451822L;
 
@@ -21,14 +21,14 @@ public class Group implements java.io.Serializable{
 
     private String job_id;
 
-    private List<String> item_id;
+    private List<String> report_id;
 
-    public Group(String name, String description, List<String> workers_id, String job_id, List<String> item_id) {
+    public ReviewGroup(String name, String description, List<String> workers_id, String job_id, List<String> report_id) {
         this.name = name;
         this.description = description;
         this.workers_id = workers_id;
         this.job_id = job_id;
-        this.item_id = item_id;
+        this.report_id = report_id;
     }
 
     public String getId() {
@@ -71,12 +71,12 @@ public class Group implements java.io.Serializable{
         this.job_id = job_id;
     }
 
-    public List<String> getItem_id() {
-        return item_id;
+    public List<String> getReport_id() {
+        return report_id;
     }
 
-    public void setItem_id(List<String> item_id) {
-        this.item_id = item_id;
+    public void setReport_id(List<String> report_id) {
+        this.report_id = report_id;
     }
 
 }

+ 114 - 0
src/main/java/edu/nju/entities/ReviewJob.java

@@ -0,0 +1,114 @@
+package edu.nju.entities;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.annotation.PersistenceConstructor;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+@Document
+public class ReviewJob implements java.io.Serializable{
+
+    private static final long serialVersionUID = 3417624501014997684L;
+
+    @Id
+    private String id;
+
+    private String description;
+
+    private String name;
+
+    private String time;
+
+    private String type;
+
+    private String application_location;
+
+    private String requirement_location;
+
+    private String report_num;
+
+    private String worker_num;
+
+    @PersistenceConstructor
+    public ReviewJob(String description, String name, String time, String type, String application_location, String requirement_location, String report_num, String worker_num) {
+        this.description = description;
+        this.name = name;
+        this.time = time;
+        this.type = type;
+        this.application_location = application_location;
+        this.requirement_location = requirement_location;
+        this.report_num = report_num;
+        this.worker_num = worker_num;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getTime() {
+        return time;
+    }
+
+    public void setTime(String time) {
+        this.time = time;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getApplication_location() {
+        return application_location;
+    }
+
+    public void setApplication_location(String application_location) {
+        this.application_location = application_location;
+    }
+
+    public String getRequirement_location() {
+        return requirement_location;
+    }
+
+    public void setRequirement_location(String requirement_location) {
+        this.requirement_location = requirement_location;
+    }
+
+    public String getReport_num() {
+        return report_num;
+    }
+
+    public void setReport_num(String report_num) {
+        this.report_num = report_num;
+    }
+
+    public String getWorker_num() {
+        return worker_num;
+    }
+
+    public void setWorker_num(String worker_num) {
+        this.worker_num = worker_num;
+    }
+}

+ 54 - 0
src/main/java/edu/nju/entities/ReviewReport.java

@@ -0,0 +1,54 @@
+package edu.nju.entities;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.annotation.PersistenceConstructor;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+import java.util.List;
+import java.util.Set;
+
+@Document
+public class ReviewReport implements java.io.Serializable {
+
+    /**
+     *
+     */
+    private static final long serialVersionUID = 1884350958222679356L;
+
+    @Id
+    private String id;
+
+    private String item_id;
+
+    private String job_id;
+
+    @PersistenceConstructor
+    public ReviewReport(String item_id, String job_id) {
+        this.item_id = item_id;
+        this.job_id = job_id;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getItem_id() {
+        return item_id;
+    }
+
+    public void setItem_id(String item_id) {
+        this.item_id = item_id;
+    }
+
+    public String getJob_id() {
+        return job_id;
+    }
+
+    public void setJob_id(String job_id) {
+        this.job_id = job_id;
+    }
+}

+ 61 - 45
src/main/java/edu/nju/service/ExtraService.java

@@ -28,10 +28,10 @@ public class ExtraService {
 	BugDao bugDao;
 
 	@Autowired
-	JobDao jobDao;
+	ReviewJobDao jobDao;
 
 	@Autowired
-	ItemDao itemDao;
+	ReviewItemDao itemDao;
 
 	@Autowired
 	ItemService itemService;
@@ -142,68 +142,70 @@ public class ExtraService {
 		JSONObject jsonObject=new JSONObject(jobJson);
 		String description=jsonObject.getString("description");
 		String name=jsonObject.getString("name");
-//		String create_time_millis=Long.toString(System.currentTimeMillis());
+		String time=jsonObject.getString("time");
+		String type=jsonObject.getString("type");
+		String application_location=jsonObject.getString("application_location");
+		String requirement_location=jsonObject.getString("requirement_location");
+		String report_num=jsonObject.getString("report_num");
+		String worker_num=jsonObject.getString("worker_num");
 
-		String job_id=jobDao.save(new Job(description,name,"","",""));
+		String job_id=jobDao.save(new ReviewJob(description,name,time,type,application_location,requirement_location,report_num,worker_num));
 
-		JSONArray itemArray=jsonObject.getJSONArray("itemList");
+		JSONArray itemArray=jsonObject.getJSONArray("item_list");
 		//save item
 		//item index-id
 		HashMap<String,String> item_index_to_id=new HashMap<>();
-		HashMap<String,Integer>item_id_to_optionNum=new HashMap<>();
+		HashMap<String,Integer>item_id_to_problem_num=new HashMap<>();
 		for(int i=0;i<itemArray.length();i++) {
 			JSONObject itemObject = itemArray.getJSONObject(i);
-			String item_id=saveItem(itemObject,job_id,item_id_to_optionNum);
+			String item_id=saveItem(itemObject,job_id,item_id_to_problem_num);
 			String item_index=itemObject.getString("index");
 			item_index_to_id.put(item_index,item_id);
 		}
 
 		//worker_id-item_id_list
-		JSONArray groupArray=jsonObject.getJSONArray("groupList");
-		createWorkerToItem(item_index_to_id,groupArray,job_id,item_id_to_optionNum);
+		JSONArray groupArray=jsonObject.getJSONArray("group_list");
+		createWorkerToItem(item_index_to_id,groupArray,job_id,item_id_to_problem_num);
 
 		return job_id;
 
 	}
 
-	private String saveItem(JSONObject itemObject,String job_id,HashMap<String,Integer>item_id_to_optionNum){
+	private String saveItem(JSONObject itemObject,String job_id,HashMap<String,Integer>item_id_to_problem_num){
 
 //			JSONObject itemObject=itemArray.getJSONObject(i);
-			String name=itemObject.getString("name");
-			String description=itemObject.getString("description");
-			List<String> img_urls=new ArrayList<>();
-			JSONArray imgUrlArray=itemObject.getJSONArray("img_urls");
-			for (int j=0;j<imgUrlArray.length();j++){
-				JSONObject imgUrlObject=imgUrlArray.getJSONObject(j);
-				img_urls.add(imgUrlObject.getString("url"));
-			}
-			boolean isRequired=Boolean.parseBoolean(itemObject.getString("isRequired"));
-			boolean isMultiple=Boolean.parseBoolean(itemObject.getString("isMultiple"));
-			List<String> file_urls=new ArrayList<>();
-			JSONArray fileArray=itemObject.getJSONArray("file_urls");
-//			System.out.println(fileArray);
-			for (int j=0;j<fileArray.length();j++){
-				JSONObject fileObject=fileArray.getJSONObject(j);
-//				System.out.println(fileObject.getString("url"));
-				file_urls.add(fileObject.getString("url"));
-			}
-
-			List<String>  options=new ArrayList<>();
-			JSONArray optionArray=itemObject.getJSONArray("options");
-//			System.out.println(optionArray);
-			for (int j=0;j<optionArray.length();j++){
-				JSONObject optionObject=optionArray.getJSONObject(j);
-//				System.out.println(optionObject.getString("option"));
-				options.add(optionObject.getString("option"));
-			}
-			Item item=new Item(name,description,img_urls,isRequired,isMultiple,file_urls,options,job_id);
-			String item_id = itemDao.saveItem(item);
-			item_id_to_optionNum.put(item_id,optionArray.length());
-			return item_id;
+		List<String> urls=new ArrayList<>();
+		JSONArray urlArray=itemObject.getJSONArray("attachment_urls");
+		for (int j=0;j<urlArray.length();j++){
+			JSONObject imgUrlObject=urlArray.getJSONObject(j);
+			urls.add(imgUrlObject.getString("url"));
+		}
+		JSONArray reportArray=itemObject.getJSONArray("report_list");
+		List<String> reports=new ArrayList<>();
+		for (int j=0;j<reportArray.length();j++){
+			JSONObject reportIdObject=reportArray.getJSONObject(j);
+			urls.add(reportIdObject.getString("report_id"));
+		}
+		List<String> isRequired=new ArrayList<>();
+		List<String> isMultiple=new ArrayList<>();
+		List<String> options=new ArrayList<>();
+		List<String> descriptions=new ArrayList<>();
+		JSONArray problemArray=itemObject.getJSONArray("problem_list");
+		for (int j=0;j<problemArray.length();j++){
+			JSONObject problemObject=reportArray.getJSONObject(j);
+			isMultiple.add(problemObject.getString("is_multiple"));
+			isRequired.add(problemObject.getString("is_required"));
+			descriptions.add(problemObject.getString("description"));
+			options.add(problemObject.getString("options"));
+		}
+		ReviewItem item=new ReviewItem(job_id,isRequired,isMultiple,options,descriptions,urls,reports);
+		String item_id = itemDao.saveItem(item);
+		item_id_to_problem_num.put(item_id,problemArray.length());
+		return item_id;
 
 	}
 
-	private void createWorkerToItem(HashMap<String,String> item_index_to_id,JSONArray groupArray,String job_id,HashMap<String,Integer>item_id_to_optionNum){
+	private void createWorkerToItem(HashMap<String,String> item_index_to_id,JSONArray groupArray,String job_id,HashMap<String,Integer>item_id_to_problem_num){
 		for(int i=0;i<groupArray.length();i++){
 			JSONObject groupObject=groupArray.getJSONObject(i);
 			String description=groupObject.getString("description");
@@ -214,7 +216,7 @@ public class ExtraService {
 				JSONObject workerObject=workerArray.getJSONObject(j);
 				workerList.add(workerObject.getString("worker_id"));
 			}
-			JSONArray itemIndexArray=groupObject.getJSONArray("item_index_list");
+			JSONArray itemIndexArray=groupObject.getJSONArray("report_list");
 			List<String> itemIdList=new ArrayList<>();
 			for (int j=0;j<itemIndexArray.length();j++){
 				JSONObject itemIndexObject=itemIndexArray.getJSONObject(j);
@@ -226,12 +228,26 @@ public class ExtraService {
 //				itemService.saveUserToItem(worker_id,itemIdList,job_id,"","","","");
 				for(int k=0;k<itemIdList.size();k++){
 					String item_id=itemIdList.get(k);
-					int optionNum=item_id_to_optionNum.get(item_id);
-					String answer_id=itemService.saveAnswer(item_id,worker_id,job_id,optionNum);
+					int optionNum=item_id_to_problem_num.get(item_id);
+					List<String>reports=itemService.getReportsByItem(item_id);
+					for(int l=0;l<reports.size();l++) {
+						String report_id=reports.get(l);
+						String answer_id = itemService.saveAnswer(item_id,report_id, worker_id, job_id, optionNum);
+					}
 				}
 			}
 		}
 	}
+	public String checkExam(String jobJson){
+		String result="";
+		JSONObject jsonObject=new JSONObject(jobJson);
+		String name=jsonObject.getString("name");
+		if(name==null){
+			return "标题为空";
+		}
+
+		return result;
+	}
 
 
 //	public static void main(String[] args) {

+ 44 - 26
src/main/java/edu/nju/service/ItemService.java

@@ -11,29 +11,31 @@ import java.util.List;
 @Service
 public class ItemService {
     @Autowired
-    ItemDao itemDao;
+    ReviewItemDao itemDao;
     @Autowired
-    JobDao jobDao;
+    ReviewJobDao jobDao;
     @Autowired
-    AnswerDao answerDao;
+    ReviewAnswerDao answerDao;
     @Autowired
     UserToItemDao userToItemDao;
     @Autowired
-    GroupDao groupDao;
+    ReviewGroupDao groupDao;
+    @Autowired
+    ReviewReportDao reportDao;
 
-    public List<Item>getJobItems(String job_id){
+    public List<ReviewItem>getJobItems(String job_id){
         return itemDao.findItemsByJob(job_id);
     }
 
-    public Job getJob(String job_id){
+    public ReviewJob getJob(String job_id){
         return jobDao.findJob(job_id);
     }
 
-    public Answer getAnswerByItemWorker(String item_id, String worker_id){
-        return answerDao.findAnswerByItemWorker(item_id, worker_id);
+    public ReviewAnswer getAnswerByReportWorker(String report_id, String worker_id){
+        return answerDao.findAnswerByReportWorker(report_id, worker_id);
     }
-    public List<Answer> getAnswersByWorkerJob(String job_id, String worker_id){
-        return answerDao.findAnswersByJobWorker(job_id, worker_id);
+    public List<ReviewAnswer> getAnswersByReport(String report_id){
+        return answerDao.findAnswersByReport(report_id);
     }
 
 //    public String saveAnswer(String item_id, String worker_id,String job_id, List<String>answers,List<String> attachment_location){
@@ -42,15 +44,15 @@ public class ItemService {
 //    }
 
     //对answer进行初始化
-    public String saveAnswer(String item_id, String worker_id,String job_id, int optionNum){
-        Answer answer=new Answer(item_id,worker_id,job_id,optionNum);
+    public String saveAnswer(String item_id, String report_id,String worker_id,String job_id, int problemNum){
+        ReviewAnswer answer=new ReviewAnswer(item_id,report_id,worker_id,job_id,problemNum);
         return answerDao.save(answer);
     }
 
-    public boolean  updateAnswer(String id, List<String>answers,List<String> attachment_location){
+    public boolean updateAnswer(String id, List<String>answers,List<String> attachment_location){
         try {
             if(id == null || id.equals("undefined")) { return false; }
-            Answer answer=answerDao.getAnswerById(id);
+            ReviewAnswer answer=answerDao.getAnswerById(id);
 //            answer.setId(id);
             answer.setAnswers(answers);
             answer.setAttachment_location(attachment_location);
@@ -62,26 +64,42 @@ public class ItemService {
         }
     }
 
-    public List<Item>getItemsByWorkerJob(String worker_id,String job_id){
-        List<String>itemIds = groupDao.getItemsByUserJob(worker_id, job_id);
-        List<Item>items=new ArrayList<>();
-        if(itemIds==null||itemIds.size()==0){
+    public List<ReviewReport>getReportsByWorkerJob(String worker_id,String job_id){
+        List<String>reportIds = groupDao.getReportsByUserJob(worker_id, job_id);
+        List<ReviewReport>reports=new ArrayList<>();
+        if(reportIds==null||reportIds.size()==0){
             return null;
         }else{
-            for(int i=0;i<itemIds.size();i++){
-                items.add(itemDao.getItem(itemIds.get(i)));
+            for(int i=0;i<reportIds.size();i++){
+                reports.add(reportDao.findReviewReport(reportIds.get(i)));
             }
         }
-        return items;
+        return reports;
     }
 
-    public String saveUserToItem(String worker_id, List<String> item_id, String job_id, String create_time_millis, String device_model, String device_brand, String device_os){
-        UserToItem userToItem=new UserToItem(worker_id, item_id, job_id,create_time_millis,device_model,device_brand,device_os);
-        return userToItemDao.save(userToItem);
+    public ReviewItem getItemByReport(String report_id){
+        ReviewItem item=itemDao.findItemsByReport(report_id);
+        return item;
     }
 
-    public String saveGroup(String name, String description, List<String> workers_id, String job_id, List<String> item_id){
-        Group group=new Group(name, description, workers_id, job_id, item_id);
+    public List<String> getReportsByItem(String item_id){
+        ReviewItem item=itemDao.findById(item_id);
+        if(item==null){
+            return null;
+        }
+        else{
+            return item.getReport_id();
+        }
+    }
+
+
+//    public String saveUserToItem(String worker_id, List<String> item_id, String job_id, String create_time_millis, String device_model, String device_brand, String device_os){
+//        UserToItem userToItem=new UserToItem(worker_id, item_id, job_id,create_time_millis,device_model,device_brand,device_os);
+//        return userToItemDao.save(userToItem);
+//    }
+
+    public String saveGroup(String name, String description, List<String> workers_id, String job_id, List<String> report_id){
+        ReviewGroup group=new ReviewGroup(name, description, workers_id, job_id, report_id);
         return groupDao.save(group);
     }
 

+ 4 - 4
src/main/resources/application.properties

@@ -1,11 +1,11 @@
 server.port = 8090
 server.servlet.context-path = /Bug/api/
 
-#spring.data.mongodb.host = ${MONGO_HOST:10.81.65.118}
-#spring.data.mongodb.port = ${MONGO_PORT:29019}
-#spring.data.mongodb.database = ${MONGO_DBNAME:co-report}
+spring.data.mongodb.host = ${MONGO_HOST:10.81.65.118}
+spring.data.mongodb.port = ${MONGO_PORT:29019}
+spring.data.mongodb.database = ${MONGO_DBNAME:co-report}
 
-spring.data.mongodb.uri= mongodb://localhost:27017/test
+#spring.data.mongodb.uri= mongodb://localhost:27017/test
 
 spring.http.encoding.force = true
 spring.http.encoding.charset = UTF-8