123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238 |
- package com.zhcs.dt.controller.fhoa.myleave;
- import java.io.PrintWriter;
- import java.text.DateFormat;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.LinkedHashMap;
- import java.util.List;
- import java.util.Map;
- import javax.annotation.Resource;
- import org.springframework.beans.propertyeditors.CustomDateEditor;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.WebDataBinder;
- import org.springframework.web.bind.annotation.InitBinder;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.ResponseBody;
- import org.springframework.web.servlet.ModelAndView;
- import com.zhcs.dt.controller.activiti.AcStartController;
- import com.zhcs.dt.entity.Page;
- import com.zhcs.dt.service.fhoa.myleave.MyleaveManager;
- import com.zhcs.dt.util.AppUtil;
- import com.zhcs.dt.util.Jurisdiction;
- import com.zhcs.dt.util.ObjectExcelView;
- import com.zhcs.dt.util.PageData;
- /**
- * 说明:请假申请
- * 创建人:FH Q313596790
- * 修改时间:2018-02-09
- */
- @Controller
- @RequestMapping(value="/myleave")
- public class MyleaveController extends AcStartController {
-
- String menuUrl = "myleave/list.do"; //菜单地址(权限用)
- @Resource(name="myleaveService")
- private MyleaveManager myleaveService;
-
- /**保存请假单
- * @param
- * @throws Exception
- */
- @RequestMapping(value="/save")
- public ModelAndView save(){
- logBefore(logger, Jurisdiction.getUsername()+"新增Myleave");
- if(!Jurisdiction.buttonJurisdiction(menuUrl, "add")){return null;} //校验权限
- ModelAndView mv = this.getModelAndView();
- PageData pd = new PageData();
- pd = this.getPageData();
- pd.put("MYLEAVE_ID", this.get32UUID()); //主键
- pd.put("USERNAME", Jurisdiction.getUsername()); //用户名
- try {
- /** 工作流的操作 **/
- Map<String,Object> map = new LinkedHashMap<String, Object>();
- map.put("请假人员", Jurisdiction.getU_name()); //当前用户的姓名
- map.put("开始时间", pd.getString("STARTTIME"));
- map.put("结束时间", pd.getString("ENDTIME"));
- map.put("请假时长", pd.getString("WHENLONG"));
- map.put("请假类型", pd.getString("TYPE"));
- map.put("请假事由", pd.getString("REASON"));
- map.put("USERNAME", Jurisdiction.getUsername()); //指派代理人为当前用户
- startProcessInstanceByKeyHasVariables("KEY_leave",map); //启动流程实例(请假单流程)通过KEY
- myleaveService.save(pd); //记录存入数据库
- mv.addObject("ASSIGNEE_",Jurisdiction.getUsername()); //用于给待办人发送新任务消息
- mv.addObject("msg","success");
- } catch (Exception e) {
- mv.addObject("errer","errer");
- mv.addObject("msgContent","请联系管理员部署相应业务流程!");
- }
- mv.setViewName("save_result");
- return mv;
- }
-
- /**删除
- * @param out
- * @throws Exception
- */
- @RequestMapping(value="/delete")
- public void delete(PrintWriter out) throws Exception{
- logBefore(logger, Jurisdiction.getUsername()+"删除Myleave");
- if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return;} //校验权限
- PageData pd = new PageData();
- pd = this.getPageData();
- myleaveService.delete(pd);
- out.write("success");
- out.close();
- }
-
- /**修改
- * @param
- * @throws Exception
- */
- @RequestMapping(value="/edit")
- public ModelAndView edit() throws Exception{
- logBefore(logger, Jurisdiction.getUsername()+"修改Myleave");
- if(!Jurisdiction.buttonJurisdiction(menuUrl, "edit")){return null;} //校验权限
- ModelAndView mv = this.getModelAndView();
- PageData pd = new PageData();
- pd = this.getPageData();
- myleaveService.edit(pd);
- mv.addObject("msg","success");
- mv.setViewName("save_result");
- return mv;
- }
-
- /**列表
- * @param page
- * @throws Exception
- */
- @RequestMapping(value="/list")
- public ModelAndView list(Page page) throws Exception{
- logBefore(logger, Jurisdiction.getUsername()+"列表Myleave");
- //if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码)
- ModelAndView mv = this.getModelAndView();
- PageData pd = new PageData();
- pd = this.getPageData();
- String keywords = pd.getString("keywords"); //关键词检索条件
- if(null != keywords && !"".equals(keywords)){
- pd.put("keywords", keywords.trim());
- }
- pd.put("USERNAME", "admin".equals(Jurisdiction.getUsername())?"":Jurisdiction.getUsername()); //除admin用户外,只能查看自己的数据
- page.setPd(pd);
- List<PageData> varList = myleaveService.list(page); //列出Myleave列表
- mv.setViewName("fhoa/myleave/myleave_list");
- mv.addObject("varList", varList);
- mv.addObject("pd", pd);
- mv.addObject("QX",Jurisdiction.getHC()); //按钮权限
- return mv;
- }
-
- /**去新增页面
- * @param
- * @throws Exception
- */
- @RequestMapping(value="/goAdd")
- public ModelAndView goAdd()throws Exception{
- ModelAndView mv = this.getModelAndView();
- PageData pd = new PageData();
- pd = this.getPageData();
- mv.setViewName("fhoa/myleave/myleave_edit");
- mv.addObject("msg", "save");
- mv.addObject("pd", pd);
- return mv;
- }
-
- /**去修改页面
- * @param
- * @throws Exception
- */
- @RequestMapping(value="/goEdit")
- public ModelAndView goEdit()throws Exception{
- ModelAndView mv = this.getModelAndView();
- PageData pd = new PageData();
- pd = this.getPageData();
- pd = myleaveService.findById(pd); //根据ID读取
- mv.setViewName("fhoa/myleave/myleave_edit");
- mv.addObject("msg", "edit");
- mv.addObject("pd", pd);
- return mv;
- }
-
- /**批量删除
- * @param
- * @throws Exception
- */
- @RequestMapping(value="/deleteAll")
- @ResponseBody
- public Object deleteAll() throws Exception{
- logBefore(logger, Jurisdiction.getUsername()+"批量删除Myleave");
- if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return null;} //校验权限
- PageData pd = new PageData();
- Map<String,Object> map = new HashMap<String,Object>();
- pd = this.getPageData();
- List<PageData> pdList = new ArrayList<PageData>();
- String DATA_IDS = pd.getString("DATA_IDS");
- if(null != DATA_IDS && !"".equals(DATA_IDS)){
- String ArrayDATA_IDS[] = DATA_IDS.split(",");
- myleaveService.deleteAll(ArrayDATA_IDS);
- pd.put("msg", "ok");
- }else{
- pd.put("msg", "no");
- }
- pdList.add(pd);
- map.put("list", pdList);
- return AppUtil.returnObject(pd, map);
- }
-
- /**导出到excel
- * @param
- * @throws Exception
- */
- @RequestMapping(value="/excel")
- public ModelAndView exportExcel() throws Exception{
- logBefore(logger, Jurisdiction.getUsername()+"导出Myleave到excel");
- if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;}
- ModelAndView mv = new ModelAndView();
- PageData pd = new PageData();
- pd = this.getPageData();
- Map<String,Object> dataMap = new HashMap<String,Object>();
- List<String> titles = new ArrayList<String>();
- titles.add("用户名"); //1
- titles.add("类型"); //2
- titles.add("开始时间"); //3
- titles.add("结束时间"); //4
- titles.add("时长"); //5
- titles.add("事由"); //6
- titles.add("审批意见"); //7
- dataMap.put("titles", titles);
- List<PageData> varOList = myleaveService.listAll(pd);
- List<PageData> varList = new ArrayList<PageData>();
- for(int i=0;i<varOList.size();i++){
- PageData vpd = new PageData();
- vpd.put("var1", varOList.get(i).getString("USERNAME")); //1
- vpd.put("var2", varOList.get(i).getString("TYPE")); //2
- vpd.put("var3", varOList.get(i).getString("STARTTIME")); //3
- vpd.put("var4", varOList.get(i).getString("ENDTIME")); //4
- vpd.put("var5", varOList.get(i).getString("WHENLONG")); //5
- vpd.put("var6", varOList.get(i).getString("REASON")); //6
- vpd.put("var7", varOList.get(i).getString("OPINION")); //7
- varList.add(vpd);
- }
- dataMap.put("varList", varList);
- ObjectExcelView erv = new ObjectExcelView();
- mv = new ModelAndView(erv,dataMap);
- return mv;
- }
-
- @InitBinder
- public void initBinder(WebDataBinder binder){
- DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
- binder.registerCustomEditor(Date.class, new CustomDateEditor(format,true));
- }
- }
|