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";
	}
}
最近下载更多
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日
洋葱007  LV5 2022年12月13日
Sunsi12345  LV8 2022年11月27日
最近浏览更多
WBelong  LV7 4月1日
FF加菲猫  LV4 2月15日
阿卡丽  LV3 2月7日
snake goast 1月7日
暂无贡献等级
minjing123  LV8 1月4日
小安同学  LV7 2023年12月4日
wuying8208  LV15 2023年11月25日
xuweisong2010  LV27 2023年11月12日
XNDIC522 2023年11月6日
暂无贡献等级
vitos5n  LV9 2023年9月26日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友