activiti使用心得(3) 请假申请单业务

相关文章
activiti使用心得(1) spring 集成activiti
activiti使用心得(2) activiti的web应用 请假审批为例,bpmn文件的定义
activiti使用心得(3) 请假申请单业务
activiti使用心得(4) 请假申请单流程启动,任务列表、审批
activiti使用心得(5) activiti 对表单的使用说明
activiti使用心得(6) 请假申请单查看备注、审批结束

请假申请单表结构

CREATE TABLE `t_sys_vacation` (
  `id` varchar(80) NOT NULL,
  `work_days` int(4) DEFAULT NULL COMMENT '休假的工作日天数',
  `begin_date` varchar(20) DEFAULT NULL COMMENT '休假开始日期',
  `end_date` varchar(20) DEFAULT NULL COMMENT '休假截止日期',
  `vacation_type` varchar(2) DEFAULT NULL COMMENT '休假类型',
  `reason` varchar(500) DEFAULT NULL COMMENT '休假原因',
  `process_instance_id` varchar(50) DEFAULT NULL COMMENT '对应的工作流实例ID',
  `user_id` varchar(80) DEFAULT NULL COMMENT '用户ID',
  `create_time` varchar(50) DEFAULT NULL,
  `status` varchar(1) DEFAULT NULL COMMENT '状态 0 初始化  1 提交申请  2审批通过  3审批拒绝',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

请假申请单Controller

@Controller
@RequestMapping(value="/vacation")
public class VacationController {
    //请假申请单service
    VacationService vacationService;
    // 用户信息
    UserService userService;


    /**
     * 请假申请单列表
     * @param Vacation
     * @param request
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/mylist", produces = "application/json;charset=utf-8")
    public Result<NctpPage<Vacation>> mylist(Vacation Vacation, HttpServletRequest request) {
        String currentPage = request.getParameter("currentPage");
        String pageSize = request.getParameter("pageSize");
        return vacationService.mylist(Vacation, currentPage, pageSize);

    }

    /**
     * 请假申请单提交,启动审批流程,此处目前没有做好,应该把启动流程提取出来,后期优化
     * @param vacationForm
     * @param request
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/commit", produces = "application/json;charset=utf-8")
    public Result<BussinessResult> commitAndProcessDeploy(VacationForm vacationForm, HttpServletRequest request) {
        String userKey = SessionUtils.getUserkey(request);
        User user = userService.findById(userKey);
        Result<BussinessResult> br = new Result<>();
        vacationForm.setUserName(user.getRealname());
        vacationForm.setUserId(user.getUsername());
        vacationService.startVacation(vacationForm);
        return br;
    }

    /**
     * 请假申请单  保存
     * @param vacationForm
     * @param request
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/add", produces = "application/json;charset=utf-8")
    public Result<VacationForm> add(VacationForm vacationForm, HttpServletRequest request) {
//      ProcessInstance process = vacationService.startVacation(vacationForm);
        String userKey = SessionUtils.getUserkey(request);
        User user = userService.findById(userKey);
        Result<VacationForm> br = new Result<>();
        vacationForm.setUserId(user.getUsername());
        int res = vacationService.add(vacationForm);
        br.setCode(res > 0 ? "0" : "00001");
        br.setMessage(res > 0 ? "内容保存成功" : "内容保存失败");
        br.setResult(vacationForm);
        return br;
    }

    @Autowired
    public void setVacationService(VacationService vacationService) {
        this.vacationService = vacationService;
    }

    @Autowired
    public void setUserService(UserService userService) {
        this.userService = userService;
    }

}

以上代码中 VacationService 为业务代码,UserService 未查询用户登录信息使用的,跟业务相关的东西,可以自行补齐

猜你喜欢

转载自blog.csdn.net/wangxiaohua_001/article/details/82495497