package cn.com.lzt.useractiviti.controller; import cn.com.lzt.common.util.DictUtil; import cn.com.lzt.common.util.LztUtil; import cn.com.lzt.common.util.UserUtil; import cn.com.lzt.common.view.JsonDataModelAndView; import cn.com.lzt.duties.entity.DutiesEntity; import cn.com.lzt.leave.service.ModifyServiceI; import cn.com.lzt.personnelbasearchivesmanage.entity.PersonnelBaseArchivesManageEntity; import cn.com.lzt.post.entity.PostEntity; import cn.com.lzt.projectpostdetail.entity.ProjectPostDetailEntity; import cn.com.lzt.useractiviti.sameleveltransfer.entity.TBusActivitiSamelevelTransferEntity; import cn.com.lzt.useractiviti.entity.TBusActivitiUserPersonnelEntity; import cn.com.lzt.useractiviti.entity.TBusUserBlackListEntity; import cn.com.lzt.useractiviti.service.UserActivitiServiceI; import cn.com.lzt.workflow.service.WorkflowServiceI; import com.xcgl.weixin.entity.WXAjaxJson; import org.apache.commons.lang.xwork.StringUtils; import org.apache.log4j.Logger; import org.apache.poi.ss.formula.functions.T; import org.hibernate.criterion.Restrictions; 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.ContextHolderUtils; import org.jeecgframework.core.util.MyBeanUtils; import org.jeecgframework.core.util.ResourceUtil; import org.jeecgframework.core.util.StringUtil; 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.service.SystemService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import javax.validation.Validator; import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @Title: Controller * @Description: 交通补贴 * @author onlineGenerator * @date 2017-10-18 18:02:16 * @version V1.0 * */ @Controller @RequestMapping("/userActivitiController") public class UserActivitiController extends BaseController { /** * Logger for this class */ private static final Logger logger = Logger.getLogger(UserActivitiController.class); @Autowired private UserActivitiServiceI activitiUserService; @Autowired private SystemService systemService; @Autowired private Validator validator; @Autowired private WorkflowServiceI workflowService; @Autowired private ModifyServiceI modifyService; /** * 员工列表 页面跳转 * * @return */ @RequestMapping(params = "list") public ModelAndView list(HttpServletRequest request) { return new ModelAndView("cn/com/lzt/useractiviti/tBusActivitiUserPersonnelList"); } /** * easyui AJAX请求数据 * */ @RequestMapping(params = "datagrid") public void datagrid(TBusActivitiUserPersonnelEntity tBusActivitiUserPersonnel, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { CriteriaQuery cq = new CriteriaQuery(TBusActivitiUserPersonnelEntity.class, dataGrid); //查询条件组装器 // org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, tBusActivitiUserPersonnel, request.getParameterMap()); try{ TSUser user = ResourceUtil.getSessionUser(); cq.add(Restrictions.eq("createBy",user.getUserName())); String realName = tBusActivitiUserPersonnel.getRealName(); if(StringUtil.isNotEmpty(realName)){ cq.eq("realName", realName); } String idCard = tBusActivitiUserPersonnel.getIdcard(); if(StringUtil.isNotEmpty(idCard)){ cq.eq("idcard", idCard); } //自定义追加查询条件 }catch (Exception e) { throw new BusinessException(e.getMessage()); } cq.add(); this.activitiUserService.getDataGridReturn(cq, true); TagUtil.datagrid(response, dataGrid); } /** * 删除员工 * * @return */ @RequestMapping(params = "doDel") @ResponseBody public AjaxJson doDel(TBusActivitiUserPersonnelEntity tBusActivitiUserPersonnel, HttpServletRequest request) { String message = null; AjaxJson j = new AjaxJson(); tBusActivitiUserPersonnel = systemService.getEntity(TBusActivitiUserPersonnelEntity.class, tBusActivitiUserPersonnel.getId()); message = "员工删除成功"; try{ activitiUserService.delete(tBusActivitiUserPersonnel); 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(",")){ TBusActivitiUserPersonnelEntity tBusActivitiUserPersonnel = systemService.getEntity(TBusActivitiUserPersonnelEntity.class, id ); activitiUserService.delete(tBusActivitiUserPersonnel); 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(TBusActivitiUserPersonnelEntity tBusActivitiUserPersonnel, HttpServletRequest request) { if(StringUtils.isNotBlank(tBusActivitiUserPersonnel.getId())){ return doUpdate(tBusActivitiUserPersonnel,request); } String message = null; AjaxJson j = new AjaxJson(); message = "员工添加成功"; try{ String dutiesId = tBusActivitiUserPersonnel.getDuty(); DutiesEntity dutiesEntity = systemService.getEntity(DutiesEntity.class, dutiesId); if(dutiesEntity!=null){ tBusActivitiUserPersonnel.setManagerType(dutiesEntity.getManageType()); } tBusActivitiUserPersonnel.setUserName(tBusActivitiUserPersonnel.getMobilePhone()); activitiUserService.save(tBusActivitiUserPersonnel); 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(TBusActivitiUserPersonnelEntity tBusActivitiUserPersonnel, HttpServletRequest request) { String message = null; AjaxJson j = new AjaxJson(); message = "员工信息更新成功"; TBusActivitiUserPersonnelEntity t = activitiUserService.get(TBusActivitiUserPersonnelEntity.class, tBusActivitiUserPersonnel.getId()); try { MyBeanUtils.copyBeanNotNull2Bean(tBusActivitiUserPersonnel, t); String dutiesId = tBusActivitiUserPersonnel.getDuty(); DutiesEntity dutiesEntity = systemService.getEntity(DutiesEntity.class, dutiesId); if(dutiesEntity!=null){ t.setManagerType(dutiesEntity.getManageType()); } t.setUserName(tBusActivitiUserPersonnel.getMobilePhone()); activitiUserService.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(TBusActivitiUserPersonnelEntity tBusActivitiUserPersonnel, HttpServletRequest req) { if (StringUtil.isNotEmpty(tBusActivitiUserPersonnel.getId())) { tBusActivitiUserPersonnel = activitiUserService.getEntity(TBusActivitiUserPersonnelEntity.class, tBusActivitiUserPersonnel.getId()); req.setAttribute("tBusActivitiUserPersonnelPage", tBusActivitiUserPersonnel); } boolean projectUser = UserUtil.isProjectUser(ResourceUtil.getSessionUser().getId()); if(projectUser) { req.setAttribute("dutyCodeFilter","&codeFilter=A03;A04;A11"); }else { req.setAttribute("dutyCodeFilter",""); } req.setAttribute("projectUser",projectUser); return new ModelAndView("cn/com/lzt/useractiviti/tBusActivitiUserPersonnel-add"); } /** * 员工信息编辑页面跳转 * * @return */ @RequestMapping(params = "goUpdate") public ModelAndView goUpdate(TBusActivitiUserPersonnelEntity tBusActivitiUserPersonnel, HttpServletRequest req) { if (StringUtil.isNotEmpty(tBusActivitiUserPersonnel.getId())) { tBusActivitiUserPersonnel = activitiUserService.getEntity(TBusActivitiUserPersonnelEntity.class, tBusActivitiUserPersonnel.getId()); req.setAttribute("obj", tBusActivitiUserPersonnel); DutiesEntity duty = systemService.getEntity(DutiesEntity.class,tBusActivitiUserPersonnel.getDuty()); List projectPostList = systemService.findHql( "from ProjectPostDetailEntity where postid=? and pid=? " ,duty.getPost(),UserUtil.getQueryDepIdByDepId(tBusActivitiUserPersonnel.getDepartId())); Integer needNum =0; if(projectPostList!=null){ for(ProjectPostDetailEntity postDetailEntity:projectPostList){ Integer projectNeedNum = postDetailEntity.getNeedNumber(); if(needNum!=null){ needNum+=projectNeedNum; } } } req.setAttribute("needNum",needNum); } boolean projectUser = UserUtil.isProjectUser(ResourceUtil.getSessionUser().getId()); if(projectUser) { req.setAttribute("dutyCodeFilter","&codeFilter=A03;A04;A11"); }else { req.setAttribute("dutyCodeFilter",""); } req.setAttribute("projectUser",projectUser); return new ModelAndView("cn/com/lzt/useractiviti/tBusActivitiUserPersonnel-add"); } @RequestMapping(params = "goView") public ModelAndView goView(TBusActivitiUserPersonnelEntity tBusActivitiUserPersonnel, HttpServletRequest request) { String taskId = request.getParameter("taskId"); if(StringUtils.isBlank(taskId)){ return new ModelAndView("redirect:/userActivitiController.do?goUpdate&load=detail&id="+tBusActivitiUserPersonnel.getId()); } if(org.apache.commons.lang.xwork.StringUtils.isNotEmpty(request.getParameter("flag"))){ //驳回重填表单 request.setAttribute("url", "userActivitiController.do?goUpdate&load=detail&id="+workflowService.getBpmDataId(taskId)); }else { request.setAttribute("url", "userActivitiController.do?goUpdate&load=detail&audit=1&id="+workflowService.getBpmDataId(taskId)); } Map taskDetails = workflowService.getTaskDetails(taskId); request.setAttribute("busititle", "员工入职审批"); request.setAttribute("id", workflowService.getBpmDataId(taskId)); request.setAttribute("bpmLogList", taskDetails.get("bpmLogList")); request.setAttribute("taskId", taskDetails.get("taskId")); request.setAttribute("taskName", taskDetails.get("taskName")); request.setAttribute("task", taskDetails.get("task")); request.setAttribute("transitionList", taskDetails.get("transitionList")); request.setAttribute("nextCodeCount", taskDetails.get("nextCodeCount")); request.setAttribute("bpmLogListCount", taskDetails.get("bpmLogListCount")); request.setAttribute("bpmLogNewList", taskDetails.get("bpmLogNewList")); request.setAttribute("bpmLogNewListCount", taskDetails.get("bpmLogNewListCount")); request.setAttribute("histListNode", taskDetails.get("histListNode")); request.setAttribute("histListSize", taskDetails.get("histListSize")); request.setAttribute("turnbackTaskId", taskDetails.get("turnbackTaskId")); request.setAttribute("height", "1000px"); return new ModelAndView("cn/com/lzt/workflow/task-option"); } @RequestMapping(params = "goViewMobile") public ModelAndView goViewMobile(TBusActivitiUserPersonnelEntity tBusActivitiUserPersonnel, HttpServletRequest request) { goUpdate(tBusActivitiUserPersonnel,request); tBusActivitiUserPersonnel = (TBusActivitiUserPersonnelEntity) request.getAttribute("obj"); Map dicMap = new HashMap<>(); dicMap.put("userType",DictUtil.formatToTypeName(tBusActivitiUserPersonnel.getUserType(),"userType")); dicMap.put("gender",DictUtil.formatToTypeName(tBusActivitiUserPersonnel.getGender(),"sex")); dicMap.put("nation",DictUtil.formatToTypeName(tBusActivitiUserPersonnel.getNation(),"nation")); dicMap.put("education",DictUtil.formatToTypeName(tBusActivitiUserPersonnel.getEducation(),"education")); dicMap.put("hktype",DictUtil.formatToTypeName(tBusActivitiUserPersonnel.getHktype(),"hktype")); dicMap.put("trialPeriod",DictUtil.formatToTypeName(String.valueOf(tBusActivitiUserPersonnel.getTrialPeriod()),"shiyongqi")); dicMap.put("jiaojin",DictUtil.formatToTypeName(tBusActivitiUserPersonnel.getJiaojin(),"jiaojin")); request.setAttribute("dicMap",dicMap); Map data = LztUtil.copyReqAttributes(new String[]{ "needNum","dutyCodeFilter","projectUser"}); data.put("entity",tBusActivitiUserPersonnel); data.put("dicMap",dicMap); return new JsonDataModelAndView(WXAjaxJson.success(data)); // return new ModelAndView("cn/com/lzt/useractiviti/user_add_view_mobile"); } @RequestMapping(params = "checkIdcard") @ResponseBody public Object checkIdcard(@RequestParam("idcard") String idcard) { AjaxJson json =new AjaxJson(); String msg=null ; String sql = "select count(1) c from t_bus_userblacklist where idcard =? "; Map map = systemService.findOneForJdbc(sql,idcard); Long c = (Long) map.get("c"); if(c>0){//在黑名单 json.setSuccess(false); msg="此人在黑名单中不允许入职。"; }else {//不在黑名单 TSUser user = systemService.findUniqueByProperty(TSUser.class, "idcard", idcard); if(user!=null){//已经入职过 ,判断是否离职 String userid = user.getId(); PersonnelBaseArchivesManageEntity per = systemService.findUniqueByProperty(PersonnelBaseArchivesManageEntity.class, "userid", userid); if(per != null){ if(per.getLeaveDate()==null){//没离职 json.setSuccess(false); msg="此身份证人员是在职状态,请不要重复入职。"; } } } } json.setMsg(msg); return json; } @RequestMapping(params = "userblackList") public ModelAndView userblackList(HttpServletRequest request) { return new ModelAndView("cn/com/lzt/useractiviti/userblackList"); } @RequestMapping(params = "blackdatagrid") public void blackdatagrid(TBusUserBlackListEntity userblack, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { CriteriaQuery cq = new CriteriaQuery(TBusUserBlackListEntity.class, dataGrid); //查询条件组装器 // org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, tBusActivitiUserPersonnel, request.getParameterMap()); try{ // TSUser user = ResourceUtil.getSessionUser(); // cq.add(Restrictions.eq("createBy",user.getUserName())); // String realName = tBusActivitiUserPersonnel.getRealName(); // if(StringUtil.isNotEmpty(realName)){ // cq.eq("realName", realName); // } String idCard = userblack.getIdcard(); if(StringUtil.isNotEmpty(idCard)){ cq.like("idcard", "%"+idCard+"%"); } //自定义追加查询条件 }catch (Exception e) { throw new BusinessException(e.getMessage()); } cq.eq("deleteFlag", "0"); cq.add(); this.activitiUserService.getDataGridReturn(cq, true); TagUtil.datagrid(response, dataGrid); } @RequestMapping(params = "isProjectUser") @ResponseBody public boolean isProjectUser(){ boolean projectUser = UserUtil.isProjectUser(ResourceUtil.getSessionUser().getId()); return projectUser; } @RequestMapping(params = "dutyType") @ResponseBody public int dutyType(@RequestParam("userid") String userid){ int dutyType = UserUtil.isYXYGByUserid(userid)? 1 : 0; return dutyType; } }