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);
|
}
|
}
|