| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- package com.chuanghai.attendance.service.impl;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.chuanghai.attendance.dao.OriginalDataDao;
- import com.chuanghai.attendance.entity.OriginalData;
- import com.chuanghai.attendance.service.OriginalDataService;
- import com.chuanghai.attendance.utils.excel.ExcelImportXLSXUtil;
- import org.springframework.stereotype.Service;
- import org.springframework.util.StringUtils;
- import org.springframework.web.multipart.MultipartFile;
- import java.util.ArrayList;
- import java.util.List;
- /**
- * @Author: binguo
- * @Date: 2022/9/20 星期二 17:16
- * @Description: com.chuanghai.attendance.service.impl
- * @Version: 1.0
- */
- @Service("originalDataService")
- public class OriginalDataServiceImpl extends ServiceImpl<OriginalDataDao, OriginalData> implements OriginalDataService {
- /**
- * 导入钉钉考勤原始数据信息
- *
- * @param file
- * @throws Exception
- */
- public Boolean importOriginalDataExcel(MultipartFile file) throws Exception {
- Boolean aBoolean = removeOriginalDataIds();
- List<OriginalData> originalDataList = new ArrayList<>();
- if (aBoolean) {
- List<String[]> list = ExcelImportXLSXUtil.readerExcel(file.getInputStream(), "原始记录", 20);
- int count = 0;
- for (String[] strings : list) {
- count++;
- if (count < 4) {
- continue;
- }
- //System.out.println(strings[9]);
- OriginalData originalData = new OriginalData();
- if (StringUtils.hasText(strings[9]) && !strings[9].contains("打卡无效")) {
- originalData.setWorkName(strings[0]);
- originalData.setWorkNum(strings[3]);
- originalData.setUserId(strings[5]);
- originalData.setDateOfAttendance(strings[6]);
- //originalData.setTimeOfAttendance(strings[7]);
- originalData.setClockTime(strings[8]);
- originalData.setClockAddress(strings[10]);
- originalData.setClockEquipment(strings[15]);
- originalDataList.add(originalData);
- }
- }
- }
- return this.saveBatch(originalDataList, originalDataList.size());
- }
- @Override
- public List<OriginalData> queryByUserId(String userId, String workNum) {
- QueryWrapper<OriginalData> wrapper = new QueryWrapper<>();
- wrapper.eq("user_id", userId);
- List<OriginalData> list = this.list(wrapper);
- if (list.size() == 0) {
- QueryWrapper<OriginalData> wrapper1 = new QueryWrapper<>();
- wrapper1.eq("work_num", workNum);
- list = this.list(wrapper1);
- }
- if (list.size() == 0) {
- // throw new RRException(BizCodeEnume.DATA_IS_NOT_EXIST, userId + "userId workNum不存在");
- }
- return list;
- }
- @Override
- public List<OriginalData> queryByTimeAndUserId(String date, String userId, String workNum) {
- QueryWrapper<OriginalData> wrapper = new QueryWrapper<>();
- wrapper.eq("date_of_attendance", date)
- .eq("user_id", userId);
- List<OriginalData> list = this.list(wrapper);
- if (list.size() == 0) {
- QueryWrapper<OriginalData> wrapper1 = new QueryWrapper<>();
- wrapper1.eq("date_of_attendance", date)
- .eq("work_num", workNum);
- list = this.list(wrapper1);
- }
- return list;
- }
- public Boolean removeOriginalDataIds() {
- List<OriginalData> list = this.list();
- if (list.size() == 0) {
- return Boolean.TRUE;
- }
- List<Long> originalDataIds = new ArrayList<>();
- list.forEach(originalData -> {
- originalDataIds.add(originalData.getId());
- });
- return this.removeByIds(originalDataIds);
- }
- }
|