package cn.com.lzt.userclock.controller; import cn.afterturn.easypoi.entity.vo.NormalExcelConstants; import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.com.lzt.post.entity.PostEntity; import cn.com.lzt.post.service.PostServiceI; import cn.com.lzt.userclock.service.UserClockService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.daju.common.util.DataPage; import com.daju.mix.dao.entity.TBusAttendanceTotal; import com.daju.mix.dao.mapper.TBusAttendanceTotalMapper; import com.daju.mix.dao.service.ITBusAttendanceTotalService; import com.daju.mix.dto.TBUserClockDto; import org.apache.commons.lang.xwork.StringUtils; import org.jeecgframework.core.common.model.json.DataGrid; import org.jeecgframework.core.util.ResourceUtil; import org.jeecgframework.tag.core.easyui.TagUtil; import org.jeecgframework.web.system.pojo.base.TSDepart; import org.jeecgframework.web.system.service.DepartServiceI; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.*; import java.util.stream.Collectors; /** *

* 考勤月统计 前端控制器 *

* * @author rex * @since 2021-08-23 */ @Controller @RequestMapping("/busAttendanceTotalController") public class TBusAttendanceTotalController { @Resource private ITBusAttendanceTotalService itBusAttendanceTotalService; @Resource private PostServiceI postServiceI; @Resource private DepartServiceI departServiceI; @Resource private UserClockService userClockService; @Resource private TBusAttendanceTotalMapper tBusAttendanceTotalMapper; @RequestMapping(params = "list") public ModelAndView list() { return new ModelAndView("cn/com/lzt/user/busAttendanceTotal/busAttendanceTotal-list"); } @RequestMapping(params = "datagrid") public void datagrid(TBusAttendanceTotal tBusAttendanceTotal, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); if (StringUtils.isNotBlank(tBusAttendanceTotal.getUserCode())){ lambdaQueryWrapper.like(TBusAttendanceTotal::getUserCode, tBusAttendanceTotal.getUserCode()); } if (StringUtils.isNotBlank(tBusAttendanceTotal.getRealname())){ lambdaQueryWrapper.like(TBusAttendanceTotal::getRealname, tBusAttendanceTotal.getRealname()); } if (StringUtils.isNotBlank(tBusAttendanceTotal.getTMonth())){ lambdaQueryWrapper.eq(TBusAttendanceTotal::getTMonth, tBusAttendanceTotal.getTMonth()); } if (StringUtils.isNotBlank(tBusAttendanceTotal.getDepart())){ lambdaQueryWrapper.eq(TBusAttendanceTotal::getDepart, tBusAttendanceTotal.getDepart()); } if (StringUtils.isNotBlank(tBusAttendanceTotal.getPost())){ lambdaQueryWrapper.eq(TBusAttendanceTotal::getPost, tBusAttendanceTotal.getPost()); } Page result = itBusAttendanceTotalService.page(new Page<>(dataGrid.getPage(), dataGrid.getRows()), lambdaQueryWrapper); TagUtil.datagrid(response, dataGrid, result); } @RequestMapping(params = "exportXls") public String exportXlsByT(TBusAttendanceTotal tBusAttendanceTotal,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid, ModelMap modelMap) { modelMap.put(NormalExcelConstants.FILE_NAME, "考勤统计"); modelMap.put(NormalExcelConstants.CLASS, TBusAttendanceTotal.class); modelMap.put(NormalExcelConstants.PARAMS, new ExportParams("考勤统计", "导出人:" + ResourceUtil.getSessionUser().getRealName(), "导出信息")); LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); if (StringUtils.isNotBlank(tBusAttendanceTotal.getUserCode())){ lambdaQueryWrapper.like(TBusAttendanceTotal::getUserCode, tBusAttendanceTotal.getUserCode()); } if (StringUtils.isNotBlank(tBusAttendanceTotal.getRealname())){ lambdaQueryWrapper.like(TBusAttendanceTotal::getRealname, tBusAttendanceTotal.getRealname()); } if (StringUtils.isNotBlank(tBusAttendanceTotal.getTMonth())){ lambdaQueryWrapper.eq(TBusAttendanceTotal::getTMonth, tBusAttendanceTotal.getTMonth()); } if (StringUtils.isNotBlank(tBusAttendanceTotal.getDepart())){ lambdaQueryWrapper.eq(TBusAttendanceTotal::getDepart, tBusAttendanceTotal.getDepart()); } if (StringUtils.isNotBlank(tBusAttendanceTotal.getPost())){ lambdaQueryWrapper.eq(TBusAttendanceTotal::getPost, tBusAttendanceTotal.getPost()); } Page result = itBusAttendanceTotalService.page(new Page<>(dataGrid.getPage(), dataGrid.getRows()), lambdaQueryWrapper); List list1 = result.getRecords(); List postEntities = postServiceI.loadAll(PostEntity.class); Map postMap = postEntities.stream().collect(Collectors.toMap(PostEntity::getId, PostEntity::getPostName)); List tsDeparts = departServiceI.loadAll(TSDepart.class); Map departMap = new HashMap<>(); if(tsDeparts != null && tsDeparts.size() > 0){ for (TSDepart item:tsDeparts){ departMap.put(item.getId(),item.getGlcName()); } } list1.forEach(item -> { if(item.getTMonth() != null){ item.setTMonth(item.getTMonth()); } if(item.getPost() != null){ item.setPost(postMap.get(item.getPost())); } if(item.getDepart() != null){ item.setDepart(departMap.get(item.getDepart())); } }); modelMap.put(NormalExcelConstants.DATA_LIST, list1); return NormalExcelConstants.EASYPOI_EXCEL_VIEW; } @RequestMapping(params = "detail") public ModelAndView detail() { return new ModelAndView("cn/com/lzt/user/busAttendanceTotal/busAttendancetoal-detail"); } @RequestMapping(params = "datagrid1") public void datagrid1(TBusAttendanceTotal tBusAttendanceTotal, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) throws Exception { List tbUserClockDtos = userClockService.listOrderByUserIdAndTime(null, null); DataPage dataPage=new DataPage(); dataPage.setList(null); TagUtil.datagrid(response, dataGrid, dataPage); } }