| | |
| | | return CommonResult.success(hazmatBasicService.importExcel(file)); |
| | | } |
| | | |
| | | @ApiOperation(value = "大屏危化品特性分类统计") |
| | | @GetMapping("/basicCount") |
| | | public CommonResult BasicCount(){ |
| | | return CommonResult.success(hazmatBasicService.basicCount()); |
| | | } |
| | | |
| | | } |
| | |
| | | @PreAuthorize("hasAnyAuthority('hazmat:manage:company','hazmat:manage:common','hazmat:manage:system')") |
| | | @ApiOperation(value = "根据条码code查询危化品所有流向") |
| | | @GetMapping(value = { "/getHazmatFlowByCode" }) |
| | | public CommonResult getAllHazmatFlowByCode(@RequestParam(required = true) String code,@RequestParam("companyId") Long companyId){ |
| | | public CommonResult getAllHazmatFlowByCode(@RequestParam(value = "code") String code,@RequestParam("companyId") Long companyId){ |
| | | if(code.startsWith(CodePrexEnum.MATERIAL.getCode())){ |
| | | return CommonResult.success(hazmatFlowService.selectAllHazmatFlowByCode(code,companyId)); |
| | | }else if(code.startsWith(CodePrexEnum.GOOD.getCode())){ |
| | |
| | | return CommonResult.success(statisticService.useEverydayStatic(companyId)); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "大屏一天使用量统计") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "query",name = "companyId",dataType = "long",required = false,value = "企业ID") |
| | | }) |
| | | @GetMapping("/dayUseStatistic") |
| | | @Anonymous |
| | | public CommonResult dayUseStatistic(Long companyId){ |
| | | return CommonResult.success(statisticService.dayUseStatistic(companyId)); |
| | | } |
| | | |
| | | @ApiOperation(value = "大屏企业统计") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "query",name = "type",dataType = "long",required = false,value = "企业类型") |
| | | }) |
| | | @GetMapping("/companyMessage") |
| | | public CommonResult companyMessage(Long type){ |
| | | return CommonResult.success(statisticService.companyMessage(type)); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "一周使用频繁的危化品数量统计") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "query",name = "companyId",dataType ="long",required = false,value = "公司id") |
| | |
| | | return CommonResult.success(); |
| | | } |
| | | |
| | | @ApiOperation(value = "相忌预警大屏统计") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "query", name = "state", dataType = "int", required = true, value = "处理状态") |
| | | }) |
| | | @GetMapping("/listCount") |
| | | public CommonResult selectCount(Integer state){ |
| | | return CommonResult.success(tabooWarningService.listCount(state)); |
| | | } |
| | | |
| | | } |
| | |
| | | package com.gkhy.hazmat.admin.controller.web; |
| | | |
| | | |
| | | import com.gkhy.hazmat.common.annotation.Anonymous; |
| | | import com.gkhy.hazmat.common.annotation.RepeatSubmit; |
| | | import com.gkhy.hazmat.common.api.CommonResult; |
| | | import com.gkhy.hazmat.system.domain.HzWarning; |
| | |
| | | return CommonResult.success(warningService.deleteWarningById(warningId)); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "大屏超期预警统计") |
| | | @GetMapping("/dailywarningCount") |
| | | public CommonResult dailywarningCount(){ |
| | | return CommonResult.success(warningService.dailywarningCount()); |
| | | } |
| | | |
| | | } |
对比新文件 |
| | |
| | | package com.gkhy.hazmat.system.domain.vo; |
| | | |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | @Getter |
| | | @Setter |
| | | public class HzBasicVo { |
| | | private String hazmatCharacter; |
| | | private Integer count; |
| | | } |
对比新文件 |
| | |
| | | package com.gkhy.hazmat.system.domain.vo; |
| | | |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | @Getter |
| | | @Setter |
| | | public class HzCompanyMessage { |
| | | private Integer id; |
| | | private String companyName; |
| | | private String longitude; |
| | | private String latitude; |
| | | private Integer warehouseCount; |
| | | private Integer warningCount; |
| | | } |
| | |
| | | package com.gkhy.hazmat.system.domain.vo; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonInclude; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | |
| | | @ApiModelProperty(value = "月") |
| | | private String month; |
| | | |
| | | @ApiModelProperty(value = "时") |
| | | private String hour; |
| | | |
| | | @ApiModelProperty(value = "总数量") |
| | | private Integer totalCount; |
| | | |
| | | |
| | | } |
对比新文件 |
| | |
| | | package com.gkhy.hazmat.system.domain.vo; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonInclude; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | |
| | | import java.util.Map; |
| | | |
| | | import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; |
| | | |
| | | @Getter |
| | | @Setter |
| | | @JsonInclude(NON_NULL) |
| | | public class HzTabooVo { |
| | | @ApiModelProperty(value = "公司企业") |
| | | private String companyName; |
| | | @ApiModelProperty(value = "报警数量") |
| | | private Integer count; |
| | | |
| | | } |
| | |
| | | |
| | | import com.gkhy.hazmat.system.domain.HzHazmatBasic; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.gkhy.hazmat.system.domain.vo.HzBasicVo; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | |
| | | * @return |
| | | */ |
| | | List<HzHazmatBasic> selectHazmatBasicListByIds(List<Long> basicIds); |
| | | |
| | | List<HzBasicVo> basicCount(); |
| | | |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.gkhy.hazmat.system.domain.HzHazmat; |
| | | import com.gkhy.hazmat.system.domain.vo.HzEntryRecordVO; |
| | | import com.gkhy.hazmat.system.domain.vo.HzHazmatUseVO; |
| | | import com.gkhy.hazmat.system.domain.vo.HzHazmatWarehouseVO; |
| | | import com.gkhy.hazmat.system.domain.vo.TabooDisVo; |
| | | import com.gkhy.hazmat.system.domain.vo.*; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | |
| | | */ |
| | | List<HzHazmatUseVO> useCountStatic(@Param("startTime")String startTime,@Param("endTime") String endTime,@Param("companyId") Long companyId); |
| | | |
| | | List<HzEntryRecordVO> useCountHourlyStatic(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("companyId") Long companyId); |
| | | |
| | | List<HzCompanyMessage> companyMessage(Long type); |
| | | |
| | | Integer countTotal(Long companyId); |
| | | } |
| | |
| | | import com.gkhy.hazmat.system.domain.HzEntryRecord; |
| | | import com.gkhy.hazmat.system.domain.HzTabooWarning; |
| | | import com.gkhy.hazmat.system.domain.vo.HzEntryRecordVO; |
| | | import com.gkhy.hazmat.system.domain.vo.HzTabooVo; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | |
| | | */ |
| | | List<HzTabooWarning> selectHzTabooWarningList(HzTabooWarning hzTabooWarning); |
| | | |
| | | List<HzTabooVo> selectListCount(Integer state); |
| | | } |
| | |
| | | |
| | | import com.gkhy.hazmat.system.domain.HzWarning; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.gkhy.hazmat.system.domain.vo.HzEntryRecordVO; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | Integer selectWarningCount(Long companyId); |
| | | |
| | | |
| | | List<HzEntryRecordVO> dailyWarningStatic(@Param("startDate") String startDate, @Param("endDate") String endDate); |
| | | |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.gkhy.hazmat.common.api.CommonPage; |
| | | import com.gkhy.hazmat.system.domain.HzHazmatBasic; |
| | | import com.gkhy.hazmat.system.domain.vo.HzBasicVo; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import java.io.IOException; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | * @param file |
| | | */ |
| | | Integer importExcel(MultipartFile file) throws IOException; |
| | | |
| | | List<HzBasicVo> basicCount(); |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | |
| | | import com.gkhy.hazmat.common.api.CommonPage; |
| | | import com.gkhy.hazmat.system.domain.vo.HzCompanyMessage; |
| | | import com.gkhy.hazmat.system.domain.vo.HzEntryRecordVO; |
| | | import com.gkhy.hazmat.system.domain.vo.HzHazmatUseVO; |
| | | import com.gkhy.hazmat.system.domain.vo.HzHomeDataVO; |
| | |
| | | CommonPage useStatic(String startTime, String endTime,Long companyId); |
| | | |
| | | void importBaiscUse(HttpServletResponse response, String startTime, String endTime) throws IOException; |
| | | |
| | | List<HzEntryRecordVO> dayUseStatistic(Long companyId); |
| | | |
| | | List<HzCompanyMessage> companyMessage(Long type); |
| | | |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.gkhy.hazmat.common.api.CommonPage; |
| | | import com.gkhy.hazmat.system.domain.HzWarning; |
| | | import com.gkhy.hazmat.system.domain.vo.HzEntryRecordVO; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | * @return |
| | | */ |
| | | Integer selectWarningCount(Long companyId); |
| | | |
| | | List<HzEntryRecordVO> dailywarningCount(); |
| | | } |
| | |
| | | import com.gkhy.hazmat.common.api.CommonPage; |
| | | import com.gkhy.hazmat.system.domain.HzTabooWarning; |
| | | import com.gkhy.hazmat.system.domain.vo.HzEntryTransferVO; |
| | | import com.gkhy.hazmat.system.domain.vo.HzTabooVo; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | public void doTransfer(HzEntryTransferVO entryTransferVO); |
| | | |
| | | |
| | | |
| | | List<HzTabooVo> listCount(Integer state); |
| | | } |
| | |
| | | import com.gkhy.hazmat.common.utils.SecurityUtils; |
| | | import com.gkhy.hazmat.common.utils.StringUtils; |
| | | import com.gkhy.hazmat.system.domain.HzHazmatBasic; |
| | | import com.gkhy.hazmat.system.domain.vo.HzBasicVo; |
| | | import com.gkhy.hazmat.system.domain.vo.HzSecientificVo; |
| | | import com.gkhy.hazmat.system.mapper.HzHazmatBasicMapper; |
| | | import com.gkhy.hazmat.system.mapper.HzSecientificMapper; |
| | |
| | | return hazmatBasicList.size(); |
| | | } |
| | | |
| | | @Override |
| | | public List<HzBasicVo> basicCount() { |
| | | return baseMapper.basicCount(); |
| | | } |
| | | |
| | | |
| | | public void validateData(HazmatBasicExcelData hazmatBasicExcelData){ |
| | | if(StringUtils.isBlank(hazmatBasicExcelData.getName())){ |
| | |
| | | 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.vo.HzCompanyMessage; |
| | | import com.gkhy.hazmat.system.domain.vo.HzEntryRecordVO; |
| | | import com.gkhy.hazmat.system.domain.vo.HzHazmatUseVO; |
| | | import com.gkhy.hazmat.system.domain.vo.HzHomeDataVO; |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<HzEntryRecordVO> dayUseStatistic(Long companyId) { |
| | | SysUser currentUser = SecurityUtils.getLoginUser().getUser(); |
| | | checkUserAllowed(currentUser); |
| | | Date currentDate = new Date(); |
| | | |
| | | // 设置当天的8点作为开始时间,20点作为结束时间 |
| | | DateTime beginOfDay = DateUtil.beginOfDay(currentDate); // 当天零点 |
| | | |
| | | // 从零点偏移8小时得到8点,偏移20小时得到20点 |
| | | DateTime startTime = DateUtil.offsetHour(beginOfDay, 8); // 08:00:00 |
| | | DateTime endTime = DateUtil.offsetHour(beginOfDay, 21); // 20:00:00 |
| | | |
| | | String startDate = DateUtil.format(startTime, DatePattern.NORM_DATETIME_FORMAT); |
| | | String endDate = DateUtil.format(endTime, DatePattern.NORM_DATETIME_FORMAT); |
| | | |
| | | // 设置分表ID逻辑 |
| | | if (currentUser.getUserType().equals(UserTypeEnum.CHECK_USER.getCode())) { |
| | | IdTableNameHandler.setCurrentId(companyId); |
| | | } else { |
| | | IdTableNameHandler.setCurrentId(currentUser.getCompanyId()); |
| | | } |
| | | |
| | | // 生成每小时的统计列表,初始count为0 |
| | | List<HzEntryRecordVO> hourEntryList = new ArrayList<>(); |
| | | DateTime currentHour = startTime; |
| | | Integer i = hazmatMapper.countTotal(currentUser.getUserType().equals(UserTypeEnum.CHECK_USER.getCode()) ? companyId:currentUser.getCompanyId()); |
| | | while (currentHour.isBefore(endTime)) { // 从8点开始到20点前,共12个小时 |
| | | String hour = DateUtil.format(currentHour, "HH"); // 两位小时格式,如08,09,...,19 |
| | | HzEntryRecordVO entryRecordVO = new HzEntryRecordVO(); |
| | | entryRecordVO.setHour(hour); |
| | | entryRecordVO.setCount(0); |
| | | entryRecordVO.setTotalCount(i); |
| | | hourEntryList.add(entryRecordVO); |
| | | currentHour = DateUtil.offsetHour(currentHour, 1); // 增加一小时 |
| | | } |
| | | // 查询数据库,按小时统计使用量 |
| | | List<HzEntryRecordVO> entryRecordVOList = hazmatMapper.useCountHourlyStatic(startDate, endDate, currentUser.getUserType().equals(UserTypeEnum.CHECK_USER.getCode()) ? companyId:currentUser.getCompanyId() |
| | | ); |
| | | hourEntryList.get(0).setTotalCount(i); |
| | | IdTableNameHandler.removeCurrentId(); |
| | | // 将查询结果合并到初始化的每小时列表中 |
| | | if (!entryRecordVOList.isEmpty()) { |
| | | Map<String, HzEntryRecordVO> resMap = entryRecordVOList.stream() |
| | | .collect(Collectors.toMap(HzEntryRecordVO::getHour, item -> item)); |
| | | for (HzEntryRecordVO hourEntry : hourEntryList) { |
| | | HzEntryRecordVO matched = resMap.get(hourEntry.getHour()); |
| | | if (matched != null) { |
| | | hourEntry.setCount(matched.getCount()); |
| | | } |
| | | } |
| | | } |
| | | return hourEntryList; |
| | | } |
| | | |
| | | @Override |
| | | public List<HzCompanyMessage> companyMessage(Long type) { |
| | | return hazmatMapper.companyMessage(type); |
| | | } |
| | | |
| | | |
| | | private void setExcelResponseProp(HttpServletResponse response, String rawFileName) throws UnsupportedEncodingException { |
| | | //设置内容类型 |
| | | response.setContentType("application/vnd.vnd.ms-excel"); |
| | |
| | | package com.gkhy.hazmat.system.service.impl; |
| | | |
| | | import cn.hutool.core.date.DateField; |
| | | import cn.hutool.core.date.DatePattern; |
| | | import cn.hutool.core.date.DateTime; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.gkhy.hazmat.common.api.CommonPage; |
| | | import com.gkhy.hazmat.common.config.IdTableNameHandler; |
| | | import com.gkhy.hazmat.common.domain.entity.SysUser; |
| | | import com.gkhy.hazmat.common.enums.UserTypeEnum; |
| | | import com.gkhy.hazmat.common.exception.ApiException; |
| | | import com.gkhy.hazmat.common.utils.PageUtils; |
| | | import com.gkhy.hazmat.common.utils.SecurityUtils; |
| | | import com.gkhy.hazmat.system.domain.HzWarning; |
| | | import com.gkhy.hazmat.system.domain.vo.HzEntryRecordVO; |
| | | import com.gkhy.hazmat.system.mapper.HzWarningMapper; |
| | | import com.gkhy.hazmat.system.service.HzWarningService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.time.LocalDateTime; |
| | | import java.util.List; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | } |
| | | return baseMapper.selectWarningCount(currentUser.getCompanyId()); |
| | | } |
| | | |
| | | @Override |
| | | public List<HzEntryRecordVO> dailywarningCount() { |
| | | // 获取当前时间并清零时分秒 |
| | | DateTime now = DateUtil.date().setField(Calendar.HOUR_OF_DAY, 0) |
| | | .setField(Calendar.MINUTE, 0) |
| | | .setField(Calendar.SECOND, 0) |
| | | .setField(Calendar.MILLISECOND, 0); |
| | | |
| | | // 设置时间范围:30天前00:00:00 到 昨天23:59:59 |
| | | DateTime startTime = DateUtil.offsetDay(now, -30); |
| | | DateTime endTime = DateUtil.endOfDay(DateUtil.offsetDay(now, -1)); |
| | | |
| | | // 格式化成数据库参数 |
| | | String startDate = DateUtil.format(startTime, DatePattern.NORM_DATETIME_FORMAT); |
| | | String endDate = DateUtil.format(endTime, DatePattern.NORM_DATETIME_FORMAT); |
| | | |
| | | // 生成30天的日期列表(格式:dd) |
| | | List<HzEntryRecordVO> dailyEntryList = new ArrayList<>(); |
| | | DateTime currentDay = startTime; |
| | | while (!currentDay.isAfter(endTime)) { |
| | | String dayStr = DateUtil.format(currentDay, "MM-dd"); // 两位天数 |
| | | HzEntryRecordVO vo = new HzEntryRecordVO(); |
| | | vo.setDay(dayStr); |
| | | vo.setCount(0); |
| | | dailyEntryList.add(vo); |
| | | currentDay = DateUtil.offsetDay(currentDay, 1); |
| | | } |
| | | |
| | | // 查询数据库按天统计(需SQL返回dd格式) |
| | | List<HzEntryRecordVO> dbResults = baseMapper.dailyWarningStatic(startDate, endDate); |
| | | IdTableNameHandler.removeCurrentId(); |
| | | |
| | | // 合并结果到初始化列表 |
| | | if (!dbResults.isEmpty()) { |
| | | Map<String, HzEntryRecordVO> resultMap = dbResults.stream() |
| | | .collect(Collectors.toMap(HzEntryRecordVO::getDay, item -> item)); |
| | | for (HzEntryRecordVO dailyVO : dailyEntryList) { |
| | | HzEntryRecordVO matched = resultMap.get(dailyVO.getDay()); |
| | | if (matched != null) { |
| | | dailyVO.setCount(matched.getCount()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | return dailyEntryList; |
| | | } |
| | | } |
| | |
| | | import com.gkhy.hazmat.common.utils.SecurityUtils; |
| | | import com.gkhy.hazmat.system.domain.*; |
| | | import com.gkhy.hazmat.system.domain.vo.HzEntryTransferVO; |
| | | import com.gkhy.hazmat.system.domain.vo.HzTabooVo; |
| | | import com.gkhy.hazmat.system.domain.vo.TabooDisVo; |
| | | import com.gkhy.hazmat.system.mapper.*; |
| | | import com.gkhy.hazmat.system.service.HzEntryRecordService; |
| | |
| | | .setId(entryTransferVO.getId())); |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public List<HzTabooVo> listCount(Integer state) { |
| | | return baseMapper.selectListCount(state); |
| | | } |
| | | |
| | | public void checkUserAllowed(HzEntryRecord entryRecord,SysUser user) { |
| | | if (user.getUserType().equals(UserTypeEnum.SYSTEM_USER.getCode())) { |
| | | throw new ApiException("管理员不能操作"); |
| | |
| | | #{basicId} |
| | | </foreach> |
| | | </select> |
| | | <select id="basicCount" resultType="com.gkhy.hazmat.system.domain.vo.HzBasicVo"> |
| | | SELECT |
| | | '易燃品' AS hazmat_character, |
| | | SUM(FIND_IN_SET('易燃品', hazmat_character) > 0) AS count |
| | | FROM hz_hazmat_basic WHERE del_flag =0 |
| | | UNION ALL |
| | | SELECT |
| | | '有毒品' AS hazmat_character, |
| | | SUM(FIND_IN_SET('有毒品', hazmat_character) > 0) AS count |
| | | FROM hz_hazmat_basic WHERE del_flag =0 |
| | | UNION ALL |
| | | SELECT |
| | | '氧化品' AS hazmat_character, |
| | | SUM(FIND_IN_SET('氧化品', hazmat_character) > 0) AS count |
| | | FROM hz_hazmat_basic WHERE del_flag =0 |
| | | UNION ALL |
| | | SELECT |
| | | '腐蚀品' AS hazmat_character, |
| | | SUM(FIND_IN_SET('腐蚀品', hazmat_character) > 0) AS count |
| | | FROM hz_hazmat_basic WHERE del_flag =0 |
| | | UNION ALL |
| | | SELECT |
| | | '非易燃品' AS hazmat_character, |
| | | SUM(FIND_IN_SET('非易燃品', hazmat_character) > 0) AS count |
| | | FROM hz_hazmat_basic WHERE del_flag =0 |
| | | </select> |
| | | </mapper> |
| | |
| | | order by a.id |
| | | limit #{startIndex},#{pageSize} |
| | | </select> |
| | | <select id="useCountHourlyStatic" resultType="com.gkhy.hazmat.system.domain.vo.HzEntryRecordVO"> |
| | | SELECT |
| | | DATE_FORMAT(create_time, '%H') AS hour, |
| | | COUNT(*) AS count |
| | | FROM hz_hazmat |
| | | WHERE create_time >= #{startDate} |
| | | AND create_time < #{endDate} |
| | | AND state IN (2, 3) |
| | | <if test="companyId != null"> |
| | | AND company_id = #{companyId} |
| | | </if> |
| | | GROUP BY hour |
| | | ORDER BY hour ASC |
| | | </select> |
| | | |
| | | |
| | | |
| | | <select id="companyMessage" resultType="com.gkhy.hazmat.system.domain.vo.HzCompanyMessage"> |
| | | SELECT |
| | | sc.id, |
| | | sc.name as company_name, |
| | | scf.longitude, |
| | | scf.latitude, |
| | | COALESCE(hw.warehouse_count, 0) AS warehouse_count, |
| | | COALESCE(htw.warning_count, 0) AS warning_count, |
| | | htw.latest_warning_time |
| | | FROM sys_company sc |
| | | LEFT JOIN ( |
| | | SELECT company_id, COUNT(*) AS warehouse_count |
| | | FROM hz_warehouse |
| | | WHERE del_flag = 0 |
| | | GROUP BY company_id |
| | | ) hw ON sc.id = hw.company_id |
| | | LEFT JOIN ( |
| | | SELECT |
| | | company_id, |
| | | COUNT(*) AS warning_count, |
| | | MAX(create_time) AS latest_warning_time |
| | | FROM hz_taboo_warning |
| | | WHERE del_flag = 0 |
| | | GROUP BY company_id |
| | | ) htw ON sc.id = htw.company_id |
| | | LEFT JOIN sys_config scf on sc.id = scf.company_id |
| | | <where> |
| | | sc.del_flag = 0 |
| | | <if test="type!=null"> |
| | | and sc.type = #{type} |
| | | </if> |
| | | </where> |
| | | ORDER BY htw.latest_warning_time DESC; |
| | | </select> |
| | | <select id="countTotal" resultType="java.lang.Integer"> |
| | | SELECT |
| | | COUNT(*) AS total_count |
| | | FROM hz_hazmat |
| | | WHERE state IN (2, 3) |
| | | <if test="companyId != null"> |
| | | AND company_id = #{companyId} |
| | | </if> |
| | | </select> |
| | | <!-- SELECT COUNT(*) AS count, DATE_FORMAT(create_time, '%H') AS hour--> |
| | | <!-- FROM hz_hazmat--> |
| | | <!-- WHERE create_time >= #{startDate} AND create_time < #{endDate}--> |
| | | <!-- AND state IN (2, 3)--> |
| | | <!-- <if test="companyId != null">--> |
| | | <!-- AND company_id = #{companyId}--> |
| | | <!-- </if>--> |
| | | <!-- GROUP BY hour--> |
| | | <!-- ORDER BY hour ASC--> |
| | | </mapper> |
| | |
| | | </where> |
| | | order by aa.state asc,aa.warning_type asc,aa.create_time desc |
| | | </select> |
| | | <select id="selectListCount" resultType="com.gkhy.hazmat.system.domain.vo.HzTabooVo"> |
| | | SELECT |
| | | sc.`name` AS company_name, |
| | | COUNT( htw.company_id ) AS count |
| | | FROM |
| | | hz_taboo_warning htw |
| | | LEFT JOIN sys_company sc ON htw.company_id = sc.id |
| | | WHERE |
| | | htw.state = #{state} |
| | | GROUP BY |
| | | htw.company_id |
| | | ORDER BY |
| | | count DESC |
| | | </select> |
| | | |
| | | |
| | | </mapper> |
| | |
| | | and company_id=#{companyId} |
| | | </if> |
| | | </select> |
| | | <select id="dailyWarningStatic" resultType="com.gkhy.hazmat.system.domain.vo.HzEntryRecordVO"> |
| | | SELECT |
| | | DATE_FORMAT(create_time, '%m-%d') AS day, |
| | | COUNT(*) AS count |
| | | FROM hz_warning |
| | | WHERE create_time BETWEEN #{startDate} AND #{endDate} |
| | | GROUP BY day |
| | | ORDER BY day |
| | | </select> |
| | | |
| | | |
| | | </mapper> |