DialogDealController.java 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570
  1. package cn.com.lzt.dialogDeal.controller;
  2. import java.util.ArrayList;
  3. import java.util.Collections;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7. import java.util.Map.Entry;
  8. import javax.servlet.http.HttpServletRequest;
  9. import javax.servlet.http.HttpServletResponse;
  10. import javax.validation.Validator;
  11. import com.daju.mix.dto.ElementDto;
  12. import org.apache.commons.lang.StringUtils;
  13. import org.apache.log4j.Logger;
  14. import org.jeecgframework.core.common.controller.BaseController;
  15. import org.jeecgframework.core.common.exception.BusinessException;
  16. import org.jeecgframework.core.common.model.json.AjaxJson;
  17. import org.jeecgframework.core.common.model.json.DataGrid;
  18. import org.jeecgframework.core.util.JeecgDataAutorUtils;
  19. import org.jeecgframework.core.util.oConvertUtils;
  20. import org.jeecgframework.minidao.pojo.MiniDaoPage;
  21. import org.jeecgframework.tag.core.easyui.TagUtil;
  22. import org.jeecgframework.web.system.pojo.base.DictEntity;
  23. import org.jeecgframework.web.system.pojo.base.TSDepart;
  24. import org.jeecgframework.web.system.service.SystemService;
  25. import org.springframework.beans.factory.annotation.Autowired;
  26. import org.springframework.stereotype.Controller;
  27. import org.springframework.web.bind.annotation.RequestMapping;
  28. import org.springframework.web.bind.annotation.ResponseBody;
  29. import org.springframework.web.servlet.ModelAndView;
  30. import cn.com.lzt.arrangeduty.dto.ProjectDepartDto;
  31. import cn.com.lzt.arrangedutyoperate.dto.UserAndUserPersonnelDto;
  32. import cn.com.lzt.arrangedutyoperate.service.ArrangeDutyOperateServiceI;
  33. import cn.com.lzt.dialogDeal.service.DialogDealServiceI;
  34. import cn.com.lzt.dialogDeal.service.UserDepartOrgDealServiceI;
  35. /**
  36. * @Title: Controller
  37. * @Description: 所有弹窗页面
  38. * @author onlineGenerator
  39. * @date 2017-10-11 12:58:25
  40. * @version V1.0
  41. *
  42. */
  43. @Controller
  44. @RequestMapping("/dialogDealController")
  45. public class DialogDealController extends BaseController {
  46. /**
  47. * Logger for this class
  48. */
  49. private static final Logger logger = Logger.getLogger(DialogDealController.class);
  50. @Autowired
  51. private SystemService systemService;
  52. @Autowired
  53. private Validator validator;
  54. @Autowired
  55. DialogDealServiceI dialogDealServiceI;
  56. // 用户和项目关系处理
  57. @Autowired
  58. UserDepartOrgDealServiceI userDepartOrgDealServiceI;
  59. /**
  60. * 月度排班
  61. */
  62. @Autowired
  63. ArrangeDutyOperateServiceI arrangeDutyOperateService;
  64. /**
  65. * All
  66. * 所有项目选择弹窗页面跳转路径
  67. * 列表页弹窗
  68. * @author zbw
  69. * 2017-10-31
  70. * @param request
  71. * @return
  72. */
  73. @RequestMapping(params = "projectDepartTableAll")
  74. public ModelAndView projectDepartTableAll(HttpServletRequest request) {
  75. //return new ModelAndView("cn/com/lzt/arrangeduty/dutyMealTable");
  76. ModelAndView mv = new ModelAndView("cn/com/lzt/dialogDeal/projectDepartTableAll");
  77. String ids = oConvertUtils.getString(request.getParameter("ids"));
  78. mv.addObject("ids", ids);
  79. return mv;
  80. }
  81. /**
  82. * All
  83. * 项目选择弹窗列表数据
  84. * @author zbw
  85. * 2017-11-15
  86. * @param projectDepartDto
  87. * @param request
  88. * @param response
  89. * @param dataGrid
  90. */
  91. @RequestMapping(params = "projectDepartDatagridAll")
  92. public void projectDepartDatagridAll(ProjectDepartDto projectDepartDto, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  93. // TSUser tSUser=ResourceUtil.getSessionUser();
  94. List<ProjectDepartDto> projectDepartDtoList=dialogDealServiceI.getProjectDepartAll(projectDepartDto);
  95. dataGrid.setResults(projectDepartDtoList);
  96. TagUtil.datagrid(response, dataGrid);
  97. }
  98. /**
  99. * AllCheckbox
  100. * 所有项目选择弹窗页面跳转路径
  101. * 列表页弹窗
  102. * @author zbw
  103. * 2017-10-31
  104. * @param request
  105. * @return
  106. */
  107. @RequestMapping(params = "projectDepartTableAllCheckbox")
  108. public ModelAndView projectDepartTableAllCheckbox(HttpServletRequest request) {
  109. //return new ModelAndView("cn/com/lzt/arrangeduty/dutyMealTable");
  110. ModelAndView mv = new ModelAndView("cn/com/lzt/dialogDeal/projectDepartTableAllCheckbox");
  111. String ids = oConvertUtils.getString(request.getParameter("ids"));
  112. mv.addObject("ids", ids);
  113. return mv;
  114. }
  115. /**
  116. * AllCheckbox
  117. * 项目选择弹窗列表数据
  118. * @author zbw
  119. * 2017-11-15
  120. * @param projectDepartDto
  121. * @param request
  122. * @param response
  123. * @param dataGrid
  124. */
  125. @RequestMapping(params = "projectDepartDatagridAllCheckbox")
  126. public void projectDepartDatagridAllCheckbox(ProjectDepartDto projectDepartDto, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  127. // TSUser tSUser=ResourceUtil.getSessionUser();
  128. List<ProjectDepartDto> projectDepartDtoList=dialogDealServiceI.getProjectDepartAll(projectDepartDto);
  129. dataGrid.setResults(projectDepartDtoList);
  130. TagUtil.datagrid(response, dataGrid);
  131. }
  132. /**
  133. * AllCheckbox
  134. * 所有场所选择弹窗页面跳转路径
  135. * 列表页弹窗
  136. * @author zbw
  137. * 2017-10-31
  138. * @param request
  139. * @return
  140. */
  141. @RequestMapping(params = "archivesPlaceAllCheckbox")
  142. public ModelAndView archivesPlaceAllCheckbox(HttpServletRequest request) {
  143. //return new ModelAndView("cn/com/lzt/arrangeduty/dutyMealTable");
  144. // ModelAndView mv = new ModelAndView("cn/com/lzt/car/archives/archivesPlaceList");
  145. ModelAndView mv = new ModelAndView("cn/com/lzt/dialogDeal/archivesPlaceAllCheckbox");
  146. String ids = oConvertUtils.getString(request.getParameter("ids"));
  147. mv.addObject("ids", ids);
  148. return mv;
  149. }
  150. /**
  151. * AllCheckbox
  152. * 场所选择弹窗列表数据
  153. * @author zbw
  154. * 2017-11-15
  155. * @param projectDepartDto
  156. * @param request
  157. * @param response
  158. * @param dataGrid
  159. */
  160. @RequestMapping(params = "archivesPlaceDatagridAllCheckbox")
  161. public void archivesPlaceDatagridAllCheckbox(ElementDto elementDto, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  162. // TSUser tSUser=ResourceUtil.getSessionUser();archivesPlaceController.do?datagrid
  163. List<ElementDto> elementAll = dialogDealServiceI.getElementAll(elementDto);
  164. dataGrid.setResults(elementAll);
  165. dataGrid.setTotal(elementAll.size());
  166. TagUtil.datagrid(response, dataGrid);
  167. }
  168. /**
  169. * AllWithChild
  170. * 所有项目选择弹窗页面跳转路径
  171. * 列表页弹窗
  172. * @author zbw
  173. * 2017-10-31
  174. * @param request
  175. * @return
  176. */
  177. @RequestMapping(params = "projectDepartTableAllWithChild")
  178. public ModelAndView projectDepartTableAllWithChild(HttpServletRequest request) {
  179. //return new ModelAndView("cn/com/lzt/arrangeduty/dutyMealTable");
  180. ModelAndView mv = new ModelAndView("cn/com/lzt/dialogDeal/projectDepartTableAllWithChild");
  181. String ids = oConvertUtils.getString(request.getParameter("ids"));
  182. mv.addObject("ids", ids);
  183. return mv;
  184. }
  185. /**
  186. * AllWithChild
  187. * 项目选择弹窗列表数据
  188. * @author zbw
  189. * 2017-11-15
  190. * @param projectDepartDto
  191. * @param request
  192. * @param response
  193. * @param dataGrid
  194. */
  195. @RequestMapping(params = "projectDepartDatagridAllWithChild")
  196. public void projectDepartDatagridAllWithChild(ProjectDepartDto projectDepartDto, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  197. // TSUser tSUser=ResourceUtil.getSessionUser();
  198. List<ProjectDepartDto> projectDepartDtoList=dialogDealServiceI.getProjectDepartAllWithChildren(projectDepartDto);
  199. dataGrid.setResults(projectDepartDtoList);
  200. TagUtil.datagrid(response, dataGrid);
  201. }
  202. /**
  203. * Part
  204. * 项目选择弹窗页面跳转路径
  205. * 根据当前登录用户id查询项目信息
  206. * @author zbw
  207. * 2017-10-31
  208. * @param request
  209. * @return
  210. */
  211. @RequestMapping(params = "projectDepartTablePart")
  212. public ModelAndView projectDepartTablePart(HttpServletRequest request) {
  213. //return new ModelAndView("cn/com/lzt/arrangeduty/dutyMealTable");
  214. ModelAndView mv = new ModelAndView("cn/com/lzt/dialogDeal/projectDepartTablePart");
  215. String ids = oConvertUtils.getString(request.getParameter("ids"));
  216. mv.addObject("ids", ids);
  217. return mv;
  218. }
  219. /**
  220. * PartChild 子部门,不包括自己所在的管理处
  221. * 项目选择弹窗页面跳转路径
  222. * 根据当前登录用户id查询项目信息
  223. * @author zbw
  224. * 2017-10-31
  225. * @param request
  226. * @return
  227. */
  228. @RequestMapping(params = "projectDepartTablePartChild")
  229. public ModelAndView projectDepartTablePartChild(HttpServletRequest request) {
  230. //return new ModelAndView("cn/com/lzt/arrangeduty/dutyMealTable");
  231. ModelAndView mv = new ModelAndView("cn/com/lzt/dialogDeal/projectDepartTablePartChild");
  232. String ids = oConvertUtils.getString(request.getParameter("ids"));
  233. mv.addObject("ids", ids);
  234. return mv;
  235. }
  236. /**
  237. * PartChild 子部门,不包括自己所在的管理处
  238. * 项目选择弹窗列表数据
  239. * 根据当前登录用户id查询项目信息
  240. * @author zbw
  241. * 2017-11-15
  242. * @param projectDepartDto
  243. * @param request
  244. * @param response
  245. * @param dataGrid
  246. */
  247. @RequestMapping(params = "projectDepartDatagridPartChild")
  248. public void projectDepartDatagridPartChild(ProjectDepartDto projectDepartDto,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  249. // TSUser tSUser=ResourceUtil.getSessionUser();
  250. List<ProjectDepartDto> projectDepartDtoList=dialogDealServiceI.getProjectDepartChildByUserIdAndLikeDepartName(projectDepartDto);
  251. dataGrid.setResults(projectDepartDtoList);
  252. TagUtil.datagrid(response, dataGrid);
  253. }
  254. /**
  255. * Part
  256. * 项目选择弹窗列表数据
  257. * 根据当前登录用户id查询项目信息
  258. * @author zbw
  259. * 2017-11-15
  260. * @param projectDepartDto
  261. * @param request
  262. * @param response
  263. * @param dataGrid
  264. */
  265. @RequestMapping(params = "projectDepartDatagridPart")
  266. public void projectDepartDatagridPart(ProjectDepartDto projectDepartDto,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  267. // TSUser tSUser=ResourceUtil.getSessionUser();
  268. List<ProjectDepartDto> projectDepartDtoList=dialogDealServiceI.getProjectDepartByUserIdAndLikeDepartName(projectDepartDto);
  269. dataGrid.setResults(projectDepartDtoList);
  270. TagUtil.datagrid(response, dataGrid);
  271. }
  272. /**
  273. * 单选
  274. * All
  275. * 用户选择机构列表跳转页面
  276. * 项目名称选择
  277. * 禁用的也能选
  278. * @return
  279. */
  280. @RequestMapping(params = "departZTreeRadioAll")
  281. public String departZTreeRadioAll(HttpServletRequest req) {
  282. req.setAttribute("orgIds", req.getParameter("orgIds"));
  283. return "cn/com/lzt/dialogDeal/departZTreeRadioAll";
  284. }
  285. /**
  286. * 多选
  287. * 用户选择机构列表跳转页面
  288. * 禁用的不能选
  289. * @author zbw
  290. * 2017-11-30
  291. * @param req
  292. * @return
  293. */
  294. @RequestMapping(params = "departZTreeCheckBoxPart")
  295. public String departZTreeCheckBoxPart(HttpServletRequest req) {
  296. req.setAttribute("orgIds", req.getParameter("orgIds"));
  297. return "cn/com/lzt/dialogDeal/departZTreeCheckBoxPart";
  298. }
  299. //update--start--by:jg_renjie--at:20160318 for:#942 【组件封装】组织机构弹出模式,目前是列表,得改造成树方式
  300. //update-start--Author: os_renjie Date:20160529 for:TASK #1056 【bug】用户编辑,弹出组织机构,默认没选中
  301. /**
  302. * All
  303. * @author zbw
  304. * 2017-11-24
  305. * @param request
  306. * @param response
  307. * @return
  308. */
  309. @RequestMapping(params = "getDepartZTreeAllInfo")
  310. @ResponseBody
  311. public AjaxJson getDepartZTreeAllInfo(HttpServletRequest request, HttpServletResponse response){
  312. AjaxJson j = new AjaxJson();
  313. String orgIds = request.getParameter("orgIds");
  314. String[] ids = new String[]{};
  315. if(StringUtils.isNotBlank(orgIds)){
  316. orgIds = orgIds.substring(0, orgIds.length()-1);
  317. ids = orgIds.split("\\,");
  318. }
  319. String parentid = request.getParameter("parentid");
  320. List<TSDepart> tSDeparts = new ArrayList<TSDepart>();
  321. StringBuffer hql = new StringBuffer(" from TSDepart t where 1=1 ");
  322. if(StringUtils.isNotBlank(parentid)){
  323. TSDepart dePart = this.systemService.getEntity(TSDepart.class, parentid);
  324. hql.append(" and TSPDepart = ?");
  325. tSDeparts = this.systemService.findHql(hql.toString(), dePart);
  326. } else {
  327. hql.append(" and t.orgType = ?");
  328. tSDeparts = this.systemService.findHql(hql.toString(), "1");
  329. }
  330. List<Map<String,Object>> dateList = new ArrayList<Map<String,Object>>();
  331. if(tSDeparts.size()>0){
  332. Map<String,Object> map = null;
  333. String sql = null;
  334. Object[] params = null;
  335. for(TSDepart depart:tSDeparts){
  336. map = new HashMap<String,Object>();
  337. map.put("id", depart.getId());
  338. map.put("name", depart.getDepartname());
  339. if(ids.length>0){
  340. for(String id:ids){
  341. if(id.equals(depart.getId())){
  342. map.put("checked", true);
  343. }
  344. }
  345. }
  346. if(StringUtils.isNotBlank(parentid)){
  347. map.put("pId", parentid);
  348. } else{
  349. map.put("pId", "1");
  350. }
  351. //根据id判断是否有子节点
  352. sql = "select count(1) from t_s_depart t where t.parentdepartid = ?";
  353. params = new Object[]{depart.getId()};
  354. long count = this.systemService.getCountForJdbcParam(sql, params);
  355. if(count>0){
  356. map.put("isParent",true);
  357. }
  358. dateList.add(map);
  359. }
  360. }
  361. net.sf.json.JSONArray jsonArray = net.sf.json.JSONArray.fromObject(dateList);
  362. j.setMsg(jsonArray.toString());
  363. return j;
  364. }
  365. //update-start--Author: os_renjie Date:20160529 for:TASK #1056 【bug】用户编辑,弹出组织机构,默认没选中
  366. //update--end--by:jg_renjie--at:20160318 for:#942 【组件封装】组织机构弹出模式,目前是列表,得改造成树方式
  367. /**
  368. * 查询所有员工
  369. * 员工表列表 页面跳转
  370. *
  371. * @return
  372. */
  373. @RequestMapping(params = "personnelTableAll")
  374. public ModelAndView personnelTableAll(HttpServletRequest request) {
  375. request.setAttribute("userid", request.getParameter("userid"));
  376. return new ModelAndView("cn/com/lzt/dialogDeal/personnelTableAll");
  377. }
  378. /**
  379. * 查询所有员工弹窗
  380. * @author zbw
  381. * 2017-11-5
  382. * @param userAndUserPersonnelDto
  383. * @param request
  384. * @param response
  385. * @param dataGrid
  386. */
  387. @RequestMapping(params = "getPersonnelTableAllInfo")
  388. public void getPersonnelTableAllInfo(UserAndUserPersonnelDto userAndUserPersonnelDto,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  389. String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
  390. MiniDaoPage<UserAndUserPersonnelDto> listUserAndUserPersonnelDto = arrangeDutyOperateService.getUserAndUserPersonnelPage(userAndUserPersonnelDto, dataGrid.getPage(), dataGrid.getRows(), authSql);
  391. dataGrid.setTotal(listUserAndUserPersonnelDto.getTotal());
  392. dataGrid.setResults(listUserAndUserPersonnelDto.getResults());
  393. TagUtil.datagrid(response, dataGrid);
  394. }
  395. /**
  396. * 获取用户中文名
  397. * @author zbw
  398. * 2017-11-30
  399. * @param userid
  400. * @return
  401. */
  402. @RequestMapping(params = "getRealName")
  403. @ResponseBody
  404. public AjaxJson getRealName(String userid) {
  405. AjaxJson j = new AjaxJson();
  406. try {
  407. //获取用户名称
  408. List<DictEntity> baseUserList=systemService.queryDict("t_s_base_user", "id", "realname");
  409. Map<String, String> realNameMap=new HashMap<String, String>();
  410. for (int i = 0; i < baseUserList.size(); i++) {
  411. realNameMap.put(baseUserList.get(i).getTypecode(), baseUserList.get(i).getTypename());
  412. }
  413. List<String> userIdList=extractIdListByComma(userid);
  414. String realName="";
  415. for (int i = 0; i < userIdList.size(); i++) {
  416. for (Entry<String, String> m : realNameMap.entrySet()) {
  417. if(userIdList.get(i).equals(m.getKey())){
  418. if(realName.length()!=0){
  419. realName+=","+m.getValue();
  420. }else{
  421. realName=m.getValue();
  422. }
  423. }
  424. }
  425. }
  426. Map<String, Object> map=new HashMap<String, Object>();
  427. map.put("realName", realName);
  428. j.setAttributes(map);
  429. } catch (Exception e) {
  430. e.printStackTrace();
  431. throw new BusinessException(e.getMessage());
  432. }
  433. return j;
  434. }
  435. /**
  436. * 获取组织机构中文名
  437. * @author zbw
  438. * 2017-11-30
  439. * @param orgIds
  440. * @return
  441. */
  442. @RequestMapping(params = "getDepartName")
  443. @ResponseBody
  444. public AjaxJson getDepartName(String orgIds) {
  445. AjaxJson j = new AjaxJson();
  446. try {
  447. //获取项目名称
  448. List<DictEntity> departList=systemService.queryDict("t_s_depart", "id", "departname");
  449. Map<String, String> departMap=new HashMap<String, String>();
  450. for (int i = 0; i < departList.size(); i++) {
  451. departMap.put(departList.get(i).getTypecode(), departList.get(i).getTypename());
  452. }
  453. List<String> orgIdList=extractIdListByComma(orgIds);
  454. String departName="";
  455. for (int i = 0; i < orgIdList.size(); i++) {
  456. for (Entry<String, String> m : departMap.entrySet()) {
  457. if(orgIdList.get(i).equals(m.getKey())){
  458. if(departName.length()!=0){
  459. departName+=","+m.getValue();
  460. }else{
  461. departName=m.getValue();
  462. }
  463. }
  464. }
  465. }
  466. Map<String, Object> map=new HashMap<String, Object>();
  467. map.put("departName", departName);
  468. j.setAttributes(map);
  469. } catch (Exception e) {
  470. e.printStackTrace();
  471. throw new BusinessException(e.getMessage());
  472. }
  473. return j;
  474. }
  475. }