TBusAttendanceTotalController.java 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. package cn.com.lzt.userclock.controller;
  2. import cn.afterturn.easypoi.entity.vo.NormalExcelConstants;
  3. import cn.afterturn.easypoi.excel.entity.ExportParams;
  4. import cn.com.lzt.post.entity.PostEntity;
  5. import cn.com.lzt.post.service.PostServiceI;
  6. import cn.com.lzt.userclock.service.UserClockService;
  7. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  8. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  9. import com.daju.common.util.DataPage;
  10. import com.daju.mix.dao.entity.TBusAttendanceTotal;
  11. import com.daju.mix.dao.mapper.TBusAttendanceTotalMapper;
  12. import com.daju.mix.dao.service.ITBusAttendanceTotalService;
  13. import com.daju.mix.dto.TBUserClockDto;
  14. import org.apache.commons.lang.xwork.StringUtils;
  15. import org.jeecgframework.core.common.model.json.DataGrid;
  16. import org.jeecgframework.core.util.ResourceUtil;
  17. import org.jeecgframework.tag.core.easyui.TagUtil;
  18. import org.jeecgframework.web.system.pojo.base.TSDepart;
  19. import org.jeecgframework.web.system.service.DepartServiceI;
  20. import org.springframework.stereotype.Controller;
  21. import org.springframework.ui.ModelMap;
  22. import org.springframework.web.bind.annotation.RequestMapping;
  23. import org.springframework.web.servlet.ModelAndView;
  24. import javax.annotation.Resource;
  25. import javax.servlet.http.HttpServletRequest;
  26. import javax.servlet.http.HttpServletResponse;
  27. import java.util.*;
  28. import java.util.stream.Collectors;
  29. /**
  30. * <p>
  31. * 考勤月统计 前端控制器
  32. * </p>
  33. *
  34. * @author rex
  35. * @since 2021-08-23
  36. */
  37. @Controller
  38. @RequestMapping("/busAttendanceTotalController")
  39. public class TBusAttendanceTotalController {
  40. @Resource
  41. private ITBusAttendanceTotalService itBusAttendanceTotalService;
  42. @Resource
  43. private PostServiceI postServiceI;
  44. @Resource
  45. private DepartServiceI departServiceI;
  46. @Resource
  47. private UserClockService userClockService;
  48. @Resource
  49. private TBusAttendanceTotalMapper tBusAttendanceTotalMapper;
  50. @RequestMapping(params = "list")
  51. public ModelAndView list() {
  52. return new ModelAndView("cn/com/lzt/user/busAttendanceTotal/busAttendanceTotal-list");
  53. }
  54. @RequestMapping(params = "datagrid")
  55. public void datagrid(TBusAttendanceTotal tBusAttendanceTotal,
  56. HttpServletRequest request, HttpServletResponse response,
  57. DataGrid dataGrid) {
  58. LambdaQueryWrapper<TBusAttendanceTotal> lambdaQueryWrapper = new LambdaQueryWrapper<>();
  59. if (StringUtils.isNotBlank(tBusAttendanceTotal.getUserCode())){
  60. lambdaQueryWrapper.like(TBusAttendanceTotal::getUserCode, tBusAttendanceTotal.getUserCode());
  61. }
  62. if (StringUtils.isNotBlank(tBusAttendanceTotal.getRealname())){
  63. lambdaQueryWrapper.like(TBusAttendanceTotal::getRealname, tBusAttendanceTotal.getRealname());
  64. }
  65. if (StringUtils.isNotBlank(tBusAttendanceTotal.getTMonth())){
  66. lambdaQueryWrapper.eq(TBusAttendanceTotal::getTMonth, tBusAttendanceTotal.getTMonth());
  67. }
  68. if (StringUtils.isNotBlank(tBusAttendanceTotal.getDepart())){
  69. lambdaQueryWrapper.eq(TBusAttendanceTotal::getDepart, tBusAttendanceTotal.getDepart());
  70. }
  71. if (StringUtils.isNotBlank(tBusAttendanceTotal.getPost())){
  72. lambdaQueryWrapper.eq(TBusAttendanceTotal::getPost, tBusAttendanceTotal.getPost());
  73. }
  74. Page<TBusAttendanceTotal> result = itBusAttendanceTotalService.page(new Page<>(dataGrid.getPage(), dataGrid.getRows()), lambdaQueryWrapper);
  75. TagUtil.datagrid(response, dataGrid, result);
  76. }
  77. @RequestMapping(params = "exportXls")
  78. public String exportXlsByT(TBusAttendanceTotal tBusAttendanceTotal,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid, ModelMap modelMap) {
  79. modelMap.put(NormalExcelConstants.FILE_NAME, "考勤统计");
  80. modelMap.put(NormalExcelConstants.CLASS, TBusAttendanceTotal.class);
  81. modelMap.put(NormalExcelConstants.PARAMS, new ExportParams("考勤统计", "导出人:" + ResourceUtil.getSessionUser().getRealName(),
  82. "导出信息"));
  83. LambdaQueryWrapper<TBusAttendanceTotal> lambdaQueryWrapper = new LambdaQueryWrapper<>();
  84. if (StringUtils.isNotBlank(tBusAttendanceTotal.getUserCode())){
  85. lambdaQueryWrapper.like(TBusAttendanceTotal::getUserCode, tBusAttendanceTotal.getUserCode());
  86. }
  87. if (StringUtils.isNotBlank(tBusAttendanceTotal.getRealname())){
  88. lambdaQueryWrapper.like(TBusAttendanceTotal::getRealname, tBusAttendanceTotal.getRealname());
  89. }
  90. if (StringUtils.isNotBlank(tBusAttendanceTotal.getTMonth())){
  91. lambdaQueryWrapper.eq(TBusAttendanceTotal::getTMonth, tBusAttendanceTotal.getTMonth());
  92. }
  93. if (StringUtils.isNotBlank(tBusAttendanceTotal.getDepart())){
  94. lambdaQueryWrapper.eq(TBusAttendanceTotal::getDepart, tBusAttendanceTotal.getDepart());
  95. }
  96. if (StringUtils.isNotBlank(tBusAttendanceTotal.getPost())){
  97. lambdaQueryWrapper.eq(TBusAttendanceTotal::getPost, tBusAttendanceTotal.getPost());
  98. }
  99. Page<TBusAttendanceTotal> result = itBusAttendanceTotalService.page(new Page<>(dataGrid.getPage(), dataGrid.getRows()), lambdaQueryWrapper);
  100. List<TBusAttendanceTotal> list1 = result.getRecords();
  101. List<PostEntity> postEntities = postServiceI.loadAll(PostEntity.class);
  102. Map<String, String> postMap = postEntities.stream().collect(Collectors.toMap(PostEntity::getId, PostEntity::getPostName));
  103. List<TSDepart> tsDeparts = departServiceI.loadAll(TSDepart.class);
  104. Map<String, String> departMap = new HashMap<>();
  105. if(tsDeparts != null && tsDeparts.size() > 0){
  106. for (TSDepart item:tsDeparts){
  107. departMap.put(item.getId(),item.getGlcName());
  108. }
  109. }
  110. list1.forEach(item -> {
  111. if(item.getTMonth() != null){
  112. item.setTMonth(item.getTMonth());
  113. }
  114. if(item.getPost() != null){
  115. item.setPost(postMap.get(item.getPost()));
  116. }
  117. if(item.getDepart() != null){
  118. item.setDepart(departMap.get(item.getDepart()));
  119. }
  120. });
  121. modelMap.put(NormalExcelConstants.DATA_LIST, list1);
  122. return NormalExcelConstants.EASYPOI_EXCEL_VIEW;
  123. }
  124. @RequestMapping(params = "detail")
  125. public ModelAndView detail() {
  126. return new ModelAndView("cn/com/lzt/user/busAttendanceTotal/busAttendancetoal-detail");
  127. }
  128. @RequestMapping(params = "datagrid1")
  129. public void datagrid1(TBusAttendanceTotal tBusAttendanceTotal,
  130. HttpServletRequest request, HttpServletResponse response,
  131. DataGrid dataGrid) throws Exception {
  132. List<TBUserClockDto> tbUserClockDtos = userClockService.listOrderByUserIdAndTime(null, null);
  133. DataPage dataPage=new DataPage();
  134. dataPage.setList(null);
  135. TagUtil.datagrid(response, dataGrid, dataPage);
  136. }
  137. }