浏览代码

去掉学习中心表;考生中的学习中心字段改为可选;去掉所有与学习中心ID的关联

luoshi 4 年之前
父节点
当前提交
9eeea7722d
共有 23 个文件被更改,包括 351 次插入918 次删除
  1. 0 16
      stmms-biz/src/main/java/cn/com/qmth/stmms/biz/campus/dao/CampusDao.java
  2. 0 137
      stmms-biz/src/main/java/cn/com/qmth/stmms/biz/campus/model/Campus.java
  3. 0 58
      stmms-biz/src/main/java/cn/com/qmth/stmms/biz/campus/query/CampusSearchQuery.java
  4. 0 27
      stmms-biz/src/main/java/cn/com/qmth/stmms/biz/campus/service/CampusService.java
  5. 0 117
      stmms-biz/src/main/java/cn/com/qmth/stmms/biz/campus/service/impl/CampusServiceImp.java
  6. 0 4
      stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/dao/ExamStudentDao.java
  7. 0 2
      stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/ExamStudentService.java
  8. 0 35
      stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/impl/ExamStudentServiceImpl.java
  9. 6 29
      stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/model/MarkLibrary.java
  10. 2 23
      stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/model/TrialLibrary.java
  11. 41 73
      stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/Impl/MarkCronService.java
  12. 2 13
      stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/Impl/MarkServiceImpl.java
  13. 9 17
      stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/MarkService.java
  14. 0 4
      stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/AnswerCheckController.java
  15. 0 4
      stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/InspectedController.java
  16. 0 4
      stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/MarkGroupController.java
  17. 0 4
      stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/MarkTrackController.java
  18. 5 7
      stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/ScanController.java
  19. 0 8
      stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/StudentController.java
  20. 145 157
      stmms-web/src/main/java/cn/com/qmth/stmms/admin/vo/ScoreDetailVO.java
  21. 105 117
      stmms-web/src/main/java/cn/com/qmth/stmms/admin/vo/ScoreVO.java
  22. 7 12
      stmms-web/src/main/java/cn/com/qmth/stmms/api/controller/ExamInfoController.java
  23. 29 50
      stmms-web/src/main/java/cn/com/qmth/stmms/api/controller/ExamStudentController.java

+ 0 - 16
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/campus/dao/CampusDao.java

@@ -1,16 +0,0 @@
-package cn.com.qmth.stmms.biz.campus.dao;
-
-import java.util.List;
-
-import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
-import org.springframework.data.repository.PagingAndSortingRepository;
-
-import cn.com.qmth.stmms.biz.campus.model.Campus;
-
-public interface CampusDao extends PagingAndSortingRepository<Campus, Integer>, JpaSpecificationExecutor<Campus> {
-
-    public List<Campus> findBySchoolId(int schoolId);
-
-    public List<Campus> findBySchoolIdAndName(int schoolId, String name);
-
-}

+ 0 - 137
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/campus/model/Campus.java

