Package org.jeecgframework.web.system.controller.core

Source Code of org.jeecgframework.web.system.controller.core.DepartController

package org.jeecgframework.web.system.controller.core;

import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.jeecgframework.web.system.pojo.base.TSDemo;
import org.jeecgframework.web.system.pojo.base.TSDepart;
import org.jeecgframework.web.system.pojo.base.TSUser;
import org.jeecgframework.web.system.service.SystemService;
import org.jeecgframework.web.system.service.UserService;

import org.apache.log4j.Logger;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Restrictions;
import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery;
import org.jeecgframework.core.common.model.json.AjaxJson;
import org.jeecgframework.core.common.model.json.ComboTree;
import org.jeecgframework.core.common.model.json.DataGrid;
import org.jeecgframework.core.common.model.json.TreeGrid;
import org.jeecgframework.core.constant.Globals;
import org.jeecgframework.core.util.RoletoJson;
import org.jeecgframework.core.util.StringUtil;
import org.jeecgframework.core.util.oConvertUtils;
import org.jeecgframework.tag.core.easyui.TagUtil;
import org.jeecgframework.tag.vo.easyui.ComboTreeModel;
import org.jeecgframework.tag.vo.easyui.TreeGridModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;


/**
* 部门信息处理类
*
* @author 张代浩
*
*/
@Controller
@RequestMapping("/departController")
public class DepartController {
  /**
   * Logger for this class
   */
  private static final Logger logger = Logger.getLogger(DepartController.class);
  private UserService userService;
  private SystemService systemService;
  private String message;

  public String getMessage() {
    return message;
  }

  public void setMessage(String message) {
    this.message = message;
  }

  @Autowired
  public void setSystemService(SystemService systemService) {
    this.systemService = systemService;
  }

  public UserService getUserService() {
    return userService;
  }

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

  /**
   * 部门列表页面跳转
   *
   * @return
   */
  @RequestMapping(params = "depart")
  public ModelAndView depart() {
    return new ModelAndView("system/depart/departList");
  }

  /**
   * easyuiAJAX请求数据
   *
   * @param request
   * @param response
   * @param dataGrid
   * @param user
   */

  @RequestMapping(params = "datagrid")
  public void datagrid(HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
    CriteriaQuery cq = new CriteriaQuery(TSDepart.class, dataGrid);
    this.systemService.getDataGridReturn(cq, true);
    TagUtil.datagrid(response, dataGrid);
  }

  /**
   * 删除部门
   *
   * @return
   */
  @RequestMapping(params = "del")
  @ResponseBody
  public AjaxJson del(TSDepart depart, HttpServletRequest request) {
    AjaxJson j = new AjaxJson();
    depart = systemService.getEntity(TSDepart.class, depart.getId());
    message = "部门: " + depart.getDepartname() + "被删除 成功";
    // 删除部门之前更新与之相关的实体
    upEntity(depart);
    systemService.delete(depart);
    systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
   
    j.setMsg(message);
    return j;
  }

  public void upEntity(TSDepart depart) {
    List<TSUser> users = systemService.findByProperty(TSUser.class, "TSDepart.id", depart.getId());
    if (users.size() > 0) {
      for (TSUser tsUser : users) {
        //tsUser.setTSDepart(null);
        //systemService.saveOrUpdate(tsUser);
        systemService.delete(tsUser);
      }
    }
  }

  /**
   * 添加部门
   *
   * @param ids
   * @return
   */
  @RequestMapping(params = "save")
  @ResponseBody
  public AjaxJson save(TSDepart depart, HttpServletRequest request) {
    // 设置上级部门
    String pid = request.getParameter("TSPDepart.id");
    if (pid.equals("")) {
      depart.setTSPDepart(null);
    }
    AjaxJson j = new AjaxJson();
    if (StringUtil.isNotEmpty(depart.getId())) {
      message = "部门: " + depart.getDepartname() + "被更新成功";
      userService.saveOrUpdate(depart);
      systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
    } else {
      message = "部门: " + depart.getDepartname() + "被添加成功";
      userService.save(depart);
      systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
    }
   
    return j;
  }
  @RequestMapping(params = "add")
  public ModelAndView add(TSDepart depart, HttpServletRequest req) {
    List<TSDepart> departList = systemService.getList(TSDepart.class);
    req.setAttribute("departList", departList);
    if (StringUtil.isNotEmpty(depart.getId())) {
      TSDepart tspDepart = new TSDepart();
      TSDepart tsDepart = new TSDepart();
      depart = systemService.getEntity(TSDepart.class, depart.getId());
      tspDepart.setId(depart.getId());
      tspDepart.setDepartname(depart.getDepartname());
      tsDepart.setTSPDepart(tspDepart);
      req.setAttribute("depart", tsDepart);
    }
    return new ModelAndView("system/depart/depart");
  }
  /**
   * 部门列表页面跳转
   *
   * @return
   */
  @RequestMapping(params = "update")
  public ModelAndView update(TSDepart depart, HttpServletRequest req) {
    List<TSDepart> departList = systemService.getList(TSDepart.class);
    req.setAttribute("departList", departList);
    if (StringUtil.isNotEmpty(depart.getId())) {
      depart = systemService.getEntity(TSDepart.class, depart.getId());
      req.setAttribute("depart", depart);
    }
    return new ModelAndView("system/depart/depart");
  }
 
