OvertimefinancialController.java 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. package cn.com.lzt.useractiviti.overtimefinancial.controller;
  2. import cn.com.lzt.useractiviti.data.controller.ActivitiToolsController;
  3. import cn.com.lzt.useractiviti.overtimefinancial.entity.OvertimefinancialDetailEntity;
  4. import cn.com.lzt.useractiviti.overtimefinancial.entity.OvertimefinancialEntity;
  5. import com.xcgl.utils.XcglDateUtils;
  6. import org.apache.commons.lang3.StringUtils;
  7. import org.apache.log4j.Logger;
  8. import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery;
  9. import org.jeecgframework.core.common.model.json.AjaxJson;
  10. import org.jeecgframework.core.common.model.json.DataGrid;
  11. import org.jeecgframework.core.constant.Globals;
  12. import org.jeecgframework.core.util.DateUtils;
  13. import org.jeecgframework.tag.core.easyui.TagUtil;
  14. import org.jeecgframework.web.system.service.SystemService;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.stereotype.Controller;
  17. import org.springframework.web.bind.annotation.RequestMapping;
  18. import org.springframework.web.bind.annotation.ResponseBody;
  19. import org.springframework.web.servlet.ModelAndView;
  20. import javax.servlet.http.HttpServletRequest;
  21. import javax.servlet.http.HttpServletResponse;
  22. import java.util.Date;
  23. import java.util.List;
  24. /**
  25. * @Title: Controller
  26. * @Description: 额外加班确认单
  27. * @author onlineGenerator
  28. * @date 2019-10-13 12:00:22
  29. * @version V1.0
  30. *
  31. */
  32. @Controller
  33. @RequestMapping("/overtimefinancialController")
  34. public class OvertimefinancialController extends ActivitiToolsController {
  35. /**
  36. * Logger for this class
  37. */
  38. private static final Logger logger = Logger.getLogger(OvertimefinancialController.class);
  39. @Autowired
  40. private SystemService systemService;
  41. /**
  42. * 加班申请列表 页面跳转
  43. *
  44. * @return
  45. */
  46. @RequestMapping(params = "list")
  47. public ModelAndView list(HttpServletRequest request) {
  48. return new ModelAndView("cn/com/lzt/useractiviti/overtimefinancial/overtimefinancialList");
  49. }
  50. @RequestMapping(params = "detaillist")
  51. public ModelAndView detaillist(HttpServletRequest request) {
  52. String id = request.getParameter("id");
  53. request.setAttribute("overtimeid", id);
  54. return new ModelAndView("cn/com/lzt/useractiviti/overtimefinancial/overtimefinancialdetailList");
  55. }
  56. /**
  57. * easyui AJAX请求数据
  58. *
  59. * @param request
  60. * @param response
  61. * @param dataGrid
  62. */
  63. @RequestMapping(params = "datagrid")
  64. public void datagrid(OvertimefinancialEntity overtime,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  65. CriteriaQuery cq = new CriteriaQuery(OvertimefinancialEntity.class, dataGrid);
  66. if(StringUtils.isNotEmpty(overtime.getDepName())) {
  67. overtime.setDepName("*"+overtime.getDepName()+"*");
  68. }
  69. //查询条件组装器
  70. org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, overtime);
  71. cq.eq("display", 0);
  72. cq.add();
  73. systemService.getDataGridReturn(cq, true);
  74. TagUtil.datagrid(response, dataGrid);
  75. }
  76. @RequestMapping(params = "detaildatagrid")
  77. public void detaildatagrid(String overtimeid,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  78. List<OvertimefinancialDetailEntity> details = systemService.findHql("FROM OvertimefinancialDetailEntity where overtimeId = ?", overtimeid);
  79. dataGrid.setResults(details);
  80. TagUtil.datagrid(response, dataGrid);
  81. }
  82. /**
  83. * 发放加班
  84. *
  85. * @return
  86. */
  87. @RequestMapping(params = "doConfirm")
  88. @ResponseBody
  89. public AjaxJson doConfirm(String ids, HttpServletRequest request) {
  90. AjaxJson j = new AjaxJson();
  91. String message = "加班费发放成功";
  92. CriteriaQuery cq = new CriteriaQuery(OvertimefinancialEntity.class);
  93. cq.in("id", ids.split(","));
  94. cq.add();
  95. //当月5日~下月4日,点【发放】后,记录【发放工资月度】=当前月
  96. String wagemonth = "";
  97. String curMonth = DateUtils.date_sdf.format(new Date()).substring(0,7);
  98. String lastMonth = XcglDateUtils.addDateMonth(new Date(), -1, DateUtils.date_sdf).substring(0,7);
  99. String curDay = DateUtils.date_sdf.format(new Date()).substring(8);
  100. if(curDay.compareTo("04") > 0) {
  101. wagemonth = curMonth;
  102. }else {
  103. wagemonth = lastMonth;
  104. }
  105. List<OvertimefinancialEntity> list = systemService.findByDetached(cq.getDetachedCriteria());
  106. for (OvertimefinancialEntity overtimefinancialEntity : list) {
  107. if(StringUtils.isNotEmpty(overtimefinancialEntity.getWagemonth()))
  108. continue;
  109. overtimefinancialEntity.setStatus("1");
  110. overtimefinancialEntity.setWagemonth(wagemonth);
  111. systemService.save(overtimefinancialEntity);
  112. //更新明细表工资发放月度
  113. systemService.executeSql(" update t_bus_overtime_financial_detail set wagemonth =? where overtime_id=? ",
  114. wagemonth,overtimefinancialEntity.getId());
  115. }
  116. systemService.addLog(message, Globals.Log_Type_OTHER, Globals.Log_Leavel_INFO);
  117. j.setMsg(message);
  118. return j;
  119. }
  120. @RequestMapping(params = "removeData")
  121. @ResponseBody
  122. public AjaxJson removeData(String ids) {
  123. AjaxJson j = new AjaxJson();
  124. String message = "加班记录删除成功";
  125. String [] str = ids.split(",");
  126. for (String id : str) {
  127. String sql = "update t_bus_overtime_financial set display = 1 where id = ?";
  128. systemService.executeSql(sql, id);
  129. }
  130. systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
  131. j.setMsg(message);
  132. return j;
  133. }
  134. }