教师端毕业申请-外审论文申请
1、.xml文件中的SQL语句
<select id="selectCommittedAllByTeacherIdAndState" resultMap="BaseResultMap">
select
*
from e_review_papers
where
tea_id = #{teaId,jdbcType=INTEGER} and state = #{state,jdbcType=VARCHAR}
</select>
<update id="updateByPrimaryKeySelective" parameterType="com.sdu.postgraduate.entity.EReviewPapers" >
update e_review_papers
<set >
<if test="state != null" >
state = #{state,jdbcType=VARCHAR},
</if>
<if test="paperTitle != null" >
paper_title = #{paperTitle,jdbcType=VARCHAR},
</if>
<if test="abstractText != null" >
abstract_text = #{abstractText,jdbcType=VARCHAR},
</if>
<if test="chineseKeywords != null" >
chinese_keywords = #{chineseKeywords,jdbcType=VARCHAR},
</if>
<if test="stuId != null" >
stu_id = #{stuId,jdbcType=INTEGER},
</if>
<if test="teaId != null" >
tea_id = #{teaId,jdbcType=INTEGER},
</if>
<if test="additionPath != null" >
addition_path = #{additionPath,jdbcType=VARCHAR},
</if>
</set>
where out_audit_apply_id = #{outAuditApplyId,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.sdu.postgraduate.entity.EReviewPapers" >
update e_review_papers
set paper_title = #{paperTitle,jdbcType=VARCHAR},
abstract_text = #{abstractText,jdbcType=VARCHAR},
chinese_keywords = #{chineseKeywords,jdbcType=VARCHAR},
stu_id = #{stuId,jdbcType=INTEGER},
tea_id = #{teaId,jdbcType=INTEGER},
addition_path = #{additionPath,jdbcType=VARCHAR}
where out_audit_apply_id = #{outAuditApplyId,jdbcType=INTEGER}
</update>
2、mapper接口中的方法定义
int updateByPrimaryKeySelective(EReviewPapers record);
EReviewPapers selectByPrimaryKey(Integer outAuditApplyId);
List<EReviewPapers> selectCommittedAllByTeacherIdAndState(EReviewPapers ep);
3、service层中的方法定义
public List<EReviewPapers> loadEReviewPaperByTeacherIdAndState(EReviewPapers ep){
return eReviewPapersDao.selectCommittedAllByTeacherIdAndState(ep);
}
public EReviewPapers selectEReviewPapersById(int ep){
return eReviewPapersDao.selectByPrimaryKey(ep);
}
public int updateEReviewPaperState(EReviewPapers ep){
return eReviewPapersDao.updateByPrimaryKeySelective(ep);
}
public GraduateRelationship selectGraduateRelationByEpId(GraduateRelationship gr) {
return graduateRelationshipDao.selectByEpId(gr);
}
public int updateGraduateRelationshipByEpId(GraduateRelationship gr){
return graduateRelationshipDao.updateByGraduateEpId(gr);
}
4、controller层业务逻辑
/**
* 外审论文申请:
* 根据teacherID加载所有外审论文申请
* 状态不包括未提交
* @param request
* @return
*/
@RequestMapping("/loadEReviewPaperByTeacherId")
@Transactional(rollbackFor = {RuntimeException.class, Error.class})
public Result loadEReviewPaperByTeacherId(@RequestBody Map<String, Object> request) {
// Integer tea_id = (int) request.get("tea_id");
Integer tea_id = Integer.valueOf(request.get("tea_id").toString());
List<String> state = Arrays.asList("审核中", "审核成功", "审核失败");
List<String> kind = Arrays.asList("notExamineInfo", "passInfo", "forbidInfo");
HashMap<String,ArrayList> state_request = new HashMap<>();
EReviewPapers apply = new EReviewPapers();
apply.setTeaId(tea_id);
for(int j = 0 ; j < state.size() ; j++){
ArrayList fullList = new ArrayList();
apply.setState(state.get(j));
List<EReviewPapers> origin_request = teacherService.loadEReviewPaperByTeacherIdAndState(apply);
for(int i = 0;i < origin_request.size();i++){
LinkedHashMap<String,Object> full_request = new LinkedHashMap<>();
EReviewPapers gr = origin_request.get(i);
Student stu = teacherService.selectStudentByPrimaryKey(gr.getStuId());
full_request.put("stuName",stu.getStuName());
full_request.put("EReviewPapers",gr);
fullList.add(full_request);
}
state_request.put(kind.get(j),fullList);
}
return Result.succ(state_request);
}
/**
* 外审论文审核:
* 教师对申请状态为审核中的申请进行审核
* 状态可更改为审核成功or审核失败
* 同时修改graduateRelationship表
* @param request
* @return
*/
@RequestMapping("/updateEReviewPaperStateById")
@Transactional(rollbackFor = {RuntimeException.class, Error.class})
public Result updateEReviewPaperStateById(@RequestBody Map<String, Object> request){
Integer apply_id = (int) request.get("apply_id");
String state = (String) request.get("state");
EReviewPapers gr = new EReviewPapers();
gr.setOutAuditApplyId(apply_id);
gr = teacherService.selectEReviewPapersById(apply_id);
if(gr==null){
return Result.fail("不存在外审论文信息");
}
GraduateRelationship ship = new GraduateRelationship();
ship.setOutAuditApplyId(apply_id);
ship = teacherService.selectGraduateRelationByEpId(ship);
if(ship==null){
return Result.fail("不存在毕业关系信息");
}
gr.setState(state);
if(state.equals("审核成功")){
ship.setState("外审论文审核成功");
if(teacherService.updateEReviewPaperState(gr)==1&&teacherService.updateGraduateRelationshipByEpId(ship)==1){
return Result.succ("操作成功1!");
}else{
return Result.fail("操作失败!");
}
}else if(state.equals("审核失败")){
ship.setState("外审论文审核失败");
if(teacherService.updateEReviewPaperState(gr)==1&&teacherService.updateGraduateRelationshipByEpId(ship)==1){
return Result.succ("操作成功2!");
}else{
return Result.fail("操作失败!");
}
}else if(state.equals("取消审核")){
gr.setState("未提交");
ship.setState("外审论文未提交");
if(teacherService.updateEReviewPaperState(gr)==1&&teacherService.updateGraduateRelationshipByEpId(ship)==1){
return Result.succ("操作成功3!");
}else{
return Result.fail("操作失败!");
}
}else{
return Result.succ("参数不匹配!");
}
}