DemoteTransferController.java 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680
  1. package cn.com.lzt.demotetransfer.controller;
  2. import java.io.IOException;
  3. import java.math.BigDecimal;
  4. import java.net.URI;
  5. import java.text.ParsePosition;
  6. import java.text.SimpleDateFormat;
  7. import java.util.ArrayList;
  8. import java.util.Date;
  9. import java.util.HashMap;
  10. import java.util.List;
  11. import java.util.Map;
  12. import java.util.Set;
  13. import javax.servlet.http.HttpServletRequest;
  14. import javax.servlet.http.HttpServletResponse;
  15. import javax.servlet.http.HttpSession;
  16. import javax.validation.ConstraintViolation;
  17. import javax.validation.Validator;
  18. import org.apache.commons.lang3.StringUtils;
  19. import org.apache.log4j.Logger;
  20. import org.jeecgframework.core.beanvalidator.BeanValidators;
  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.DateUtils;
  29. import org.jeecgframework.core.util.ExceptionUtil;
  30. import org.jeecgframework.core.util.MyBeanUtils;
  31. import org.jeecgframework.core.util.ResourceUtil;
  32. import org.jeecgframework.core.util.StringUtil;
  33. import org.jeecgframework.p3.core.util.oConvertUtils;
  34. import org.jeecgframework.poi.excel.ExcelImportUtil;
  35. import org.jeecgframework.poi.excel.entity.ExportParams;
  36. import org.jeecgframework.poi.excel.entity.ImportParams;
  37. import org.jeecgframework.poi.excel.entity.vo.NormalExcelConstants;
  38. import org.jeecgframework.tag.core.easyui.TagUtil;
  39. import org.jeecgframework.web.system.pojo.base.TSDepart;
  40. import org.jeecgframework.web.system.pojo.base.TSUser;
  41. import org.jeecgframework.web.system.service.SystemService;
  42. import org.springframework.beans.factory.annotation.Autowired;
  43. import org.springframework.http.HttpHeaders;
  44. import org.springframework.http.HttpStatus;
  45. import org.springframework.http.MediaType;
  46. import org.springframework.http.ResponseEntity;
  47. import org.springframework.stereotype.Controller;
  48. import org.springframework.ui.ModelMap;
  49. import org.springframework.web.bind.annotation.PathVariable;
  50. import org.springframework.web.bind.annotation.RequestBody;
  51. import org.springframework.web.bind.annotation.RequestMapping;
  52. import org.springframework.web.bind.annotation.RequestMethod;
  53. import org.springframework.web.bind.annotation.ResponseBody;
  54. import org.springframework.web.bind.annotation.ResponseStatus;
  55. import org.springframework.web.multipart.MultipartFile;
  56. import org.springframework.web.multipart.MultipartHttpServletRequest;
  57. import org.springframework.web.servlet.ModelAndView;
  58. import org.springframework.web.util.UriComponentsBuilder;
  59. import com.jeecg.qianbao.util.FormProcUtil;
  60. import cn.com.lzt.demotetransfer.entity.DemoteTransferEntity;
  61. import cn.com.lzt.demotetransfer.service.DemoteTransferServiceI;
  62. import cn.com.lzt.duties.entity.DutiesEntity;
  63. import cn.com.lzt.leave.service.ModifyServiceI;
  64. import cn.com.lzt.post.entity.PostEntity;
  65. import cn.com.lzt.promotiontransfer.entity.PromotionTransferEntity;
  66. /**
  67. * @Title: Controller
  68. * @Description: 人事降职申请表
  69. * @author onlineGenerator
  70. * @date 2017-10-19 13:41:54
  71. * @version V1.0
  72. *
  73. */
  74. @Controller
  75. @RequestMapping("/demoteTransferController")
  76. public class DemoteTransferController extends BaseController {
  77. /**
  78. * Logger for this class
  79. */
  80. private static final Logger logger = Logger.getLogger(DemoteTransferController.class);
  81. @Autowired
  82. private DemoteTransferServiceI demoteTransferService;
  83. @Autowired
  84. private SystemService systemService;
  85. @Autowired
  86. private Validator validator;
  87. @Autowired
  88. private ModifyServiceI modifyService;
  89. /**
  90. * 人事降职申请表列表 页面跳转
  91. *
  92. * @return
  93. */
  94. @RequestMapping(params = "list")
  95. public ModelAndView list(HttpServletRequest request) {
  96. return new ModelAndView("cn/com/lzt/demotetransfer/demoteTransferList");
  97. }
  98. /**
  99. * easyui AJAX请求数据
  100. *
  101. * @param request
  102. * @param response
  103. * @param dataGrid
  104. * @param user
  105. */
  106. @RequestMapping(params = "datagrid")
  107. public void datagrid(DemoteTransferEntity demoteTransfer,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  108. CriteriaQuery cq = new CriteriaQuery(DemoteTransferEntity.class, dataGrid);
  109. //查询条件组装器
  110. org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, demoteTransfer, request.getParameterMap());
  111. try{
  112. //自定义追加查询条件
  113. String query_outTime_begin = request.getParameter("outTime_begin");
  114. String query_outTime_end = request.getParameter("outTime_end");
  115. if(StringUtil.isNotEmpty(query_outTime_begin)){
  116. cq.ge("outTime", new SimpleDateFormat("yyyy-MM-dd").parse(query_outTime_begin));
  117. }
  118. if(StringUtil.isNotEmpty(query_outTime_end)){
  119. cq.le("outTime", new SimpleDateFormat("yyyy-MM-dd").parse(query_outTime_end));
  120. }
  121. String query_applyDate_begin = request.getParameter("applyDate_begin");
  122. String query_applyDate_end = request.getParameter("applyDate_end");
  123. if(StringUtil.isNotEmpty(query_applyDate_begin)){
  124. cq.ge("applyDate", new SimpleDateFormat("yyyy-MM-dd").parse(query_applyDate_begin));
  125. }
  126. if(StringUtil.isNotEmpty(query_applyDate_end)){
  127. cq.le("applyDate", new SimpleDateFormat("yyyy-MM-dd").parse(query_applyDate_end));
  128. }
  129. }catch (Exception e) {
  130. throw new BusinessException(e.getMessage());
  131. }
  132. cq.add();
  133. this.demoteTransferService.getDataGridReturn(cq, true);
  134. TagUtil.datagrid(response, dataGrid);
  135. }
  136. /**
  137. * 删除人事降职申请表
  138. *
  139. * @return
  140. */
  141. @RequestMapping(params = "doDel")
  142. @ResponseBody
  143. public AjaxJson doDel(DemoteTransferEntity demoteTransfer, HttpServletRequest request) {
  144. String message = null;
  145. AjaxJson j = new AjaxJson();
  146. demoteTransfer = systemService.getEntity(DemoteTransferEntity.class, demoteTransfer.getId());
  147. message = "人事降职申请表删除成功";
  148. try{
  149. demoteTransferService.delete(demoteTransfer);
  150. systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
  151. }catch(Exception e){
  152. e.printStackTrace();
  153. message = "人事降职申请表删除失败";
  154. throw new BusinessException(e.getMessage());
  155. }
  156. j.setMsg(message);
  157. return j;
  158. }
  159. /**
  160. * 批量删除人事降职申请表
  161. *
  162. * @return
  163. */
  164. @RequestMapping(params = "doBatchDel")
  165. @ResponseBody
  166. public AjaxJson doBatchDel(String ids,HttpServletRequest request){
  167. String message = null;
  168. AjaxJson j = new AjaxJson();
  169. message = "人事降职申请表删除成功";
  170. try{
  171. for(String id:ids.split(",")){
  172. DemoteTransferEntity demoteTransfer = systemService.getEntity(DemoteTransferEntity.class,
  173. id
  174. );
  175. demoteTransferService.delete(demoteTransfer);
  176. systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
  177. }
  178. }catch(Exception e){
  179. e.printStackTrace();
  180. message = "人事降职申请表删除失败";
  181. throw new BusinessException(e.getMessage());
  182. }
  183. j.setMsg(message);
  184. return j;
  185. }
  186. /**
  187. * 添加人事降职申请表
  188. *
  189. * @param ids
  190. * @return
  191. */
  192. @RequestMapping(params = "doAdd")
  193. @ResponseBody
  194. public AjaxJson doAdd(DemoteTransferEntity demoteTransfer, HttpServletRequest request) {
  195. String message = null;
  196. AjaxJson j = new AjaxJson();
  197. message = "人事降职申请表添加成功";
  198. try{
  199. String sa = demoteTransfer.getInUnitid();
  200. if(StringUtils.isNotEmpty(sa)){
  201. if(sa.indexOf(",") > 0){
  202. demoteTransfer.setInUnitid(sa.substring(0, sa.length()-1));
  203. }
  204. }
  205. String duid = demoteTransfer.getInDutiesid();
  206. if(StringUtils.isNotEmpty(duid)){
  207. if(duid.indexOf(",") > 0){
  208. demoteTransfer.setInDutiesid(duid.substring(0, duid.length()-1));
  209. }
  210. }
  211. String poid = demoteTransfer.getInPostid();
  212. if(StringUtils.isNotEmpty(poid)){
  213. if(poid.indexOf(",") > 0){
  214. demoteTransfer.setInPostid(poid.substring(0, poid.length()-1));
  215. }
  216. }
  217. demoteTransfer.setDeleteFlag(Globals.Delete_Normal.toString());
  218. HttpSession session = ContextHolderUtils.getSession();
  219. TSUser tuser = (TSUser)session.getAttribute("LOCAL_CLINET_USER");
  220. if(tuser != null){
  221. demoteTransfer.setApplicantId(tuser.getId());
  222. }
  223. String addtype = request.getParameter("addtype");
  224. if(Globals.MINUS.toString().equals(addtype)){
  225. demoteTransfer.setSalaryPay(demoteTransfer.getSalaryPay().negate());
  226. }
  227. TSDepart tsDepart = systemService.get(TSDepart.class, demoteTransfer.getBelongUnitid());
  228. if(tsDepart != null && tsDepart.getTSPDepart() != null){
  229. demoteTransfer.setBelongUnitPid(tsDepart.getTSPDepart().getId());
  230. }
  231. TSDepart tsDeparts = systemService.get(TSDepart.class, demoteTransfer.getInUnitid());
  232. if(tsDeparts != null && tsDeparts.getTSPDepart() != null){
  233. demoteTransfer.setInUnitPid(tsDeparts.getTSPDepart().getId());
  234. }
  235. SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd");
  236. ParsePosition pos = new ParsePosition(0);
  237. demoteTransfer.setApplyDate(sim.parse(sim.format(new Date()), pos));
  238. demoteTransferService.save(demoteTransfer);
  239. systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
  240. }catch(Exception e){
  241. e.printStackTrace();
  242. message = "人事降职申请表添加失败";
  243. throw new BusinessException(e.getMessage());
  244. }
  245. j.setMsg(message);
  246. return j;
  247. }
  248. /**
  249. * 更新人事降职申请表
  250. *
  251. * @param ids
  252. * @return
  253. */
  254. @RequestMapping(params = "doUpdate")
  255. @ResponseBody
  256. public AjaxJson doUpdate(DemoteTransferEntity demoteTransfer, HttpServletRequest request) {
  257. String message = null;
  258. AjaxJson j = new AjaxJson();
  259. message = "人事降职申请表更新成功";
  260. DemoteTransferEntity t = demoteTransferService.get(DemoteTransferEntity.class, demoteTransfer.getId());
  261. try {
  262. MyBeanUtils.copyBeanNotNull2Bean(demoteTransfer, t);
  263. String sa = t.getInUnitid();
  264. if(StringUtils.isNotEmpty(sa)){
  265. if(sa.indexOf(",") > 0){
  266. t.setInUnitid(sa.substring(0, sa.length()-1));
  267. }
  268. }
  269. String indu = t.getInDutiesid();
  270. if(StringUtils.isNotEmpty(indu)){
  271. if(indu.indexOf(",") > 0){
  272. t.setInUnitid(indu.substring(0, indu.length()-1));
  273. }
  274. }
  275. String inpo = t.getInPostid();
  276. if(StringUtils.isNotEmpty(inpo)){
  277. if(inpo.indexOf(",") > 0){
  278. t.setInUnitid(inpo.substring(0, inpo.length()-1));
  279. }
  280. }
  281. String addtype = request.getParameter("addtype");
  282. if(Globals.MINUS.toString().equals(addtype)){
  283. t.setSalaryPay(demoteTransfer.getSalaryPay().negate());
  284. }
  285. TSDepart tsDepart = systemService.get(TSDepart.class, demoteTransfer.getBelongUnitid());
  286. if(tsDepart != null && tsDepart.getTSPDepart() != null){
  287. t.setBelongUnitPid(tsDepart.getTSPDepart().getId());
  288. }
  289. TSDepart tsDeparts = systemService.get(TSDepart.class, demoteTransfer.getInUnitid());
  290. if(tsDeparts != null && tsDeparts.getTSPDepart() != null){
  291. t.setInUnitPid(tsDeparts.getTSPDepart().getId());
  292. }
  293. demoteTransferService.saveOrUpdate(t);
  294. systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
  295. } catch (Exception e) {
  296. e.printStackTrace();
  297. message = "人事降职申请表更新失败";
  298. throw new BusinessException(e.getMessage());
  299. }
  300. j.setMsg(message);
  301. return j;
  302. }
  303. /**
  304. * 人事降职申请表新增页面跳转
  305. *
  306. * @return
  307. */
  308. @RequestMapping(params = "goAdd")
  309. public ModelAndView goAdd(DemoteTransferEntity demoteTransfer, HttpServletRequest req) {
  310. if (StringUtil.isNotEmpty(demoteTransfer.getId())) {
  311. demoteTransfer = demoteTransferService.getEntity(DemoteTransferEntity.class, demoteTransfer.getId());
  312. req.setAttribute("demoteTransferPage", demoteTransfer);
  313. }
  314. return new ModelAndView("cn/com/lzt/demotetransfer/demoteTransfer-add");
  315. }
  316. /**
  317. * 人事降职申请表编辑页面跳转
  318. *
  319. * @return
  320. */
  321. @RequestMapping(params = "goUpdate")
  322. public ModelAndView goUpdate(DemoteTransferEntity demoteTransfer, HttpServletRequest req) {
  323. if (StringUtil.isNotEmpty(demoteTransfer.getId())) {
  324. demoteTransfer = demoteTransferService.getEntity(DemoteTransferEntity.class, demoteTransfer.getId());
  325. req.setAttribute("demoteTransferPage", demoteTransfer);
  326. TSUser user = systemService.getEntity(TSUser.class, demoteTransfer.getUserid());
  327. req.setAttribute("user",user);
  328. Map map = new HashMap();
  329. map.put("departid","");
  330. map.put("departname","");
  331. map.put("dutiesid","");
  332. map.put("dutiesName","");
  333. map.put("postid","");
  334. map.put("postname","");
  335. if(StringUtils.isNotEmpty(demoteTransfer.getBelongUnitid())){
  336. TSDepart tsd = systemService.getEntity(TSDepart.class, demoteTransfer.getBelongUnitid());
  337. if(tsd != null){
  338. map.put("departid", tsd.getId());
  339. map.put("departname", modifyService.getByorgId(tsd.getId()));
  340. }
  341. }
  342. if(StringUtils.isNotEmpty(demoteTransfer.getInUnitid())){
  343. TSDepart tsd = systemService.getEntity(TSDepart.class, demoteTransfer.getInUnitid());
  344. if(tsd != null){
  345. req.setAttribute("tid", tsd.getId());
  346. req.setAttribute("tname", modifyService.getByorgId(tsd.getId()));
  347. }
  348. }
  349. if(StringUtils.isNotEmpty(demoteTransfer.getOldDutiesid())){
  350. DutiesEntity du = systemService.getEntity(DutiesEntity.class,demoteTransfer.getOldDutiesid());
  351. if(du != null){
  352. map.put("dutiesid", du.getId());
  353. map.put("dutiesName", du.getDutiesName());
  354. }
  355. }
  356. if(StringUtils.isNotEmpty(demoteTransfer.getOldPostid())){
  357. PostEntity po = systemService.getEntity(PostEntity.class, demoteTransfer.getOldPostid());
  358. if(po != null){
  359. map.put("postid", po.getId());
  360. map.put("postname", po.getPostName());
  361. }
  362. }
  363. if(StringUtils.isNotEmpty(demoteTransfer.getInDutiesid())){
  364. DutiesEntity du = systemService.getEntity(DutiesEntity.class,demoteTransfer.getInDutiesid());
  365. if(du != null){
  366. map.put("dutiesid1", du.getId());
  367. map.put("dutiesName1", du.getDutiesName());
  368. }
  369. }
  370. if(StringUtils.isNotEmpty(demoteTransfer.getInPostid())){
  371. PostEntity po = systemService.getEntity(PostEntity.class, demoteTransfer.getInPostid());
  372. if(po != null){
  373. map.put("postid1", po.getId());
  374. map.put("postname1", po.getPostName());
  375. }
  376. }
  377. req.setAttribute("map", map);
  378. //判断金额是否小于0,如果小于0,则把金额改成正数
  379. /*if(demoteTransfer.getSalaryPay().compareTo(BigDecimal.ZERO) == -1){//小于0
  380. req.setAttribute("addtype", Globals.MINUS.toString());
  381. req.setAttribute("salary", demoteTransfer.getSalaryPay().negate());
  382. }else if(demoteTransfer.getSalaryPay().compareTo(BigDecimal.ZERO) == 0){//等于0
  383. req.setAttribute("addtype", Globals.MINUS.toString());
  384. }else{
  385. req.setAttribute("addtype", Globals.PLUS.toString());
  386. }*/
  387. }
  388. return new ModelAndView("cn/com/lzt/demotetransfer/demoteTransfer-update");
  389. }
  390. /**
  391. * 离职申请表编辑页面跳转
  392. *
  393. * @return
  394. */
  395. @RequestMapping(params = "goView")
  396. public ModelAndView goView(DemoteTransferEntity demoteTransfer, HttpServletRequest req) {
  397. if (StringUtil.isNotEmpty(demoteTransfer.getId())) {
  398. demoteTransfer = demoteTransferService.getEntity(DemoteTransferEntity.class, demoteTransfer.getId());
  399. req.setAttribute("demoteTransferPage", demoteTransfer);
  400. TSUser user = systemService.getEntity(TSUser.class, demoteTransfer.getUserid());
  401. req.setAttribute("user",user);
  402. Map map = new HashMap();
  403. map.put("departid","");
  404. map.put("departname","");
  405. map.put("dutiesid","");
  406. map.put("dutiesName","");
  407. map.put("postid","");
  408. map.put("postname","");
  409. if(StringUtils.isNotEmpty(demoteTransfer.getBelongUnitid())){
  410. TSDepart tsd = systemService.getEntity(TSDepart.class, demoteTransfer.getBelongUnitid());
  411. if(tsd != null){
  412. map.put("departid", tsd.getId());
  413. map.put("departname", modifyService.getByorgId( tsd.getId()));
  414. }
  415. }
  416. if(StringUtils.isNotEmpty(demoteTransfer.getInUnitid())){
  417. TSDepart tsd = systemService.getEntity(TSDepart.class, demoteTransfer.getInUnitid());
  418. if(tsd != null){
  419. req.setAttribute("tid", tsd.getId());
  420. req.setAttribute("tname", modifyService.getByorgId(tsd.getId()));
  421. }
  422. }
  423. if(StringUtils.isNotEmpty(demoteTransfer.getOldDutiesid())){
  424. DutiesEntity du = systemService.getEntity(DutiesEntity.class,demoteTransfer.getOldDutiesid());
  425. if(du != null){
  426. map.put("dutiesid", du.getId());
  427. map.put("dutiesName", du.getDutiesName());
  428. }
  429. }
  430. if(StringUtils.isNotEmpty(demoteTransfer.getOldPostid())){
  431. PostEntity po = systemService.getEntity(PostEntity.class, demoteTransfer.getOldPostid());
  432. if(po != null){
  433. map.put("postid", po.getId());
  434. map.put("postname", po.getPostName());
  435. }
  436. }
  437. if(StringUtils.isNotEmpty(demoteTransfer.getInDutiesid())){
  438. DutiesEntity du = systemService.getEntity(DutiesEntity.class,demoteTransfer.getInDutiesid());
  439. if(du != null){
  440. map.put("dutiesid1", du.getId());
  441. map.put("dutiesName1", du.getDutiesName());
  442. }
  443. }
  444. if(StringUtils.isNotEmpty(demoteTransfer.getInPostid())){
  445. PostEntity po = systemService.getEntity(PostEntity.class, demoteTransfer.getInPostid());
  446. if(po != null){
  447. map.put("postid1", po.getId());
  448. map.put("postname1", po.getPostName());
  449. }
  450. }
  451. req.setAttribute("map", map);
  452. //判断金额是否小于0,如果小于0,则把金额改成正数
  453. /*if(demoteTransfer.getSalaryPay().compareTo(BigDecimal.ZERO) == -1){//小于0
  454. req.setAttribute("addtype", Globals.MINUS.toString());
  455. req.setAttribute("salary", demoteTransfer.getSalaryPay().negate());
  456. }else if(demoteTransfer.getSalaryPay().compareTo(BigDecimal.ZERO) == 0){//等于0
  457. req.setAttribute("addtype", Globals.MINUS.toString());
  458. }else{
  459. req.setAttribute("addtype", Globals.PLUS.toString());
  460. }*/
  461. }
  462. String flage = oConvertUtils.getString(req.getParameter("flage"));
  463. if(oConvertUtils.isNotEmpty(flage)){
  464. req.setAttribute("flage",flage);
  465. }
  466. String taskId = oConvertUtils.getString(req.getParameter("taskId"));
  467. if(oConvertUtils.isNotEmpty(taskId)){
  468. FormProcUtil.initWorkflowParam(req);
  469. req.setAttribute("taskId",taskId);
  470. }
  471. return new ModelAndView("cn/com/lzt/demotetransfer/demoteTransfer-view1");
  472. }
  473. /**
  474. * 导入功能跳转
  475. *
  476. * @return
  477. */
  478. @RequestMapping(params = "upload")
  479. public ModelAndView upload(HttpServletRequest req) {
  480. req.setAttribute("controller_name","demoteTransferController");
  481. return new ModelAndView("common/upload/pub_excel_upload");
  482. }
  483. /**
  484. * 导出excel
  485. *
  486. * @param request
  487. * @param response
  488. */
  489. @RequestMapping(params = "exportXls")
  490. public String exportXls(DemoteTransferEntity demoteTransfer,HttpServletRequest request,HttpServletResponse response
  491. , DataGrid dataGrid,ModelMap modelMap) {
  492. CriteriaQuery cq = new CriteriaQuery(DemoteTransferEntity.class, dataGrid);
  493. org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, demoteTransfer, request.getParameterMap());
  494. List<DemoteTransferEntity> demoteTransfers = this.demoteTransferService.getListByCriteriaQuery(cq,false);
  495. modelMap.put(NormalExcelConstants.FILE_NAME,"人事降职申请表");
  496. modelMap.put(NormalExcelConstants.CLASS,DemoteTransferEntity.class);
  497. modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("人事降职申请表列表", "导出人:"+ResourceUtil.getSessionUser().getRealName(),
  498. "导出信息"));
  499. modelMap.put(NormalExcelConstants.DATA_LIST,demoteTransfers);
  500. return NormalExcelConstants.JEECG_EXCEL_VIEW;
  501. }
  502. /**
  503. * 导出excel 使模板
  504. *
  505. * @param request
  506. * @param response
  507. */
  508. @RequestMapping(params = "exportXlsByT")
  509. public String exportXlsByT(DemoteTransferEntity demoteTransfer,HttpServletRequest request,HttpServletResponse response
  510. , DataGrid dataGrid,ModelMap modelMap) {
  511. modelMap.put(NormalExcelConstants.FILE_NAME,"人事降职申请表");
  512. modelMap.put(NormalExcelConstants.CLASS,DemoteTransferEntity.class);
  513. modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("人事降职申请表列表", "导出人:"+ResourceUtil.getSessionUser().getRealName(),
  514. "导出信息"));
  515. modelMap.put(NormalExcelConstants.DATA_LIST,new ArrayList());
  516. return NormalExcelConstants.JEECG_EXCEL_VIEW;
  517. }
  518. @SuppressWarnings("unchecked")
  519. @RequestMapping(params = "importExcel", method = RequestMethod.POST)
  520. @ResponseBody
  521. public AjaxJson importExcel(HttpServletRequest request, HttpServletResponse response) {
  522. AjaxJson j = new AjaxJson();
  523. MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
  524. Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
  525. for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
  526. MultipartFile file = entity.getValue();// 获取上传文件对象
  527. ImportParams params = new ImportParams();
  528. params.setTitleRows(2);
  529. params.setHeadRows(1);
  530. params.setNeedSave(true);
  531. try {
  532. List<DemoteTransferEntity> listDemoteTransferEntitys = ExcelImportUtil.importExcel(file.getInputStream(),DemoteTransferEntity.class,params);
  533. for (DemoteTransferEntity demoteTransfer : listDemoteTransferEntitys) {
  534. demoteTransferService.save(demoteTransfer);
  535. }
  536. j.setMsg("文件导入成功!");
  537. } catch (Exception e) {
  538. j.setMsg("文件导入失败!");
  539. logger.error(ExceptionUtil.getExceptionMessage(e));
  540. }finally{
  541. try {
  542. file.getInputStream().close();
  543. } catch (IOException e) {
  544. e.printStackTrace();
  545. }
  546. }
  547. }
  548. return j;
  549. }
  550. @RequestMapping(method = RequestMethod.GET)
  551. @ResponseBody
  552. public List<DemoteTransferEntity> list() {
  553. List<DemoteTransferEntity> listDemoteTransfers=demoteTransferService.getList(DemoteTransferEntity.class);
  554. return listDemoteTransfers;
  555. }
  556. @RequestMapping(value = "/{id}", method = RequestMethod.GET)
  557. @ResponseBody
  558. public ResponseEntity<?> get(@PathVariable("id") String id) {
  559. DemoteTransferEntity task = demoteTransferService.get(DemoteTransferEntity.class, id);
  560. if (task == null) {
  561. return new ResponseEntity(HttpStatus.NOT_FOUND);
  562. }
  563. return new ResponseEntity(task, HttpStatus.OK);
  564. }
  565. @RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
  566. @ResponseBody
  567. public ResponseEntity<?> create(@RequestBody DemoteTransferEntity demoteTransfer, UriComponentsBuilder uriBuilder) {
  568. //调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息.
  569. Set<ConstraintViolation<DemoteTransferEntity>> failures = validator.validate(demoteTransfer);
  570. if (!failures.isEmpty()) {
  571. return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST);
  572. }
  573. //保存
  574. try{
  575. demoteTransferService.save(demoteTransfer);
  576. } catch (Exception e) {
  577. e.printStackTrace();
  578. return new ResponseEntity(HttpStatus.NO_CONTENT);
  579. }
  580. //按照Restful风格约定,创建指向新任务的url, 也可以直接返回id或对象.
  581. String id = demoteTransfer.getId();
  582. URI uri = uriBuilder.path("/rest/demoteTransferController/" + id).build().toUri();
  583. HttpHeaders headers = new HttpHeaders();
  584. headers.setLocation(uri);
  585. return new ResponseEntity(headers, HttpStatus.CREATED);
  586. }
  587. @RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
  588. public ResponseEntity<?> update(@RequestBody DemoteTransferEntity demoteTransfer) {
  589. //调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息.
  590. Set<ConstraintViolation<DemoteTransferEntity>> failures = validator.validate(demoteTransfer);
  591. if (!failures.isEmpty()) {
  592. return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST);
  593. }
  594. //保存
  595. try{
  596. demoteTransferService.saveOrUpdate(demoteTransfer);
  597. } catch (Exception e) {
  598. e.printStackTrace();
  599. return new ResponseEntity(HttpStatus.NO_CONTENT);
  600. }
  601. //按Restful约定,返回204状态码, 无内容. 也可以返回200状态码.
  602. return new ResponseEntity(HttpStatus.NO_CONTENT);
  603. }
  604. @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
  605. @ResponseStatus(HttpStatus.NO_CONTENT)
  606. public void delete(@PathVariable("id") String id) {
  607. demoteTransferService.deleteEntityById(DemoteTransferEntity.class, id);
  608. }
  609. }