| package com.matrix.system.hiveErp.action; | 
|   | 
| import com.matrix.core.anotations.RemoveRequestToken; | 
| import com.matrix.core.anotations.SaveRequestToken; | 
| import com.matrix.core.constance.MatrixConstance; | 
| import com.matrix.core.constance.SystemErrorCode; | 
| import com.matrix.core.constance.SystemMessageCode; | 
| import com.matrix.core.exception.GlobleException; | 
| import com.matrix.core.pojo.AjaxResult; | 
| import com.matrix.core.pojo.PaginationVO; | 
| import com.matrix.core.tools.DateUtil; | 
| import com.matrix.core.tools.WebUtil; | 
| import com.matrix.core.tools.excl.ExcelSheetPO; | 
| import com.matrix.core.tools.excl.ExcelUtil; | 
| import com.matrix.core.tools.excl.ExcelVersion; | 
| import com.matrix.core.web.BaseAction; | 
| import com.matrix.system.common.bean.SysUsers; | 
| import com.matrix.system.common.constance.AppConstance; | 
| import com.matrix.system.common.constance.AppVocabularyCode; | 
| import com.matrix.system.common.service.SysUsersService; | 
| import com.matrix.system.common.tools.ResponseHeadUtil; | 
| import com.matrix.system.hive.action.util.QueryUtil; | 
| import org.apache.commons.lang.StringUtils; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.stereotype.Controller; | 
| import org.springframework.ui.ModelMap; | 
| import org.springframework.web.bind.annotation.PostMapping; | 
| import org.springframework.web.bind.annotation.RequestMapping; | 
| import org.springframework.web.bind.annotation.ResponseBody; | 
| import org.springframework.web.servlet.ModelAndView; | 
|   | 
| import javax.servlet.http.HttpServletRequest; | 
| import javax.servlet.http.HttpServletResponse; | 
| import java.io.OutputStream; | 
| import java.net.URLEncoder; | 
| import java.util.ArrayList; | 
| import java.util.List; | 
| import java.util.Objects; | 
|   | 
| /** | 
|  * @author 姜ø友瑶 | 
|  * @description 公司管理员管理 | 
|  * @email 935090232@qq.com | 
|  * @date 2016-06-26 | 
|  */ | 
| @Controller | 
| @RequestMapping(value = "hiveErp/adminUsers") | 
| public class AdminUsersAction extends BaseAction { | 
|   | 
|     @Autowired | 
|     private SysUsersService sysUsersService; | 
|   | 
|   | 
|     public static final String BEV = "SYSUSERS_BEV"; | 
|   | 
|   | 
|     /** | 
|      * 列表显示 | 
|      */ | 
|     @RequestMapping(value =  "/showList") | 
|     public @ResponseBody | 
|     AjaxResult showList(SysUsers sysUsers, PaginationVO pageVo) { | 
|         // 默认按创建时间排序 | 
|         if (StringUtils.isBlank(pageVo.getSort())) { | 
|             pageVo.setSort("createTime"); | 
|             pageVo.setOrder("desc"); | 
|         } | 
|         SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); | 
|         sysUsers.setCompanyId(user.getCompanyId()); | 
|         sysUsers.setSuUserType(AppConstance.USER_TYPE_EMPLOYEE); | 
|         sysUsers.setSuValid(SysUsers.VALID_Y); | 
|         List<SysUsers> dataList = sysUsersService.findInPage(sysUsers, pageVo); | 
|         AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList, sysUsersService.findTotal(sysUsers)); | 
|         return result; | 
|     } | 
|   | 
|     /** | 
|      * 新增管理员 | 
|      * | 
|      * @param sysUsers | 
|      * @return | 
|      * @author JIANGYOUYAO | 
|      * @email 935090232@qq.com | 
|      * @date Dec 10, 2017 | 
|      */ | 
|     @RemoveRequestToken | 
|     @PostMapping(value =  "/addAdmin") | 
|     public @ResponseBody | 
|     AjaxResult addAdmin(SysUsers sysUsers) { | 
|   | 
|         SysUsers loginUser = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); | 
|         loginUser.setCreateBy(loginUser.getSuName()); | 
|         sysUsers.setCompanyId(loginUser.getCompanyId()); | 
|         int i = sysUsersService.addAdmin(sysUsers); | 
|         if (i > 0) { | 
|             return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.ADD_SUCCES, AppVocabularyCode.ADMIN); | 
|         } else { | 
|             throw new GlobleException(SystemErrorCode.DATA_ADD_FAIL); | 
|         } | 
|     } | 
|   | 
|     /** | 
|      * 修改公司管理员 | 
|      * 不含密码 | 
|      * | 
|      * @param sysUsers | 
|      * @return | 
|      * @author JIANGYOUYAO | 
|      * @email 935090232@qq.com | 
|      * @date Dec 10, 2017 | 
|      */ | 
|     @RemoveRequestToken | 
|     @PostMapping(value =  "/modifyAdmin") | 
|     public @ResponseBody | 
|     AjaxResult modifyAdmin(SysUsers sysUsers) { | 
|         sysUsers.setSuPassword(null); | 
|   | 
|         //上级不能为自己 | 
|         if (Objects.equals(sysUsers.getSuId(), sysUsers.getParentUserId())) { | 
|             return new AjaxResult(AjaxResult.STATUS_FAIL, "不能设置自己为自己的上级"); | 
|         } | 
|         int i = sysUsersService.modifyByMap(WebUtil.getSessionAttribute(BEV), sysUsers); | 
|         if (i > 0) { | 
|             WebUtil.removeSessionAttribute(BEV); | 
|             return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.UPDATE_SUCCES, "员工"); | 
|         } else { | 
|             throw new GlobleException(SystemErrorCode.DATA_UPDATE_FAIL); | 
|         } | 
|     } | 
|   | 
|   | 
|   | 
|     /** | 
|      * 进入修改界面 | 
|      * | 
|      * @param id | 
|      * @return | 
|      * @author JIANGYOUYAO | 
|      * @email 935090232@qq.com | 
|      * @date Dec 10, 2017 | 
|      */ | 
|     @SaveRequestToken | 
|     @RequestMapping(value =  "/editForm") | 
|     public ModelAndView editForm(Long id) { | 
|         ModelAndView mv = new ModelAndView("admin/hive-erp/user/admin-form"); | 
|         SysUsers sysUsers = new SysUsers(); | 
|         mv.addObject("obj", sysUsers); | 
|         if (id != null) { | 
|             sysUsers = sysUsersService.findById(id); | 
|             mv.addObject("obj", sysUsers); | 
|             //WebUtil.getRequest().setAttribute("obj", sysUsers); | 
|             WebUtil.setSessionAttribute(BEV, sysUsers); | 
|         } | 
|         List<SysUsers> staffs = sysUsersService.findByModel(null); | 
|         mv.addObject("staffs", staffs); | 
|         return mv; | 
|     } | 
|   | 
|   | 
|   | 
|   | 
|     /** | 
|      * 员工列表导出 | 
|      */ | 
|     @RequestMapping(value = "/exportExcel") | 
|     public void report(ModelMap model, HttpServletRequest request, HttpServletResponse response, | 
|                        SysUsers shopStaffInfo) throws Exception { | 
|   | 
|         List<ExcelSheetPO> res = new ArrayList<>(); | 
|         ExcelSheetPO orderSheet = new ExcelSheetPO(); | 
|         String title = "员工列表"; | 
|         orderSheet.setSheetName(title); | 
|         orderSheet.setTitle(title); | 
|         String[] header = {"员工姓名", "员工编号", "性别", "联系方式", "上级名称", "所属岗位", "所属部门", "所属门店"}; | 
|         orderSheet.setHeaders(header); | 
|         QueryUtil.setQueryLimitCom(shopStaffInfo); | 
|         List<SysUsers> dataList = sysUsersService.findInPage(shopStaffInfo, null); | 
|         List<List<Object>> list = new ArrayList<>(); | 
|         if (dataList.size() > 0) { | 
|             for (SysUsers item : dataList) { | 
|                 List<Object> temp = new ArrayList<>(); | 
|                 temp.add(item.getSuName()); | 
|                 temp.add(item.getSuJobNo()); | 
|                 temp.add(item.getSuSex()); | 
|                 temp.add(item.getSuTel()); | 
|                 temp.add(item.getParDirectName()); | 
|                 temp.add(item.getRoleName()); | 
|                 temp.add(item.getDepartName()); | 
|                 temp.add(item.getShopName()); | 
|                 list.add(temp); | 
|             } | 
|         } | 
|         orderSheet.setDataList(list); | 
|         res.add(orderSheet); | 
|         response = ResponseHeadUtil.setExcelHead(response); | 
|         response.setHeader("Content-Disposition", | 
|                 "attachment;filename=" + URLEncoder.encode(title + DateUtil.getTimeMark() + ".xlsx".trim(), "UTF-8")); | 
|         OutputStream os = response.getOutputStream(); | 
|         ExcelUtil.createWorkbookAtOutStream(ExcelVersion.V2007, res, os, true); | 
|     } | 
| } |