危化品全生命周期管理后端
“djh”
10 天以前 c04f2d4a58bd72449b2212ed2f8b0c3ac9ec96be
hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/HzStatisticServiceImpl.java
@@ -19,6 +19,7 @@
import com.gkhy.hazmat.common.utils.SecurityUtils;
import com.gkhy.hazmat.common.utils.StringUtils;
import com.gkhy.hazmat.system.domain.*;
import com.gkhy.hazmat.system.domain.dto.HazmatUseStatisticDTO;
import com.gkhy.hazmat.system.domain.vo.HzCompanyMessage;
import com.gkhy.hazmat.system.domain.vo.HzEntryRecordVO;
import com.gkhy.hazmat.system.domain.vo.HzHazmatUseVO;
@@ -196,31 +197,31 @@
    @Override
    public CommonPage useStatic(String startTime, String endTime,Long companyId) {
    public CommonPage useStatic(HazmatUseStatisticDTO useStatisticDTO) {
        SysUser currentUser= SecurityUtils.getLoginUser().getUser();
        checkUserAllowed(currentUser);
        String startDate="";
        String endDate="";
        if(StringUtils.isBlank(startTime)&&StringUtils.isBlank(endTime)){
        if(StringUtils.isBlank(useStatisticDTO.getStartTime())&&StringUtils.isBlank(useStatisticDTO.getEndTime())){
            Date currentDate=new Date();
            startDate= DateUtil.format(DateUtil.beginOfDay(DateUtil.offsetDay(DateUtil.endOfDay(currentDate), -6)), DatePattern.NORM_DATETIME_FORMAT);
            endDate=DateUtil.format(DateUtil.endOfDay(currentDate),DatePattern.NORM_DATETIME_FORMAT);
        } else if (StringUtils.isBlank(startTime)&&StringUtils.isNotBlank(endTime)) {
            startDate= DateUtil.format(DateUtil.beginOfDay(DateUtil.offsetDay(DateUtil.endOfDay(new Date(endTime)), -6)), DatePattern.NORM_DATETIME_FORMAT);
            endDate=endTime;
        }else if (StringUtils.isNotBlank(startTime)&&StringUtils.isBlank(endTime)){
            startDate=startTime;
            endDate=DateUtil.format(DateUtil.beginOfDay(DateUtil.offsetDay(DateUtil.endOfDay(new Date(endTime)), 6)), DatePattern.NORM_DATETIME_FORMAT);
        } else if (StringUtils.isBlank(useStatisticDTO.getStartTime())&&StringUtils.isNotBlank(useStatisticDTO.getEndTime())) {
            startDate= DateUtil.format(DateUtil.beginOfDay(DateUtil.offsetDay(DateUtil.endOfDay(new Date(useStatisticDTO.getEndTime())), -6)), DatePattern.NORM_DATETIME_FORMAT);
            endDate=useStatisticDTO.getEndTime();
        }else if (StringUtils.isNotBlank(useStatisticDTO.getStartTime())&&StringUtils.isBlank(useStatisticDTO.getEndTime())){
            startDate=useStatisticDTO.getStartTime();
            endDate=DateUtil.format(DateUtil.beginOfDay(DateUtil.offsetDay(DateUtil.endOfDay(new Date(useStatisticDTO.getEndTime())), 6)), DatePattern.NORM_DATETIME_FORMAT);
        }else{
            startDate=startTime;
            endDate=endTime;
            if(DateUtil.between(DateUtil.parse(startDate),DateUtil.parse(startTime), DateUnit.DAY)>90){
            startDate=useStatisticDTO.getStartTime();
            endDate=useStatisticDTO.getEndTime();
            if(DateUtil.between(DateUtil.parse(startDate),DateUtil.parse(useStatisticDTO.getStartTime()), DateUnit.DAY)>90){
                throw new ApiException("只能查询90天以内数据");
            }
        }
        if (currentUser.getUserType().equals(UserTypeEnum.CHECK_USER.getCode())){
            IdTableNameHandler.setCurrentId(companyId);
            IdTableNameHandler.setCurrentId(useStatisticDTO.getCompanyId());
        }else {
            //设置分表id
@@ -228,7 +229,12 @@
            IdTableNameHandler.setCurrentId(currentUser.getCompanyId());
        }
        PageUtils.startPage();
        List<HzHazmatUseVO> hazmatUseVOList= hazmatMapper.useCountStatic(startDate, endDate,currentUser.getUserType().equals(UserTypeEnum.CHECK_USER.getCode()) ? companyId:currentUser.getCompanyId());
        if (!currentUser.getUserType().equals(UserTypeEnum.CHECK_USER.getCode())){
            useStatisticDTO.setCompanyId(currentUser.getCompanyId());
        }
        useStatisticDTO.setStartTime(startDate);
        useStatisticDTO.setEndTime(endDate);
        List<HzHazmatUseVO> hazmatUseVOList= hazmatMapper.useCountStatic(useStatisticDTO);
        IdTableNameHandler.removeCurrentId();
        if(!hazmatUseVOList.isEmpty()) {
            List<Long> basicIds = hazmatUseVOList.stream().map(HzHazmatUseVO::getBasicId).collect(Collectors.toList());
@@ -246,34 +252,38 @@
    }
    @Override
    public void importBaiscUse(HttpServletResponse response, String startTime, String endTime) throws IOException {
    public void importBaiscUse(HttpServletResponse response, HazmatUseStatisticDTO useStatisticDTO) throws IOException {
        SysUser currentUser= SecurityUtils.getLoginUser().getUser();
        checkUserAllowed(currentUser);
        OutputStream outputStream = response.getOutputStream();
        try {
            String startDate="";
            String endDate="";
            if(StringUtils.isBlank(startTime)&&StringUtils.isBlank(endTime)){
            if(StringUtils.isBlank(useStatisticDTO.getStartTime())&&StringUtils.isBlank(useStatisticDTO.getEndTime())){
                Date currentDate=new Date();
                startDate= DateUtil.format(DateUtil.beginOfDay(DateUtil.offsetDay(DateUtil.endOfDay(currentDate), -29)), DatePattern.NORM_DATETIME_FORMAT);
                endDate=DateUtil.format(DateUtil.endOfDay(currentDate),DatePattern.NORM_DATETIME_FORMAT);
            } else if (StringUtils.isBlank(startTime)&&StringUtils.isNotBlank(endTime)) {
                startDate= DateUtil.format(DateUtil.beginOfDay(DateUtil.offsetDay(DateUtil.endOfDay(new Date(endTime)), -29)), DatePattern.NORM_DATETIME_FORMAT);
                endDate=endTime;
            }else if (StringUtils.isNotBlank(startTime)&&StringUtils.isBlank(endTime)){
                startDate=startTime;
                endDate=DateUtil.format(DateUtil.beginOfDay(DateUtil.offsetDay(DateUtil.endOfDay(new Date(endTime)), 29)), DatePattern.NORM_DATETIME_FORMAT);
            } else if (StringUtils.isBlank(useStatisticDTO.getStartTime())&&StringUtils.isNotBlank(useStatisticDTO.getEndTime())) {
                startDate= DateUtil.format(DateUtil.beginOfDay(DateUtil.offsetDay(DateUtil.endOfDay(new Date(useStatisticDTO.getEndTime())), -29)), DatePattern.NORM_DATETIME_FORMAT);
                endDate=useStatisticDTO.getEndTime();
            }else if (StringUtils.isNotBlank(useStatisticDTO.getStartTime())&&StringUtils.isBlank(useStatisticDTO.getEndTime())){
                startDate=useStatisticDTO.getStartTime();
                endDate=DateUtil.format(DateUtil.beginOfDay(DateUtil.offsetDay(DateUtil.endOfDay(new Date(useStatisticDTO.getEndTime())), 29)), DatePattern.NORM_DATETIME_FORMAT);
            }else{
                startDate=startTime;
                endDate=endTime;
                if(DateUtil.between(DateUtil.parse(startDate),DateUtil.parse(startTime), DateUnit.DAY)>90){
                startDate=useStatisticDTO.getStartTime();
                endDate=useStatisticDTO.getEndTime();
                if(DateUtil.between(DateUtil.parse(startDate),DateUtil.parse(useStatisticDTO.getStartTime()), DateUnit.DAY)>90){
                    throw new ApiException("只能查询90天以内数据");
                }
            }
            //设置分表id
            IdTableNameHandler.setCurrentId(currentUser.getCompanyId());
//            PageUtils.startPage();
            List<HzHazmatUseVO> hazmatUseVOList= hazmatMapper.useCountStatic(startDate, endDate,currentUser.getCompanyId());
            useStatisticDTO.setStartTime(startDate);
            useStatisticDTO.setEndTime(endDate);
            useStatisticDTO.setCompanyId(currentUser.getCompanyId());
            List<HzHazmatUseVO> hazmatUseVOList= hazmatMapper.useCountStatic(useStatisticDTO);
            IdTableNameHandler.removeCurrentId();
            List<HazmatBasicUseExcelData> hazmatBasicUseExcelDatas = new ArrayList<>();
            if(!hazmatUseVOList.isEmpty()) {