2021-07-19 项目实训-研究生管理系统

教师端毕业申请-毕业申请

1、.xml文件中的SQL语句

  <select id="selectCommittedAllByTeacherIdAndState" resultMap="BaseResultMap">
    select
      *
    from graduate_request
    where
      tea_id = #{teaId,jdbcType=INTEGER} and state = #{state,jdbcType=VARCHAR}
  </select>
  
  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="com.sdu.postgraduate.entity.GraduateRequest" >
    select 
    <include refid="Base_Column_List" />
    from graduate_request
    where graduate_apply_id = #{graduateApplyId,jdbcType=INTEGER}
  </select>
  
  <update id="updateByPrimaryKeySelective" parameterType="com.sdu.postgraduate.entity.GraduateRequest" >
    update graduate_request
    <set >
      <if test="state != null" >
        state = #{state},
      </if>
      <if test="traingUnit != null" >
        traing_unit = #{traingUnit,jdbcType=VARCHAR},
      </if>
      <if test="subjectCategory != null" >
        subject_category = #{subjectCategory,jdbcType=VARCHAR},
      </if>
      <if test="researchDirection != null" >
        research_direction = #{researchDirection,jdbcType=VARCHAR},
      </if>
      <if test="grapaperTittle != null" >
        grapaper_tittle = #{grapaperTittle,jdbcType=VARCHAR},
      </if>
      <if test="mainAchievement != null" >
        main_achievement = #{mainAchievement,jdbcType=VARCHAR},
      </if>
      <if test="studyandexam != null" >
        studyandexam = #{studyandexam,jdbcType=VARCHAR},
      </if>
    </set>
    where graduate_apply_id = #{graduateApplyId,jdbcType=INTEGER}
    and stu_id = #{stuId,jdbcType=INTEGER}
    and tea_id = #{teaId,jdbcType=INTEGER}
  </update>

2、mapper接口中的方法定义


    GraduateRequest selectByPrimaryKey(GraduateRequest key);
    int updateByPrimaryKeySelective(GraduateRequest record);
    List<GraduateRequest> selectCommittedAllByTeacherIdAndState(GraduateRequest record);

3、service层中的方法定义

	public List<GraduateRequest> loadGraduateRequestByTeacherIdAndState(GraduateRequest gr){
        return graduateRequestDao.selectCommittedAllByTeacherIdAndState(gr);
    }
    public GraduateRequest selectGraduateRequestById(GraduateRequest gr){
        return graduateRequestDao.selectByPrimaryKey(gr);
    }
    public int updateGraduateRequestState(GraduateRequest gr){
        return graduateRequestDao.updateByPrimaryKeySelective(gr);
    }
    public int updateGraduateRelationshipByRequestId(GraduateRelationship gr){
        return graduateRelationshipDao.updateByGraduateRequestId(gr);
    }
    public GraduateRelationship selectGraduateRelationByRequestId(GraduateRelationship gr){
        return graduateRelationshipDao.selectByRequestId(gr);
    }

4、controller层业务逻辑

   
/**
     * 毕业申请:
     * 根据teacherID加载所有毕业申请
     * 状态不包括未提交
     * @param request
     * @return
     */
    @RequestMapping("/loadGraduateRequestByTeacherId")
    @Transactional(rollbackFor = {RuntimeException.class, Error.class})
    public Result loadGraduateRequestByTeacherId(@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<>();
        GraduateRequest apply = new GraduateRequest();
        apply.setTeaId(tea_id);
        for(int j = 0 ; j < state.size() ; j++){
            ArrayList fullList = new ArrayList();
            apply.setState(state.get(j));
            List<GraduateRequest> origin_request = teacherService.loadGraduateRequestByTeacherIdAndState(apply);
            for(int i = 0;i < origin_request.size();i++){
                LinkedHashMap<String,Object> full_request = new LinkedHashMap<>();
                GraduateRequest gr = origin_request.get(i);
                Student stu = teacherService.selectStudentByPrimaryKey(gr.getStuId());
                full_request.put("stuName",stu.getStuName());
                full_request.put("GraduateRequest",gr);
                fullList.add(full_request);
            }
            state_request.put(kind.get(j),fullList);
        }
        return Result.succ(state_request);
    }

    /**
     * 毕业申请审核:
     * 教师对申请状态为审核中的申请进行审核
     * 状态可更改为审核成功or审核失败
     * 同时修改graduateRelationship表
     * @param request
     * @return
     */
    @RequestMapping("/updateGraduateRequestStateById")
    @Transactional(rollbackFor = {RuntimeException.class, Error.class})
    public Result updateGraduateRequestStateById(@RequestBody Map<String, Object> request){
        Integer apply_id = (int) request.get("apply_id");
        String state = (String) request.get("state");
        GraduateRequest gr = new GraduateRequest();
        gr.setGraduateApplyId(apply_id);
        System.out.println(gr.getGraduateApplyId());
        gr = teacherService.selectGraduateRequestById(gr);
        if(teacherService.selectGraduateRequestById(gr)==null){
            return Result.fail("不存在毕业申请信息");
        }
        GraduateRelationship ship = new GraduateRelationship();
        ship.setGraduateApplyId(apply_id);
        if(teacherService.selectGraduateRelationByRequestId(ship)==null){
            return Result.fail("不存在毕业关系信息");
        }
        ship = teacherService.selectGraduateRelationByRequestId(ship);
        gr.setState(state);
        if(state.equals("审核成功")){
            ship.setState("毕业申请审核成功");
            if(teacherService.updateGraduateRequestState(gr)==1&&teacherService.updateGraduateRelationshipByRequestId(ship)==1){
                return Result.succ("操作成功1!");
            }else{
                return Result.fail("操作失败!");
            }
        }else if(state.equals("审核失败")){
            ship.setState("毕业申请审核失败");
            if(teacherService.updateGraduateRequestState(gr)==1&&teacherService.updateGraduateRelationshipByRequestId(ship)==1){
                return Result.succ("操作成功2!");
            }else{
                return Result.fail("操作失败!");
            }
        }else if(state.equals("取消审核")){
            gr.setState("未提交");
            ship.setState("毕业申请未提交");
            if(teacherService.updateGraduateRequestState(gr)==1&&teacherService.updateGraduateRelationshipByRequestId(ship)==1){
                return Result.succ("操作成功3!");
            }else{
                return Result.fail("操作失败!");
            }
        }else{
            return Result.succ("参数不匹配!");
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值