持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第14天,点击查看活动详情
申请页面嵌入和审批单列表
一
1.form.ftl引入ftl文件夹中
<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界面,用来处理页面之间的跳转
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.子节点菜单的地址进行动态处理
url进行数据填充
4.重启项目
二
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>
代码说明:
- pf.state=process:表示需要待审批的请假列表
- pf.operator_id = #{pf_operator_id}:表示对应审批人的id
2.定义接口
public List<Map> selectByParams(@Param("pf_state") String pf_state, @Param("pf_operator_id") Long pf_operator_id);
代码说明:需要两个参数,通过注解的方式@Param,传递到xml文件中
3.service实现查询列表方法
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.控制器新增方法
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来获取