| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- package com.chuanghai.attendance.controller;
- import com.chuanghai.attendance.common.exception.BizCodeEnume;
- import com.chuanghai.attendance.common.exception.RRException;
- import com.chuanghai.attendance.common.utils.CommonResult;
- import com.chuanghai.attendance.dto.MonthlyDto;
- import com.chuanghai.attendance.entity.DayDetails;
- import com.chuanghai.attendance.entity.DownLoadExcel;
- import com.chuanghai.attendance.entity.MonitorFoldLineTable;
- import com.chuanghai.attendance.entity.MonthlySummary;
- import com.chuanghai.attendance.service.*;
- import com.chuanghai.attendance.utils.FileExportUtil;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.util.StringUtils;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.multipart.MultipartFile;
- import javax.servlet.http.HttpServletResponse;
- import java.util.ArrayList;
- import java.util.List;
- /**
- * 月度汇总
- *
- * @Author: binguo
- * @Date: 2022/10/9 星期日 16:00
- * @Description: com.chuanghai.attendance.controller
- * @Version: 1.0
- */
- @RestController
- @RequestMapping("month")
- @Slf4j
- public class MonthlySummaryController {
- @Autowired
- private MonthlySummaryService monthlySummaryService;
- @Autowired
- private OriginalDataService originalDataService;
- @Autowired
- private WorkerIdentityService workerIdentityService;
- @Autowired
- private CampusTimeService campusTimeService;
- @Autowired
- private DayDetailsService dayDetailsService;
- private static Boolean analyseStatu = Boolean.FALSE;
- /**
- * 读取钉钉考勤excel原始数据,添加至数据库
- *
- * @param file
- * @throws Exception
- */
- @PostMapping("importExcel")
- public CommonResult importMonthExcel(@RequestParam("file") MultipartFile file) {
- Boolean aBoolean;
- Boolean oBoolean;
- Boolean wBoolean;
- String msg = "执行失败";
- try {
- aBoolean = monthlySummaryService.importMonthDataExcel(file);
- wBoolean = workerIdentityService.importWorkExcel(file);
- oBoolean = originalDataService.importOriginalDataExcel(file);
- if (aBoolean && oBoolean && wBoolean) {
- msg = "执行成功";
- }
- } catch (Exception e) {
- e.printStackTrace();
- throw new RRException(BizCodeEnume.FILE_IMPORT_ERROR);
- }
- return CommonResult.result("200", msg, aBoolean);
- }
- /**
- * 分析钉钉原始数据
- *
- * @return
- */
- @GetMapping("analyse")
- public CommonResult analyse() {
- List<MonthlyDto> monthlyDtoList = monthlySummaryService.analyse();
- MonthlyDto monthlyDto = monthlyDtoList.get(0);
- log.info("monthlyDtomonthlyDtomonthlyDtomonthlyDto",monthlyDto);
- if (monthlyDtoList.size() > 0) {
- analyseStatu = Boolean.TRUE;
- }
- return CommonResult.ok();
- }
- /**
- * 查询解析是否完成
- * @return
- */
- @GetMapping("queryAnalyseStatu")
- public CommonResult queryAnalyseStatu() {
- Boolean statu;
- statu = analyseStatu;
- if (statu) {
- analyseStatu = Boolean.FALSE;
- }
- return CommonResult.ok().setResult(statu);
- }
- /**
- * 下载excel数据
- * @return
- */
- @GetMapping("downLoad")
- public CommonResult<List<DownLoadExcel>> downLoad() {
- List<MonthlyDto> MonthlyDtoList = monthlySummaryService.analyse();
- List<MonthlySummary> monthlySummaryList = monthlySummaryService.queryAll();
- List<DayDetails> dayDetailsList = dayDetailsService.list();
- List<DownLoadExcel> downLoadExcelList = new ArrayList<>();
- for (int m = 0; m < MonthlyDtoList.size(); m++) {
- DownLoadExcel downLoadExcel = new DownLoadExcel();
- MonthlyDto monthlyDto = MonthlyDtoList.get(m);
- MonthlySummary monthlySummary = monthlySummaryList.get(m);
- DayDetails dayDetails = dayDetailsList.get(m + 1);
- BeanUtils.copyProperties(monthlyDto, downLoadExcel);
- BeanUtils.copyProperties(monthlySummary, downLoadExcel);
- BeanUtils.copyProperties(dayDetails, downLoadExcel);
- downLoadExcelList.add(downLoadExcel);
- }
- // downLoadExcelList.forEach(downLoadExcel -> {
- // System.out.println(downLoadExcel);
- // });
- return CommonResult.ok().setResult(downLoadExcelList);
- }
- @RequestMapping("te")
- public void test(HttpServletResponse response) {
- String[] titleStr = dayDetailsService.getTitleStr();
- //假设这是需要导出的数据
- List<DownLoadExcel> downLoadExcels = downLoad().getData();
- List<MonitorFoldLineTable> data = new ArrayList();
- //调用导出工具类
- FileExportUtil.testExcelDemo(downLoadExcels, response, titleStr);
- }
- /**
- * 获取月度 日标题
- *
- * @return
- */
- @GetMapping("title")
- public CommonResult<DayDetails> getTitle() {
- String[] titleStr = dayDetailsService.getTitleStr();
- for (int m = 0; m < titleStr.length; m++) {
- if (!StringUtils.hasText(titleStr[m])) {
- titleStr[m] = "";
- }
- }
- return CommonResult.ok().setResult(titleStr);
- }
- }
|