package cn.com.lzt.useractiviti.overtimefinancial.controller; import cn.com.lzt.useractiviti.data.controller.ActivitiToolsController; import cn.com.lzt.useractiviti.overtimefinancial.entity.OvertimefinancialDetailEntity; import cn.com.lzt.useractiviti.overtimefinancial.entity.OvertimefinancialEntity; import com.xcgl.utils.XcglDateUtils; import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; import org.jeecgframework.core.common.model.json.AjaxJson; import org.jeecgframework.core.common.model.json.DataGrid; import org.jeecgframework.core.constant.Globals; import org.jeecgframework.core.util.DateUtils; import org.jeecgframework.tag.core.easyui.TagUtil; import org.jeecgframework.web.system.service.SystemService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Date; import java.util.List; /** * @Title: Controller * @Description: 额外加班确认单 * @author onlineGenerator * @date 2019-10-13 12:00:22 * @version V1.0 * */ @Controller @RequestMapping("/overtimefinancialController") public class OvertimefinancialController extends ActivitiToolsController { /** * Logger for this class */ private static final Logger logger = Logger.getLogger(OvertimefinancialController.class); @Autowired private SystemService systemService; /** * 加班申请列表 页面跳转 * * @return */ @RequestMapping(params = "list") public ModelAndView list(HttpServletRequest request) { return new ModelAndView("cn/com/lzt/useractiviti/overtimefinancial/overtimefinancialList"); } @RequestMapping(params = "detaillist") public ModelAndView detaillist(HttpServletRequest request) { String id = request.getParameter("id"); request.setAttribute("overtimeid", id); return new ModelAndView("cn/com/lzt/useractiviti/overtimefinancial/overtimefinancialdetailList"); } /** * easyui AJAX请求数据 * * @param request * @param response * @param dataGrid */ @RequestMapping(params = "datagrid") public void datagrid(OvertimefinancialEntity overtime,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { CriteriaQuery cq = new CriteriaQuery(OvertimefinancialEntity.class, dataGrid); if(StringUtils.isNotEmpty(overtime.getDepName())) { overtime.setDepName("*"+overtime.getDepName()+"*"); } //查询条件组装器 org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, overtime); cq.eq("display", 0); cq.add(); systemService.getDataGridReturn(cq, true); TagUtil.datagrid(response, dataGrid); } @RequestMapping(params = "detaildatagrid") public void detaildatagrid(String overtimeid,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { List details = systemService.findHql("FROM OvertimefinancialDetailEntity where overtimeId = ?", overtimeid); dataGrid.setResults(details); TagUtil.datagrid(response, dataGrid); } /** * 发放加班 * * @return */ @RequestMapping(params = "doConfirm") @ResponseBody public AjaxJson doConfirm(String ids, HttpServletRequest request) { AjaxJson j = new AjaxJson(); String message = "加班费发放成功"; CriteriaQuery cq = new CriteriaQuery(OvertimefinancialEntity.class); cq.in("id", ids.split(",")); cq.add(); //当月5日~下月4日,点【发放】后,记录【发放工资月度】=当前月 String wagemonth = ""; String curMonth = DateUtils.date_sdf.format(new Date()).substring(0,7); String lastMonth = XcglDateUtils.addDateMonth(new Date(), -1, DateUtils.date_sdf).substring(0,7); String curDay = DateUtils.date_sdf.format(new Date()).substring(8); if(curDay.compareTo("04") > 0) { wagemonth = curMonth; }else { wagemonth = lastMonth; } List list = systemService.findByDetached(cq.getDetachedCriteria()); for (OvertimefinancialEntity overtimefinancialEntity : list) { if(StringUtils.isNotEmpty(overtimefinancialEntity.getWagemonth())) continue; overtimefinancialEntity.setStatus("1"); overtimefinancialEntity.setWagemonth(wagemonth); systemService.save(overtimefinancialEntity); //更新明细表工资发放月度 systemService.executeSql(" update t_bus_overtime_financial_detail set wagemonth =? where overtime_id=? ", wagemonth,overtimefinancialEntity.getId()); } systemService.addLog(message, Globals.Log_Type_OTHER, Globals.Log_Leavel_INFO); j.setMsg(message); return j; } @RequestMapping(params = "removeData") @ResponseBody public AjaxJson removeData(String ids) { AjaxJson j = new AjaxJson(); String message = "加班记录删除成功"; String [] str = ids.split(","); for (String id : str) { String sql = "update t_bus_overtime_financial set display = 1 where id = ?"; systemService.executeSql(sql, id); } systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); j.setMsg(message); return j; } }