package edu.hebeu.controller;

import java.util.List;

import javax.servlet.http.HttpSession;

import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

import com.baomidou.mybatisplus.plugins.Page;

import edu.hebeu.entity.Employee;
import edu.hebeu.entity.Leave;
import edu.hebeu.security.PermissionSign;
import edu.hebeu.service.LeaveService;
import edu.hebeu.util.MTimeUtil;

@Controller
@RequestMapping("/leave")
public class LeaveController {

	@Autowired
	private LeaveService leaveService;
	
	@RequestMapping("/list.do")
	@RequiresPermissions(value = PermissionSign.LEAVE_LIST)	
	public String selectList(Model model){
		List<Leave> list = leaveService.selectList();
		model.addAttribute("list", list);
		return "admin/leave_list";
	}
	
	@RequestMapping("/{id}/detail.do")
	public String selectLeave(@PathVariable Integer id, Model model){
		Leave leave = leaveService.selectLeave(id);
		model.addAttribute("leave", leave);
		return "admin/leave_detail";
	}
	
	@RequestMapping("/{id}/update.do")
	@RequiresPermissions(value = PermissionSign.LEAVE_UPDATE)	
	public String updateStatus(@PathVariable Integer id){
		leaveService.updateStatus(id);
		return "forward:/leave/notlist.do";
	}
	
	@RequestMapping("/toAdd.do")
	@RequiresPermissions(value = PermissionSign.LEAVE_ADD)
	public String toAdd(){
		return "admin/leave_add";
	}
	
	@RequestMapping("/add.do")
	@RequiresPermissions(value = PermissionSign.LEAVE_NEW)
	public String add(Integer employeeNumber, Leave leave, String start, String end){
		leave.setEmployeeNumber(employeeNumber);
		leave.setStartTime(MTimeUtil.stringParse(start));
		leave.setEndTime(MTimeUtil.stringParse(end));
		leaveService.insert(leave);
		return "forward:/employee/welcome.do";
	}
	
	@RequestMapping("/oneself.do")
	public String seletByEmployee(HttpSession session, int pageNo, Model model){
		Employee employee = (Employee)session.getAttribute("loged");
		Page<Leave> page = leaveService.seletByEmployee(employee.getEmployeeNumber(), pageNo);
		model.addAttribute("page", page);
		return "admin/oneself_leave";
	}
	
	@RequestMapping("/notlist.do")
	@RequiresPermissions(value = PermissionSign.LEAVE_NOLIST)
	public String selectNotList(Model model, HttpSession session){
		//获取登录用户的信息
		Employee employee = (Employee) session.getAttribute("loged");
		List<Leave> list = leaveService.selectListByStatus(employee.getDepartmentNumber(), "未批准");
		model.addAttribute("list", list);
		return "admin/leave_notlist";
	}
	
	@RequestMapping("/yeslist.do")
	@RequiresPermissions(value = PermissionSign.LEAVE_YESLIST)
	public String selectYesList(Model model, HttpSession session){
		//获取登录用户的信息
		Employee employee = (Employee) session.getAttribute("loged");
		List<Leave> list = leaveService.selectListByStatus(employee.getDepartmentNumber(), "已批准");
		model.addAttribute("list", list);
		return "admin/leave_yeslist";
	}
}
最近下载更多
TY0165  LV20 6月25日
嘲讽脸  LV5 5月15日
minjing123  LV8 1月4日
小安同学  LV7 2023年12月7日
微信网友_6372890284232704  LV4 2023年8月30日
dowell_liu  LV1 2023年8月2日
哇塞塞哈哈哈  LV8 2023年5月4日
bibibi234  LV1 2023年4月4日
a562571298  LV8 2023年3月23日
duoer12  LV5 2022年12月30日
最近浏览更多
千里草1046 6小时前
暂无贡献等级
杨秀益  LV1 11月7日
krispeng  LV13 8月29日
897258976  LV8 8月29日
quartz  LV8 7月1日
3334004690  LV10 6月28日
TY0165  LV20 6月25日
2578193624  LV2 6月16日
Nov1111  LV1 5月28日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友