@@ -1,137 +0,0 @@
-package cn.com.qmth.stmms.biz.campus.model;
-
-import java.io.Serializable;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.Table;
-
-@Entity
-@Table(name = "b_campus")
-public class Campus implements Serializable {
-
-    private static final long serialVersionUID = -1056886453298677825L;
-
-    /**
-     * 主键
-     */
-    @Id
-    @GeneratedValue
-    private Integer id;
-
-    /**
-     * 所属学校ID
-     */
-    @Column(name = "school_id")
-    private Integer schoolId;
-
-    /**
-     * 学习中心名称
-     */
-    private String name;
-
-    /**
-     * 省份
-     */
-    private String province;
-
-    /**
-     * 城市
-     */
-    private String city;
-
-    /**
-     * 地区
-     */
-    private String district;
-
-    /**
-     * 地址
-     */
-    private String address;
-
-    /**
-     * 电话
-     */
-    private String phone;
-
-    /**
-     * 描述
-     */
-    private String description;
-
-    public Integer getId() {
-        return id;
-    }
-
-    public void setId(Integer id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getProvince() {
-        return province;
-    }
-
-    public void setProvince(String province) {
-        this.province = province;
-    }
-
-    public String getCity() {
-        return city;
-    }
-
-    public void setCity(String city) {
-        this.city = city;
-    }
-
-    public String getDistrict() {
-        return district;
-    }
-
-    public void setDistrict(String district) {
-        this.district = district;
-    }
-
-    public String getAddress() {
-        return address;
-    }
-
-    public void setAddress(String address) {
-        this.address = address;
-    }
-
-    public String getPhone() {
-        return phone;
-    }
-
-    public void setPhone(String phone) {
-        this.phone = phone;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-
-    public Integer getSchoolId() {
-        return schoolId;
-    }
-
-    public void setSchoolId(Integer schoolId) {
-        this.schoolId = schoolId;
-    }
-
-}

+ 0 - 58
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/campus/query/CampusSearchQuery.java

@@ -1,58 +0,0 @@
-package cn.com.qmth.stmms.biz.campus.query;
-
-import cn.com.qmth.stmms.biz.common.BaseQuery;
-import cn.com.qmth.stmms.biz.campus.model.Campus;
-
-public class CampusSearchQuery extends BaseQuery<Campus> {
-
-    private Integer schoolId;
-
-    private String name;
-
-    private String province;
-
-    private String city;
-
-    private String district;
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getProvince() {
-        return province;
-    }
-
-    public void setProvince(String province) {
-        this.province = province;
-    }
-
-    public String getCity() {
-        return city;
-    }
-
-    public void setCity(String city) {
-        this.city = city;
-    }
-
-    public String getDistrict() {
-        return district;
-    }
-
-    public void setDistrict(String district) {
-        this.district = district;
-    }
-
-    public Integer getSchoolId() {
-        return schoolId;
-    }
-
-    public void setSchoolId(Integer schoolId) {
-        this.schoolId = schoolId;
-    }
-
-}

+ 0 - 27
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/campus/service/CampusService.java

@@ -1,27 +0,0 @@
-package cn.com.qmth.stmms.biz.campus.service;
-
-import java.util.List;
-import java.util.Map;
-
-import cn.com.qmth.stmms.biz.campus.model.Campus;
-import cn.com.qmth.stmms.biz.campus.query.CampusSearchQuery;
-
-public interface CampusService {
-
-    Campus save(Campus campus);
-
-    Campus findById(Integer id);
-
-    public Map<String, Campus> findBySchool(int schoolId);
-
-    List<Campus> findBySchoolId(int schoolId);
-
-    Campus findBySchoolAndName(int schoolId, String name);
-
-    public CampusSearchQuery findByQuery(final CampusSearchQuery query);
-
-    void deleteById(Integer id);
-
-    void delete(Campus campus);
-
-}

+ 0 - 117
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/campus/service/impl/CampusServiceImp.java

@@ -1,117 +0,0 @@
-package cn.com.qmth.stmms.biz.campus.service.impl;
-
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-
-import org.apache.commons.lang.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Page;
-import org.springframework.data.jpa.domain.Specification;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import cn.com.qmth.stmms.biz.campus.dao.CampusDao;
-import cn.com.qmth.stmms.biz.campus.model.Campus;
-import cn.com.qmth.stmms.biz.campus.query.CampusSearchQuery;
-import cn.com.qmth.stmms.biz.campus.service.CampusService;
-import cn.com.qmth.stmms.biz.common.BaseQueryService;
-
-@Service("campusService")
-public class CampusServiceImp extends BaseQueryService<Campus> implements CampusService {
-
-    protected static Logger logger = LoggerFactory.getLogger(CampusServiceImp.class);
-
-    @Autowired
-    public CampusDao campusDao;
-
-    @Override
-    public Campus findById(Integer id) {
-        return campusDao.findOne(id);
-    }
-
-    public List<Campus> findBySchoolId(int schoolId) {
-        return campusDao.findBySchoolId(schoolId);
-    }
-
-    public Map<String, Campus> findBySchool(int schoolId) {
-        Map<String, Campus> map = new HashMap<String, Campus>();
-        List<Campus> list = findBySchoolId(schoolId);
-        if (list != null) {
-            for (Campus campus : list) {
-                map.put(campus.getName(), campus);
-            }
-        }
-        return map;
-    }
-
-    // @Cacheable(value = "campus_cache", key =
-    // "T(String).valueOf(#schoolId)+'-'+#name", condition = "#schoolId>0 &&
-    // #name!=null")
-    public Campus findBySchoolAndName(int schoolId, String name) {
-        List<Campus> list = campusDao.findBySchoolIdAndName(schoolId, name);
-        return list != null && list.size() > 0 ? list.get(0) : null;
-    }
-
-    public CampusSearchQuery findByQuery(final CampusSearchQuery query) {
-        checkQuery(query);
-        Page<Campus> result = campusDao.findAll(new Specification<Campus>() {
-
-            @Override
-            public Predicate toPredicate(Root<Campus> root, CriteriaQuery<?> cQuery, CriteriaBuilder cb) {
-                List<Predicate> predicates = new LinkedList<Predicate>();
-                if (query.getSchoolId() != null) {
-                    predicates.add(cb.equal(root.get("schoolId"), query.getSchoolId()));
-                }
-                if (StringUtils.isNotBlank(query.getName())) {
-                    predicates.add(cb.like(root.get("name").as(String.class), query.getName() + "%"));
-                }
-                if (StringUtils.isNotBlank(query.getProvince())) {
-                    predicates.add(cb.equal(root.get("province"), query.getProvince()));
-                }
-                if (StringUtils.isNotBlank(query.getCity())) {
-                    predicates.add(cb.equal(root.get("city"), query.getCity()));
-                }
-                if (StringUtils.isNotBlank(query.getDistrict())) {
-                    predicates.add(cb.equal(root.get("district"), query.getDistrict()));
-                }
-                return predicates.isEmpty() ? cb.conjunction()
-                        : cb.and(predicates.toArray(new Predicate[predicates.size()]));
-            }
-
-        }, query);
-
-        fillResult(result, query);
-        return query;
-    }
-
-    @Transactional
-    // @CachePut(value = "campus_cache", key =
-    // "T(String).valueOf(#campus.schoolId)+'-'+#campus.name", condition =
-    // "#campus!=null && #campus.schoolId!=null && #campus.name!=null")
-    public Campus save(Campus campus) {
-        return campusDao.save(campus);
-    }
-
-    @Transactional
-    // @CacheEvict(value = "campus_cache", allEntries = true, beforeInvocation =
-    // true)
-    public void deleteById(Integer id) {
-        campusDao.delete(id);
-    }
-
-    @Transactional
-    // @CacheEvict(value = "campus_cache", allEntries = true, beforeInvocation =
-    // true)
-    public void delete(Campus campus) {
-        campusDao.delete(campus);
-    }
-}

+ 0 - 4
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/dao/ExamStudentDao.java

@@ -50,10 +50,6 @@ public interface ExamStudentDao
     @Query("select s from ExamStudent s where s.examId=?1 group by s.campusName")
     public List<ExamStudent> findDistinctCampusName(int examId, Pageable pageable);
 
-    @Query("select count(c) from Campus c where exists (select s.id from ExamStudent s where "
-            + "c.schoolId=s.schoolId and c.name=s.campusName and s.examId=?1)")
-    public long countDistinctCampusName(int examId);
-
     @Query("select s.packageCode from ExamStudent s where s.examId=?1 group by s.packageCode")
     public List<String> findDistinctPackageCode(int examId);
 

+ 0 - 2
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/ExamStudentService.java

@@ -44,8 +44,6 @@ public interface ExamStudentService {
 
     List<String> findDistinctCampusName(int examId);
 
-    ExamStudentSearchQuery findDistinctCampusName(ExamStudentSearchQuery query);
-
     List<ExamStudent> findByExamIdAndCampusName(int examId, String campusCode, int pageNumber, int pageSize);
 
     List<String> findDistinctPackageCode(int examId);

+ 0 - 35
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/impl/ExamStudentServiceImpl.java

@@ -1,7 +1,5 @@
 package cn.com.qmth.stmms.biz.exam.service.impl;
 
-import cn.com.qmth.stmms.biz.campus.model.Campus;
-import cn.com.qmth.stmms.biz.campus.service.CampusService;
 import cn.com.qmth.stmms.biz.common.BaseQueryService;
 import cn.com.qmth.stmms.biz.exam.dao.ExamStudentDao;
 import cn.com.qmth.stmms.biz.exam.model.*;
@@ -38,9 +36,6 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
     @Autowired
     private ExamStudentDao studentDao;
 
-    @Autowired
-    private CampusService campusService;
-
     @Autowired
     private ExamPackageService packageService;
 
@@ -91,7 +86,6 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
         int examId = list.get(0).getExamId();
         int schoolId = list.get(0).getSchoolId();
         Map<String, ExamSubject> subjectMap = new HashMap<String, ExamSubject>();
-        Set<String> campusSet = new HashSet<String>();
         Set<String> packageSet = new HashSet<String>();
 
         for (ExamStudent student : list) {
@@ -112,7 +106,6 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
                 subject.setRemark(StringUtils.trimToNull(student.getSubjectRemark()));
             }
             subjectMap.put(subject.getCode(), subject);
-            campusSet.add(student.getCampusName());
             if (StringUtils.isNotBlank(student.getPackageCode())) {
                 packageSet.add(student.getPackageCode());
             }
@@ -141,16 +134,6 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
             subjectService.save(subject);
         }
 
-        for (String name : campusSet) {
-            Campus campus = campusService.findBySchoolAndName(schoolId, name);
-            if (campus == null) {
-                campus = new Campus();
-                campus.setSchoolId(schoolId);
-                campus.setName(name);
-                campusService.save(campus);
-            }
-        }
-
         for (String code : packageSet) {
             ExamPackage examPackage = packageService.find(examId, code);
             if (examPackage == null) {
@@ -196,14 +179,6 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
             student.setSubjectCategory(subject.getCategory());
         }
 
-        Campus campus = campusService.findBySchoolAndName(student.getSchoolId(), student.getCampusName());
-        if (campus == null) {
-            campus = new Campus();
-            campus.setSchoolId(student.getSchoolId());
-            campus.setName(student.getCampusName());
-            campusService.save(campus);
-        }
-
         if (StringUtils.isNotBlank(student.getPackageCode())) {
             ExamPackage examPackage = packageService.find(student.getExamId(), student.getPackageCode());
             if (examPackage == null) {
@@ -368,16 +343,6 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
         return studentDao.findDistinctCampusName(examId);
     }
 
-    @Override
-    public ExamStudentSearchQuery findDistinctCampusName(ExamStudentSearchQuery query) {
-        checkQuery(query);
-        query.setResult(studentDao.findDistinctCampusName(query.getExamId(), query));
-        query.setCurrentCount(query.getResult().size());
-        query.setTotalCount(studentDao.countDistinctCampusName(query.getExamId()));
-        query.setTotalPage((int) query.getTotalCount() / query.getPageSize());
-        return query;
-    }
-
     @Override
     public List<String> findDistinctPackageCode(int examId) {
         return studentDao.findDistinctPackageCode(examId);

+ 6 - 29
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/model/MarkLibrary.java

@@ -1,25 +1,16 @@
 package cn.com.qmth.stmms.biz.mark.model;
 
+import cn.com.qmth.stmms.biz.exam.model.Marker;
+import cn.com.qmth.stmms.biz.utils.ScoreItem;
+import cn.com.qmth.stmms.common.enums.LibraryStatus;
+import org.apache.commons.lang.StringUtils;
+
+import javax.persistence.*;
 import java.io.Serializable;
 import java.util.Date;
 import java.util.LinkedList;
 import java.util.List;
 
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.EnumType;
-import javax.persistence.Enumerated;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.Table;
-import javax.persistence.Transient;
-
-import org.apache.commons.lang.StringUtils;
-
-import cn.com.qmth.stmms.biz.exam.model.Marker;
-import cn.com.qmth.stmms.biz.utils.ScoreItem;
-import cn.com.qmth.stmms.common.enums.LibraryStatus;
-
 @Entity
 @Table(name = "m_library")
 public class MarkLibrary implements Serializable {
@@ -48,12 +39,6 @@ public class MarkLibrary implements Serializable {
     @Column(name = "group_number")
     private Integer groupNumber;
 
-    /**
-     * 学习中心
-     */
-    @Column(name = "campus_id")
-    private Integer campusId;
-
     /**
      * 考生编号
      */
@@ -239,14 +224,6 @@ public class MarkLibrary implements Serializable {
         return list;
     }
 
-    public Integer getCampusId() {
-        return campusId;
-    }
-
-    public void setCampusId(Integer campusId) {
-        this.campusId = campusId;
-    }
-
     public Integer getGroupNumber() {
         return groupNumber;
     }

+ 2 - 23
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/model/TrialLibrary.java

@@ -1,19 +1,12 @@
 package cn.com.qmth.stmms.biz.mark.model;
 
+import javax.persistence.*;
 import java.io.Serializable;
 
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.Table;
-import javax.persistence.Transient;
-
 /**
  * 试评任务表
- * 
- * @author luoshi
  *
+ * @author luoshi
  */
 @Entity
 @Table(name = "m_trial_library")
@@ -43,12 +36,6 @@ public class TrialLibrary implements Serializable {
     @Column(name = "group_number")
     private Integer groupNumber;
 
-    /**
-     * 学习中心
-     */
-    @Column(name = "campus_id")
-    private Integer campusId;
-
     /**
      * 考生编号
      */
@@ -107,14 +94,6 @@ public class TrialLibrary implements Serializable {
         this.examNumber = examNumber;
     }
 
-    public Integer getCampusId() {
-        return campusId;
-    }
-
-    public void setCampusId(Integer campusId) {
-        this.campusId = campusId;
-    }
-
     public Integer getGroupNumber() {
         return groupNumber;
     }

+ 41 - 73
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/Impl/MarkCronService.java

@@ -1,19 +1,5 @@
 package cn.com.qmth.stmms.biz.mark.service.Impl;
 
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import cn.com.qmth.stmms.biz.campus.model.Campus;
-import cn.com.qmth.stmms.biz.campus.service.CampusService;
 import cn.com.qmth.stmms.biz.exam.model.ExamStudent;
 import cn.com.qmth.stmms.biz.exam.model.ExamSubject;
 import cn.com.qmth.stmms.biz.exam.model.MarkGroup;
@@ -28,6 +14,15 @@ import cn.com.qmth.stmms.biz.utils.FormalTaskUtil;
 import cn.com.qmth.stmms.biz.utils.TrialTaskUtil;
 import cn.com.qmth.stmms.common.enums.LockType;
 import cn.com.qmth.stmms.common.enums.MarkStatus;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.List;
 
 /**
  * 与评卷相关的所有定时任务
@@ -39,9 +34,6 @@ public class MarkCronService {
 
     protected static final Logger log = LoggerFactory.getLogger(MarkCronService.class);
 
-    @Autowired
-    private CampusService campusService;
-
     @Autowired
     private ExamStudentService studentService;
 
@@ -98,10 +90,9 @@ public class MarkCronService {
     public void buildLibrary() {
         log.info("start auto-create library");
         try {
-            Map<String, Campus> campusMap = new HashMap<>();
             List<Integer> examIds = groupService.findExamIdByStatus(MarkStatus.TRIAL, MarkStatus.FORMAL);
             for (Integer examId : examIds) {
-                buildLibraryByExam(examId, campusMap);
+                buildLibraryByExam(examId);
             }
         } catch (Exception e) {
             log.error("auto-create library error", e);
@@ -132,11 +123,11 @@ public class MarkCronService {
         // 获取主观题总分大于0的科目
         List<ExamSubject> subjects = subjectService.list(examId, 0);
         for (ExamSubject subject : subjects) {
-            List<MarkGroup> groups = groupService.findByExamAndSubjectAndStatus(examId, subject.getCode(),
-                    MarkStatus.FORMAL);
+            List<MarkGroup> groups = groupService
+                    .findByExamAndSubjectAndStatus(examId, subject.getCode(), MarkStatus.FORMAL);
             for (MarkGroup markGroup : groups) {
-                List<Marker> markers = markerService.findByExamAndSubjectAndGroup(examId, subject.getCode(),
-                        markGroup.getNumber());
+                List<Marker> markers = markerService
+                        .findByExamAndSubjectAndGroup(examId, subject.getCode(), markGroup.getNumber());
                 for (Marker marker : markers) {
                     try {
                         if (markService.needUpdateQuality(marker, markerActiveExpireMinute)) {
@@ -151,13 +142,13 @@ public class MarkCronService {
         }
     }
 
-    private void buildLibraryByExam(Integer examId, Map<String, Campus> campusMap) {
+    private void buildLibraryByExam(Integer examId) {
         // 获取主观题总分大于0的科目
         List<ExamSubject> subjects = subjectService.listSubjectiveScore(examId, 0d);
         for (ExamSubject subject : subjects) {
             // 清除缺考考生和违纪考生
-            List<ExamStudent> list = studentService.findAbsentOrBreachLibraryStudent(subject.getExamId(),
-                    subject.getCode());
+            List<ExamStudent> list = studentService
+                    .findAbsentOrBreachLibraryStudent(subject.getExamId(), subject.getCode());
             if (list != null) {
                 for (ExamStudent student : list) {
                     try {
@@ -172,59 +163,54 @@ public class MarkCronService {
             }
             // 处理正常考生
             // 生成试评任务
-            List<MarkGroup> groups = groupService.findByExamAndSubjectAndStatus(subject.getExamId(), subject.getCode(),
-                    MarkStatus.TRIAL);
+            List<MarkGroup> groups = groupService
+                    .findByExamAndSubjectAndStatus(subject.getExamId(), subject.getCode(), MarkStatus.TRIAL);
             for (MarkGroup group : groups) {
-                buildTrialLibrary(campusMap, group);
+                buildTrialLibrary(group);
             }
             // 生成正评任务
             // 试评状态的分组也提前生成
-            groups = groupService.findByExamAndSubjectAndStatus(subject.getExamId(), subject.getCode(),
-                    MarkStatus.FORMAL, MarkStatus.TRIAL);
+            groups = groupService
+                    .findByExamAndSubjectAndStatus(subject.getExamId(), subject.getCode(), MarkStatus.FORMAL,
+                            MarkStatus.TRIAL);
             for (MarkGroup group : groups) {
-                buildFormalLibrary(subject, campusMap, group);
+                buildFormalLibrary(subject, group);
             }
         }
     }
 
-    private void buildFormalLibrary(ExamSubject subject, Map<String, Campus> campusMap, MarkGroup group) {
+    private void buildFormalLibrary(ExamSubject subject, MarkGroup group) {
         Date lastBuildTime = group.getBuildTime();
         int count = 0;
-        ExamStudent student = studentService.findUnLibraryStudent(group.getExamId(), group.getSubjectCode(),
-                group.getNumber(), lastBuildTime);
+        ExamStudent student = studentService
+                .findUnLibraryStudent(group.getExamId(), group.getSubjectCode(), group.getNumber(), lastBuildTime);
         while (student != null) {
-            // 补充学习中心集合
-            Campus campus = getCampus(student, campusMap);
-            if (campus == null) {
-                log.error("campus unexist for student id=" + student.getId());
-                continue;
-            }
             // 尝试构造评卷任务
             try {
                 lockService.watch(LockType.GROUP, group.getExamId(), group.getSubjectCode(), group.getNumber());
                 lockService.watch(LockType.STUDENT, student.getId());
                 // 上锁后重复验证分组状态
-                if (!groupService.validateStatus(group.getExamId(), group.getSubjectCode(), group.getNumber(),
-                        MarkStatus.FORMAL, MarkStatus.TRIAL)) {
+                if (!groupService
+                        .validateStatus(group.getExamId(), group.getSubjectCode(), group.getNumber(), MarkStatus.FORMAL,
+                                MarkStatus.TRIAL)) {
                     break;
                 }
                 // 上锁后重复验证考生状态
                 if (studentService.validateStatus(student.getId())) {
-                    markService.buildFormalLibrary(student, campus, group, subject);
+                    markService.buildFormalLibrary(student, group, subject);
                     lastBuildTime = student.getUploadTime();
                     count++;
                 }
             } catch (Exception e) {
-                log.error(
-                        "build formal library error for studentId=" + student.getId() + ", groupNumber="
-                                + group.getNumber(), e);
+                log.error("build formal library error for studentId=" + student.getId() + ", groupNumber=" + group
+                        .getNumber(), e);
             } finally {
                 lockService.unwatch(LockType.STUDENT, student.getId());
                 lockService.unwatch(LockType.GROUP, group.getExamId(), group.getSubjectCode(), group.getNumber());
             }
             // 取下一个考生
-            student = studentService.findUnLibraryStudent(group.getExamId(), group.getSubjectCode(), group.getNumber(),
-                    lastBuildTime);
+            student = studentService
+                    .findUnLibraryStudent(group.getExamId(), group.getSubjectCode(), group.getNumber(), lastBuildTime);
         }
         // 有新任务创建,同时正评状态,此时才需要更新任务数量
         if (count > 0) {
@@ -236,20 +222,14 @@ public class MarkCronService {
         }
     }
 
-    private void buildTrialLibrary(Map<String, Campus> campusMap, MarkGroup group) {
+    private void buildTrialLibrary(MarkGroup group) {
         while (group.getTrialCount() > group.getLibraryCount()) {
             // 随机取一个未生成试评任务的考生
-            ExamStudent student = studentService.randomUnTrialStudent(group.getExamId(), group.getSubjectCode(),
-                    group.getNumber());
+            ExamStudent student = studentService
+                    .randomUnTrialStudent(group.getExamId(), group.getSubjectCode(), group.getNumber());
             if (student == null) {
                 return;
             }
-            // 补充学习中心集合
-            Campus campus = getCampus(student, campusMap);
-            if (campus == null) {
-                log.error("campus unexist for student id=" + student.getId());
-                continue;
-            }
             // 尝试构造试评任务
             try {
                 lockService.watch(LockType.GROUP, group.getExamId(), group.getSubjectCode(), group.getNumber());
@@ -261,14 +241,13 @@ public class MarkCronService {
                 }
                 // 上锁后重复验证考生状态
                 if (studentService.validateStatus(student.getId())) {
-                    markService.buildTrialLibrary(student, campus, group);
+                    markService.buildTrialLibrary(student, group);
                     markService.updateLibraryCount(group);
                     markService.updateMarkedCount(group);
                 }
             } catch (Exception e) {
-                log.error(
-                        "build trial library error for studentId=" + student.getId() + ", groupNumber="
-                                + group.getNumber(), e);
+                log.error("build trial library error for studentId=" + student.getId() + ", groupNumber=" + group
+                        .getNumber(), e);
             } finally {
                 lockService.unwatch(LockType.STUDENT, student.getId());
                 lockService.unwatch(LockType.GROUP, group.getExamId(), group.getSubjectCode(), group.getNumber());
@@ -276,15 +255,4 @@ public class MarkCronService {
         }
     }
 
-    private Campus getCampus(ExamStudent student, Map<String, Campus> campusMap) {
-        // 补充学习中心集合
-        Campus campus = campusMap.get(student.getSchoolId() + "_" + student.getCampusName());
-        if (campus == null) {
-            campus = campusService.findBySchoolAndName(student.getSchoolId(), student.getCampusName());
-            if (campus != null) {
-                campusMap.put(student.getSchoolId() + "_" + student.getCampusName(), campus);
-            }
-        }
-        return campus;
-    }
 }

+ 2 - 13
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/Impl/MarkServiceImpl.java

@@ -1,11 +1,9 @@
 package cn.com.qmth.stmms.biz.mark.service.Impl;
 
-import cn.com.qmth.stmms.biz.campus.model.Campus;
 import cn.com.qmth.stmms.biz.exam.dao.ExamQuestionDao;
 import cn.com.qmth.stmms.biz.exam.dao.MarkGroupDao;
 import cn.com.qmth.stmms.biz.exam.dao.MarkerDao;
 import cn.com.qmth.stmms.biz.exam.model.*;
-import cn.com.qmth.stmms.biz.exam.service.ExamService;
 import cn.com.qmth.stmms.biz.exam.service.ExamStudentService;
 import cn.com.qmth.stmms.biz.exam.service.ExamSubjectService;
 import cn.com.qmth.stmms.biz.mark.dao.*;
@@ -77,9 +75,6 @@ public class MarkServiceImpl implements MarkService {
     @Autowired
     private TrialTagDao trialTagDao;
 
-    @Autowired
-    private ExamService examService;
-
     @Autowired
     private ProblemHistoryService problemHistoryService;
 
@@ -599,7 +594,6 @@ public class MarkServiceImpl implements MarkService {
         library.setExamId(markLibrary.getExamId());
         library.setSubjectCode(markLibrary.getSubjectCode());
         library.setGroupNumber(group.getNumber());
-        library.setCampusId(markLibrary.getCampusId());
         library.setStudentId(markLibrary.getStudentId());
         library.setExamNumber(markLibrary.getExamNumber());
         library.setTaskNumber(3);
@@ -871,20 +865,18 @@ public class MarkServiceImpl implements MarkService {
      * 根据考生、学习中心、评卷分组构造正式评卷任务
      *
      * @param student - 考生
-     * @param campus  - 学习中心
      * @param group   - 评卷分组
      * @param subject - 科目
      */
     @Override
     @Transactional
-    public void buildFormalLibrary(ExamStudent student, Campus campus, MarkGroup group, ExamSubject subject) {
+    public void buildFormalLibrary(ExamStudent student, MarkGroup group, ExamSubject subject) {
         // 查询是否已创建评卷任务
         if (libraryDao.countByStudentIdAndGroupNumber(student.getId(), group.getNumber()) == 0) {
             MarkLibrary library = new MarkLibrary();
             library.setExamId(student.getExamId());
             library.setSubjectCode(student.getSubjectCode());
             library.setGroupNumber(group.getNumber());
-            library.setCampusId(campus.getId());
             library.setStudentId(student.getId());
             library.setExamNumber(student.getExamNumber());
             library.setTaskNumber(1);
@@ -914,7 +906,6 @@ public class MarkServiceImpl implements MarkService {
                     library.setExamId(student.getExamId());
                     library.setSubjectCode(student.getSubjectCode());
                     library.setGroupNumber(group.getNumber());
-                    library.setCampusId(campus.getId());
                     library.setStudentId(student.getId());
                     library.setExamNumber(student.getExamNumber());
                     library.setTaskNumber(2);
@@ -933,19 +924,17 @@ public class MarkServiceImpl implements MarkService {
      * 根据考生、学习中心、评卷分组构造试评评卷任务
      *
      * @param student - 考生
-     * @param campus  - 学习中心
      * @param group   - 评卷分组
      */
     @Override
     @Transactional
-    public void buildTrialLibrary(ExamStudent student, Campus campus, MarkGroup group) {
+    public void buildTrialLibrary(ExamStudent student, MarkGroup group) {
         // 查询是否已创建评卷任务
         if (trialLibraryDao.countByStudentIdAndGroupNumber(student.getId(), group.getNumber()) == 0) {
             TrialLibrary library = new TrialLibrary();
             library.setExamId(student.getExamId());
             library.setSubjectCode(student.getSubjectCode());
             library.setGroupNumber(group.getNumber());
-            library.setCampusId(campus.getId());
             library.setStudentId(student.getId());
             library.setExamNumber(student.getExamNumber());
             trialLibraryDao.save(library);

+ 9 - 17
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/MarkService.java

@@ -1,13 +1,6 @@
 package cn.com.qmth.stmms.biz.mark.service;
 
-import java.util.List;
-
-import cn.com.qmth.stmms.biz.campus.model.Campus;
-import cn.com.qmth.stmms.biz.exam.model.ExamQuestion;
-import cn.com.qmth.stmms.biz.exam.model.ExamStudent;
-import cn.com.qmth.stmms.biz.exam.model.ExamSubject;
-import cn.com.qmth.stmms.biz.exam.model.MarkGroup;
-import cn.com.qmth.stmms.biz.exam.model.Marker;
+import cn.com.qmth.stmms.biz.exam.model.*;
 import cn.com.qmth.stmms.biz.mark.model.ArbitrateHistory;
 import cn.com.qmth.stmms.biz.mark.model.MarkLibrary;
 import cn.com.qmth.stmms.biz.mark.model.MarkResult;
@@ -15,6 +8,8 @@ import cn.com.qmth.stmms.biz.mark.model.TrialLibrary;
 import cn.com.qmth.stmms.common.enums.ScorePolicy;
 import cn.com.qmth.stmms.common.enums.ThirdPolicy;
 
+import java.util.List;
+
 public interface MarkService {
 
     /**
@@ -101,7 +96,6 @@ public interface MarkService {
      * 释放某个评卷员的所有锁定任务
      *
      * @param marker
-     * @param group
      */
     void releaseByMarker(Marker marker);
 
@@ -181,28 +175,26 @@ public interface MarkService {
     int applyCount(Marker marker);
 
     /**
-     * 根据考生、学习中心、大题构造正式评卷任务
+     * 根据考生、大题构造正式评卷任务
      *
      * @param student
-     * @param campus
      * @param group
      * @param subject
      */
-    void buildFormalLibrary(ExamStudent student, Campus campus, MarkGroup group, ExamSubject subject);
+    void buildFormalLibrary(ExamStudent student, MarkGroup group, ExamSubject subject);
 
     /**
-     * 根据考生、学习中心、大题构造试评评卷任务
+     * 根据考生、大题构造试评评卷任务
      *
      * @param student
-     * @param campus
      * @param group
      */
-    void buildTrialLibrary(ExamStudent student, Campus campus, MarkGroup group);
+    void buildTrialLibrary(ExamStudent student, MarkGroup group);
 
     /**
      * 评卷员提交评卷任务
      *
-     * @param task
+     * @param result
      * @param marker
      * @return
      */
@@ -236,7 +228,7 @@ public interface MarkService {
      *
      * @param marker
      * @param expireMinutes
-     * @return
+     * @return boolean
      */
     boolean needUpdateQuality(Marker marker, long expireMinutes);
 

+ 0 - 4
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/AnswerCheckController.java

@@ -1,6 +1,5 @@
 package cn.com.qmth.stmms.admin.exam;
 
-import cn.com.qmth.stmms.biz.campus.service.CampusService;
 import cn.com.qmth.stmms.biz.exam.model.Exam;
 import cn.com.qmth.stmms.biz.exam.model.ExamQuestion;
 import cn.com.qmth.stmms.biz.exam.model.ExamStudent;
@@ -38,9 +37,6 @@ public class AnswerCheckController extends BaseExamController {
     @Autowired
     private ExamQuestionService questionService;
 
-    @Autowired
-    private CampusService campusService;
-
     @Autowired
     private ExamService examService;
 

+ 0 - 4
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/InspectedController.java

@@ -1,6 +1,5 @@
 package cn.com.qmth.stmms.admin.exam;
 
-import cn.com.qmth.stmms.biz.campus.service.CampusService;
 import cn.com.qmth.stmms.biz.exam.model.ExamQuestion;
 import cn.com.qmth.stmms.biz.exam.model.ExamStudent;
 import cn.com.qmth.stmms.biz.exam.model.MarkGroup;
@@ -59,9 +58,6 @@ public class InspectedController extends BaseExamController {
     @Autowired
     private ExamStudentService studentService;
 
-    @Autowired
-    private CampusService campusService;
-
     @Autowired
     private ExamQuestionService questionService;
 

+ 0 - 4
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/MarkGroupController.java

@@ -1,7 +1,6 @@
 package cn.com.qmth.stmms.admin.exam;
 
 import cn.com.qmth.stmms.admin.dto.ExamQuestionDTO;
-import cn.com.qmth.stmms.biz.campus.service.CampusService;
 import cn.com.qmth.stmms.biz.exam.model.*;
 import cn.com.qmth.stmms.biz.exam.query.ExamStudentSearchQuery;
 import cn.com.qmth.stmms.biz.exam.service.*;
@@ -57,9 +56,6 @@ public class MarkGroupController extends BaseExamController {
     @Autowired
     private ExamStudentService studentService;
 
-    @Autowired
-    private CampusService campusService;
-
     @Autowired
     private MarkService markService;
 

+ 0 - 4
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/MarkTrackController.java

@@ -1,6 +1,5 @@
 package cn.com.qmth.stmms.admin.exam;
 
-import cn.com.qmth.stmms.biz.campus.service.CampusService;
 import cn.com.qmth.stmms.biz.exam.model.ExamStudent;
 import cn.com.qmth.stmms.biz.exam.model.MarkGroup;
 import cn.com.qmth.stmms.biz.exam.service.ExamQuestionService;
@@ -47,9 +46,6 @@ public class MarkTrackController extends BaseExamController {
     @Autowired
     private ExamStudentService studentService;
 
-    @Autowired
-    private CampusService campusService;
-
     @Autowired
     private MarkLibraryService libraryService;
 

+ 5 - 7
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/ScanController.java

@@ -2,7 +2,6 @@ package cn.com.qmth.stmms.admin.exam;
 
 import cn.com.qmth.stmms.admin.vo.ScanInfoVO;
 import cn.com.qmth.stmms.biz.exam.model.ExamPackage;
-import cn.com.qmth.stmms.biz.exam.model.ExamStudent;
 import cn.com.qmth.stmms.biz.exam.model.ExamSubject;
 import cn.com.qmth.stmms.biz.exam.query.ExamPackageSearchQuery;
 import cn.com.qmth.stmms.biz.exam.query.ExamStudentSearchQuery;
@@ -95,13 +94,12 @@ public class ScanController extends BaseExamController {
         int examId = getSessionExamId(request);
         List<ScanInfoVO> list = new LinkedList<ScanInfoVO>();
         if (StringUtils.isBlank(query.getCampusName())) {
-            query.setExamId(examId);
-            query = studentService.findDistinctCampusName(query);
-            for (ExamStudent s : query.getResult()) {
+            List<String> campusList = studentService.findDistinctCampusName(examId);
+            for (String campus : campusList) {
                 ScanInfoVO vo = new ScanInfoVO();
-                vo.setName(s.getCampusName());
-                vo.setTotalCount(studentService.countByExamIdAndCampusName(examId, s.getCampusName()));
-                vo.setScanCount(studentService.countByExamIdAndCampusName(examId, s.getCampusName(), true));
+                vo.setName(campus);
+                vo.setTotalCount(studentService.countByExamIdAndCampusName(examId, campus));
+                vo.setScanCount(studentService.countByExamIdAndCampusName(examId, campus, true));
                 list.add(vo);
             }
         } else {

+ 0 - 8
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/StudentController.java

@@ -2,8 +2,6 @@ package cn.com.qmth.stmms.admin.exam;
 
 import cn.com.qmth.stmms.admin.vo.ExamStudentVO;
 import cn.com.qmth.stmms.admin.vo.UploadStudentVO;
-import cn.com.qmth.stmms.biz.campus.model.Campus;
-import cn.com.qmth.stmms.biz.campus.service.CampusService;
 import cn.com.qmth.stmms.biz.exam.model.Exam;
 import cn.com.qmth.stmms.biz.exam.model.ExamPackage;
 import cn.com.qmth.stmms.biz.exam.model.ExamStudent;
@@ -51,9 +49,6 @@ public class StudentController extends BaseExamController {
 
     protected static Logger log = LoggerFactory.getLogger(StudentController.class);
 
-    @Autowired
-    private CampusService campusService;
-
     @Autowired
     private ExamStudentService studentService;
 
@@ -130,11 +125,8 @@ public class StudentController extends BaseExamController {
         int examId = getSessionExamId(request);
         Exam exam = examService.findById(examId);
         ExamSubject subject = subjectService.find(examId, student.getSubjectCode());
-        Campus campus = campusService.findBySchoolAndName(exam.getSchoolId(), student.getCampusName());
         if (subject == null) {
             addMessage(redirectAttributes, "科目不存在");
-        } else if (campus == null) {
-            addMessage(redirectAttributes, "学习中心不存在");
         } else {
             if (student.getId() != null) {
                 ExamStudent previous = studentService.findById(student.getId());

+ 145 - 157
stmms-web/src/main/java/cn/com/qmth/stmms/admin/vo/ScoreDetailVO.java

@@ -1,157 +1,145 @@
-package cn.com.qmth.stmms.admin.vo;
-
-public class ScoreDetailVO {
-
-    private Integer examId;
-
-    private Integer subjectId;
-
-    private String studentCode;
-
-    private Integer classId;
-
-    private Integer classType;
-
-    private Integer graduateType;
-
-    private Integer paperType;
-
-    private String campusCode;
-
-    private String questionNumber;
-
-    private String mainNumber;
-
-    private String subNumber;
-
-    private Integer isObjective;
-
-    private Integer isSelected;
-
-    private Double score;
-
-    private String answer;
-
-    public Integer getExamId() {
-        return examId;
-    }
-
-    public void setExamId(Integer examId) {
-        this.examId = examId;
-    }
-
-    public Integer getSubjectId() {
-        return subjectId;
-    }
-
-    public void setSubjectId(Integer subjectId) {
-        this.subjectId = subjectId;
-    }
-
-    public String getStudentCode() {
-        return studentCode;
-    }
-
-    public void setStudentCode(String studentCode) {
-        this.studentCode = studentCode;
-    }
-
-    public Integer getClassId() {
-        return classId;
-    }
-
-    public void setClassId(Integer classId) {
-        this.classId = classId;
-    }
-
-    public Integer getClassType() {
-        return classType;
-    }
-
-    public void setClassType(Integer classType) {
-        this.classType = classType;
-    }
-
-    public Integer getGraduateType() {
-        return graduateType;
-    }
-
-    public void setGraduateType(Integer graduateType) {
-        this.graduateType = graduateType;
-    }
-
-    public Integer getPaperType() {
-        return paperType;
-    }
-
-    public void setPaperType(Integer paperType) {
-        this.paperType = paperType;
-    }
-
-
-
-	public String getCampusCode() {
-		return campusCode;
-	}
-
-	public void setCampusCode(String campusCode) {
-		this.campusCode = campusCode;
-	}
-
-	public String getQuestionNumber() {
-        return questionNumber;
-    }
-
-    public void setQuestionNumber(String questionNumber) {
-        this.questionNumber = questionNumber;
-    }
-
-    public String getMainNumber() {
-        return mainNumber;
-    }
-
-    public void setMainNumber(String mainNumber) {
-        this.mainNumber = mainNumber;
-    }
-
-    public String getSubNumber() {
-        return subNumber;
-    }
-
-    public void setSubNumber(String subNumber) {
-        this.subNumber = subNumber;
-    }
-
-    public Integer getIsObjective() {
-        return isObjective;
-    }
-
-    public void setIsObjective(Integer isObjective) {
-        this.isObjective = isObjective;
-    }
-
-    public Integer getIsSelected() {
-        return isSelected;
-    }
-
-    public void setIsSelected(Integer isSelected) {
-        this.isSelected = isSelected;
-    }
-
-    public Double getScore() {
-        return score;
-    }
-
-    public void setScore(Double score) {
-        this.score = score;
-    }
-
-    public String getAnswer() {
-        return answer;
-    }
-
-    public void setAnswer(String answer) {
-        this.answer = answer;
-    }
-
-}
+package cn.com.qmth.stmms.admin.vo;
+
+public class ScoreDetailVO {
+
+    private Integer examId;
+
+    private Integer subjectId;
+
+    private String studentCode;
+
+    private Integer classId;
+
+    private Integer classType;
+
+    private Integer graduateType;
+
+    private Integer paperType;
+
+    private String questionNumber;
+
+    private String mainNumber;
+
+    private String subNumber;
+
+    private Integer isObjective;
+
+    private Integer isSelected;
+
+    private Double score;
+
+    private String answer;
+
+    public Integer getExamId() {
+        return examId;
+    }
+
+    public void setExamId(Integer examId) {
+        this.examId = examId;
+    }
+
+    public Integer getSubjectId() {
+        return subjectId;
+    }
+
+    public void setSubjectId(Integer subjectId) {
+        this.subjectId = subjectId;
+    }
+
+    public String getStudentCode() {
+        return studentCode;
+    }
+
+    public void setStudentCode(String studentCode) {
+        this.studentCode = studentCode;
+    }
+
+    public Integer getClassId() {
+        return classId;
+    }
+
+    public void setClassId(Integer classId) {
+        this.classId = classId;
+    }
+
+    public Integer getClassType() {
+        return classType;
+    }
+
+    public void setClassType(Integer classType) {
+        this.classType = classType;
+    }
+
+    public Integer getGraduateType() {
+        return graduateType;
+    }
+
+    public void setGraduateType(Integer graduateType) {
+        this.graduateType = graduateType;
+    }
+
+    public Integer getPaperType() {
+        return paperType;
+    }
+
+    public void setPaperType(Integer paperType) {
+        this.paperType = paperType;
+    }
+
+    public String getQuestionNumber() {
+        return questionNumber;
+    }
+
+    public void setQuestionNumber(String questionNumber) {
+        this.questionNumber = questionNumber;
+    }
+
+    public String getMainNumber() {
+        return mainNumber;
+    }
+
+    public void setMainNumber(String mainNumber) {
+        this.mainNumber = mainNumber;
+    }
+
+    public String getSubNumber() {
+        return subNumber;
+    }
+
+    public void setSubNumber(String subNumber) {
+        this.subNumber = subNumber;
+    }
+
+    public Integer getIsObjective() {
+        return isObjective;
+    }
+
+    public void setIsObjective(Integer isObjective) {
+        this.isObjective = isObjective;
+    }
+
+    public Integer getIsSelected() {
+        return isSelected;
+    }
+
+    public void setIsSelected(Integer isSelected) {
+        this.isSelected = isSelected;
+    }
+
+    public Double getScore() {
+        return score;
+    }
+
+    public void setScore(Double score) {
+        this.score = score;
+    }
+
+    public String getAnswer() {
+        return answer;
+    }
+
+    public void setAnswer(String answer) {
+        this.answer = answer;
+    }
+
+}

+ 105 - 117
stmms-web/src/main/java/cn/com/qmth/stmms/admin/vo/ScoreVO.java

@@ -1,117 +1,105 @@
-package cn.com.qmth.stmms.admin.vo;
-
-public class ScoreVO {
-
-    private String studentCode;
-
-    private Integer examId;
-
-    private Integer subjectId;
-
-    private Double score;
-
-    private Integer campusId;
-
-    private Integer classId;
-
-    private Integer classType;
-
-    private Integer graduateType;
-
-    private Integer classRank;
-
-    private Integer schoolRank;
-
-    private Integer areaRank;
-
-    public String getStudentCode() {
-        return studentCode;
-    }
-
-    public void setStudentCode(String studentCode) {
-        this.studentCode = studentCode;
-    }
-
-    public Integer getExamId() {
-        return examId;
-    }
-
-    public void setExamId(Integer examId) {
-        this.examId = examId;
-    }
-
-    public Integer getSubjectId() {
-        return subjectId;
-    }
-
-    public void setSubjectId(Integer subjectId) {
-        this.subjectId = subjectId;
-    }
-
-    public Double getScore() {
-        return score;
-    }
-
-    public void setScore(Double score) {
-        this.score = score;
-    }
-
-    
-
-    public Integer getCampusId() {
-		return campusId;
-	}
-
-	public void setCampusId(Integer campusId) {
-		this.campusId = campusId;
-	}
-
-	public Integer getClassId() {
-        return classId;
-    }
-
-    public void setClassId(Integer classId) {
-        this.classId = classId;
-    }
-
-    public Integer getClassType() {
-        return classType;
-    }
-
-    public void setClassType(Integer classType) {
-        this.classType = classType;
-    }
-
-    public Integer getGraduateType() {
-        return graduateType;
-    }
-
-    public void setGraduateType(Integer graduateType) {
-        this.graduateType = graduateType;
-    }
-
-    public Integer getClassRank() {
-        return classRank;
-    }
-
-    public void setClassRank(Integer classRank) {
-        this.classRank = classRank;
-    }
-
-    public Integer getSchoolRank() {
-        return schoolRank;
-    }
-
-    public void setSchoolRank(Integer schoolRank) {
-        this.schoolRank = schoolRank;
-    }
-
-    public Integer getAreaRank() {
-        return areaRank;
-    }
-
-    public void setAreaRank(Integer areaRank) {
-        this.areaRank = areaRank;
-    }
-
-}
+package cn.com.qmth.stmms.admin.vo;
+
+public class ScoreVO {
+
+    private String studentCode;
+
+    private Integer examId;
+
+    private Integer subjectId;
+
+    private Double score;
+
+    private Integer classId;
+
+    private Integer classType;
+
+    private Integer graduateType;
+
+    private Integer classRank;
+
+    private Integer schoolRank;
+
+    private Integer areaRank;
+
+    public String getStudentCode() {
+        return studentCode;
+    }
+
+    public void setStudentCode(String studentCode) {
+        this.studentCode = studentCode;
+    }
+
+    public Integer getExamId() {
+        return examId;
+    }
+
+    public void setExamId(Integer examId) {
+        this.examId = examId;
+    }
+
+    public Integer getSubjectId() {
+        return subjectId;
+    }
+
+    public void setSubjectId(Integer subjectId) {
+        this.subjectId = subjectId;
+    }
+
+    public Double getScore() {
+        return score;
+    }
+
+    public void setScore(Double score) {
+        this.score = score;
+    }
+
+    public Integer getClassId() {
+        return classId;
+    }
+
+    public void setClassId(Integer classId) {
+        this.classId = classId;
+    }
+
+    public Integer getClassType() {
+        return classType;
+    }
+
+    public void setClassType(Integer classType) {
+        this.classType = classType;
+    }
+
+    public Integer getGraduateType() {
+        return graduateType;
+    }
+
+    public void setGraduateType(Integer graduateType) {
+        this.graduateType = graduateType;
+    }
+
+    public Integer getClassRank() {
+        return classRank;
+    }
+
+    public void setClassRank(Integer classRank) {
+        this.classRank = classRank;
+    }
+
+    public Integer getSchoolRank() {
+        return schoolRank;
+    }
+
+    public void setSchoolRank(Integer schoolRank) {
+        this.schoolRank = schoolRank;
+    }
+
+    public Integer getAreaRank() {
+        return areaRank;
+    }
+
+    public void setAreaRank(Integer areaRank) {
+        this.areaRank = areaRank;
+    }
+
+}

+ 7 - 12
stmms-web/src/main/java/cn/com/qmth/stmms/api/controller/ExamInfoController.java

@@ -2,8 +2,6 @@ package cn.com.qmth.stmms.api.controller;
 
 import cn.com.qmth.stmms.admin.vo.ExamSubjectVO;
 import cn.com.qmth.stmms.api.exception.ApiException;
-import cn.com.qmth.stmms.biz.campus.model.Campus;
-import cn.com.qmth.stmms.biz.campus.service.CampusService;
 import cn.com.qmth.stmms.biz.exam.model.Exam;
 import cn.com.qmth.stmms.biz.exam.model.ExamSubject;
 import cn.com.qmth.stmms.biz.exam.query.ExamSearchQuery;
@@ -40,9 +38,6 @@ public class ExamInfoController extends BaseApiController {
     @Autowired
     private ExamSubjectService subjectService;
 
-    @Autowired
-    private CampusService campusService;
-
     @Autowired
     private FileService fileService;
 
@@ -86,14 +81,14 @@ public class ExamInfoController extends BaseApiController {
     @ResponseBody
     public JSONArray getCampus(HttpServletRequest request) {
         ApiUser user = RequestUtils.getApiUser(request);
-        List<Campus> list = campusService.findBySchoolId(user.getSchoolId());
         JSONArray array = new JSONArray();
-        for (Campus c : list) {
-            JSONObject obj = new JSONObject();
-            obj.accumulate("code", c.getId().toString());
-            obj.accumulate("name", c.getName());
-            array.add(obj);
-        }
+        //        List<Campus> list = campusService.findBySchoolId(user.getSchoolId());
+        //        for (Campus c : list) {
+        //            JSONObject obj = new JSONObject();
+        //            obj.accumulate("code", c.getId().toString());
+        //            obj.accumulate("name", c.getName());
+        //            array.add(obj);
+        //        }
         return array;
     }
 

+ 29 - 50
stmms-web/src/main/java/cn/com/qmth/stmms/api/controller/ExamStudentController.java

@@ -1,31 +1,8 @@
 package cn.com.qmth.stmms.api.controller;
 
-import java.text.DecimalFormat;
-import java.util.LinkedList;
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-
-import net.sf.json.JSONArray;
-import net.sf.json.JSONObject;
-
-import org.apache.commons.lang.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.ResponseBody;
-
 import cn.com.qmth.stmms.api.exception.ApiException;
 import cn.com.qmth.stmms.api.utils.AESUtil;
 import cn.com.qmth.stmms.api.utils.MenualAbsentDTO;
-import cn.com.qmth.stmms.biz.campus.model.Campus;
-import cn.com.qmth.stmms.biz.campus.service.CampusService;
 import cn.com.qmth.stmms.biz.exam.model.Exam;
 import cn.com.qmth.stmms.biz.exam.model.ExamQuestion;
 import cn.com.qmth.stmms.biz.exam.model.ExamStudent;
@@ -44,8 +21,20 @@ import cn.com.qmth.stmms.common.domain.ApiUser;
 import cn.com.qmth.stmms.common.enums.LogType;
 import cn.com.qmth.stmms.common.enums.Role;
 import cn.com.qmth.stmms.common.utils.RequestUtils;
-
 import com.google.common.base.Strings;
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+import org.apache.commons.lang.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.text.DecimalFormat;
+import java.util.LinkedList;
+import java.util.List;
 
 @Controller("examStudentApiController")
 @RequestMapping("/api")
@@ -59,9 +48,6 @@ public class ExamStudentController extends BaseApiController {
     @Autowired
     private ExamService examService;
 
-    @Autowired
-    private CampusService campusService;
-
     @Autowired
     private ExamQuestionService questionService;
 
@@ -123,9 +109,7 @@ public class ExamStudentController extends BaseApiController {
             obj.accumulate("name", student.getName());
             obj.accumulate("studentId", String.valueOf(student.getId()));
             obj.accumulate("barcode", student.getExamNumber());
-
-            Campus campus = campusService.findBySchoolAndName(exam.getSchoolId(), student.getCampusName());
-            obj.accumulate("campusCode", campus != null ? campus.getId().toString() : "");
+            obj.accumulate("campusCode", "");
             array.add(obj);
         }
         return array;
@@ -164,9 +148,7 @@ public class ExamStudentController extends BaseApiController {
             obj.accumulate("subjectName", student.getSubjectName());
             obj.accumulate("name", student.getName());
             obj.accumulate("studentCode", student.getStudentCode());
-
-            Campus campus = campusService.findBySchoolAndName(exam.getSchoolId(), student.getCampusName());
-            obj.accumulate("campusCode", campus != null ? campus.getId().toString() : "");
+            obj.accumulate("campusCode", "");
             array.add(obj);
         }
         return array;
@@ -178,8 +160,8 @@ public class ExamStudentController extends BaseApiController {
     public JSONObject checkStudent(HttpServletRequest request, @RequestBody ExamStudent examStudent) {
         JSONObject obj = new JSONObject();
         Exam exam = examService.findById(examStudent.getExamId());
-        ExamStudent student = studentService.findByExamIdAndExamNumber(examStudent.getExamId(),
-                examStudent.getExamNumber());
+        ExamStudent student = studentService
+                .findByExamIdAndExamNumber(examStudent.getExamId(), examStudent.getExamNumber());
         if (student != null) {
             obj.accumulate("examId", examStudent.getExamId());
             obj.accumulate("campusName", student.getCampusName());
@@ -188,9 +170,7 @@ public class ExamStudentController extends BaseApiController {
             obj.accumulate("studentId", String.valueOf(student.getId()));
             obj.accumulate("subjectCode", student.getSubjectCode());
             obj.accumulate("subjectName", student.getSubjectName());
-
-            Campus campus = campusService.findBySchoolAndName(exam.getSchoolId(), student.getCampusName());
-            obj.accumulate("campusCode", campus != null ? campus.getId().toString() : "");
+            obj.accumulate("campusCode", "");
         } else {
             obj.accumulate("examId", examStudent.getExamId());
             obj.accumulate("campusCode", "");
@@ -262,16 +242,16 @@ public class ExamStudentController extends BaseApiController {
                 obj.accumulate("examSite", StringUtils.trimToEmpty(student.getExamSite()));
                 obj.accumulate("examRoom", StringUtils.trimToEmpty(student.getExamRoom()));
                 obj.accumulate("remark", StringUtils.trimToEmpty(student.getRemark()));
-                Campus campus = campusService.findBySchoolAndName(student.getSchoolId(), student.getCampusName());
-                obj.accumulate("campusCode", campus != null ? campus.getId().toString() : "");
+                obj.accumulate("campusCode", "");
 
                 try {
                     if (withScoreDetail != null && withScoreDetail.booleanValue()) {
                         // 构造客观题得分明细
                         JSONArray objective = new JSONArray();
                         List<ScoreItem> scoreList = student.getScoreList(true);
-                        List<ExamQuestion> questionList = questionService.findByExamAndSubjectAndObjectiveAndPaperType(
-                                student.getExamId(), student.getSubjectCode(), true, student.getPaperType());
+                        List<ExamQuestion> questionList = questionService
+                                .findByExamAndSubjectAndObjectiveAndPaperType(student.getExamId(),
+                                        student.getSubjectCode(), true, student.getPaperType());
                         int i = 0;
                         for (ScoreItem item : scoreList) {
                             i++;
@@ -294,8 +274,8 @@ public class ExamStudentController extends BaseApiController {
                         // 构造主观题得分明细
                         JSONArray subjective = new JSONArray();
                         scoreList = student.getScoreList(false);
-                        questionList = questionService.findByExamAndSubjectAndObjective(student.getExamId(),
-                                student.getSubjectCode(), false);
+                        questionList = questionService
+                                .findByExamAndSubjectAndObjective(student.getExamId(), student.getSubjectCode(), false);
                         i = 0;
                         for (ScoreItem item : scoreList) {
                             i++;
@@ -360,10 +340,8 @@ public class ExamStudentController extends BaseApiController {
     }
 
     /**
-     * @param s
-     *            需要转换的字符串
-     * @param convert
-     *            是否正向转换
+     * @param s       需要转换的字符串
+     * @param convert 是否正向转换
      * @return
      */
     @SuppressWarnings("unused")
@@ -423,8 +401,9 @@ public class ExamStudentController extends BaseApiController {
             if (Strings.isNullOrEmpty(examSeqCode)) {
                 student = studentService.findBySchoolIdAndSubjectCodeAndStudentCode(schoolId, subjectCode, studentCode);
             } else {
-                student = studentService.findBySchoolIdAndSubjectCodeAndStudentCodeAndRemark(schoolId, subjectCode,
-                        studentCode, examSeqCode);
+                student = studentService
+                        .findBySchoolIdAndSubjectCodeAndStudentCodeAndRemark(schoolId, subjectCode, studentCode,
+                                examSeqCode);
             }
             if (student != null) {
                 DecimalFormat df = new DecimalFormat("####.###");