RiskManageController.java 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509
  1. /**
  2. *
  3. */
  4. package cn.com.lzt.riskmanage.controller;
  5. import java.text.DateFormat;
  6. import java.text.ParseException;
  7. import java.text.SimpleDateFormat;
  8. import java.util.ArrayList;
  9. import java.util.Arrays;
  10. import java.util.Calendar;
  11. import java.util.Date;
  12. import java.util.HashMap;
  13. import java.util.HashSet;
  14. import java.util.List;
  15. import java.util.Map;
  16. import javax.servlet.http.HttpServletRequest;
  17. import javax.servlet.http.HttpServletResponse;
  18. import org.apache.log4j.Logger;
  19. import org.jeecgframework.core.common.controller.BaseController;
  20. import org.jeecgframework.core.common.model.json.DataGrid;
  21. import org.jeecgframework.core.constant.Globals;
  22. import org.jeecgframework.core.util.DataUtils;
  23. import org.jeecgframework.core.util.DateUtils;
  24. import org.jeecgframework.core.util.JeecgDataAutorUtils;
  25. import org.jeecgframework.core.util.ResourceUtil;
  26. import org.jeecgframework.core.util.StringUtil;
  27. import org.jeecgframework.core.util.oConvertUtils;
  28. import org.jeecgframework.minidao.pojo.MiniDaoPage;
  29. import org.jeecgframework.poi.excel.entity.ExportParams;
  30. import org.jeecgframework.poi.excel.entity.vo.NormalExcelConstants;
  31. import org.jeecgframework.tag.core.easyui.TagUtil;
  32. import org.jeecgframework.web.system.service.SystemService;
  33. import org.springframework.beans.factory.annotation.Autowired;
  34. import org.springframework.stereotype.Controller;
  35. import org.springframework.ui.ModelMap;
  36. import org.springframework.web.bind.annotation.RequestMapping;
  37. import org.springframework.web.servlet.ModelAndView;
  38. import com.alibaba.fastjson.JSONObject;
  39. import com.xcgl.utils.XcglDateUtils;
  40. import cn.com.lzt.arrangeduty.service.ArrangeDutyServiceI;
  41. import cn.com.lzt.calendar.entity.CalendarEntity;
  42. import cn.com.lzt.leave.service.ModifyServiceI;
  43. import cn.com.lzt.personnelbasearchivesmanage.dto.DepartDto;
  44. import cn.com.lzt.personnelbasearchivesmanage.dto.PersonnelBaseArchivesManageInDto;
  45. import cn.com.lzt.personnelbasearchivesmanage.dto.PersonnelBaseArchivesManageOutDto;
  46. import cn.com.lzt.personnelbasearchivesmanage.service.PersonnelBaseArchivesManageServiceI;
  47. import cn.com.lzt.riskmanage.dao.RiskManageDao;
  48. import cn.com.lzt.riskmanage.dto.LeaveWarnDto;
  49. /**
  50. * @author xzx
  51. *
  52. * 2019年8月16日
  53. *
  54. */
  55. @Controller
  56. @RequestMapping("/riskManageController")
  57. public class RiskManageController extends BaseController {
  58. /**
  59. * Logger for this class
  60. */
  61. private static final Logger logger = Logger.getLogger(RiskManageController.class);
  62. @Autowired
  63. private PersonnelBaseArchivesManageServiceI personnelBaseArchivesManageService;
  64. @Autowired
  65. private ModifyServiceI modifyService;
  66. @Autowired
  67. ArrangeDutyServiceI arrangeDutyService;
  68. @Autowired
  69. SystemService systemService ;
  70. @Autowired
  71. private RiskManageDao rptDao;
  72. /**
  73. * 新入职人员未缴金 页面跳转
  74. *
  75. * @return
  76. */
  77. @RequestMapping(params = "risk_jianjin_notstart")
  78. public ModelAndView risk_jianjin_notstart(HttpServletRequest request) {
  79. String queryParams = oConvertUtils.getString(request.getParameter("queryParams"));
  80. Calendar calendar = DataUtils.getCalendar();
  81. // calendar.add(Calendar.MONTH, -1);
  82. String yearmonth = DataUtils.formatDate(calendar, "yyyy-MM-dd");
  83. request.setAttribute("maxdate", yearmonth);
  84. if (oConvertUtils.isNotEmpty(queryParams)) {
  85. JSONObject jsonObject =JSONObject.parseObject(queryParams);
  86. request.setAttribute("queryParams",jsonObject);
  87. }else {
  88. JSONObject jsonObject = new JSONObject();
  89. jsonObject.put("userName", "");
  90. jsonObject.put("departname", "");
  91. jsonObject.put("orgIds", "");
  92. jsonObject.put("telphone", "");
  93. jsonObject.put("idcard", "");
  94. jsonObject.put("positionStatus", "");
  95. jsonObject.put("certificateId", "");
  96. request.setAttribute("queryParams",jsonObject);
  97. }
  98. return new ModelAndView("cn/com/lzt/riskmanage/risk_jianjin_notstart");
  99. }
  100. /**
  101. * 新入职人员未缴金
  102. *
  103. * @param request
  104. * @param response
  105. * @param dataGrid
  106. * @param user
  107. */
  108. @RequestMapping(params = "datagrid_jianjin_notstart")
  109. public void datagrid_jianjin_notstart(PersonnelBaseArchivesManageInDto inDto, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  110. String departIds = "";
  111. if (null != inDto.getOrgIds() && StringUtil.isNotEmpty(inDto.getOrgIds())) {
  112. departIds = inDto.getOrgIds();
  113. }
  114. if(StringUtil.isEmpty(inDto.getInMonth())) {
  115. dataGrid.setResults(new ArrayList<PersonnelBaseArchivesManageOutDto>());
  116. TagUtil.datagrid(response, dataGrid);
  117. return;
  118. }
  119. // 页面的单位ID
  120. List<String> departIdByPageList = Arrays.asList(departIds.split(","));
  121. // 用于检索的单位ID
  122. List<String> departIdBySearchList = new ArrayList<String>();
  123. for(String str : departIdByPageList) {
  124. if(StringUtil.isNotEmpty(str)) {
  125. departIdBySearchList.add(str);
  126. List<DepartDto> departDtoList = personnelBaseArchivesManageService.getAllChildrenList(str, null, null);
  127. for(DepartDto departDto : departDtoList) {
  128. departIdBySearchList.add(departDto.getId());
  129. }
  130. }
  131. }
  132. // List去重复
  133. HashSet<String> h = new HashSet<String>(departIdBySearchList);
  134. departIdBySearchList.clear();
  135. departIdBySearchList.addAll(h);
  136. // 重新封装检索用的单位字符串
  137. departIds = "";
  138. for(String str : departIdBySearchList) {
  139. departIds += "'" + str + "',";
  140. }
  141. if(StringUtil.isNotEmpty(departIds)) {
  142. departIds = departIds.substring(0,departIds.length() - 1);
  143. }
  144. inDto.setOrgIds(departIds);
  145. // 获取请求对应的数据权限
  146. String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
  147. // 從SESSION中獲取用戶信息
  148. String sortorder = "";
  149. // String sort = dataGrid.getSort(); // 排序对象
  150. // String order = dataGrid.getOrder(); // 排序方式
  151. // if (StringUtil.isEmpty(sort)) {
  152. // sortorder = " orgId "; //默认userName,userId降序
  153. // } else {
  154. // sortorder = humpToLine(sort) + " " + order; // 处理下划线,拼接排序
  155. // }
  156. MiniDaoPage<PersonnelBaseArchivesManageOutDto> list = personnelBaseArchivesManageService.getPersonnelBaseArchivesManageList(inDto, dataGrid.getPage(), dataGrid.getRows(), authSql, sortorder);
  157. // list中去除null的废数据
  158. for(int i = list.getResults().size()-1; i >=0 ; i--) {
  159. PersonnelBaseArchivesManageOutDto personnelBaseArchivesManageOutDto = list.getResults().get(i);
  160. // 滤除重复的证书
  161. Map<String, String> certMap = new HashMap<String, String>();
  162. String certificateNames = personnelBaseArchivesManageOutDto.getCertificateName();
  163. if(certificateNames != null && !"".equals(certificateNames)){
  164. String[] certificateNameArr = certificateNames.split(",");
  165. for(String certName : certificateNameArr){
  166. certMap.put(certName, certName);
  167. }
  168. String certName_processed = "";
  169. for(String certName : certMap.values()){
  170. if("".equals(certName_processed)){
  171. certName_processed = certName;
  172. }else{
  173. certName_processed = certName_processed + "," + certName;
  174. }
  175. }
  176. list.getResults().get(i).setCertificateName(certName_processed);
  177. }
  178. // 设置组织机构
  179. String orgId = list.getResults().get(i).getOrgId();
  180. orgId = modifyService.getByorgId(orgId);
  181. list.getResults().get(i).setOrgId(orgId);
  182. if(StringUtil.isEmpty(personnelBaseArchivesManageOutDto.getId())) {
  183. list.getResults().remove(i);
  184. }
  185. String positionStatus =list.getResults().get(i).getPositionStatus();
  186. // 离职人员
  187. if(Globals.JOBSTATUS_3.equals(positionStatus) || Globals.JOBSTATUS_4.equals(positionStatus)) {
  188. list.getResults().remove(i);
  189. continue;
  190. }
  191. if(StringUtil.isNotEmpty(personnelBaseArchivesManageOutDto.getSocialSecurityUnit())){
  192. list.getResults().remove(i);
  193. continue;
  194. }
  195. }
  196. dataGrid.setTotal(list.getTotal());
  197. dataGrid.setResults(list.getResults());
  198. TagUtil.datagrid(response, dataGrid);
  199. }
  200. /**
  201. * 新入职人员未缴金 页面跳转
  202. *
  203. * @return
  204. */
  205. @RequestMapping(params = "risk_jianjin_notstop")
  206. public ModelAndView risk_jianjin_notstop(HttpServletRequest request) {
  207. String queryParams = oConvertUtils.getString(request.getParameter("queryParams"));
  208. Calendar calendar = DataUtils.getCalendar();
  209. // calendar.add(Calendar.MONTH, -1);
  210. String yearmonth = DataUtils.formatDate(calendar, "yyyy-MM-dd");
  211. request.setAttribute("maxdate", yearmonth);
  212. if (oConvertUtils.isNotEmpty(queryParams)) {
  213. JSONObject jsonObject =JSONObject.parseObject(queryParams);
  214. request.setAttribute("queryParams",jsonObject);
  215. }else {
  216. JSONObject jsonObject = new JSONObject();
  217. jsonObject.put("userName", "");
  218. jsonObject.put("departname", "");
  219. jsonObject.put("orgIds", "");
  220. jsonObject.put("telphone", "");
  221. jsonObject.put("idcard", "");
  222. jsonObject.put("positionStatus", "");
  223. jsonObject.put("certificateId", "");
  224. request.setAttribute("queryParams",jsonObject);
  225. }
  226. return new ModelAndView("cn/com/lzt/riskmanage/risk_jianjin_notstop");
  227. }
  228. @RequestMapping(params = "datagrid_jianjin_notstop")
  229. public void datagrid_jianjin_notstop(PersonnelBaseArchivesManageInDto inDto, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  230. String departIds = "";
  231. // 借用前台查询字段,但是后台查询数据的时候不应该用此字段过滤入职时间
  232. String stop_month = inDto.getInMonth();
  233. if (null != inDto.getOrgIds() && StringUtil.isNotEmpty(inDto.getOrgIds())) {
  234. departIds = inDto.getOrgIds();
  235. }
  236. if(StringUtil.isEmpty(stop_month)) {
  237. dataGrid.setResults(new ArrayList<PersonnelBaseArchivesManageOutDto>());
  238. TagUtil.datagrid(response, dataGrid);
  239. return;
  240. }
  241. // 页面的单位ID
  242. List<String> departIdByPageList = Arrays.asList(departIds.split(","));
  243. // 用于检索的单位ID
  244. List<String> departIdBySearchList = new ArrayList<String>();
  245. for(String str : departIdByPageList) {
  246. if(StringUtil.isNotEmpty(str)) {
  247. departIdBySearchList.add(str);
  248. List<DepartDto> departDtoList = personnelBaseArchivesManageService.getAllChildrenList(str, null, null);
  249. for(DepartDto departDto : departDtoList) {
  250. departIdBySearchList.add(departDto.getId());
  251. }
  252. }
  253. }
  254. // List去重复
  255. HashSet<String> h = new HashSet<String>(departIdBySearchList);
  256. departIdBySearchList.clear();
  257. departIdBySearchList.addAll(h);
  258. // 重新封装检索用的单位字符串
  259. departIds = "";
  260. for(String str : departIdBySearchList) {
  261. departIds += "'" + str + "',";
  262. }
  263. if(StringUtil.isNotEmpty(departIds)) {
  264. departIds = departIds.substring(0,departIds.length() - 1);
  265. }
  266. inDto.setOrgIds(departIds);
  267. // 获取请求对应的数据权限
  268. String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
  269. // 從SESSION中獲取用戶信息
  270. String sortorder = "";
  271. // String sort = dataGrid.getSort(); // 排序对象
  272. // String order = dataGrid.getOrder(); // 排序方式
  273. // if (StringUtil.isEmpty(sort)) {
  274. // sortorder = " orgId "; //默认userName,userId降序
  275. // } else {
  276. // sortorder = humpToLine(sort) + " " + order; // 处理下划线,拼接排序
  277. // }
  278. inDto.setInMonth(""); // 不过滤,查询出来全部人员之后再过滤
  279. MiniDaoPage<PersonnelBaseArchivesManageOutDto> list = personnelBaseArchivesManageService.getPersonnelBaseArchivesManageList(inDto, dataGrid.getPage(), dataGrid.getRows(), authSql, sortorder);
  280. //某月15日作为标准
  281. stop_month = stop_month + "-15";
  282. DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");//定义一个时间转换格式“年-月-日”
  283. Date stop_date = null;
  284. try { //捕获类型转换(解析)异常
  285. stop_date = fmt.parse(stop_month);
  286. } catch (ParseException e) {
  287. e.printStackTrace();
  288. }
  289. Calendar stop_cal = Calendar.getInstance();
  290. stop_cal.setTime(stop_date);
  291. //判断两种情况,显示: 1、截至本月底已离职而且未停缴金 2、在职状态、本月15日(含)达到退休年龄且未停缴缴金
  292. //除以上两种情况均去掉
  293. // list中去除null的废数据
  294. for(int i = list.getResults().size()-1; i >=0 ; i--) {
  295. PersonnelBaseArchivesManageOutDto personnelBaseArchivesManageOutDto = list.getResults().get(i);
  296. // 滤除重复的证书
  297. Map<String, String> certMap = new HashMap<String, String>();
  298. String certificateNames = personnelBaseArchivesManageOutDto.getCertificateName();
  299. if(certificateNames != null && !"".equals(certificateNames)){
  300. String[] certificateNameArr = certificateNames.split(",");
  301. for(String certName : certificateNameArr){
  302. certMap.put(certName, certName);
  303. }
  304. String certName_processed = "";
  305. for(String certName : certMap.values()){
  306. if("".equals(certName_processed)){
  307. certName_processed = certName;
  308. }else{
  309. certName_processed = certName_processed + "," + certName;
  310. }
  311. }
  312. list.getResults().get(i).setCertificateName(certName_processed);
  313. }
  314. // 设置组织机构
  315. String orgId = list.getResults().get(i).getOrgId();
  316. orgId = modifyService.getByorgId(orgId);
  317. list.getResults().get(i).setOrgId(orgId);
  318. if(StringUtil.isEmpty(personnelBaseArchivesManageOutDto.getId())) {
  319. list.getResults().remove(i);
  320. }
  321. Calendar last_stop_date = Calendar.getInstance();
  322. last_stop_date.setTime(stop_date);
  323. last_stop_date.add(Calendar.MONTH, -1);
  324. // 只有缴金人员才显示
  325. if(StringUtil.isNotEmpty(personnelBaseArchivesManageOutDto.getSocialSecurityUnit())) {
  326. // 离职人员: 15日含之前、上月16日之后离职的缴金人员,显示
  327. if(personnelBaseArchivesManageOutDto.getLeaveDate() != null) {
  328. Calendar leave_cal = Calendar.getInstance();
  329. leave_cal.setTime(personnelBaseArchivesManageOutDto.getLeaveDate());
  330. if(personnelBaseArchivesManageOutDto.getLeaveDate().compareTo(stop_date) <= 0
  331. && personnelBaseArchivesManageOutDto.getLeaveDate().compareTo(last_stop_date.getTime()) > 0) {
  332. personnelBaseArchivesManageOutDto.setDescription(fmt.format(personnelBaseArchivesManageOutDto.getLeaveDate()) + "离职");
  333. continue;
  334. }
  335. }
  336. // 退休:上月退休的缴金人员,显示
  337. if(isTiredLasMonth(personnelBaseArchivesManageOutDto, stop_date)) {
  338. personnelBaseArchivesManageOutDto.setDescription("上月退休");
  339. continue;
  340. }
  341. }
  342. // 除continue条件部分,均删除
  343. list.getResults().remove(i);
  344. }
  345. dataGrid.setTotal(list.getTotal());
  346. dataGrid.setResults(list.getResults());
  347. TagUtil.datagrid(response, dataGrid);
  348. }
  349. /**
  350. * @param personnelBaseArchivesManageOutDto
  351. * @param stop_date
  352. * @return
  353. */
  354. private boolean isTiredLasMonth(PersonnelBaseArchivesManageOutDto personnelBaseArchivesManageOutDto, Date stop_date) {
  355. Date birth = getBirth(personnelBaseArchivesManageOutDto);
  356. Calendar birth_cal = Calendar.getInstance();
  357. birth_cal.setTime(birth);
  358. Calendar last_month = Calendar.getInstance();
  359. last_month.setTime(stop_date);
  360. last_month.add(Calendar.MONTH, -1);
  361. // 设置上月最后一天
  362. last_month.set(Calendar.DAY_OF_MONTH, last_month.getLeastMaximum(Calendar.DAY_OF_MONTH));
  363. // 男性60
  364. if("0".equals(personnelBaseArchivesManageOutDto.getGender())) {
  365. birth_cal.add(Calendar.YEAR, 60);
  366. if(birth_cal.before(last_month)) {
  367. return true;
  368. }
  369. }
  370. //女性55
  371. if("1".equals(personnelBaseArchivesManageOutDto.getGender())) {
  372. birth_cal.add(Calendar.YEAR, 55);
  373. if(birth_cal.before(last_month)) {
  374. return true;
  375. }
  376. }
  377. return false;
  378. }
  379. private Date getBirth(PersonnelBaseArchivesManageOutDto personnelBaseArchivesManageOutDto) {
  380. String Id= personnelBaseArchivesManageOutDto.getIdcard();
  381. String year = Id.substring(6, 10);//调用substring方法返回相关字段,注意索引从0开始
  382. String month =Id.substring(10, 12);
  383. String day = Id.substring(12, 14);
  384. String birthday = year + "-" + month + "-" + day;
  385. DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");//定义一个时间转换格式“年-月-日”
  386. Date date = null;
  387. try { //捕获类型转换(解析)异常
  388. date = fmt.parse(birthday);
  389. } catch (ParseException e) {
  390. e.printStackTrace();
  391. }
  392. return date;
  393. }
  394. @RequestMapping(params = "risk_jianjin_unknownLeave")
  395. public ModelAndView risk_jianjin_unknownLeave(HttpServletRequest request) {
  396. return new ModelAndView("cn/com/lzt/riskmanage/risk_jianjin_unknownLeave");
  397. }
  398. @RequestMapping(params = "datagrid_jianjin_unknownLeave")
  399. public void datagrid_jianjin_unknownLeave(LeaveWarnDto leaveWarnDto ,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  400. long start = System.currentTimeMillis();
  401. logger.error("===================【离职预警报表】开始"+DataUtils.datetimeFormat.format(new Date()));
  402. String xiuxi = arrangeDutyService.getDUTYTYPE_xiuxiId();
  403. int noDingDayCount = 10;
  404. int noArrangeDayCount = 10;
  405. String lastDingDate = XcglDateUtils.addDateDay(DateUtils.date_sdf.format(new Date()), 0-noDingDayCount, DateUtils.date_sdf);
  406. StringBuffer dayBuf = new StringBuffer();
  407. for(int i = 0 ; i < noArrangeDayCount ; i++) {
  408. String day = XcglDateUtils.addDateDay(DateUtils.date_sdf.format(new Date()), i+1, DateUtils.date_sdf);
  409. dayBuf.append(",'").append(day).append("'");
  410. }
  411. String hql = " from CalendarEntity where ymdDate in ("+dayBuf.substring(1)+")";
  412. List<CalendarEntity> day = systemService.findHql(hql);
  413. List<String> arrangeDateList = new ArrayList<String>();
  414. for(CalendarEntity cal:day) {
  415. arrangeDateList.add(cal.getId());
  416. }
  417. List<LeaveWarnDto> results = rptDao.getLeaveWarn(lastDingDate, xiuxi, noDingDayCount, arrangeDateList);
  418. dataGrid.setResults(results);
  419. logger.error("===================【离职预警报表】结束"+DataUtils.datetimeFormat.format(new Date()));
  420. long end = System.currentTimeMillis();
  421. long times = end - start;
  422. logger.error("总耗时"+times/1000+"秒");
  423. dataGrid.setFooter("realname:人数合计:,projectname:"+results.size()+"人");
  424. TagUtil.datagrid(response, dataGrid);
  425. }
  426. @RequestMapping(params = "exportXlsUnknownLeave")
  427. public String exportXls(LeaveWarnDto leaveWarnDt,HttpServletRequest request,HttpServletResponse response
  428. , DataGrid dataGrid,ModelMap modelMap) {
  429. logger.error("===================【离职预警报表】开始"+DataUtils.datetimeFormat.format(new Date()));
  430. String xiuxi = arrangeDutyService.getDUTYTYPE_xiuxiId();
  431. int noDingDayCount = 10;
  432. int noArrangeDayCount = 10;
  433. String lastDingDate = XcglDateUtils.addDateDay(DateUtils.date_sdf.format(new Date()), 0-noDingDayCount, DateUtils.date_sdf);
  434. StringBuffer dayBuf = new StringBuffer();
  435. for(int i = 0 ; i < noArrangeDayCount ; i++) {
  436. String day = XcglDateUtils.addDateDay(DateUtils.date_sdf.format(new Date()), i+1, DateUtils.date_sdf);
  437. dayBuf.append(",'").append(day).append("'");
  438. }
  439. String hql = " from CalendarEntity where ymdDate in ("+dayBuf.substring(1)+")";
  440. List<CalendarEntity> day = systemService.findHql(hql);
  441. List<String> arrangeDateList = new ArrayList<String>();
  442. for(CalendarEntity cal:day) {
  443. arrangeDateList.add(cal.getId());
  444. }
  445. List<LeaveWarnDto> results = rptDao.getLeaveWarn(lastDingDate, xiuxi, noDingDayCount, arrangeDateList);
  446. modelMap.put(NormalExcelConstants.FILE_NAME,"离职预警报表");
  447. modelMap.put(NormalExcelConstants.CLASS,LeaveWarnDto.class);
  448. modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("离职预警报表", "导出人:"+ResourceUtil.getSessionUser().getRealName(),
  449. "导出信息"));
  450. modelMap.put(NormalExcelConstants.DATA_LIST,results);
  451. return NormalExcelConstants.JEECG_EXCEL_VIEW;
  452. }
  453. }