OA系统开发(十四)

101 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第14天,点击查看活动详情

申请页面嵌入和审批单列表

1.form.ftl引入ftl文件夹中

image.png

<div class="layui-input-block">
    <div class="layui-col-md12" style="padding-top: 10px;">
        ${current_employee.name}[${current_employee.title}]
    </div>

</div>

代码说明:把静态页面的数据进行动态处理,直接从sesseion中取出数据

2.新增forwardServlet界面,用来处理页面之间的跳转

image.png

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String uri = request.getRequestURI();
    String subUri = uri.substring(1);
    String path = subUri.substring(subUri.indexOf("/"));
    request.getRequestDispatcher(path+".ftl").forward(request,response);

}

3.子节点菜单的地址进行动态处理

image.png url进行数据填充 image.png

4.重启项目

image.png

1.定义查询请假列表的sql语句

<select id="selectByParams" parameterType="java.util.Map" resultType="java.util.Map">
    SELECT
        *
    FROM
        adm_process_flow pf,
        adm_leave_form lf,
        adm_department d,
        adm_employee e
    WHERE
        lf.form_id = pf.form_id
      AND e.employee_id = lf.employee_id
      AND d.department_id = e.department_id
      AND pf.operator_id = #{pf_operator_id}
      AND pf.state = #{pf_state}
</select>

image.png 代码说明:

  • pf.state=process:表示需要待审批的请假列表
  • pf.operator_id = #{pf_operator_id}:表示对应审批人的id

2.定义接口

image.png

public List<Map> selectByParams(@Param("pf_state") String pf_state, @Param("pf_operator_id") Long pf_operator_id);

代码说明:需要两个参数,通过注解的方式@Param,传递到xml文件中

3.service实现查询列表方法

image.png

public List<Map> getList(String pfState,Long pfOperatorId){
   return  (List<Map>) MybatisUtils.executeQuery(sqlSession -> {
       LeaveFormDao dao = sqlSession.getMapper(LeaveFormDao.class);
       List<Map> items = dao.selectByParams(pfState,pfOperatorId);
       return  items;
   });
}

4.控制器新增方法

image.png

private void getLeaveFormList(HttpServletRequest request, HttpServletResponse response) throws IOException {
    HttpSession session = request.getSession();
    User user = (User) session.getAttribute("login_user");
    List<Map> lists = leaveFormService.getList("process",user.getEmployeeId());
    Map result = new HashMap<>();
    result.put("code",0);
    result.put("success","");
    result.put("count",lists.size());
    result.put("data",lists);
   String string =  JSON.toJSONString(result);
   response.getWriter().println(string);
}

代码说明: 其中审批人id通过session来获取

5.处理api接口请求调用流程

image.png

6.重启应用并且登录,在地址栏地址访问

http://localhost/leave/list image.png