危化品全生命周期管理后端
“djh”
2025-07-29 72fc14d9b157897f2581137d7d463eb72da8f135
修改
已修改4个文件
48 ■■■■ 文件已修改
hazmat-admin/src/main/java/com/gkhy/hazmat/admin/controller/web/HzStatisticController.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hazmat-system/src/main/java/com/gkhy/hazmat/system/service/HzStatisticService.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/HzStatisticServiceImpl.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hazmat-system/src/main/resources/mapper/system/HzHazmatMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hazmat-admin/src/main/java/com/gkhy/hazmat/admin/controller/web/HzStatisticController.java
@@ -103,13 +103,9 @@
    }
    @ApiOperation(value = "危化品使用记录导出")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", name = "startTime", dataType = "string", required = false, value = "开始时间,格式xxxx-xx-xx 00:00:00"),
            @ApiImplicitParam(paramType = "query", name = "endTime", dataType = "string", required = false, value = "结束时间,格式xxxx-xx-xx 23:59:59")
    })
    @GetMapping("/importBaiscUse")
    public void ImportBasicUse(HttpServletResponse response, String startTime, String endTime) throws IOException {
        statisticService.importBaiscUse(response,startTime,endTime);
    public void ImportBasicUse(HttpServletResponse response,HazmatUseStatisticDTO useStatisticDTO) throws IOException {
        statisticService.importBaiscUse(response,useStatisticDTO);
    }
}
hazmat-system/src/main/java/com/gkhy/hazmat/system/service/HzStatisticService.java
@@ -42,13 +42,11 @@
    /**
     * 分页统计危化品使用数量
     * @param startTime
     * @param endTime
     * @return
     */
    CommonPage useStatic(HazmatUseStatisticDTO useStatisticDTO);
    void importBaiscUse(HttpServletResponse response, String startTime, String endTime) throws IOException;
    void importBaiscUse(HttpServletResponse response, HazmatUseStatisticDTO useStatisticDTO) throws IOException;
    List<HzEntryRecordVO> dayUseStatistic(Long companyId);
hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/HzStatisticServiceImpl.java
@@ -232,6 +232,8 @@
        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()) {
@@ -250,38 +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();
            HazmatUseStatisticDTO hazmatUseStatisticDTO = new HazmatUseStatisticDTO();
            hazmatUseStatisticDTO.setStartTime(startDate);
            hazmatUseStatisticDTO.setEndTime(endDate);
            hazmatUseStatisticDTO.setCompanyId(currentUser.getCompanyId());
            List<HzHazmatUseVO> hazmatUseVOList= hazmatMapper.useCountStatic(hazmatUseStatisticDTO);
            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()) {
hazmat-system/src/main/resources/mapper/system/HzHazmatMapper.xml
@@ -162,7 +162,7 @@
            and hh2.company_id=#{companyId}
        </if>
        <if test="userId!=null">
            and hh2f.create_id = #{userId}
            and hhf2.create_id = #{userId}
        </if>
        <if test="departId!=null">
            and sd.id = #{departId}