  /**
   * 父级权限列表
   *
   * @param role
   * @param request
   * @param response
   * @param dataGrid
   * @param user
   * @return
   */
  @RequestMapping(params = "setPFunction")
  @ResponseBody
  public List<ComboTree> setPFunction(HttpServletRequest request, ComboTree comboTree) {
    CriteriaQuery cq = new CriteriaQuery(TSDepart.class);
    if(null != request.getParameter("selfId")){
      cq.notEq("id", request.getParameter("selfId"));
    }
    if (comboTree.getId() != null) {
      cq.eq("TSPDepart.id", comboTree.getId());
    }
    if (comboTree.getId() == null) {
      cq.isNull("TSPDepart");
    }
    cq.add();
    List<TSDepart> departsList = systemService.getListByCriteriaQuery(cq, false);
    List<ComboTree> comboTrees = new ArrayList<ComboTree>();
    ComboTreeModel comboTreeModel = new ComboTreeModel("id", "departname", "TSDeparts");
    comboTrees = systemService.ComboTree(departsList, comboTreeModel, null);
    return comboTrees;

  }
  /**
   * 部门列表,树形展示
   * @param request
   * @param response
   * @param treegrid
   * @return
   */
  @RequestMapping(params = "departgrid")
  @ResponseBody
  public  List<TreeGrid>  departgrid(TSDepart tSDepart,HttpServletRequest request, HttpServletResponse response, TreeGrid treegrid) {
    CriteriaQuery cq = new CriteriaQuery(TSDepart.class);
    if("yes".equals(request.getParameter("isSearch"))){
      treegrid.setId(null);
      tSDepart.setId(null);
    }
    if(null != tSDepart.getDepartname()){
      org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, tSDepart);
    }
    if (treegrid.getId() != null) {
      cq.eq("TSPDepart.id", treegrid.getId());
    }
    if (treegrid.getId() == null) {
      cq.isNull("TSPDepart");
    }
    cq.add();
    List<TreeGrid> departList =null;
    departList=systemService.getListByCriteriaQuery(cq, false);
    if(departList.size()==0&&tSDepart.getDepartname()!=null){
      cq = new CriteriaQuery(TSDepart.class);
      TSDepart parDepart = new TSDepart();
      tSDepart.setTSPDepart(parDepart);
      org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, tSDepart);
         departList =systemService.getListByCriteriaQuery(cq, false);
    }
    List<TreeGrid> treeGrids = new ArrayList<TreeGrid>();
    TreeGridModel treeGridModel = new TreeGridModel();
    treeGridModel.setTextField("departname");
    treeGridModel.setParentText("TSPDepart_departname");
    treeGridModel.setParentId("TSPDepart_id");
    treeGridModel.setSrc("description");
    treeGridModel.setIdField("id");
    treeGridModel.setChildList("TSDeparts");
    treeGrids = systemService.treegrid(departList, treeGridModel);
    return treeGrids;
  }
  //----
  /**
   * 方法描述:  查看成员列表
   * 作    者: yiming.zhang
   * 日    期: Dec 4, 2013-8:53:39 PM
   * @param request
   * @param departid
   * @return
   * 返回类型: ModelAndView
   */
  @RequestMapping(params = "userList")
  public ModelAndView userList(HttpServletRequest request, String departid) {
    request.setAttribute("departid", departid);
    return new ModelAndView("system/depart/departUserList");
  }
 
  /**
   * 方法描述:  成员列表dataGrid
   * 作    者: yiming.zhang
   * 日    期: Dec 4, 2013-10:40:17 PM
   * @param user
   * @param request
   * @param response
   * @param dataGrid
   * 返回类型: void
   */
  @RequestMapping(params = "userDatagrid")
  public void userDatagrid(TSUser user,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
    CriteriaQuery cq = new CriteriaQuery(TSUser.class, dataGrid);
    //查询条件组装器
    org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, user);
    String departid = oConvertUtils.getString(request.getParameter("departid"));
    if (!StringUtil.isEmpty(departid)) {
      DetachedCriteria dc = cq.getDetachedCriteria();
      DetachedCriteria dcDepart = dc.createCriteria("TSDepart");
      dcDepart.add(Restrictions.eq("id", departid));
    }
    Short[] userstate = new Short[] { Globals.User_Normal, Globals.User_ADMIN };
    cq.in("status", userstate);
    cq.add();
    this.systemService.getDataGridReturn(cq, true);
    TagUtil.datagrid(response, dataGrid);
  }
  //----
 
 
}
TOP

Related Classes of org.jeecgframework.web.system.controller.core.DepartController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.