UserActivitiController.java 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419
  1. package cn.com.lzt.useractiviti.controller;
  2. import cn.com.lzt.common.util.DictUtil;
  3. import cn.com.lzt.common.util.LztUtil;
  4. import cn.com.lzt.common.util.UserUtil;
  5. import cn.com.lzt.common.view.JsonDataModelAndView;
  6. import cn.com.lzt.duties.entity.DutiesEntity;
  7. import cn.com.lzt.leave.service.ModifyServiceI;
  8. import cn.com.lzt.personnelbasearchivesmanage.entity.PersonnelBaseArchivesManageEntity;
  9. import cn.com.lzt.post.entity.PostEntity;
  10. import cn.com.lzt.projectpostdetail.entity.ProjectPostDetailEntity;
  11. import cn.com.lzt.useractiviti.sameleveltransfer.entity.TBusActivitiSamelevelTransferEntity;
  12. import cn.com.lzt.useractiviti.entity.TBusActivitiUserPersonnelEntity;
  13. import cn.com.lzt.useractiviti.entity.TBusUserBlackListEntity;
  14. import cn.com.lzt.useractiviti.service.UserActivitiServiceI;
  15. import cn.com.lzt.workflow.service.WorkflowServiceI;
  16. import com.xcgl.weixin.entity.WXAjaxJson;
  17. import org.apache.commons.lang.xwork.StringUtils;
  18. import org.apache.log4j.Logger;
  19. import org.apache.poi.ss.formula.functions.T;
  20. import org.hibernate.criterion.Restrictions;
  21. import org.jeecgframework.core.common.controller.BaseController;
  22. import org.jeecgframework.core.common.exception.BusinessException;
  23. import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery;
  24. import org.jeecgframework.core.common.model.json.AjaxJson;
  25. import org.jeecgframework.core.common.model.json.DataGrid;
  26. import org.jeecgframework.core.constant.Globals;
  27. import org.jeecgframework.core.util.ContextHolderUtils;
  28. import org.jeecgframework.core.util.MyBeanUtils;
  29. import org.jeecgframework.core.util.ResourceUtil;
  30. import org.jeecgframework.core.util.StringUtil;
  31. import org.jeecgframework.tag.core.easyui.TagUtil;
  32. import org.jeecgframework.web.system.pojo.base.TSDepart;
  33. import org.jeecgframework.web.system.pojo.base.TSUser;
  34. import org.jeecgframework.web.system.service.SystemService;
  35. import org.springframework.beans.factory.annotation.Autowired;
  36. import org.springframework.stereotype.Controller;
  37. import org.springframework.web.bind.annotation.*;
  38. import org.springframework.web.servlet.ModelAndView;
  39. import javax.servlet.http.HttpServletRequest;
  40. import javax.servlet.http.HttpServletResponse;
  41. import javax.servlet.http.HttpSession;
  42. import javax.validation.Validator;
  43. import java.text.ParsePosition;
  44. import java.text.SimpleDateFormat;
  45. import java.util.Date;
  46. import java.util.HashMap;
  47. import java.util.List;
  48. import java.util.Map;
  49. /**
  50. * @Title: Controller
  51. * @Description: 交通补贴
  52. * @author onlineGenerator
  53. * @date 2017-10-18 18:02:16
  54. * @version V1.0
  55. *
  56. */
  57. @Controller
  58. @RequestMapping("/userActivitiController")
  59. public class UserActivitiController extends BaseController {
  60. /**
  61. * Logger for this class
  62. */
  63. private static final Logger logger = Logger.getLogger(UserActivitiController.class);
  64. @Autowired
  65. private UserActivitiServiceI activitiUserService;
  66. @Autowired
  67. private SystemService systemService;
  68. @Autowired
  69. private Validator validator;
  70. @Autowired
  71. private WorkflowServiceI workflowService;
  72. @Autowired
  73. private ModifyServiceI modifyService;
  74. /**
  75. * 员工列表 页面跳转
  76. *
  77. * @return
  78. */
  79. @RequestMapping(params = "list")
  80. public ModelAndView list(HttpServletRequest request) {
  81. return new ModelAndView("cn/com/lzt/useractiviti/tBusActivitiUserPersonnelList");
  82. }
  83. /**
  84. * easyui AJAX请求数据
  85. *
  86. */
  87. @RequestMapping(params = "datagrid")
  88. public void datagrid(TBusActivitiUserPersonnelEntity tBusActivitiUserPersonnel, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  89. CriteriaQuery cq = new CriteriaQuery(TBusActivitiUserPersonnelEntity.class, dataGrid);
  90. //查询条件组装器
  91. // org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, tBusActivitiUserPersonnel, request.getParameterMap());
  92. try{
  93. TSUser user = ResourceUtil.getSessionUser();
  94. cq.add(Restrictions.eq("createBy",user.getUserName()));
  95. String realName = tBusActivitiUserPersonnel.getRealName();
  96. if(StringUtil.isNotEmpty(realName)){
  97. cq.eq("realName", realName);
  98. }
  99. String idCard = tBusActivitiUserPersonnel.getIdcard();
  100. if(StringUtil.isNotEmpty(idCard)){
  101. cq.eq("idcard", idCard);
  102. }
  103. //自定义追加查询条件
  104. }catch (Exception e) {
  105. throw new BusinessException(e.getMessage());
  106. }
  107. cq.add();
  108. this.activitiUserService.getDataGridReturn(cq, true);
  109. TagUtil.datagrid(response, dataGrid);
  110. }
  111. /**
  112. * 删除员工
  113. *
  114. * @return
  115. */
  116. @RequestMapping(params = "doDel")
  117. @ResponseBody
  118. public AjaxJson doDel(TBusActivitiUserPersonnelEntity tBusActivitiUserPersonnel, HttpServletRequest request) {
  119. String message = null;
  120. AjaxJson j = new AjaxJson();
  121. tBusActivitiUserPersonnel = systemService.getEntity(TBusActivitiUserPersonnelEntity.class, tBusActivitiUserPersonnel.getId());
  122. message = "员工删除成功";
  123. try{
  124. activitiUserService.delete(tBusActivitiUserPersonnel);
  125. systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
  126. }catch(Exception e){
  127. e.printStackTrace();
  128. message = "员工删除失败";
  129. throw new BusinessException(e.getMessage());
  130. }
  131. j.setMsg(message);
  132. return j;
  133. }
  134. /**
  135. * 批量删除员工
  136. *
  137. * @return
  138. */
  139. @RequestMapping(params = "doBatchDel")
  140. @ResponseBody
  141. public AjaxJson doBatchDel(String ids,HttpServletRequest request){
  142. String message = null;
  143. AjaxJson j = new AjaxJson();
  144. message = "员工删除成功";
  145. try{
  146. for(String id:ids.split(",")){
  147. TBusActivitiUserPersonnelEntity tBusActivitiUserPersonnel = systemService.getEntity(TBusActivitiUserPersonnelEntity.class,
  148. id
  149. );
  150. activitiUserService.delete(tBusActivitiUserPersonnel);
  151. systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
  152. }
  153. }catch(Exception e){
  154. e.printStackTrace();
  155. message = "员工删除失败";
  156. throw new BusinessException(e.getMessage());
  157. }
  158. j.setMsg(message);
  159. return j;
  160. }
  161. /**
  162. * 添加员工
  163. *
  164. * @return
  165. */
  166. @RequestMapping(params = "doAdd")
  167. @ResponseBody
  168. public AjaxJson doAdd(TBusActivitiUserPersonnelEntity tBusActivitiUserPersonnel, HttpServletRequest request) {
  169. if(StringUtils.isNotBlank(tBusActivitiUserPersonnel.getId())){
  170. return doUpdate(tBusActivitiUserPersonnel,request);
  171. }
  172. String message = null;
  173. AjaxJson j = new AjaxJson();
  174. message = "员工添加成功";
  175. try{
  176. String dutiesId = tBusActivitiUserPersonnel.getDuty();
  177. DutiesEntity dutiesEntity = systemService.getEntity(DutiesEntity.class, dutiesId);
  178. if(dutiesEntity!=null){
  179. tBusActivitiUserPersonnel.setManagerType(dutiesEntity.getManageType());
  180. }
  181. tBusActivitiUserPersonnel.setUserName(tBusActivitiUserPersonnel.getMobilePhone());
  182. activitiUserService.save(tBusActivitiUserPersonnel);
  183. systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
  184. }catch(Exception e){
  185. e.printStackTrace();
  186. message = "员工添加失败";
  187. throw new BusinessException(e.getMessage());
  188. }
  189. j.setMsg(message);
  190. return j;
  191. }
  192. /**
  193. * 更新员工
  194. *
  195. * @return
  196. */
  197. @RequestMapping(params = "doUpdate")
  198. @ResponseBody
  199. public AjaxJson doUpdate(TBusActivitiUserPersonnelEntity tBusActivitiUserPersonnel, HttpServletRequest request) {
  200. String message = null;
  201. AjaxJson j = new AjaxJson();
  202. message = "员工信息更新成功";
  203. TBusActivitiUserPersonnelEntity t = activitiUserService.get(TBusActivitiUserPersonnelEntity.class, tBusActivitiUserPersonnel.getId());
  204. try {
  205. MyBeanUtils.copyBeanNotNull2Bean(tBusActivitiUserPersonnel, t);
  206. String dutiesId = tBusActivitiUserPersonnel.getDuty();
  207. DutiesEntity dutiesEntity = systemService.getEntity(DutiesEntity.class, dutiesId);
  208. if(dutiesEntity!=null){
  209. t.setManagerType(dutiesEntity.getManageType());
  210. }
  211. t.setUserName(tBusActivitiUserPersonnel.getMobilePhone());
  212. activitiUserService.saveOrUpdate(t);
  213. systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
  214. } catch (Exception e) {
  215. e.printStackTrace();
  216. message = "员工信息更新失败";
  217. throw new BusinessException(e.getMessage());
  218. }
  219. j.setMsg(message);
  220. return j;
  221. }
  222. /**
  223. * 员工信息新增页面跳转
  224. *
  225. * @return
  226. */
  227. @RequestMapping(params = "goAdd")
  228. public ModelAndView goAdd(TBusActivitiUserPersonnelEntity tBusActivitiUserPersonnel, HttpServletRequest req) {
  229. if (StringUtil.isNotEmpty(tBusActivitiUserPersonnel.getId())) {
  230. tBusActivitiUserPersonnel = activitiUserService.getEntity(TBusActivitiUserPersonnelEntity.class, tBusActivitiUserPersonnel.getId());
  231. req.setAttribute("tBusActivitiUserPersonnelPage", tBusActivitiUserPersonnel);
  232. }
  233. boolean projectUser = UserUtil.isProjectUser(ResourceUtil.getSessionUser().getId());
  234. if(projectUser) {
  235. req.setAttribute("dutyCodeFilter","&codeFilter=A03;A04;A11");
  236. }else {
  237. req.setAttribute("dutyCodeFilter","");
  238. }
  239. req.setAttribute("projectUser",projectUser);
  240. return new ModelAndView("cn/com/lzt/useractiviti/tBusActivitiUserPersonnel-add");
  241. }
  242. /**
  243. * 员工信息编辑页面跳转
  244. *
  245. * @return
  246. */
  247. @RequestMapping(params = "goUpdate")
  248. public ModelAndView goUpdate(TBusActivitiUserPersonnelEntity tBusActivitiUserPersonnel, HttpServletRequest req) {
  249. if (StringUtil.isNotEmpty(tBusActivitiUserPersonnel.getId())) {
  250. tBusActivitiUserPersonnel = activitiUserService.getEntity(TBusActivitiUserPersonnelEntity.class, tBusActivitiUserPersonnel.getId());
  251. req.setAttribute("obj", tBusActivitiUserPersonnel);
  252. DutiesEntity duty = systemService.getEntity(DutiesEntity.class,tBusActivitiUserPersonnel.getDuty());
  253. List<ProjectPostDetailEntity> projectPostList = systemService.findHql(
  254. "from ProjectPostDetailEntity where postid=? and pid=? "
  255. ,duty.getPost(),UserUtil.getQueryDepIdByDepId(tBusActivitiUserPersonnel.getDepartId()));
  256. Integer needNum =0;
  257. if(projectPostList!=null){
  258. for(ProjectPostDetailEntity postDetailEntity:projectPostList){
  259. Integer projectNeedNum = postDetailEntity.getNeedNumber();
  260. if(needNum!=null){
  261. needNum+=projectNeedNum;
  262. }
  263. }
  264. }
  265. req.setAttribute("needNum",needNum);
  266. }
  267. boolean projectUser = UserUtil.isProjectUser(ResourceUtil.getSessionUser().getId());
  268. if(projectUser) {
  269. req.setAttribute("dutyCodeFilter","&codeFilter=A03;A04;A11");
  270. }else {
  271. req.setAttribute("dutyCodeFilter","");
  272. }
  273. req.setAttribute("projectUser",projectUser);
  274. return new ModelAndView("cn/com/lzt/useractiviti/tBusActivitiUserPersonnel-add");
  275. }
  276. @RequestMapping(params = "goView")
  277. public ModelAndView goView(TBusActivitiUserPersonnelEntity tBusActivitiUserPersonnel, HttpServletRequest request) {
  278. String taskId = request.getParameter("taskId");
  279. if(StringUtils.isBlank(taskId)){
  280. return new ModelAndView("redirect:/userActivitiController.do?goUpdate&load=detail&id="+tBusActivitiUserPersonnel.getId());
  281. }
  282. if(org.apache.commons.lang.xwork.StringUtils.isNotEmpty(request.getParameter("flag"))){
  283. //驳回重填表单
  284. request.setAttribute("url", "userActivitiController.do?goUpdate&load=detail&id="+workflowService.getBpmDataId(taskId));
  285. }else {
  286. request.setAttribute("url", "userActivitiController.do?goUpdate&load=detail&audit=1&id="+workflowService.getBpmDataId(taskId));
  287. }
  288. Map<String, Object> taskDetails = workflowService.getTaskDetails(taskId);
  289. request.setAttribute("busititle", "员工入职审批");
  290. request.setAttribute("id", workflowService.getBpmDataId(taskId));
  291. request.setAttribute("bpmLogList", taskDetails.get("bpmLogList"));
  292. request.setAttribute("taskId", taskDetails.get("taskId"));
  293. request.setAttribute("taskName", taskDetails.get("taskName"));
  294. request.setAttribute("task", taskDetails.get("task"));
  295. request.setAttribute("transitionList", taskDetails.get("transitionList"));
  296. request.setAttribute("nextCodeCount", taskDetails.get("nextCodeCount"));
  297. request.setAttribute("bpmLogListCount", taskDetails.get("bpmLogListCount"));
  298. request.setAttribute("bpmLogNewList", taskDetails.get("bpmLogNewList"));
  299. request.setAttribute("bpmLogNewListCount", taskDetails.get("bpmLogNewListCount"));
  300. request.setAttribute("histListNode", taskDetails.get("histListNode"));
  301. request.setAttribute("histListSize", taskDetails.get("histListSize"));
  302. request.setAttribute("turnbackTaskId", taskDetails.get("turnbackTaskId"));
  303. request.setAttribute("height", "1000px");
  304. return new ModelAndView("cn/com/lzt/workflow/task-option");
  305. }
  306. @RequestMapping(params = "goViewMobile")
  307. public ModelAndView goViewMobile(TBusActivitiUserPersonnelEntity tBusActivitiUserPersonnel, HttpServletRequest request) {
  308. goUpdate(tBusActivitiUserPersonnel,request);
  309. tBusActivitiUserPersonnel = (TBusActivitiUserPersonnelEntity) request.getAttribute("obj");
  310. Map<String,String> dicMap = new HashMap<>();
  311. dicMap.put("userType",DictUtil.formatToTypeName(tBusActivitiUserPersonnel.getUserType(),"userType"));
  312. dicMap.put("gender",DictUtil.formatToTypeName(tBusActivitiUserPersonnel.getGender(),"sex"));
  313. dicMap.put("nation",DictUtil.formatToTypeName(tBusActivitiUserPersonnel.getNation(),"nation"));
  314. dicMap.put("education",DictUtil.formatToTypeName(tBusActivitiUserPersonnel.getEducation(),"education"));
  315. dicMap.put("hktype",DictUtil.formatToTypeName(tBusActivitiUserPersonnel.getHktype(),"hktype"));
  316. dicMap.put("trialPeriod",DictUtil.formatToTypeName(String.valueOf(tBusActivitiUserPersonnel.getTrialPeriod()),"shiyongqi"));
  317. dicMap.put("jiaojin",DictUtil.formatToTypeName(tBusActivitiUserPersonnel.getJiaojin(),"jiaojin"));
  318. request.setAttribute("dicMap",dicMap);
  319. Map<String, Object> data = LztUtil.copyReqAttributes(new String[]{
  320. "needNum","dutyCodeFilter","projectUser"});
  321. data.put("entity",tBusActivitiUserPersonnel);
  322. data.put("dicMap",dicMap);
  323. return new JsonDataModelAndView(WXAjaxJson.success(data));
  324. // return new ModelAndView("cn/com/lzt/useractiviti/user_add_view_mobile");
  325. }
  326. @RequestMapping(params = "checkIdcard")
  327. @ResponseBody
  328. public Object checkIdcard(@RequestParam("idcard") String idcard) {
  329. AjaxJson json =new AjaxJson();
  330. String msg=null ;
  331. String sql = "select count(1) c from t_bus_userblacklist where idcard =? ";
  332. Map<String,Object> map = systemService.findOneForJdbc(sql,idcard);
  333. Long c = (Long) map.get("c");
  334. if(c>0){//在黑名单
  335. json.setSuccess(false);
  336. msg="此人在黑名单中不允许入职。";
  337. }else {//不在黑名单
  338. TSUser user = systemService.findUniqueByProperty(TSUser.class, "idcard", idcard);
  339. if(user!=null){//已经入职过 ,判断是否离职
  340. String userid = user.getId();
  341. PersonnelBaseArchivesManageEntity per = systemService.findUniqueByProperty(PersonnelBaseArchivesManageEntity.class, "userid", userid);
  342. if(per != null){
  343. if(per.getLeaveDate()==null){//没离职
  344. json.setSuccess(false);
  345. msg="此身份证人员是在职状态,请不要重复入职。";
  346. }
  347. }
  348. }
  349. }
  350. json.setMsg(msg);
  351. return json;
  352. }
  353. @RequestMapping(params = "userblackList")
  354. public ModelAndView userblackList(HttpServletRequest request) {
  355. return new ModelAndView("cn/com/lzt/useractiviti/userblackList");
  356. }
  357. @RequestMapping(params = "blackdatagrid")
  358. public void blackdatagrid(TBusUserBlackListEntity userblack, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  359. CriteriaQuery cq = new CriteriaQuery(TBusUserBlackListEntity.class, dataGrid);
  360. //查询条件组装器
  361. // org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, tBusActivitiUserPersonnel, request.getParameterMap());
  362. try{
  363. // TSUser user = ResourceUtil.getSessionUser();
  364. // cq.add(Restrictions.eq("createBy",user.getUserName()));
  365. // String realName = tBusActivitiUserPersonnel.getRealName();
  366. // if(StringUtil.isNotEmpty(realName)){
  367. // cq.eq("realName", realName);
  368. // }
  369. String idCard = userblack.getIdcard();
  370. if(StringUtil.isNotEmpty(idCard)){
  371. cq.like("idcard", "%"+idCard+"%");
  372. }
  373. //自定义追加查询条件
  374. }catch (Exception e) {
  375. throw new BusinessException(e.getMessage());
  376. }
  377. cq.eq("deleteFlag", "0");
  378. cq.add();
  379. this.activitiUserService.getDataGridReturn(cq, true);
  380. TagUtil.datagrid(response, dataGrid);
  381. }
  382. @RequestMapping(params = "isProjectUser")
  383. @ResponseBody
  384. public boolean isProjectUser(){
  385. boolean projectUser = UserUtil.isProjectUser(ResourceUtil.getSessionUser().getId());
  386. return projectUser;
  387. }
  388. @RequestMapping(params = "dutyType")
  389. @ResponseBody
  390. public int dutyType(@RequestParam("userid") String userid){
  391. int dutyType = UserUtil.isYXYGByUserid(userid)? 1 : 0;
  392. return dutyType;
  393. }
  394. }