package cn.com.lzt.userwagestrategy.controller; import cn.com.lzt.certificatesubsidy.entity.CertificateSubsidyEntity; import cn.com.lzt.common.dto.VisibleUserDto; import cn.com.lzt.common.push.JPushProcessor; import cn.com.lzt.common.service.DataPermissionServiceI; import cn.com.lzt.dialogDeal.service.UserDepartOrgDealServiceI; import cn.com.lzt.usercertificate.entity.UserCertificateEntity; import cn.com.lzt.userwagestrategy.dao.UserwagestrategyMinidaoDao; import cn.com.lzt.userwagestrategy.dto.UserWagestrategyDto; import cn.com.lzt.userwagestrategy.entity.UserWagestrategyEntity; import cn.com.lzt.userwagestrategy.entity.UserwagestrategyPage; import cn.com.lzt.userwagestrategy.service.UserWagestrategyServiceI; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.jeecgframework.core.beanvalidator.BeanValidators; import org.jeecgframework.core.common.controller.BaseController; import org.jeecgframework.core.common.exception.BusinessException; import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; import org.jeecgframework.core.common.model.json.AjaxJson; import org.jeecgframework.core.common.model.json.DataGrid; import org.jeecgframework.core.constant.Globals; import org.jeecgframework.core.util.*; import org.jeecgframework.minidao.pojo.MiniDaoPage; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.entity.ImportParams; import org.jeecgframework.poi.excel.entity.vo.NormalExcelConstants; import org.jeecgframework.tag.core.easyui.TagUtil; import org.jeecgframework.web.system.pojo.base.TSDepart; import org.jeecgframework.web.system.pojo.base.TSUser; import org.jeecgframework.web.system.pojo.base.TSUserOrg; import org.jeecgframework.web.system.service.SystemService; import org.jeecgframework.web.system.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.util.UriComponentsBuilder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import javax.validation.ConstraintViolation; import javax.validation.Validator; import java.io.IOException; import java.net.URI; import java.util.*; /** * @Title: Controller * @Description: 员工工资策略 * @author onlineGenerator * @date 2017-10-23 14:00:11 * @version V1.0 * */ @Controller @RequestMapping("/userWagestrategyController") public class UserWagestrategyController extends BaseController { /** * Logger for this class */ private static final Logger logger = Logger.getLogger(UserWagestrategyController.class); @Autowired private UserWagestrategyServiceI userWagestrategyService; @Autowired private SystemService systemService; @Autowired private Validator validator; @Autowired private DataPermissionServiceI dataPermissionService; @Autowired private JPushProcessor pushProcessor; @Autowired private UserwagestrategyMinidaoDao uwDao; @Autowired private UserDepartOrgDealServiceI userDepartOrgDealService; @Autowired private UserService userService; /** * 员工工资策略列表 页面跳转 * * @return */ @RequestMapping(params = "list") public ModelAndView list(HttpServletRequest request) { // 获取登录用户的组织编码 String orgCode = ""; TSUser tSUser=ResourceUtil.getSessionUser(); String userOrgHql = "from TSUserOrg where tsUser.id=? and status = 0"; List userOrgList = systemService.findHql(userOrgHql, tSUser.getId()); for(TSUserOrg userOrg : userOrgList) { TSDepart departInfo = systemService.getEntity(TSDepart.class, userOrg.getTsDepart().getId()); if("A_HR".equals(departInfo.getDeptCode())) { orgCode = "A_HR"; break; } if(!orgCode.equals("A_HR")){ String roleName = userService.getUserRole(tSUser); if(roleName.contains("A_XXB")){ orgCode = "A_HR"; } } } request.setAttribute("orgCode", orgCode); String orgIds = request.getParameter("orgIds"); request.setAttribute("orgIds", orgIds); String departname = request.getParameter("departname"); request.setAttribute("departname", departname); String realname = request.getParameter("realname"); request.setAttribute("realname", realname); return new ModelAndView("cn/com/lzt/userwagestrategy/userWagestrategyList"); } /** * easyui AJAX请求数据 * * @param request * @param response * @param dataGrid * @param user */ /* @RequestMapping(params = "datagrid") public void datagrid(UserWagestrategyDto userWagestrategy,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { String orgIds = request.getParameter("orgIds"); List orgIdList = extractIdListByComma(orgIds); // 获取 当前组织机构的用户信息 if (!CollectionUtils.isEmpty(orgIdList)) { userWagestrategy.setOrgIdList(orgIdList); } String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString(); MiniDaoPage list = userWagestrategyService.getAllEntities(userWagestrategy, dataGrid.getPage(), dataGrid.getRows(),authSql); //update-begin--Author:zhangliang Date:20170706 for:TASK #1945 【demo错误】minidao例子,通过条件查询,后台报错 List entityList = list.getResults(); if(!entityList.isEmpty()){ for (UserWagestrategyDto userWagestrategyDaoEntity : entityList) { StringBuffer str = new StringBuffer(); StringBuffer str1 = new StringBuffer(); //List ucList = systemService.findListbySql("select * from t_bus_user_certificate where userid = '"+userWagestrategyDaoEntity.getUserid()+"' and delete_flag = '0'"); List ucList = systemService.findByProperty(UserCertificateEntity.class, "userid", userWagestrategyDaoEntity.getUserid()); if(!ucList.isEmpty()){ for (int i = 0; i < ucList.size(); i++) { UserCertificateEntity us = ucList.get(i); //List usList = systemService.findListbySql("select * from t_bus_certificate_subsidy where id = '"+us.getCertificateid()+"' and delete_flag = '0'"); CertificateSubsidyEntity usList = systemService.get(CertificateSubsidyEntity.class, us.getCertificateid()); if(usList != null){ if(ucList.size() == i){ str.append(usList.getCertificateName()); str1.append(usList.getId()); }else{ str.append(usList.getCertificateName()+","); str1.append(usList.getId()+","); } } } userWagestrategyDaoEntity.setCertificateSubsidyid(str1.toString()); userWagestrategyDaoEntity.setCertificateName(str.toString()); } } } dataGrid.setTotal(list.getTotal()); dataGrid.setResults(list.getResults()); TagUtil.datagrid(response, dataGrid); }*/ /* @RequestMapping(params = "datagrid") public void datagrid(UserWagestrategyDto userWagestrategy,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { String orgIds = request.getParameter("orgIds"); List orgIdList = extractIdListByComma(orgIds); // 获取 当前组织机构的用户信息 if (!CollectionUtils.isEmpty(orgIdList)) { String orgId = orgIdList.get(0); List ChildIdList = userDepartOrgDealService.getChildIdByProjectDepartId(orgId); userWagestrategy.setOrgIdList(ChildIdList); } String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString(); MiniDaoPage list = userWagestrategyService.getAllEntities(userWagestrategy, dataGrid.getPage(), dataGrid.getRows(),authSql); List entityList = list.getResults(); if(!entityList.isEmpty()){ for (UserWagestrategyDto userWagestrategyDaoEntity : entityList) { StringBuffer str = new StringBuffer(); StringBuffer str1 = new StringBuffer(); List ucList = systemService.findByProperty(UserCertificateEntity.class, "userid", userWagestrategyDaoEntity.getUserid()); if(!ucList.isEmpty()){ for (int i = 0; i < ucList.size(); i++) { UserCertificateEntity us = ucList.get(i); CertificateSubsidyEntity usList = systemService.get(CertificateSubsidyEntity.class, us.getCertificateid()); if(usList != null){ if(ucList.size() == i){ str.append(usList.getCertificateName()); str1.append(usList.getId()); }else{ str.append(usList.getCertificateName()+",
"); str1.append(usList.getId()+","); } } } userWagestrategyDaoEntity.setCertificateSubsidyid(str1.toString()); userWagestrategyDaoEntity.setCertificateName(str.toString()); } } } List allList = new ArrayList(); List dtoList = dataPermissionService.dataFilter(list.getResults());//数据过滤 allList.addAll(dtoList); if(allList!=null && allList.size()<10){ MiniDaoPage pageList = userWagestrategyService.getAllEntities(userWagestrategy, dataGrid.getPage(), dataGrid.getRows(),authSql); } int num1 = list.getTotal()/10;//商 int num2 = list.getTotal()%10;//余数 int loopNum = num2!=0 ? num1+1 : num1;//循环次数 for(int i=0; i pageList = userWagestrategyService.getAllEntities(userWagestrategy, dataGrid.getPage(), dataGrid.getRows(),authSql); } } PushReq pushreq = new PushReq(); Map extrasParam = new HashMap(); extrasParam.put("sendReport", "sendReport"); pushreq.setExtras(extrasParam); pushreq.setAlert(PushMsgContentProcess.PUSH_INSPECTION_ATTENDANCE_YW.value()); ArrayList ls = new ArrayList(); ls.add("4028e4a55fdd331a015fdd36ac9e0001"); pushreq.setAudiences(ls); pushProcessor.pushMessage(pushreq); dataGrid.setTotal(list.getTotal()); dataGrid.setResults(list.getResults()); TagUtil.datagrid(response, dataGrid); }*/ /** * easyui AJAX请求数据 * * @param request * @param response * @param dataGrid */ @RequestMapping(params = "datagrid") public void datagrid(UserWagestrategyDto userWagestrategy,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { String orgIds = request.getParameter("orgIds"); String departname = request.getParameter("departname"); String realname = request.getParameter("realname"); userWagestrategy.setRealname(realname); List orgIdList = extractIdListByComma(orgIds); request.setAttribute("orgIds", orgIds); request.setAttribute("departname", departname); request.setAttribute("realname", realname); MiniDaoPage list = new MiniDaoPage(); // if(orgIds == null || orgIds.length() == 0) { // list.setResults(new ArrayList()); // dataGrid.setResults(list.getResults()); // TagUtil.datagrid(response, dataGrid); // return; // } // 获取 当前组织机构的用户信息 if (!CollectionUtils.isEmpty(orgIdList)) { String orgId = orgIdList.get(0); List childIdList = userDepartOrgDealService.getChildIdByProjectDepartId(orgId); userWagestrategy.setOrgIdList(childIdList); }else{ // 查询当前部门先所有子孙节点,目前已经采用通用算法进行数据过滤,暂时不需要,已注释 /*TSUser tSUser=ResourceUtil.getSessionUser(); StringBuffer hql = new StringBuffer("from TSUserOrg where tsUser.id = :userid and status=0"); List tsList = systemService.getSession().createQuery(hql.toString()).setParameter("userid", tSUser.getId()).list(); if(!tsList.isEmpty()){ for (TSUserOrg tsUserOrg : tsList) { List childIdList = userDepartOrgDealService.getChildIdByProjectDepartId(tsUserOrg.getTsDepart().getId()); if(!childIdList.isEmpty()){ List ch = new ArrayList(); for (String str : childIdList) { if(!str.equals(tsUserOrg.getTsDepart().getId())){ ch.add(str); } } childIdList = ch; } userWagestrategy.setOrgIdList(childIdList); } }*/ } String orgCode = ""; TSUser tSUser=ResourceUtil.getSessionUser(); String userOrgHql = "from TSUserOrg where tsUser.id=? and status = 0"; List userOrgList = systemService.findHql(userOrgHql, tSUser.getId()); for(TSUserOrg userOrg : userOrgList) { TSDepart departInfo = systemService.getEntity(TSDepart.class, userOrg.getTsDepart().getId()); if("A_HR".equals(departInfo.getDeptCode())) { orgCode = "A_HR"; break; } } if(!orgCode.equals("A_HR")){ String roleName = userService.getUserRole(tSUser); if(roleName.contains("A_XXB")){ orgCode = "A_HR"; } } String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString(); if("A_HR".equals(orgCode)) { list = userWagestrategyService.getAllEntities(userWagestrategy, null, dataGrid.getPage(), dataGrid.getRows(),authSql); }else { VisibleUserDto dto = dataPermissionService.getVisibleUserList();// 获取当前用户可见的userid列表 if(dto != null){ if(dto.getFlag().value().equalsIgnoreCase("ALL")){ list = userWagestrategyService.getAllEntities(userWagestrategy, null, dataGrid.getPage(), dataGrid.getRows(),authSql); }else if(dto.getFlag().value().equalsIgnoreCase("NONE")){ // 获取当前登录用户 HttpSession session = ContextHolderUtils.getSession(); TSUser user = (TSUser)session.getAttribute("LOCAL_CLINET_USER"); List uidList = new ArrayList(); uidList.add(user.getId()); list = userWagestrategyService.getAllEntities(userWagestrategy, uidList, dataGrid.getPage(), dataGrid.getRows(),authSql); }else if(dto.getFlag().value().equalsIgnoreCase("PART")){ List useridList = dto.getUseridList(); if(useridList != null && useridList.size() > 0){ list = userWagestrategyService.getAllEntities(userWagestrategy, useridList, dataGrid.getPage(), dataGrid.getRows(),authSql); } } } } // MiniDaoPage list = userWagestrategyService.getAllEntities(userWagestrategy, useridList, dataGrid.getPage(), dataGrid.getRows(),authSql); List entityList = list.getResults(); if(!entityList.isEmpty()){ for (UserWagestrategyDto userWagestrategyDaoEntity : entityList) { if(userWagestrategyDaoEntity.getId() == null || userWagestrategyDaoEntity.getId().length()==0) { userWagestrategyDaoEntity.setIsset("未配置"); }else { userWagestrategyDaoEntity.setIsset("是"); } StringBuffer str = new StringBuffer(); StringBuffer str1 = new StringBuffer(); List ucList = systemService.findByProperty(UserCertificateEntity.class, "userid", userWagestrategyDaoEntity.getUserid()); if(!ucList.isEmpty()){ for (int i = 0; i < ucList.size(); i++) { UserCertificateEntity us = ucList.get(i); if("1".equals(us.getDeleteFlag())) { continue; } CertificateSubsidyEntity usList = systemService.get(CertificateSubsidyEntity.class, us.getCertificateid()); if(usList != null){ if(ucList.size() == i){ str.append(usList.getCertificateName()); str1.append(usList.getId()); }else{ str.append(usList.getCertificateName()+",
"); str1.append(usList.getId()+","); } } } userWagestrategyDaoEntity.setCertificateSubsidyid(str1.toString()); userWagestrategyDaoEntity.setCertificateName(str.toString()); } if(StringUtils.isEmpty(userWagestrategyDaoEntity.getDepartname())){ userWagestrategyDaoEntity.setDepartname(getBybelongId(userWagestrategyDaoEntity.getUserids())); } } } Collections.sort(entityList); dataGrid.setTotal(list.getTotal()); dataGrid.setResults(list.getResults()); TagUtil.datagrid(response, dataGrid); } /** * 通过人查询所属项目 * @param userid * @return */ private String getBybelongId(String userid){ String temp = ""; StringBuffer hql = new StringBuffer("from TSUserOrg where tsUser.id = :userid and ifpluralism = 0 and status=0"); List tsList = systemService.getSession().createQuery(hql.toString()).setParameter("userid", userid).list(); if(!tsList.isEmpty()){ TSUserOrg uo = tsList.get(0); TSDepart tsDepart = uo.getTsDepart(); if("1".equals(tsDepart.getOrgType()) || "3".equals(tsDepart.getOrgType()) || "4".equals(tsDepart.getOrgType()) || "5".equals(tsDepart.getOrgType())){ temp = tsDepart.getId(); }else if("2".equals(tsDepart.getOrgType()) && "1".equals(tsDepart.getTSPDepart().getOrgType())){ temp = tsDepart.getId(); }else{ temp = selectById(tsDepart.getId()); } temp = systemService.get(TSDepart.class, temp).getDepartname(); } return temp; } private String selectById(String id){ String temp = ""; TSDepart tsDepart =systemService.getEntity(TSDepart.class,id); if("3".equals(tsDepart.getOrgType()) || "5".equals(tsDepart.getOrgType())){ temp = tsDepart.getId(); }else{ if(tsDepart.getTSPDepart() != null){ selectById(tsDepart.getTSPDepart().getId()); temp = tsDepart.getTSPDepart().getId(); } } return temp; } /** * 删除员工工资策略 * * @return */ @RequestMapping(params = "doDel") @ResponseBody public AjaxJson doDel(UserWagestrategyEntity userWagestrategy, HttpServletRequest request) { String message = null; AjaxJson j = new AjaxJson(); userWagestrategy = systemService.getEntity(UserWagestrategyEntity.class, userWagestrategy.getId()); message = "员工工资策略删除成功"; try{ userWagestrategyService.delete(userWagestrategy); systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); }catch(Exception e){ e.printStackTrace(); message = "员工工资策略删除失败"; throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } /** * 批量删除员工工资策略 * * @return */ @RequestMapping(params = "doBatchDel") @ResponseBody public AjaxJson doBatchDel(String ids,HttpServletRequest request){ String message = null; AjaxJson j = new AjaxJson(); message = "员工工资策略删除成功"; try{ for(String id:ids.split(",")){ UserWagestrategyEntity userWagestrategy = systemService.getEntity(UserWagestrategyEntity.class, id ); userWagestrategyService.delete(userWagestrategy); systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); } }catch(Exception e){ e.printStackTrace(); message = "员工工资策略删除失败"; throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } /** * 添加员工工资策略 * * @return */ @RequestMapping(params = "doAdd") @ResponseBody public AjaxJson doAdd(UserWagestrategyEntity userWagestrategy, HttpServletRequest request) { String message = null; AjaxJson j = new AjaxJson(); message = "员工工资策略添加成功"; try{ userWagestrategyService.save(userWagestrategy); systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO); }catch(Exception e){ e.printStackTrace(); message = "员工工资策略添加失败"; throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } /** * 更新员工工资策略 * * @return */ @RequestMapping(params = "doUpdate") @ResponseBody public AjaxJson doUpdate(UserWagestrategyEntity userWagestrategy, HttpServletRequest request) { String message = null; AjaxJson j = new AjaxJson(); message = "员工工资策略更新成功"; UserWagestrategyEntity t = userWagestrategyService.get(UserWagestrategyEntity.class, userWagestrategy.getId()); try { MyBeanUtils.copyBeanNotNull2Bean(userWagestrategy, t); userWagestrategyService.saveOrUpdate(t); systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO); } catch (Exception e) { e.printStackTrace(); message = "员工工资策略更新失败"; throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } /** * 员工工资策略新增页面跳转 * * @return */ @RequestMapping(params = "goAdd") public ModelAndView goAdd(UserWagestrategyEntity userWagestrategy, HttpServletRequest req) { if (StringUtil.isNotEmpty(userWagestrategy.getId())) { userWagestrategy = userWagestrategyService.getEntity(UserWagestrategyEntity.class, userWagestrategy.getId()); req.setAttribute("userWagestrategyPage", userWagestrategy); } return new ModelAndView("cn/com/lzt/userwagestrategy/userWagestrategy-add"); } /** * 员工工资策略编辑页面跳转 * * @return */ @RequestMapping(params = "goUpdate") public ModelAndView goUpdate(UserWagestrategyEntity userWagestrategy, HttpServletRequest req) { if (StringUtil.isNotEmpty(userWagestrategy.getId())) { userWagestrategy = userWagestrategyService.getEntity(UserWagestrategyEntity.class, userWagestrategy.getId()); req.setAttribute("userWagestrategyPage", userWagestrategy); } return new ModelAndView("cn/com/lzt/userwagestrategy/userWagestrategy-update"); } /** * 导入功能跳转 * * @return */ @RequestMapping(params = "upload") public ModelAndView upload(HttpServletRequest req) { req.setAttribute("controller_name","userWagestrategyController"); return new ModelAndView("common/upload/pub_excel_upload"); } /** * 导出excel * * @param request * @param response */ @RequestMapping(params = "exportXls") public String exportXls(UserWagestrategyDto userWagestrategy,HttpServletRequest request,HttpServletResponse response , DataGrid dataGrid,ModelMap modelMap) { CriteriaQuery cq = new CriteriaQuery(UserWagestrategyEntity.class, dataGrid); /*org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, userWagestrategy, request.getParameterMap()); List userWagestrategys = this.userWagestrategyService.getListByCriteriaQuery(cq,false);*/ String orgIds = request.getParameter("orgIds"); List orgIdList = extractIdListByComma(orgIds); // 获取 当前组织机构的用户信息 if (!CollectionUtils.isEmpty(orgIdList)) { String orgId = orgIdList.get(0); List childIdList = userDepartOrgDealService.getChildIdByProjectDepartId(orgId); userWagestrategy.setOrgIdList(childIdList); } String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString(); VisibleUserDto dto = dataPermissionService.getVisibleUserList();// 获取当前用户可见的userid列表 if(dto != null){ MiniDaoPage list = new MiniDaoPage(); if(dto.getFlag().value().equalsIgnoreCase("ALL")){ list = userWagestrategyService.getExcelPutOut(userWagestrategy, null, dataGrid.getPage(), dataGrid.getRows(),authSql); }else if(dto.getFlag().value().equalsIgnoreCase("NONE")){ // 获取当前登录用户 HttpSession session = ContextHolderUtils.getSession(); TSUser user = (TSUser)session.getAttribute("LOCAL_CLINET_USER"); List uidList = new ArrayList(); uidList.add(user.getId()); list = userWagestrategyService.getExcelPutOut(userWagestrategy, uidList, dataGrid.getPage(), dataGrid.getRows(),authSql); }else if(dto.getFlag().value().equalsIgnoreCase("PART")){ List useridList = dto.getUseridList(); if(useridList != null && useridList.size() > 0){ list = userWagestrategyService.getExcelPutOut(userWagestrategy, useridList, dataGrid.getPage(), dataGrid.getRows(),authSql); } } // MiniDaoPage list = userWagestrategyService.getAllEntities(userWagestrategy, useridList, dataGrid.getPage(), dataGrid.getRows(),authSql); List entityList = list.getResults(); if(!entityList.isEmpty()){ Collections.sort(entityList); for (UserWagestrategyDto userWagestrategyDaoEntity : entityList) { StringBuffer str = new StringBuffer(); StringBuffer str1 = new StringBuffer(); List ucList = systemService.findByProperty(UserCertificateEntity.class, "userid", userWagestrategyDaoEntity.getUserid()); if(!ucList.isEmpty()){ for (int i = 0; i < ucList.size(); i++) { UserCertificateEntity us = ucList.get(i); CertificateSubsidyEntity usList = systemService.get(CertificateSubsidyEntity.class, us.getCertificateid()); if(usList != null){ if(ucList.size() == i){ str.append(usList.getCertificateName()); str1.append(usList.getId()); }else{ str.append(usList.getCertificateName()+","); str1.append(usList.getId()+","); } } } userWagestrategyDaoEntity.setCertificateSubsidyid(str1.toString()); userWagestrategyDaoEntity.setCertificateName(str.toString()); } if(StringUtils.isEmpty(userWagestrategyDaoEntity.getDepartname())){ userWagestrategyDaoEntity.setDepartname(getBybelongId(userWagestrategyDaoEntity.getUserids())); } } } modelMap.put(NormalExcelConstants.FILE_NAME,"员工工资策略"); modelMap.put(NormalExcelConstants.CLASS,UserWagestrategyDto.class); modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("员工工资策略列表", "导出人:"+ResourceUtil.getSessionUser().getRealName(), "导出信息")); modelMap.put(NormalExcelConstants.DATA_LIST,list.getResults()); } return NormalExcelConstants.JEECG_EXCEL_VIEW; } /** * 导出excel 使模板 * * @param request * @param response */ @RequestMapping(params = "exportXlsByT") public String exportXlsByT(UserWagestrategyEntity userWagestrategy,HttpServletRequest request,HttpServletResponse response , DataGrid dataGrid,ModelMap modelMap) { modelMap.put(NormalExcelConstants.FILE_NAME,"员工工资策略"); modelMap.put(NormalExcelConstants.CLASS,UserWagestrategyEntity.class); modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("员工工资策略列表", "导出人:"+ResourceUtil.getSessionUser().getRealName(), "导出信息")); modelMap.put(NormalExcelConstants.DATA_LIST,new ArrayList()); return NormalExcelConstants.JEECG_EXCEL_VIEW; } @SuppressWarnings("unchecked") @RequestMapping(params = "importExcel", method = RequestMethod.POST) @ResponseBody public AjaxJson importExcel(HttpServletRequest request, HttpServletResponse response) { AjaxJson j = new AjaxJson(); MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Map fileMap = multipartRequest.getFileMap(); for (Map.Entry entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// 获取上传文件对象 ImportParams params = new ImportParams(); params.setTitleRows(2); params.setHeadRows(1); params.setNeedSave(true); try { List listUserWagestrategyEntitys = ExcelImportUtil.importExcel(file.getInputStream(),UserWagestrategyEntity.class,params); for (UserWagestrategyEntity userWagestrategy : listUserWagestrategyEntitys) { userWagestrategyService.save(userWagestrategy); } j.setMsg("文件导入成功!"); } catch (Exception e) { j.setMsg("文件导入失败!"); logger.error(ExceptionUtil.getExceptionMessage(e)); }finally{ try { file.getInputStream().close(); } catch (IOException e) { e.printStackTrace(); } } } return j; } @RequestMapping(method = RequestMethod.GET) @ResponseBody public List list() { List listUserWagestrategys=userWagestrategyService.getList(UserWagestrategyEntity.class); return listUserWagestrategys; } @RequestMapping(value = "/{id}", method = RequestMethod.GET) @ResponseBody public ResponseEntity get(@PathVariable("id") String id) { UserWagestrategyEntity task = userWagestrategyService.get(UserWagestrategyEntity.class, id); if (task == null) { return new ResponseEntity(HttpStatus.NOT_FOUND); } return new ResponseEntity(task, HttpStatus.OK); } @RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public ResponseEntity create(@RequestBody UserWagestrategyEntity userWagestrategy, UriComponentsBuilder uriBuilder) { //调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息. Set> failures = validator.validate(userWagestrategy); if (!failures.isEmpty()) { return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST); } //保存 try{ userWagestrategyService.save(userWagestrategy); } catch (Exception e) { e.printStackTrace(); return new ResponseEntity(HttpStatus.NO_CONTENT); } //按照Restful风格约定,创建指向新任务的url, 也可以直接返回id或对象. String id = userWagestrategy.getId(); URI uri = uriBuilder.path("/rest/userWagestrategyController/" + id).build().toUri(); HttpHeaders headers = new HttpHeaders(); headers.setLocation(uri); return new ResponseEntity(headers, HttpStatus.CREATED); } @RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity update(@RequestBody UserWagestrategyEntity userWagestrategy) { //调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息. Set> failures = validator.validate(userWagestrategy); if (!failures.isEmpty()) { return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST); } //保存 try{ userWagestrategyService.saveOrUpdate(userWagestrategy); } catch (Exception e) { e.printStackTrace(); return new ResponseEntity(HttpStatus.NO_CONTENT); } //按Restful约定,返回204状态码, 无内容. 也可以返回200状态码. return new ResponseEntity(HttpStatus.NO_CONTENT); } @RequestMapping(value = "/{id}", method = RequestMethod.DELETE) @ResponseStatus(HttpStatus.NO_CONTENT) public void delete(@PathVariable("id") String id) { userWagestrategyService.deleteEntityById(UserWagestrategyEntity.class, id); } /** * 保存新增/更新的行数据 * @param page * @return * @throws Exception */ @RequestMapping(params = "saveRows") @ResponseBody public AjaxJson saveRows(UserwagestrategyPage page) throws Exception{ List demos=page.getUserWagestrategyDaoList(); AjaxJson j = userWagestrategyService.addOrEdit(demos); return j; } @RequestMapping(params = "noWagelist") public ModelAndView noWagelist(HttpServletRequest request) { // 获取登录用户的组织编码 // String orgCode = ""; // TSUser tSUser=ResourceUtil.getSessionUser(); // String userOrgHql = "from TSUserOrg where tsUser.id=? and status = 0"; // List userOrgList = systemService.findHql(userOrgHql, tSUser.getId()); // for(TSUserOrg userOrg : userOrgList) { // TSDepart departInfo = systemService.getEntity(TSDepart.class, userOrg.getTsDepart().getId()); // if("A_HR".equals(departInfo.getDeptCode())) { // orgCode = "A_HR"; // break; // } // } // request.setAttribute("orgCode", orgCode); // String orgIds = request.getParameter("orgIds"); // request.setAttribute("orgIds", orgIds); // String departname = request.getParameter("departname"); // request.setAttribute("departname", departname); // String realname = request.getParameter("realname"); // request.setAttribute("realname", realname); return new ModelAndView("cn/com/lzt/userwagestrategy/userWagestrategyNoList"); } /** * easyui AJAX请求数据 * * @param request * @param response * @param dataGrid */ @RequestMapping(params = "nowagedatagrid") public void nowagedatagrid(UserWagestrategyDto userWagestrategy,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { String orgIds = request.getParameter("orgIds"); String departname = request.getParameter("departname"); String realname = request.getParameter("realname"); userWagestrategy.setRealname(realname); List orgIdList = extractIdListByComma(orgIds); request.setAttribute("orgIds", orgIds); request.setAttribute("departname", departname); request.setAttribute("realname", realname); MiniDaoPage list = new MiniDaoPage(); // if(orgIds == null || orgIds.length() == 0) { // list.setResults(new ArrayList()); // dataGrid.setResults(list.getResults()); // TagUtil.datagrid(response, dataGrid); // return; // } // 获取 当前组织机构的用户信息 if (!CollectionUtils.isEmpty(orgIdList)) { String orgId = orgIdList.get(0); List childIdList = userDepartOrgDealService.getChildIdByProjectDepartId(orgId); userWagestrategy.setOrgIdList(childIdList); }else{ // 查询当前部门先所有子孙节点,目前已经采用通用算法进行数据过滤,暂时不需要,已注释 /*TSUser tSUser=ResourceUtil.getSessionUser(); StringBuffer hql = new StringBuffer("from TSUserOrg where tsUser.id = :userid and status=0"); List tsList = systemService.getSession().createQuery(hql.toString()).setParameter("userid", tSUser.getId()).list(); if(!tsList.isEmpty()){ for (TSUserOrg tsUserOrg : tsList) { List childIdList = userDepartOrgDealService.getChildIdByProjectDepartId(tsUserOrg.getTsDepart().getId()); if(!childIdList.isEmpty()){ List ch = new ArrayList(); for (String str : childIdList) { if(!str.equals(tsUserOrg.getTsDepart().getId())){ ch.add(str); } } childIdList = ch; } userWagestrategy.setOrgIdList(childIdList); } }*/ } String orgCode = ""; TSUser tSUser=ResourceUtil.getSessionUser(); String userOrgHql = "from TSUserOrg where tsUser.id=? and status = 0"; List userOrgList = systemService.findHql(userOrgHql, tSUser.getId()); for(TSUserOrg userOrg : userOrgList) { TSDepart departInfo = systemService.getEntity(TSDepart.class, userOrg.getTsDepart().getId()); if("A_HR".equals(departInfo.getDeptCode())) { orgCode = "A_HR"; break; } } String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString(); VisibleUserDto dto = dataPermissionService.getVisibleUserList();// 获取当前用户可见的userid列表 if("A_HR".equals(orgCode) || (dto != null && dto.getFlag().value().equalsIgnoreCase("ALL"))) { list = uwDao.getAllNoWageStra(userWagestrategy, null, dataGrid.getPage(), dataGrid.getRows(),authSql); }else { if(StringUtils.isBlank(authSql)){ authSql= " u.id in ( " + " select bu.id as userid from t_bus_user_personnel per \n" + " left join t_s_base_user bu on bu.id = per.userid\n" + " where leave_date is null and not exists (select * from t_bus_user_wagestrategy uwage where uwage.userid = per.userid)\n" + " union all\n" + " select bu.id as userid \n" + " from t_bus_user_wagestrategy uwage \n" + " left join t_s_base_user bu on bu.id = uwage.userid \n" + " left join t_s_user_org uorg on uorg.user_id = bu.id and uorg.ifpluralism = '0' and uorg.status='0'\n" + " left join t_bus_user_personnel per on per.userid = bu.id\n" + " where uwage.belong_unitid <> uorg.org_id and leave_date is null) "; } if(dto != null){ // if(dto.getFlag().value().equalsIgnoreCase("ALL")){ // list = userWagestrategyService.getAllEntities(userWagestrategy, null, dataGrid.getPage(), dataGrid.getRows(),authSql); // }else if(dto.getFlag().value().equalsIgnoreCase("NONE")){ // 获取当前登录用户 HttpSession session = ContextHolderUtils.getSession(); TSUser user = (TSUser)session.getAttribute("LOCAL_CLINET_USER"); List uidList = new ArrayList(); uidList.add(user.getId()); list = userWagestrategyService.getAllEntities(userWagestrategy, uidList, dataGrid.getPage(), dataGrid.getRows(),authSql); }else if(dto.getFlag().value().equalsIgnoreCase("PART")){ List useridList = dto.getUseridList(); if(useridList != null && useridList.size() > 0){ list = userWagestrategyService.getAllEntities(userWagestrategy, useridList, dataGrid.getPage(), dataGrid.getRows(),authSql); } } } } // MiniDaoPage list = userWagestrategyService.getAllEntities(userWagestrategy, useridList, dataGrid.getPage(), dataGrid.getRows(),authSql); List entityList = list.getResults(); if(!entityList.isEmpty()){ for (UserWagestrategyDto userWagestrategyDaoEntity : entityList) { if(userWagestrategyDaoEntity.getId() == null || userWagestrategyDaoEntity.getId().length()==0) { userWagestrategyDaoEntity.setIsset("未配置"); }else { userWagestrategyDaoEntity.setIsset("部门不匹配"); } StringBuffer str = new StringBuffer(); StringBuffer str1 = new StringBuffer(); List ucList = systemService.findByProperty(UserCertificateEntity.class, "userid", userWagestrategyDaoEntity.getUserid()); if(!ucList.isEmpty()){ for (int i = 0; i < ucList.size(); i++) { UserCertificateEntity us = ucList.get(i); if("1".equals(us.getDeleteFlag())) { continue; } CertificateSubsidyEntity usList = systemService.get(CertificateSubsidyEntity.class, us.getCertificateid()); if(usList != null){ if(ucList.size() == i){ str.append(usList.getCertificateName()); str1.append(usList.getId()); }else{ str.append(usList.getCertificateName()+",
"); str1.append(usList.getId()+","); } } } userWagestrategyDaoEntity.setCertificateSubsidyid(str1.toString()); userWagestrategyDaoEntity.setCertificateName(str.toString()); } if(StringUtils.isEmpty(userWagestrategyDaoEntity.getDepartname())){ userWagestrategyDaoEntity.setDepartname(getBybelongId(userWagestrategyDaoEntity.getUserids())); } } } List retList = list.getResults(); Collections.sort(retList, new Comparator() { public int compare(UserWagestrategyDto c1, UserWagestrategyDto c2) { if(c1.getDepartid() != null && c2.getDepartid()!= null) { if(c1.getDepartid().equals(c2.getDepartid())) { if(c1.getDutiesname() != null && c1.getDutiesname().equals(c2.getDutiesname())) { if(c1.getRealname() != null && c2.getRealname()!=null) { if(c1.getRealname().equals(c2.getRealname())) { return 0; }else { return c1.getRealname().compareTo(c2.getRealname()); } } }else if(c1.getDutiesname() != null&&c2.getDutiesname() != null) { if(c1.getDutiesname().equals(c2.getDutiesname())) { return 0; } return c1.getDutiesname().compareTo(c2.getDutiesname()); } }else{ return c1.getDepartid().compareTo(c2.getDepartid()); } }else if(c1.getDepartid() == null) { return -1; }else { return 1; } return 0; } }); dataGrid.setTotal(list.getTotal()); dataGrid.setResults(retList); TagUtil.datagrid(response, dataGrid); } }