package com.moral.api.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.moral.api.entity.HistorySecondCruiser;
import com.moral.api.entity.Organization;
import com.moral.api.entity.SpecialDevice;
import com.moral.api.entity.SpecialDeviceHistory;
import com.moral.api.entity.TbDaily;
import com.moral.api.mapper.DailyMapper;
import com.moral.api.mapper.HistorySecondCruiserMapper;
import com.moral.api.mapper.SpecialDeviceMapper;
import com.moral.api.pojo.bo.ExcelBO;
import com.moral.api.pojo.dto.historySecondCruiser.HistorySecondCruiserListDTO;
import com.moral.api.pojo.dto.historySecondCruiser.HistorySecondCruiserResultCountDTO;
import com.moral.api.pojo.dto.historySecondCruiser.HistorySecondCruiserResultDTO;
import com.moral.api.pojo.vo.excel.DailyVo;
import com.moral.api.service.OrganizationService;
import com.moral.api.service.SpecialDeviceHistoryService;
import com.moral.api.service.SpecialDeviceService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.constant.Constants;
import com.moral.util.AmendUtils;
import com.moral.util.DateUtils;
import com.moral.util.FileUtils;
import com.moral.util.GeodesyUtils;
import com.moral.util.TokenUtils;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.system.ApplicationHome;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
 * 
 * 服务实现类
 * 
 *
 * @author moral
 * @since 2021-08-18
 */
@Service
public class SpecialDeviceServiceImpl extends ServiceImpl implements SpecialDeviceService {
    @Autowired
    private HistorySecondCruiserMapper HistorySecondCruiserMapper;
    @Autowired
    private SpecialDeviceHistoryService specialDeviceHistoryService;
    @Autowired
    OrganizationService organizationService;
    @Autowired
    SpecialDeviceMapper specialDeviceMapper;
    @Autowired
    private HistorySecondCruiserMapper historySecondCruiserMapper;
    @Autowired
    private SpecialDeviceService specialDeviceService;
    @Autowired
    private DailyMapper dailyMapper;
    @Autowired
    RedisTemplate redisTemplate;
    private final static Double dis = 50d;
    private final static Double DIS_NEW = 100d;
    @Override
    public List