package cn.com.lzt.dialogDeal.controller; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.validation.Validator; import com.daju.mix.dto.ElementDto; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.jeecgframework.core.common.controller.BaseController; import org.jeecgframework.core.common.exception.BusinessException; import org.jeecgframework.core.common.model.json.AjaxJson; import org.jeecgframework.core.common.model.json.DataGrid; import org.jeecgframework.core.util.JeecgDataAutorUtils; import org.jeecgframework.core.util.oConvertUtils; import org.jeecgframework.minidao.pojo.MiniDaoPage; import org.jeecgframework.tag.core.easyui.TagUtil; import org.jeecgframework.web.system.pojo.base.DictEntity; import org.jeecgframework.web.system.pojo.base.TSDepart; import org.jeecgframework.web.system.service.SystemService; import org.springframework.beans.factory.annotation.Autowired; 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; import cn.com.lzt.arrangeduty.dto.ProjectDepartDto; import cn.com.lzt.arrangedutyoperate.dto.UserAndUserPersonnelDto; import cn.com.lzt.arrangedutyoperate.service.ArrangeDutyOperateServiceI; import cn.com.lzt.dialogDeal.service.DialogDealServiceI; import cn.com.lzt.dialogDeal.service.UserDepartOrgDealServiceI; /** * @Title: Controller * @Description: 所有弹窗页面 * @author onlineGenerator * @date 2017-10-11 12:58:25 * @version V1.0 * */ @Controller @RequestMapping("/dialogDealController") public class DialogDealController extends BaseController { /** * Logger for this class */ private static final Logger logger = Logger.getLogger(DialogDealController.class); @Autowired private SystemService systemService; @Autowired private Validator validator; @Autowired DialogDealServiceI dialogDealServiceI; // 用户和项目关系处理 @Autowired UserDepartOrgDealServiceI userDepartOrgDealServiceI; /** * 月度排班 */ @Autowired ArrangeDutyOperateServiceI arrangeDutyOperateService; /** * All * 所有项目选择弹窗页面跳转路径 * 列表页弹窗 * @author zbw * 2017-10-31 * @param request * @return */ @RequestMapping(params = "projectDepartTableAll") public ModelAndView projectDepartTableAll(HttpServletRequest request) { //return new ModelAndView("cn/com/lzt/arrangeduty/dutyMealTable"); ModelAndView mv = new ModelAndView("cn/com/lzt/dialogDeal/projectDepartTableAll"); String ids = oConvertUtils.getString(request.getParameter("ids")); mv.addObject("ids", ids); return mv; } /** * All * 项目选择弹窗列表数据 * @author zbw * 2017-11-15 * @param projectDepartDto * @param request * @param response * @param dataGrid */ @RequestMapping(params = "projectDepartDatagridAll") public void projectDepartDatagridAll(ProjectDepartDto projectDepartDto, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { // TSUser tSUser=ResourceUtil.getSessionUser(); List projectDepartDtoList=dialogDealServiceI.getProjectDepartAll(projectDepartDto); dataGrid.setResults(projectDepartDtoList); TagUtil.datagrid(response, dataGrid); } /** * AllCheckbox * 所有项目选择弹窗页面跳转路径 * 列表页弹窗 * @author zbw * 2017-10-31 * @param request * @return */ @RequestMapping(params = "projectDepartTableAllCheckbox") public ModelAndView projectDepartTableAllCheckbox(HttpServletRequest request) { //return new ModelAndView("cn/com/lzt/arrangeduty/dutyMealTable"); ModelAndView mv = new ModelAndView("cn/com/lzt/dialogDeal/projectDepartTableAllCheckbox"); String ids = oConvertUtils.getString(request.getParameter("ids")); mv.addObject("ids", ids); return mv; } /** * AllCheckbox * 项目选择弹窗列表数据 * @author zbw * 2017-11-15 * @param projectDepartDto * @param request * @param response * @param dataGrid */ @RequestMapping(params = "projectDepartDatagridAllCheckbox") public void projectDepartDatagridAllCheckbox(ProjectDepartDto projectDepartDto, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { // TSUser tSUser=ResourceUtil.getSessionUser(); List projectDepartDtoList=dialogDealServiceI.getProjectDepartAll(projectDepartDto); dataGrid.setResults(projectDepartDtoList); TagUtil.datagrid(response, dataGrid); } /** * AllCheckbox * 所有场所选择弹窗页面跳转路径 * 列表页弹窗 * @author zbw * 2017-10-31 * @param request * @return */ @RequestMapping(params = "archivesPlaceAllCheckbox") public ModelAndView archivesPlaceAllCheckbox(HttpServletRequest request) { //return new ModelAndView("cn/com/lzt/arrangeduty/dutyMealTable"); // ModelAndView mv = new ModelAndView("cn/com/lzt/car/archives/archivesPlaceList"); ModelAndView mv = new ModelAndView("cn/com/lzt/dialogDeal/archivesPlaceAllCheckbox"); String ids = oConvertUtils.getString(request.getParameter("ids")); mv.addObject("ids", ids); return mv; } /** * AllCheckbox * 场所选择弹窗列表数据 * @author zbw * 2017-11-15 * @param projectDepartDto * @param request * @param response * @param dataGrid */ @RequestMapping(params = "archivesPlaceDatagridAllCheckbox") public void archivesPlaceDatagridAllCheckbox(ElementDto elementDto, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { // TSUser tSUser=ResourceUtil.getSessionUser();archivesPlaceController.do?datagrid List elementAll = dialogDealServiceI.getElementAll(elementDto); dataGrid.setResults(elementAll); dataGrid.setTotal(elementAll.size()); TagUtil.datagrid(response, dataGrid); } /** * AllWithChild * 所有项目选择弹窗页面跳转路径 * 列表页弹窗 * @author zbw * 2017-10-31 * @param request * @return */ @RequestMapping(params = "projectDepartTableAllWithChild") public ModelAndView projectDepartTableAllWithChild(HttpServletRequest request) { //return new ModelAndView("cn/com/lzt/arrangeduty/dutyMealTable"); ModelAndView mv = new ModelAndView("cn/com/lzt/dialogDeal/projectDepartTableAllWithChild"); String ids = oConvertUtils.getString(request.getParameter("ids")); mv.addObject("ids", ids); return mv; } /** * AllWithChild * 项目选择弹窗列表数据 * @author zbw * 2017-11-15 * @param projectDepartDto * @param request * @param response * @param dataGrid */ @RequestMapping(params = "projectDepartDatagridAllWithChild") public void projectDepartDatagridAllWithChild(ProjectDepartDto projectDepartDto, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { // TSUser tSUser=ResourceUtil.getSessionUser(); List projectDepartDtoList=dialogDealServiceI.getProjectDepartAllWithChildren(projectDepartDto); dataGrid.setResults(projectDepartDtoList); TagUtil.datagrid(response, dataGrid); } /** * Part * 项目选择弹窗页面跳转路径 * 根据当前登录用户id查询项目信息 * @author zbw * 2017-10-31 * @param request * @return */ @RequestMapping(params = "projectDepartTablePart") public ModelAndView projectDepartTablePart(HttpServletRequest request) { //return new ModelAndView("cn/com/lzt/arrangeduty/dutyMealTable"); ModelAndView mv = new ModelAndView("cn/com/lzt/dialogDeal/projectDepartTablePart"); String ids = oConvertUtils.getString(request.getParameter("ids")); mv.addObject("ids", ids); return mv; } /** * PartChild 子部门,不包括自己所在的管理处 * 项目选择弹窗页面跳转路径 * 根据当前登录用户id查询项目信息 * @author zbw * 2017-10-31 * @param request * @return */ @RequestMapping(params = "projectDepartTablePartChild") public ModelAndView projectDepartTablePartChild(HttpServletRequest request) { //return new ModelAndView("cn/com/lzt/arrangeduty/dutyMealTable"); ModelAndView mv = new ModelAndView("cn/com/lzt/dialogDeal/projectDepartTablePartChild"); String ids = oConvertUtils.getString(request.getParameter("ids")); mv.addObject("ids", ids); return mv; } /** * PartChild 子部门,不包括自己所在的管理处 * 项目选择弹窗列表数据 * 根据当前登录用户id查询项目信息 * @author zbw * 2017-11-15 * @param projectDepartDto * @param request * @param response * @param dataGrid */ @RequestMapping(params = "projectDepartDatagridPartChild") public void projectDepartDatagridPartChild(ProjectDepartDto projectDepartDto,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { // TSUser tSUser=ResourceUtil.getSessionUser(); List projectDepartDtoList=dialogDealServiceI.getProjectDepartChildByUserIdAndLikeDepartName(projectDepartDto); dataGrid.setResults(projectDepartDtoList); TagUtil.datagrid(response, dataGrid); } /** * Part * 项目选择弹窗列表数据 * 根据当前登录用户id查询项目信息 * @author zbw * 2017-11-15 * @param projectDepartDto * @param request * @param response * @param dataGrid */ @RequestMapping(params = "projectDepartDatagridPart") public void projectDepartDatagridPart(ProjectDepartDto projectDepartDto,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { // TSUser tSUser=ResourceUtil.getSessionUser(); List projectDepartDtoList=dialogDealServiceI.getProjectDepartByUserIdAndLikeDepartName(projectDepartDto); dataGrid.setResults(projectDepartDtoList); TagUtil.datagrid(response, dataGrid); } /** * 单选 * All * 用户选择机构列表跳转页面 * 项目名称选择 * 禁用的也能选 * @return */ @RequestMapping(params = "departZTreeRadioAll") public String departZTreeRadioAll(HttpServletRequest req) { req.setAttribute("orgIds", req.getParameter("orgIds")); return "cn/com/lzt/dialogDeal/departZTreeRadioAll"; } /** * 多选 * 用户选择机构列表跳转页面 * 禁用的不能选 * @author zbw * 2017-11-30 * @param req * @return */ @RequestMapping(params = "departZTreeCheckBoxPart") public String departZTreeCheckBoxPart(HttpServletRequest req) { req.setAttribute("orgIds", req.getParameter("orgIds")); return "cn/com/lzt/dialogDeal/departZTreeCheckBoxPart"; } //update--start--by:jg_renjie--at:20160318 for:#942 【组件封装】组织机构弹出模式,目前是列表,得改造成树方式 //update-start--Author: os_renjie Date:20160529 for:TASK #1056 【bug】用户编辑,弹出组织机构,默认没选中 /** * All * @author zbw * 2017-11-24 * @param request * @param response * @return */ @RequestMapping(params = "getDepartZTreeAllInfo") @ResponseBody public AjaxJson getDepartZTreeAllInfo(HttpServletRequest request, HttpServletResponse response){ AjaxJson j = new AjaxJson(); String orgIds = request.getParameter("orgIds"); String[] ids = new String[]{}; if(StringUtils.isNotBlank(orgIds)){ orgIds = orgIds.substring(0, orgIds.length()-1); ids = orgIds.split("\\,"); } String parentid = request.getParameter("parentid"); List tSDeparts = new ArrayList(); StringBuffer hql = new StringBuffer(" from TSDepart t where 1=1 "); if(StringUtils.isNotBlank(parentid)){ TSDepart dePart = this.systemService.getEntity(TSDepart.class, parentid); hql.append(" and TSPDepart = ?"); tSDeparts = this.systemService.findHql(hql.toString(), dePart); } else { hql.append(" and t.orgType = ?"); tSDeparts = this.systemService.findHql(hql.toString(), "1"); } List> dateList = new ArrayList>(); if(tSDeparts.size()>0){ Map map = null; String sql = null; Object[] params = null; for(TSDepart depart:tSDeparts){ map = new HashMap(); map.put("id", depart.getId()); map.put("name", depart.getDepartname()); if(ids.length>0){ for(String id:ids){ if(id.equals(depart.getId())){ map.put("checked", true); } } } if(StringUtils.isNotBlank(parentid)){ map.put("pId", parentid); } else{ map.put("pId", "1"); } //根据id判断是否有子节点 sql = "select count(1) from t_s_depart t where t.parentdepartid = ?"; params = new Object[]{depart.getId()}; long count = this.systemService.getCountForJdbcParam(sql, params); if(count>0){ map.put("isParent",true); } dateList.add(map); } } net.sf.json.JSONArray jsonArray = net.sf.json.JSONArray.fromObject(dateList); j.setMsg(jsonArray.toString()); return j; } //update-start--Author: os_renjie Date:20160529 for:TASK #1056 【bug】用户编辑,弹出组织机构,默认没选中 //update--end--by:jg_renjie--at:20160318 for:#942 【组件封装】组织机构弹出模式,目前是列表,得改造成树方式 /** * 查询所有员工 * 员工表列表 页面跳转 * * @return */ @RequestMapping(params = "personnelTableAll") public ModelAndView personnelTableAll(HttpServletRequest request) { request.setAttribute("userid", request.getParameter("userid")); return new ModelAndView("cn/com/lzt/dialogDeal/personnelTableAll"); } /** * 查询所有员工弹窗 * @author zbw * 2017-11-5 * @param userAndUserPersonnelDto * @param request * @param response * @param dataGrid */ @RequestMapping(params = "getPersonnelTableAllInfo") public void getPersonnelTableAllInfo(UserAndUserPersonnelDto userAndUserPersonnelDto,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString(); MiniDaoPage listUserAndUserPersonnelDto = arrangeDutyOperateService.getUserAndUserPersonnelPage(userAndUserPersonnelDto, dataGrid.getPage(), dataGrid.getRows(), authSql); dataGrid.setTotal(listUserAndUserPersonnelDto.getTotal()); dataGrid.setResults(listUserAndUserPersonnelDto.getResults()); TagUtil.datagrid(response, dataGrid); } /** * 获取用户中文名 * @author zbw * 2017-11-30 * @param userid * @return */ @RequestMapping(params = "getRealName") @ResponseBody public AjaxJson getRealName(String userid) { AjaxJson j = new AjaxJson(); try { //获取用户名称 List baseUserList=systemService.queryDict("t_s_base_user", "id", "realname"); Map realNameMap=new HashMap(); for (int i = 0; i < baseUserList.size(); i++) { realNameMap.put(baseUserList.get(i).getTypecode(), baseUserList.get(i).getTypename()); } List userIdList=extractIdListByComma(userid); String realName=""; for (int i = 0; i < userIdList.size(); i++) { for (Entry m : realNameMap.entrySet()) { if(userIdList.get(i).equals(m.getKey())){ if(realName.length()!=0){ realName+=","+m.getValue(); }else{ realName=m.getValue(); } } } } Map map=new HashMap(); map.put("realName", realName); j.setAttributes(map); } catch (Exception e) { e.printStackTrace(); throw new BusinessException(e.getMessage()); } return j; } /** * 获取组织机构中文名 * @author zbw * 2017-11-30 * @param orgIds * @return */ @RequestMapping(params = "getDepartName") @ResponseBody public AjaxJson getDepartName(String orgIds) { AjaxJson j = new AjaxJson(); try { //获取项目名称 List departList=systemService.queryDict("t_s_depart", "id", "departname"); Map departMap=new HashMap(); for (int i = 0; i < departList.size(); i++) { departMap.put(departList.get(i).getTypecode(), departList.get(i).getTypename()); } List orgIdList=extractIdListByComma(orgIds); String departName=""; for (int i = 0; i < orgIdList.size(); i++) { for (Entry m : departMap.entrySet()) { if(orgIdList.get(i).equals(m.getKey())){ if(departName.length()!=0){ departName+=","+m.getValue(); }else{ departName=m.getValue(); } } } } Map map=new HashMap(); map.put("departName", departName); j.setAttributes(map); } catch (Exception e) { e.printStackTrace(); throw new BusinessException(e.getMessage()); } return j; } }