package cn.com.lzt.useractiviti.overtime.controller; import cn.com.lzt.arrangedutyoperate.dto.UserAndUserPersonnelDto; import cn.com.lzt.common.service.TSysFileServiceI; import cn.com.lzt.common.util.DictUtil; import cn.com.lzt.common.view.JsonDataModelAndView; import cn.com.lzt.cost.activiti.tmpcompany.entity.TBActivitiCostPayTmpCompanyEntity; import cn.com.lzt.exchangeaccount.service.TBExchangeAccountServiceI; import cn.com.lzt.message.data.dao.MessageDataDao; import cn.com.lzt.overtimebudget.service.TBOvertimeBudgetServiceI; import cn.com.lzt.sign.entity.TBRequestEntity; import cn.com.lzt.sign.entity.TBRequestFeedbackEntity; import cn.com.lzt.useractiviti.data.controller.ActivitiToolsController; import cn.com.lzt.useractiviti.data.util.ActivitiPdfExport; import cn.com.lzt.useractiviti.data.util.ActivitiTools; import cn.com.lzt.useractiviti.overtime.entity.TBusActivitiOvertimeAuditEntity; import cn.com.lzt.useractiviti.overtime.entity.TBusActivitiOvertimeEntity; import cn.com.lzt.useractiviti.overtime.entity.TBusActivitiOvertimeVacationEntity; import cn.com.lzt.useractiviti.overtime.service.TBusActivitiOvertimeServiceI; import cn.com.lzt.useractiviti.overtime.page.TBusActivitiOvertimePage; import cn.com.lzt.useractiviti.overtime.entity.TBusActivitiOvertimeDetailEntity; import java.math.BigDecimal; import java.text.ParseException; import java.util.*; import java.text.SimpleDateFormat; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import cn.com.lzt.userwagestrategy.service.UserWagestrategyServiceI; import com.alibaba.fastjson.JSONObject; import com.lowagie.text.pdf.PdfPTable; import com.jeecg.qianbao.util.FormProcUtil; import com.xcgl.weixin.entity.WXAjaxJson; import org.apache.commons.lang.xwork.StringUtils; import org.apache.log4j.Logger; import org.hibernate.Session; import org.jeecgframework.core.util.*; import org.jeecgframework.tag.vo.datatable.SortDirection; import org.jeecgframework.web.system.pojo.base.TSBaseUser; import org.jeecgframework.web.system.pojo.base.TSUser; import org.jeecgframework.web.system.pojo.base.TSUserOrg; import org.jeecgframework.web.system.util.Tool; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import org.jeecgframework.core.common.exception.BusinessException; 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.tag.core.easyui.TagUtil; import org.jeecgframework.web.system.service.SystemService; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.entity.ImportParams; import org.jeecgframework.poi.excel.entity.vo.NormalExcelConstants; import org.springframework.ui.ModelMap; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import java.io.IOException; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.jeecgframework.core.beanvalidator.BeanValidators; import javax.servlet.http.HttpSession; import javax.validation.ConstraintViolation; import javax.validation.Validator; import java.net.URI; import org.springframework.http.MediaType; import org.springframework.web.util.UriComponentsBuilder; /** * @author onlineGenerator * @version V1.0 * @Title: Controller * @Description: 加班申请 * @date 2019-10-13 12:00:22 */ @Controller @RequestMapping("/tBusActivitiOvertimeController") public class TBusActivitiOvertimeController extends ActivitiToolsController { /** * Logger for this class */ private static final Logger logger = Logger.getLogger(TBusActivitiOvertimeController.class); @Autowired private TBusActivitiOvertimeServiceI tBusActivitiOvertimeService; @Autowired private SystemService systemService; @Autowired private Validator validator; @Autowired private UserWagestrategyServiceI userWageStrategyService; @Autowired private TBExchangeAccountServiceI tbExchangeAccountService; private static final Integer[] ruleList = new Integer[]{1, 2, 3, 5, 6, 7}; SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat simpleDateFormatYMDHM = new SimpleDateFormat("yyyy-MM-dd HH:mm"); SimpleDateFormat simpleDateFormatYMD = new SimpleDateFormat("yyyy-MM-dd"); /** * 加班申请列表 页面跳转 * * @return */ @RequestMapping(params = "list") public ModelAndView list(HttpServletRequest request) { return new ModelAndView("cn/com/lzt/useractiviti/overtime/tBusActivitiOvertimeList"); } /** * @return * @Author刘梦祥 * @Date 2021年11月30日11:01:14 * 加班审核列表 页面跳转 * @version 1.0 (初始化) */ @RequestMapping(params = "auditList") public ModelAndView auditList(HttpServletRequest request) { return new ModelAndView("cn/com/lzt/useractiviti/overtime/tBusActivitiOvertimeAuditList"); } /** * @return * @Author刘梦祥 * @Date 2021年12月7日16:47:25 * 休假审核列表 页面跳转 * @version 1.0 (初始化) */ @RequestMapping(params = "vacationList") public ModelAndView vacationList(HttpServletRequest request) { return new ModelAndView("cn/com/lzt/useractiviti/overtime/tBusActivitiOvertimeVacationList"); } /** * 获取当前登录人的审批权限集合 * * @return * @author刘梦祥 * @Date 2021年11月29日00:42:57 */ public Map> getUserRuleMap() { // 获取当前操作人的信息 TSUser user = ResourceUtil.getSessionUser(); CriteriaQuery criteriaQuery = new CriteriaQuery(TSUserOrg.class, new DataGrid()); criteriaQuery.eq("tsUser.id", user.getId()); criteriaQuery.add(); List tsUserOrgList = this.systemService.getListByCriteriaQuery(criteriaQuery, true); DataGrid dataGrid1 = new DataGrid(); CriteriaQuery criteriaQuery1 = new CriteriaQuery(UserAndUserPersonnelDto.class, dataGrid1); criteriaQuery1.eq("userid", user.getId()); criteriaQuery1.add(); List userAndUserPersonnelDtoList = this.systemService.getListByCriteriaQuery(criteriaQuery1, true); Map> ruleMap = new HashMap<>(); // 得到登录人的职位 List departidList = new ArrayList<>(); if (tsUserOrgList != null && tsUserOrgList.size() > 0) { for (TSUserOrg tsUserOrg : tsUserOrgList) { departidList.add(tsUserOrg.getTsDepart().getId()); } } // 得到操作人的岗位 List inPostidList = new ArrayList<>(); if (userAndUserPersonnelDtoList != null && userAndUserPersonnelDtoList.size() > 0) { for (UserAndUserPersonnelDto userInfoDto : userAndUserPersonnelDtoList) { if (StringUtil.isNotEmpty(userInfoDto.getInPostid())) { if (!inPostidList.contains(userInfoDto.getInPostid())) { inPostidList.add(userInfoDto.getInPostid()); } } } } ruleMap.put("departId", departidList); ruleMap.put("inPostid", inPostidList); return ruleMap; } /** * 加班申请初始化请求 * * @param response * @param dataGrid * @author刘梦祥 * @Date 2021年11月25日16:05:09 */ @RequestMapping(params = "datagrid") public void datagrid(HttpServletResponse response, HttpServletRequest request, DataGrid dataGrid) { try { Map queryMap = new HashMap<>(); String queryStr = " where 1 = 1 "; if (StringUtil.isNotEmpty(request.getParameter("departId"))) { queryMap.put("depart_id", request.getParameter("departId")); } if (StringUtil.isNotEmpty(request.getParameter("requestStatus"))) { queryMap.put("request_status", request.getParameter("requestStatus")); } for (String queryKey : queryMap.keySet()) { queryStr += " and " + queryKey + " = \"" + queryMap.get(queryKey) + "\" "; } List> dataGridList = this.systemService.toDataGridByDataGrid("t_bus_activiti_overtime", "agent_user_id", "request_id", "create_date", dataGrid, queryStr); dataGrid.setResults(dataGridList); TagUtil.datagrid(response, dataGrid); } catch (Exception e) { throw new BusinessException(e.getMessage()); } } /** * 休假申请初始化请求 * * @param response * @param dataGrid * @author刘梦祥 * @Date 2021年11月25日16:05:09 */ @RequestMapping(params = "vacationDatagrid") public void vacationDatagrid(HttpServletResponse response, HttpServletRequest request, DataGrid dataGrid) { try { StringBuffer queryStr = new StringBuffer(); queryStr.append(" where 1 = 1 "); // 根据条件处理userid(既有用户名称又有科室id) if (StringUtil.isNotEmpty(request.getParameter("userRealName")) && StringUtil.isNotEmpty(request.getParameter("departId"))) { queryStr.append(" and user_id in (select tsbu.id as userIds from t_s_base_user tsbu LEFT JOIN t_s_user_org tsuo on tsuo.user_id = tsbu.ID where tsbu.realname like \"%" + request.getParameter("userRealName") + "%\" and tsuo.org_id = \"" + request.getParameter("departId") + "\") group by tsbu.id "); // 只有用户名称 } else if (StringUtil.isNotEmpty(request.getParameter("userRealName"))) { queryStr.append(" and user_id in (select tsbu.id as userIds from t_s_base_user tsbu where tsbu.realname like \"%" + request.getParameter("userRealName") + "%\" group by tsbu.id ) "); // 只有科室id } else if (StringUtil.isNotEmpty(request.getParameter("departId"))) { queryStr.append(" and user_id in (select tsuo.user_id as userIds from t_s_user_org tsuo where tsuo.org_id = \"" + request.getParameter("departId") + "\" group by tsuo.user_id ) "); } // 封装审批状态查询条件 if (StringUtil.isNotEmpty(request.getParameter("requestStatus"))) { queryStr.append(" and request_status = \"" + request.getParameter("requestStatus") + "\""); } // 封装休假类型查询条件 if (StringUtil.isNotEmpty(request.getParameter("vacationType"))) { queryStr.append(" and vacation_type = " + request.getParameter("vacationType")); } // 封装休假期间查询条件 if (StringUtil.isNotEmpty(request.getParameter("vacationDate_begin")) && StringUtil.isNotEmpty(request.getParameter("vacationDate_end"))) { queryStr.append(" and vacation_start_date >= \"" + request.getParameter("vacationDate_begin") + "\""); queryStr.append(" and vacation_end_date >= \"" + request.getParameter("vacationDate_end") + "\""); } // 封装申请日期查询条件 if (StringUtil.isNotEmpty(request.getParameter("createTime_begin")) && StringUtil.isNotEmpty(request.getParameter("createTime_end"))) { queryStr.append(" and create_time between \"" + request.getParameter("createTime_begin") + "\" and \"" + request.getParameter("createTime_end") + "\" "); } List> dataGridList = this.systemService.toDataGridByDataGrid("t_bus_activiti_overtime_vacation", "create_user", "request_id", "create_time", dataGrid, queryStr.toString()); // 自定义时间字段赋值,根据UserId得到科室信息 if (dataGridList != null && dataGridList.size() > 0) { for (Map dataGridItem : dataGridList) { if (dataGridItem.containsKey("vacationStartDate")) { dataGridItem.put("vacationStartDateStr", simpleDateFormatYMDHM.format(dataGridItem.get("vacationStartDate"))); } if (dataGridItem.containsKey("vacationEndDate")) { dataGridItem.put("vacationEndDateStr", simpleDateFormatYMDHM.format(dataGridItem.get("vacationEndDate"))); } if (dataGridItem.containsKey("userId")) { String getOrgIdByUserIdSqlStr = "select org_id from t_s_user_org where user_id = \"" + dataGridItem.get("userId") + "\" limit 1;"; Map getOrgIdByUserIdSqlData = systemService.findOneForJdbc(getOrgIdByUserIdSqlStr); if (getOrgIdByUserIdSqlData.containsKey("org_id")) { dataGridItem.put("departId", getOrgIdByUserIdSqlData.get("org_id")); } } } } dataGrid.setResults(dataGridList); TagUtil.datagrid(response, dataGrid); } catch (Exception e) { throw new BusinessException(e.getMessage()); } } /** * 根据流程id返回按钮权限 * * @param requestId * @param btuRule * @return * @author 刘梦祥 * @Date 2021年12月1日14:58:22 */ public Integer getRequestBtuNumber(String requestId, Integer btuRule) { if (requestId != null) { // 获取当前操作人的信息 Map> ruleMap = this.getUserRuleMap(); // 获取审批流id查询审批人信息 TBRequestEntity tbRequestEntity = this.systemService.getEntity(TBRequestEntity.class, requestId); if (tbRequestEntity != null && tbRequestEntity.getCurrentRulerId() != null && !"".equals(tbRequestEntity.getCurrentRulerId())) { JSONObject currentRulerMap = JSONObject.parseObject(tbRequestEntity.getCurrentRulerId()); if (currentRulerMap.containsKey("userId")) { if (currentRulerMap.get("userId").equals(ResourceUtil.getSessionUser().getId())) { btuRule += 2; } } else { if (ruleMap != null) { if (currentRulerMap.containsKey("departId") && ruleMap.get("departId").contains(currentRulerMap.get("departId").toString()) && currentRulerMap.containsKey("inPostid") && ruleMap.get("inPostid").contains(currentRulerMap.get("inPostid").toString())) { btuRule += 2; } } } } // 获取撤回流程权限,权限标识为4(根据流程id查询一下t_b_request_feedback:流程进度反馈表中的记录,没有数据或者最后一条状态是已驳回就可以撤回)也就是说前端只有按钮权限为5、7 CriteriaQuery criteriaQuery = new CriteriaQuery(TBRequestFeedbackEntity.class, new DataGrid()); criteriaQuery.eq("requestId", requestId); criteriaQuery.addOrder("createdAt", SortDirection.desc); criteriaQuery.add(); List tbRequestFeedbackEntityList = this.systemService.getListByCriteriaQuery(criteriaQuery, true); if (tbRequestFeedbackEntityList != null && tbRequestFeedbackEntityList.size() > 0) { // 存在审批数据,且最后的审批结果为“已驳回”的话就可以撤回流程 if (tbRequestFeedbackEntityList.get(tbRequestFeedbackEntityList.size() - 1).getFeedbackStatus().contains("驳回")) { btuRule += 4; } } else { // 不存在审批数据 btuRule += 4; } } return btuRule; } /** * 加班申请初始化请求 * * @param response * @param dataGrid * @author刘梦祥 * @Date 2021年11月25日16:05:09 */ @RequestMapping(params = "AutidDatagrid") public void AutidDatagrid(HttpServletResponse response, DataGrid dataGrid) { try { List tbas = this.systemService.getListByCriteriaQuery(new CriteriaQuery(TBusActivitiOvertimeAuditEntity.class, new DataGrid()), true); List noIds = new ArrayList<>(); for (TBusActivitiOvertimeAuditEntity tbasiTem : tbas) { noIds.add(tbasiTem.getOvertimeIds()); } CriteriaQuery cq = new CriteriaQuery(TBusActivitiOvertimeEntity.class, dataGrid); cq.eq("requestStatus", "已通过"); cq.notin("id", noIds.toArray()); cq.add(); // 获取表中所有的加班申请数据 List TBusActivitiOvertimeEntityList = this.tBusActivitiOvertimeService.getListByCriteriaQuery(cq, true); HttpSession session = ContextHolderUtils.getSession(); TSUser tuser = (TSUser) session.getAttribute("LOCAL_CLINET_USER"); for (TBusActivitiOvertimeEntity tboe : TBusActivitiOvertimeEntityList) { tboe.setVoucherUserId(tuser.getId()); } dataGrid.setTotal(TBusActivitiOvertimeEntityList.size()); dataGrid.setResults(TBusActivitiOvertimeEntityList); TagUtil.datagrid(response, dataGrid); } catch (Exception e) { throw new BusinessException(e.getMessage()); } } /** * 加班审核初始化请求 * * @param response * @param dataGrid * @author刘梦祥 * @Date 2021年11月25日16:05:09 */ @RequestMapping(params = "auditDatagrid") public void auditDatagrid(HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { try { Map queryMap = new HashMap<>(); String queryStr = " where 1 = 1 "; if (StringUtil.isNotEmpty(request.getParameter("departId"))) { queryMap.put("depart_id", request.getParameter("departId")); } if (StringUtil.isNotEmpty(request.getParameter("requestStatus"))) { queryMap.put("request_status", request.getParameter("requestStatus")); } for (String queryKey : queryMap.keySet()) { queryStr += " and " + queryKey + " = \"" + queryMap.get(queryKey) + "\" "; } if (StringUtil.isNotEmpty(request.getParameter("createTime_begin")) && StringUtil.isNotEmpty(request.getParameter("createTime_end"))) { queryStr += " and create_time between \"" + request.getParameter("createTime_begin") + "\" and \"" + request.getParameter("createTime_end") + "\" "; } List> dataGridList = this.systemService.toDataGridByDataGrid("t_bus_activiti_overtime_audit", "create_user", "request_id", "create_time", dataGrid, queryStr); if (dataGridList != null && dataGridList.size() > 0) { for (Map dataGridItem : dataGridList) { // 根据id获取对应的加班详情数据 if (dataGridItem.containsKey("overtimeIds")) { String overTimeId = String.valueOf(dataGridItem.get("overtimeIds")); TBusActivitiOvertimeEntity tBusActivitiOvertime = this.systemService.getEntity(TBusActivitiOvertimeEntity.class, overTimeId); TBusActivitiOvertimeAuditEntity tbao = new TBusActivitiOvertimeAuditEntity(); // 科室 dataGridItem.put("departId", tBusActivitiOvertime.getDepartId()); // 加班人数 dataGridItem.put("overTimeNumber", tBusActivitiOvertime.getUserCount()); // 备注 dataGridItem.put("remake", tBusActivitiOvertime.getReason()); // 总加班费 dataGridItem.put("overTimeTotalAmount", tBusActivitiOvertime.getTotalMoney()); // 加班类型 dataGridItem.put("overTimeType", tBusActivitiOvertime.getOvertimeSettlementType()); } } } dataGrid.setResults(dataGridList); TagUtil.datagrid(response, dataGrid); } catch (Exception e) { throw new BusinessException(e.getMessage()); } } /** * 删除加班申请 * * @return */ @RequestMapping(params = "doDel") @ResponseBody public AjaxJson doDel(TBusActivitiOvertimeEntity tBusActivitiOvertime, HttpServletRequest request) { AjaxJson j = new AjaxJson(); tBusActivitiOvertime = systemService.getEntity(TBusActivitiOvertimeEntity.class, tBusActivitiOvertime.getId()); String message = "加班申请删除成功"; try { tBusActivitiOvertimeService.delMain(tBusActivitiOvertime); systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); } catch (Exception e) { e.printStackTrace(); message = "加班申请删除失败"; throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } /** * 删除加班审核 * * @return AjaxJson * @Author 刘梦祥 * @Date 2021年11月30日16:39:54 */ @RequestMapping(params = "doAuditDel") @ResponseBody public AjaxJson doAuditDel(TBusActivitiOvertimeAuditEntity tBusAudit, HttpServletRequest request) { AjaxJson j = new AjaxJson(); try { this.systemService.deleteEntityById(TBusActivitiOvertimeAuditEntity.class, tBusAudit.getId()); systemService.addLog("加班审核记录删除成功!", Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); j.setMsg("加班审核记录删除成功!"); } catch (Exception e) { e.printStackTrace(); j.setSuccess(false); j.setMsg("加班审核记录删除失败!"); throw new BusinessException(e.getMessage()); } return j; } /** * 删除休假审核 * * @return AjaxJson * @Author 刘梦祥 * @Date 2021年12月9日19:07:09 */ @RequestMapping(params = "doVacationDel") @ResponseBody public AjaxJson doVacationDel(TBusActivitiOvertimeVacationEntity tBusAudit, HttpServletRequest request) { AjaxJson j = new AjaxJson(); try { this.systemService.deleteEntityById(TBusActivitiOvertimeVacationEntity.class, tBusAudit.getId()); systemService.addLog("休假申请记录删除成功!", Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); j.setMsg("休假申请记录删除成功!"); } catch (Exception e) { e.printStackTrace(); j.setSuccess(false); j.setMsg("休假申请记录删除失败!"); throw new BusinessException(e.getMessage()); } return j; } /** * 批量删除加班申请 * * @return */ @RequestMapping(params = "doBatchDel") @ResponseBody public AjaxJson doBatchDel(String ids, HttpServletRequest request) { AjaxJson j = new AjaxJson(); String message = "加班申请删除成功"; try { for (String id : ids.split(",")) { TBusActivitiOvertimeEntity tBusActivitiOvertime = systemService.getEntity(TBusActivitiOvertimeEntity.class, id ); tBusActivitiOvertimeService.delMain(tBusActivitiOvertime); systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); } } catch (Exception e) { e.printStackTrace(); message = "加班申请删除失败"; throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } /** * 添加加班申请 * * @return */ @RequestMapping(params = "doAdd") @ResponseBody public AjaxJson doAdd(TBusActivitiOvertimeEntity tBusActivitiOvertime, TBusActivitiOvertimePage tBusActivitiOvertimePage, HttpServletRequest request) { // update操作 if (StringUtils.isNotBlank(tBusActivitiOvertime.getId())) { return doUpdate(tBusActivitiOvertime, tBusActivitiOvertimePage, request); } AjaxJson j = new AjaxJson(); String message = "添加成功"; try { // 审批状态初始化 tBusActivitiOvertime.setRequestStatus("待提交"); tBusActivitiOvertime.setAgentUserId(ResourceUtil.getSessionUser().getId()); tBusActivitiOvertimeService.addMain(tBusActivitiOvertime, tBusActivitiOvertimePage.getTBusActivitiOvertimeDetailList()); systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO); } catch (Exception e) { e.printStackTrace(); message = "加班申请添加失败"; throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } /** * 添加休假申请 * * @return AjaxJson * @Author 刘梦祥 * @Date 2021年12月9日13:29:46 */ @RequestMapping(params = "doVacationAdd") @ResponseBody public AjaxJson doVacationAdd(TBusActivitiOvertimeVacationEntity tBVacationItem) { AjaxJson j = new AjaxJson(); try { if (StringUtil.isNotEmpty(tBVacationItem.getId())) { // 更新操作 tBVacationItem.setUpdateUser(ResourceUtil.getSessionUser().getId()); tBVacationItem.setUpdateTime(new Date()); j.setMsg("休假申请更新成功"); } else { // 新增操作 tBVacationItem.setId(UUID.randomUUID().toString()); tBVacationItem.setRequestStatus("待提交"); tBVacationItem.setCreateUser(ResourceUtil.getSessionUser().getId()); tBVacationItem.setCreateTime(new Date()); j.setMsg("休假申请新增成功"); } this.systemService.saveOrUpdate(tBVacationItem); } catch (Exception e) { e.printStackTrace(); j.setSuccess(false); j.setMsg("休假申请操作失败"); throw new BusinessException(e.getMessage()); } return j; } /** * 更新加班申请 * * @return */ @RequestMapping(params = "doUpdate") @ResponseBody public AjaxJson doUpdate(TBusActivitiOvertimeEntity tBusActivitiOvertime, TBusActivitiOvertimePage tBusActivitiOvertimePage, HttpServletRequest request) { List tBusActivitiOvertimeDetailList = tBusActivitiOvertimePage.getTBusActivitiOvertimeDetailList(); AjaxJson j = new AjaxJson(); String message = "更新成功"; try { tBusActivitiOvertime.setUserCount(tBusActivitiOvertimeDetailList.size()); tBusActivitiOvertimeService.updateMain(tBusActivitiOvertime, tBusActivitiOvertimeDetailList); systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO); if (StringUtil.isNotEmpty(request.getParameter("pagePath")) && "add".equals(request.getParameter("pagePath"))) { // 向加班审批表中插入数据 TBusActivitiOvertimeAuditEntity tBusActivitiOvertimeAuditEntity = new TBusActivitiOvertimeAuditEntity(); tBusActivitiOvertimeAuditEntity.setId(UUID.randomUUID().toString()); tBusActivitiOvertimeAuditEntity.setOvertimeIds(tBusActivitiOvertime.getId()); tBusActivitiOvertimeAuditEntity.setDepartId(tBusActivitiOvertime.getDepartId()); tBusActivitiOvertimeAuditEntity.setRemake(tBusActivitiOvertime.getReason()); tBusActivitiOvertimeAuditEntity.setRequestStatus("待提交"); HttpSession session = ContextHolderUtils.getSession(); TSUser tuser = (TSUser) session.getAttribute("LOCAL_CLINET_USER"); tBusActivitiOvertimeAuditEntity.setCreateUser(tuser.getId()); tBusActivitiOvertimeAuditEntity.setCreateTime(new Date()); this.tBusActivitiOvertimeService.saveOrUpdate(tBusActivitiOvertimeAuditEntity); message = "添加成功"; } } catch (Exception e) { e.printStackTrace(); message = "更新加班申请失败"; throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } /** * 加班申请新增页面跳转 * * @return */ @RequestMapping(params = "goAdd") public ModelAndView goAdd(TBusActivitiOvertimeEntity tBusActivitiOvertime, HttpServletRequest req) { if (StringUtil.isNotEmpty(tBusActivitiOvertime.getId())) { tBusActivitiOvertime = tBusActivitiOvertimeService.getEntity(TBusActivitiOvertimeEntity.class, tBusActivitiOvertime.getId()); req.setAttribute("tBusActivitiOvertimePage", tBusActivitiOvertime); } String userId = ResourceUtil.getSessionUser().getId(); req.setAttribute("userId", userId); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM"); req.setAttribute("month", format.format(new Date())); return new ModelAndView("cn/com/lzt/useractiviti/overtime/tBusActivitiOvertime-add"); } /** * @return ModelAndView * @Title: goVacationAdd * @Description: 休假申请录入以及编辑页面跳转 * @author 刘梦祥 * @date 2021年12月9日10:27:54 */ @RequestMapping(params = "goVacationAdd") public ModelAndView goVacationAdd(TBusActivitiOvertimeVacationEntity tbItem, HttpServletRequest req) { if (StringUtil.isNotEmpty(tbItem.getId())) { tbItem = this.systemService.getEntity(TBusActivitiOvertimeVacationEntity.class, tbItem.getId()); if (tbItem != null && StringUtil.isNotEmpty(tbItem.getUserId())) { // 得到科室信息 CriteriaQuery criteriaQuery = new CriteriaQuery(TSUserOrg.class, new DataGrid()); criteriaQuery.eq("tsUser.id", tbItem.getUserId()); criteriaQuery.add(); List tsUserOrgList = this.systemService.getListByCriteriaQuery(criteriaQuery, true); if (tsUserOrgList != null && tsUserOrgList.size() > 0) { tbItem.setDepartId(tsUserOrgList.get(0).getTsDepart().getId()); } else { tbItem.setDepartId("科室信息获取异常"); } // 得到工龄 TSUser tsUser = this.systemService.getEntity(TSUser.class, tbItem.getUserId()); if (tsUser.getEmploymentDate() != null) { long workTime = new Date().getTime() - tsUser.getEmploymentDate().getTime(); tbItem.setWorkYear(String.valueOf(Math.floor(workTime / (365L * 24 * 60 * 60 * 1000)))); } else { tbItem.setWorkYear("该员工入职日期获取失败"); } TSBaseUser tsBaseUser = this.systemService.getEntity(TSBaseUser.class, tbItem.getUserId()); // 得到真实姓名 tbItem.setUserRealName(tsBaseUser.getRealName()); } // 计算休假总天数(首先获取休假类型) // if (StringUtil.isNotEmpty(tbItem.getVacationType())) { // long vacationTime = tbItem.getVacationEndDate().getTime() - tbItem.getVacationStartDate().getTime(); // if ("7".equals(tbItem.getVacationType())) { // tbItem.setVacationTotalDay(String.valueOf(Math.floor(vacationTime / (60 * 60 * 1000)))); // } else { // tbItem.setVacationTotalDay(String.valueOf(Math.floor(vacationTime / (24 * 60 * 60 * 1000)))); // } // } else { // tbItem.setVacationTotalDay("休假总天数计算异常"); // } req.setAttribute("entity", tbItem); if (StringUtil.isNotEmpty(req.getParameter("pageType"))) { req.setAttribute("pageType", req.getParameter("pageType")); } else { req.setAttribute("pageType", "Detail"); } } // 返回当前用户的科室id if (ResourceUtil.getSessionUser() != null) { if (StringUtil.isNotEmpty(ResourceUtil.getSessionUser().getDepartid())) { req.setAttribute("departid", ResourceUtil.getSessionUser().getDepartid()); } } return new ModelAndView("cn/com/lzt/useractiviti/overtime/tBusActivitiOvertimeVacationList-AUD"); } /** * 加班审核选取页面跳转 * * @return */ @RequestMapping(params = "goAuditAdd") public ModelAndView goAuditAdd(TBusActivitiOvertimeEntity tBusActivitiOvertime, HttpServletRequest req) { return new ModelAndView("cn/com/lzt/useractiviti/overtime/tBusActivitiOvertime_AutidAddWindow"); } /** * @return ModelAndView * @Title: goWorkingHoursAdd * @Description: 按工时结算页面跳转 * @author 刘梦祥 * @date 2021年11月3日15:04:05 */ @RequestMapping(params = "goWorkingHoursAdd") public ModelAndView goWorkingHoursAdd(TBusActivitiOvertimeEntity tBusActivitiOvertime, HttpServletRequest req) { String userId = ResourceUtil.getSessionUser().getId(); req.setAttribute("userId", userId); // 编辑或查看页面 if (StringUtil.isNotEmpty(tBusActivitiOvertime.getId())) { tBusActivitiOvertime = tBusActivitiOvertimeService.getEntity(TBusActivitiOvertimeEntity.class, tBusActivitiOvertime.getId()); req.setAttribute("tBusActivitiOvertimePage", tBusActivitiOvertime); } else { // 添加页面 // 根据userid获取用户科室 TSBaseUser tsBaseUser = this.systemService.getEntity(TSBaseUser.class, userId); tBusActivitiOvertime.setDepartId(tsBaseUser.getDepartid()); req.setAttribute("tBusActivitiOvertimePage", tBusActivitiOvertime); } req.setAttribute("overtimeSettlementType", "1"); req.setAttribute("pageType", "Add"); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM"); req.setAttribute("month", format.format(new Date())); return new ModelAndView("cn/com/lzt/useractiviti/overtime/tBusActivitiOvertimeWorkingHours-add"); } /** * @return ModelAndView * @Title: goTonnageAdd * @Description: 按吨数结算页面跳转 * @author 刘梦祥 * @date 2021年11月3日15:04:05 */ @RequestMapping(params = "goTonnageAdd") public ModelAndView goTonnageAdd(TBusActivitiOvertimeEntity tBusActivitiOvertime, HttpServletRequest req) { String userId = ResourceUtil.getSessionUser().getId(); req.setAttribute("userId", userId); if (StringUtil.isNotEmpty(tBusActivitiOvertime.getId())) { tBusActivitiOvertime = tBusActivitiOvertimeService.getEntity(TBusActivitiOvertimeEntity.class, tBusActivitiOvertime.getId()); req.setAttribute("tBusActivitiOvertimePage", tBusActivitiOvertime); } else { // 根据userid获取用户科室 TSBaseUser tsBaseUser = this.systemService.getEntity(TSBaseUser.class, userId); tBusActivitiOvertime.setDepartId(tsBaseUser.getDepartid()); req.setAttribute("tBusActivitiOvertimePage", tBusActivitiOvertime); } req.setAttribute("overtimeSettlementType", "2"); req.setAttribute("pageType", "Add"); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM"); req.setAttribute("month", format.format(new Date())); return new ModelAndView("cn/com/lzt/useractiviti/overtime/tBusActivitiOvertimeWorkingHours-add"); } /** * 加班申请编辑页面跳转 * * @return */ @RequestMapping(params = "goUpdate") public ModelAndView goUpdate(TBusActivitiOvertimeEntity tBusActivitiOvertime, HttpServletRequest req) { if (StringUtil.isNotEmpty(tBusActivitiOvertime.getId())) { tBusActivitiOvertime = tBusActivitiOvertimeService.getEntity(TBusActivitiOvertimeEntity.class, tBusActivitiOvertime.getId()); req.setAttribute("tBusActivitiOvertimePage", tBusActivitiOvertime); req.setAttribute("overtimeSettlementType", tBusActivitiOvertime.getOvertimeSettlementType()); req.setAttribute("pageType", "Update"); } String userId = ResourceUtil.getSessionUser().getId(); if (StringUtil.isNotEmpty(req.getParameter("pagePath"))) { req.setAttribute("pagePath", req.getParameter("pagePath")); } req.setAttribute("userId", userId); return new ModelAndView("cn/com/lzt/useractiviti/overtime/tBusActivitiOvertimeWorkingHours-add"); } /** * 加班申请编辑页面跳转 * * @return */ @RequestMapping(params = "goDetail") public ModelAndView goDetail(TBusActivitiOvertimeEntity tBusActivitiOvertime, HttpServletRequest req) { if (StringUtil.isNotEmpty(req.getParameter("pageTo")) && "Audit".equals(req.getParameter("pageTo"))) { TBusActivitiOvertimeAuditEntity tBusActivitiOvertimeAuditEntity = this.systemService.getEntity(TBusActivitiOvertimeAuditEntity.class, tBusActivitiOvertime.getId()); if (tBusActivitiOvertimeAuditEntity != null) { tBusActivitiOvertime = tBusActivitiOvertimeService.getEntity(TBusActivitiOvertimeEntity.class, tBusActivitiOvertimeAuditEntity.getOvertimeIds()); req.setAttribute("tBusActivitiOvertimePage", tBusActivitiOvertime); req.setAttribute("overtimeSettlementType", tBusActivitiOvertime.getOvertimeSettlementType()); req.setAttribute("pageType", "Detail"); } } else if (StringUtil.isNotEmpty(tBusActivitiOvertime.getId())) { tBusActivitiOvertime = tBusActivitiOvertimeService.getEntity(TBusActivitiOvertimeEntity.class, tBusActivitiOvertime.getId()); req.setAttribute("tBusActivitiOvertimePage", tBusActivitiOvertime); req.setAttribute("overtimeSettlementType", tBusActivitiOvertime.getOvertimeSettlementType()); req.setAttribute("pageType", "Detail"); } String userId = ResourceUtil.getSessionUser().getId(); req.setAttribute("userId", userId); return new ModelAndView("cn/com/lzt/useractiviti/overtime/tBusActivitiOvertimeWorkingHours-add"); } /** * 加载明细列表[加班详情] * * @return */ @RequestMapping(params = "tBusActivitiOvertimeDetailList") public ModelAndView tBusActivitiOvertimeDetailList(TBusActivitiOvertimeEntity tBusActivitiOvertime, HttpServletRequest req) { //=================================================================================== //获取参数 Object id0 = tBusActivitiOvertime.getId(); String overtimeSettlementType = tBusActivitiOvertime.getOvertimeSettlementType(); TBusActivitiOvertimeEntity overtimeEntity = systemService.getEntity(TBusActivitiOvertimeEntity.class, id0.toString()); //=================================================================================== //查询-加班详情 String hql0 = "from TBusActivitiOvertimeDetailEntity where 1 = 1 AND overtimeId =? "; try { List tBusActivitiOvertimeDetailEntityList = systemService.findHql(hql0, id0); for (TBusActivitiOvertimeDetailEntity t : tBusActivitiOvertimeDetailEntityList) { t.setDepartId(overtimeEntity.getDepartId()); } req.setAttribute("tBusActivitiOvertimeDetailList", tBusActivitiOvertimeDetailEntityList); req.setAttribute("overtimeSettlementType", overtimeSettlementType); if (StringUtil.isNotEmpty(req.getParameter("pagePath"))) { req.setAttribute("pagePath", req.getParameter("pagePath")); } } catch (Exception e) { logger.info(e.getMessage()); } return new ModelAndView("cn/com/lzt/useractiviti/overtime/tBusActivitiOvertimeDetailList"); } /** * 导出excel * * @param request * @param response */ @RequestMapping(params = "exportXls") public String exportXls(TBusActivitiOvertimeEntity tBusActivitiOvertime, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid, ModelMap map) { CriteriaQuery cq = new CriteriaQuery(TBusActivitiOvertimeEntity.class, dataGrid); //查询条件组装器 org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, tBusActivitiOvertime); try { //自定义追加查询条件 } catch (Exception e) { throw new BusinessException(e.getMessage()); } cq.add(); List list = this.tBusActivitiOvertimeService.getListByCriteriaQuery(cq, false); List pageList = new ArrayList(); if (list != null && list.size() > 0) { for (TBusActivitiOvertimeEntity entity : list) { try { TBusActivitiOvertimePage page = new TBusActivitiOvertimePage(); MyBeanUtils.copyBeanNotNull2Bean(entity, page); Object id0 = entity.getId(); String hql0 = "from TBusActivitiOvertimeDetailEntity where 1 = 1 AND oVERTIME_ID =? "; List tBusActivitiOvertimeDetailEntityList = systemService.findHql(hql0, id0); page.setTBusActivitiOvertimeDetailList(tBusActivitiOvertimeDetailEntityList); pageList.add(page); } catch (Exception e) { logger.info(e.getMessage()); } } } map.put(NormalExcelConstants.FILE_NAME, "加班申请"); map.put(NormalExcelConstants.CLASS, TBusActivitiOvertimePage.class); map.put(NormalExcelConstants.PARAMS, new ExportParams("加班申请列表", "导出人:Jeecg", "导出信息")); map.put(NormalExcelConstants.DATA_LIST, pageList); return NormalExcelConstants.JEECG_EXCEL_VIEW; } /** * 通过excel导入数据 * * @param request * @param * @return */ @RequestMapping(params = "importExcel", method = RequestMethod.POST) @ResponseBody public AjaxJson importExcel(HttpServletRequest request, HttpServletResponse response) { AjaxJson j = new AjaxJson(); MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Map fileMap = multipartRequest.getFileMap(); for (Map.Entry entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// 获取上传文件对象 ImportParams params = new ImportParams(); params.setTitleRows(2); params.setHeadRows(2); params.setNeedSave(true); try { List list = ExcelImportUtil.importExcel(file.getInputStream(), TBusActivitiOvertimePage.class, params); TBusActivitiOvertimeEntity entity1 = null; for (TBusActivitiOvertimePage page : list) { entity1 = new TBusActivitiOvertimeEntity(); MyBeanUtils.copyBeanNotNull2Bean(page, entity1); tBusActivitiOvertimeService.addMain(entity1, page.getTBusActivitiOvertimeDetailList()); } j.setMsg("文件导入成功!"); } catch (Exception e) { j.setMsg("文件导入失败!"); logger.error(ExceptionUtil.getExceptionMessage(e)); } finally { try { file.getInputStream().close(); } catch (IOException e) { e.printStackTrace(); } } } return j; } /** * 导出excel 使模板 */ @RequestMapping(params = "exportXlsByT") public String exportXlsByT(ModelMap map) { map.put(NormalExcelConstants.FILE_NAME, "加班申请"); map.put(NormalExcelConstants.CLASS, TBusActivitiOvertimePage.class); map.put(NormalExcelConstants.PARAMS, new ExportParams("加班申请列表", "导出人:" + ResourceUtil.getSessionUser().getRealName(), "导出信息")); map.put(NormalExcelConstants.DATA_LIST, new ArrayList()); return NormalExcelConstants.JEECG_EXCEL_VIEW; } /** * 导入功能跳转 * * @return */ @RequestMapping(params = "upload") public ModelAndView upload(HttpServletRequest req) { req.setAttribute("controller_name", "tBusActivitiOvertimeController"); return new ModelAndView("common/upload/pub_excel_upload"); } @RequestMapping(method = RequestMethod.GET) @ResponseBody public List list() { List listTBusActivitiOvertimes = tBusActivitiOvertimeService.getList(TBusActivitiOvertimeEntity.class); return listTBusActivitiOvertimes; } @RequestMapping(value = "/{id}", method = RequestMethod.GET) @ResponseBody public ResponseEntity get(@PathVariable("id") String id) { TBusActivitiOvertimeEntity task = tBusActivitiOvertimeService.get(TBusActivitiOvertimeEntity.class, id); if (task == null) { return new ResponseEntity(HttpStatus.NOT_FOUND); } return new ResponseEntity(task, HttpStatus.OK); } @RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public ResponseEntity create(@RequestBody TBusActivitiOvertimePage tBusActivitiOvertimePage, UriComponentsBuilder uriBuilder) { //调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息. Set> failures = validator.validate(tBusActivitiOvertimePage); if (!failures.isEmpty()) { return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST); } //保存 List tBusActivitiOvertimeDetailList = tBusActivitiOvertimePage.getTBusActivitiOvertimeDetailList(); TBusActivitiOvertimeEntity tBusActivitiOvertime = new TBusActivitiOvertimeEntity(); try { MyBeanUtils.copyBeanNotNull2Bean(tBusActivitiOvertime, tBusActivitiOvertimePage); } catch (Exception e) { logger.info(e.getMessage()); } tBusActivitiOvertimeService.addMain(tBusActivitiOvertime, tBusActivitiOvertimeDetailList); //按照Restful风格约定,创建指向新任务的url, 也可以直接返回id或对象. String id = tBusActivitiOvertimePage.getId(); URI uri = uriBuilder.path("/rest/tBusActivitiOvertimeController/" + id).build().toUri(); HttpHeaders headers = new HttpHeaders(); headers.setLocation(uri); return new ResponseEntity(headers, HttpStatus.CREATED); } @RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity update(@RequestBody TBusActivitiOvertimePage tBusActivitiOvertimePage) { //调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息. Set> failures = validator.validate(tBusActivitiOvertimePage); if (!failures.isEmpty()) { return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST); } //保存 List tBusActivitiOvertimeDetailList = tBusActivitiOvertimePage.getTBusActivitiOvertimeDetailList(); TBusActivitiOvertimeEntity tBusActivitiOvertime = new TBusActivitiOvertimeEntity(); try { MyBeanUtils.copyBeanNotNull2Bean(tBusActivitiOvertime, tBusActivitiOvertimePage); } catch (Exception e) { logger.info(e.getMessage()); } tBusActivitiOvertimeService.updateMain(tBusActivitiOvertime, tBusActivitiOvertimeDetailList); //按Restful约定,返回204状态码, 无内容. 也可以返回200状态码. return new ResponseEntity(HttpStatus.NO_CONTENT); } @RequestMapping(value = "/{id}", method = RequestMethod.DELETE) @ResponseStatus(HttpStatus.NO_CONTENT) public void delete(@PathVariable("id") String id) { TBusActivitiOvertimeEntity tBusActivitiOvertime = tBusActivitiOvertimeService.get(TBusActivitiOvertimeEntity.class, id); tBusActivitiOvertimeService.delMain(tBusActivitiOvertime); } //审批 @RequestMapping(params = "goView") public ModelAndView goView(TBusActivitiOvertimeEntity entity, HttpServletRequest req) { String userid = ""; if (StringUtil.isNotEmpty(entity.getId())) { entity = tBusActivitiOvertimeService.getEntity(TBusActivitiOvertimeEntity.class, entity.getId()); req.setAttribute("tBusActivitiOvertimePage", entity); } String taskId = oConvertUtils.getString(req.getParameter("taskId")); if (oConvertUtils.isNotEmpty(taskId)) { FormProcUtil.initWorkflowParam(req); req.setAttribute("taskId", taskId); } req.setAttribute("in_process", true); //加班预算 /*String depId = entity.getDepartId(); String month = entity.getMonth(); double budget = tBOvertimeBudgetService.getMonthLeftBudget(depId, month); req.setAttribute("budget", budget);*/ return new ModelAndView("cn/com/lzt/useractiviti/overtime/tBusActivitiOvertime-add"); } //手机审批 @RequestMapping(params = "goViewMobile") public ModelAndView goViewMobile(TBusActivitiOvertimeEntity entity, HttpServletRequest req) { goView(entity, req); Map data = new HashMap<>(); data.put("entity", req.getAttribute("tBusActivitiOvertimePage")); return new JsonDataModelAndView(WXAjaxJson.success(data)); // return new ModelAndView("cn/com/lzt/useractiviti/overtime/overtime_view_mobile"); } @RequestMapping(params = "getBaseHourWage") @ResponseBody public BigDecimal getBaseHourWage(@RequestParam("userId") String userId) { try { BigDecimal wage = userWageStrategyService.getBaseHourWage(userId); return wage; } catch (Exception e) { e.printStackTrace(); } return BigDecimal.ZERO; } @RequestMapping(params = "exportDetailPdf4Mobile") public void exportDetailPdf4Mobile(@RequestParam("procInstId") String procInstId, HttpServletResponse response) { ActivitiTools tools = ActivitiTools.getInstance(procInstId, true); // ActivitiPdfExport pdfExport = tools.getPdfExport(); // exportPdf(pdfExport,tools.getBusId()); // pdfExport.procInstId(null); tools.view(response); } private void exportPdf(ActivitiPdfExport pdfExport, String id) { TBusActivitiOvertimeEntity entity = systemService.getEntity(TBusActivitiOvertimeEntity.class, id); pdfExport .table() .cell("申请人", entity.getCreateName()) .cell("加班项目", entity.getDepName()) .cell("加班月份", entity.getMonth()) .cell("总时长", entity.getTotalHour().toString()) .cell("总金额", entity.getTotalMoney().toString()) .cell("加班原因", entity.getReason()) ; List detailEntityList = systemService.findByProperty(TBusActivitiOvertimeDetailEntity.class, "overtimeId", id); pdfExport.cell(""); PdfPTable detailTableHeader = pdfExport.createTable(7); detailTableHeader.setWidthPercentage(100); pdfExport.cell(detailTableHeader, "加班员工", true); pdfExport.cell(detailTableHeader, "开始时间", true); pdfExport.cell(detailTableHeader, "结束时间", true); pdfExport.cell(detailTableHeader, "加班时长", true); pdfExport.cell(detailTableHeader, "补偿方式", true); pdfExport.cell(detailTableHeader, "加班费", true); pdfExport.cell(detailTableHeader, "调休余额", true); pdfExport.cell(detailTableHeader); String yearMonth = entity.getMonth(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM"); String year = null; try { Date date = format.parse(yearMonth); year = tbExchangeAccountService.getYear(date); } catch (ParseException e) { e.printStackTrace(); } int i = 0; for (TBusActivitiOvertimeDetailEntity detailEntity : detailEntityList) { i++; PdfPTable detailTable = pdfExport.createTable(7); pdfExport.cell(detailTable, detailEntity.getRealName(), false); pdfExport.cell(detailTable, DataUtils.formatDate(detailEntity.getStartTime(), "yyyy-MM-dd HH:mm:ss"), false); pdfExport.cell(detailTable, DataUtils.formatDate(detailEntity.getEndTime(), "yyyy-MM-dd HH:mm:ss"), false); pdfExport.cell(detailTable, detailEntity.getHour().toString(), false); pdfExport.cell(detailTable, DictUtil.formatToTypeName(detailEntity.getCompensate(), "overtime_compensate"), false); pdfExport.cell(detailTable, detailEntity.getMoney().toString(), false); Double accountBalance = tbExchangeAccountService.getBalance(detailEntity.getUserid(), year, detailEntity.getCreateDate()); pdfExport.cell(detailTable, accountBalance.toString(), false); pdfExport.cell("加班明细" + i, true); pdfExport.cell(detailTable); } } @RequestMapping(params = "list4all") public ModelAndView list4all(HttpServletRequest request) { return new ModelAndView("cn/com/lzt/useractiviti/overtime/overtime_list_all"); } /** * easyui AJAX请求数据 * * @param request * @param response * @param dataGrid */ @RequestMapping(params = "datagrid4all") public void datagrid4all(TBusActivitiOvertimeEntity entity, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { CriteriaQuery cq = new CriteriaQuery(TBusActivitiOvertimeEntity.class, dataGrid); if (StringUtils.isNotBlank(entity.getDepName())) { cq.like("depName", "%" + entity.getDepName() + "%"); entity.setDepName(null); } if (StringUtils.isNotBlank(entity.getCreateName())) { cq.like("createName", "%" + entity.getCreateName() + "%"); entity.setCreateName(null); } //查询条件组装器 org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, entity, request.getParameterMap()); try { //自定义追加查询条件 TSUser user = ResourceUtil.getSessionUser(); } catch (Exception e) { throw new BusinessException(e.getMessage()); } cq.add(); this.tBusActivitiOvertimeService.getDataGridReturn(cq, true); TagUtil.datagrid(response, dataGrid); } }