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

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

1、.xml文件中的SQL语句

 <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="com.sdu.postgraduate.entity.GraduatePaper" >
    select 
    <include refid="Base_Column_List" />
    from graduate_paper
    where grapaper_apply_id = #{grapaperApplyId,jdbcType=INTEGER}
  </select>
  
  <update id="updateByPrimaryKeySelective" parameterType="com.sdu.postgraduate.entity.GraduatePaper" >
    update graduate_paper
    <set >
      <if test="stuType != null" >
        stu_type = #{stuType,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="englishKeywords != null" >
        english_keywords = #{englishKeywords,jdbcType=VARCHAR},
      </if>
      <if test="major != null" >
        major = #{major,jdbcType=VARCHAR},
      </if>
      <if test="researchDirection != null" >
        research_direction = #{researchDirection,jdbcType=VARCHAR},
      </if>
      <if test="workUnit != null" >
        work_unit = #{workUnit,jdbcType=VARCHAR},
      </if>
      <if test="teaName != null" >
        tea_name = #{teaName,jdbcType=VARCHAR},
      </if>
      <if test="title != null" >
        title = #{title,jdbcType=VARCHAR},
      </if>
      <if test="state != null" >
        state = #{state,jdbcType=VARCHAR},
      </if>
      <if test="additionPath != null" >
        addition_path = #{additionPath,jdbcType=VARCHAR},
      </if>
    </set>
    where grapaper_apply_id = #{grapaperApplyId,jdbcType=INTEGER}
  </update>
  
  <select id="selectCommittedAllByTeacherIdAndState" resultMap="BaseResultMap">
    select
      *
    from graduate_paper
    where
      tea_id = #{teaId,jdbcType=INTEGER} and state = #{state,jdbcType=VARCHAR}
  </select>

2、mapper接口中的方法定义

    GraduatePaper selectByPrimaryKey(GraduatePaper record);
    int updateByPrimaryKeySelective(GraduatePaper record);
    List<GraduatePaper> selectCommittedAllByTeacherIdAndState(GraduatePaper 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("/loadGraduatePaperByTeacherId")
    @Transactional(rollbackFor = {RuntimeException.class, Error.class})
    public Result loadGraduatePaperByTeacherId(@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<>();
        GraduatePaper apply = new GraduatePaper();
        apply.setTeaId(tea_id);
        for(int j = 0 ; j < state.size() ; j++){
            ArrayList fullList = new ArrayList();
            apply.setState(state.get(j));
            List<GraduatePaper> origin_request = teacherService.loadGraduatePaperByTeacherIdAndState(apply);
            for(int i = 0;i < origin_request.size();i++){
                LinkedHashMap<String,Object> full_request = new LinkedHashMap<>();
                GraduatePaper gr = origin_request.get(i);
                Student stu = teacherService.selectStudentByPrimaryKey(gr.getStuId());
                full_request.put("stuName",stu.getStuName());
                full_request.put("GraduatePaper",gr);
                fullList.add(full_request);
            }
            state_request.put(kind.get(j),fullList);
        }

        return Result.succ(state_request);
    }

    /**
     * 外审论文审核:
     * 教师对申请状态为审核中的申请进行审核
     * 状态可更改为审核成功or审核失败
     * 同时修改graduateRelationship表
     * @param request
     * @return
     */
    @RequestMapping("/updateGraduatePaperStateById")
    @Transactional(rollbackFor = {RuntimeException.class, Error.class})
    public Result updateGraduatePaperStateById(@RequestBody Map<String, Object> request){
        Integer apply_id = (int) request.get("apply_id");
        String state = (String) request.get("state");
        GraduatePaper gr = new GraduatePaper();
        gr.setGrapaperApplyId(apply_id);
        if(teacherService.selectGraduatePaperById(gr) == null){
            return Result.fail("不存在毕业申请信息");
        }
        gr = teacherService.selectGraduatePaperById(gr);
        GraduateRelationship ship = new GraduateRelationship();
        ship.setGrapaperApplyId(apply_id);
        ship = teacherService.selectGraduateRelationByGraduatePaperId(ship);
        if(ship==null){
            return Result.fail("不存在毕业关系信息");
        }
        gr.setState(state);
        if(state.equals("审核成功")){
            ship.setState("毕业论文审核成功");
            if(teacherService.updateGraduatePaperState(gr)==1&&teacherService.updateGraduateRelationByGraduatePaperId(ship)==1){
                return Result.succ("操作成功1!");
            }else{
                return Result.fail("操作失败!");
            }
        }else if(state.equals("审核失败")){
            ship.setState("毕业论文审核失败");
            if(teacherService.updateGraduatePaperState(gr)==1&&teacherService.updateGraduateRelationByGraduatePaperId(ship)==1){
                return Result.succ("操作成功2!");
            }else{
                return Result.fail("操作失败!");
            }
        }else if(state.equals("取消审核")){
            gr.setState("未提交");
            ship.setState("毕业论文未提交");
            if(teacherService.updateGraduatePaperState(gr)==1&&teacherService.updateGraduateRelationByGraduatePaperId(ship)==1){
                return Result.succ("操作成功2!");
            }else{
                return Result.fail("操作失败!");
            }
        }else{
            return Result.succ("参数不匹配!");
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
疫情居家办公系统管理系统按照操作主体分为管理员和用户。管理员的功能包括办公设备管理、部门信息管理、字典管理、公告信息管理、请假信息管理、签到信息管理、留言管理、外出报备管理、薪资管理、用户管理、公司资料管理、管理员管理。用户的功能等。该系统采用了MySQL数据库,Java语言,Spring Boot框架等技术进行编程实现。 疫情居家办公系统管理系统可以提高疫情居家办公系统信息管理问题的解决效率,优化疫情居家办公系统信息处理流程,保证疫情居家办公系统信息数据的安全,它是一个非常可靠,非常安全的应用程序。 管理员权限操作的功能包括管理公告,管理疫情居家办公系统信息,包括外出报备管理,培训管理,签到管理,薪资管理等,可以管理公告。 外出报备管理界面,管理员在外出报备管理界面中可以对界面中显示,可以对外出报备信息的外出报备状态进行查看,可以添加新的外出报备信息等。签到管理界面,管理员在签到管理界面中查看签到种类信息,签到描述信息,新增签到信息等。公告管理界面,管理员在公告管理界面中新增公告,可以删除公告。公告类型管理界面,管理员在公告类型管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值