package com.hxzk.gps.controller.WarnTongJi; import cn.dev33.satoken.annotation.SaCheckLogin; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.hxzk.gps.controller.Warning.dto.TableSearchResult.TableSearchResult; import com.hxzk.gps.entity.Fence.TbFence; import com.hxzk.gps.entity.User.TbUser; import com.hxzk.gps.entity.WarnTongJi.WarnTongjiCompany; import com.hxzk.gps.entity.Warning.TbWarning; import com.hxzk.gps.mapper.Warning.TbWarningMapper; import com.hxzk.gps.result.ResultTable; import com.hxzk.gps.service.Anchor.TbAchorService; import com.hxzk.gps.service.Company.TbCompanyService; import com.hxzk.gps.service.Department.TbDepartmentService; import com.hxzk.gps.service.Fence.TbFenceService; import com.hxzk.gps.service.Person.TbPersonService; import com.hxzk.gps.service.WarnTongJi.WarnTongjiCompanyService; import com.hxzk.gps.service.Warning.TbWarningService; import com.hxzk.gps.util.GetUser.UserInfoUtil; import com.hxzk.gps.util.Result.ReturnMessage; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** *

* 前端控制器 *

* * @author YuZhiTong * @since 2025-06-09 */ @RestController @RequestMapping("/WarningTongJi") public class WarnTongjiCompanyController { @Autowired WarnTongjiCompanyService warnTongjiCompanyService; @Autowired TbPersonService personService; @Autowired TbFenceService fenceService; @Autowired TbAchorService achorService; @Autowired TbDepartmentService departmentService; @Autowired TbWarningMapper warningMapper; @Autowired TbCompanyService companyService; @SaCheckLogin @ApiOperation(value = "平台告警列表接口", notes = "该接口提供了平台告警列表的信息查询功能") @PostMapping("FindWarningTongJiInfo") public ResultTable FindWarningTongJiInfo(@RequestBody TableSearchResult TableSearchResult){ return warnTongjiCompanyService.FindWarningTongJiInfo(TableSearchResult); } @SaCheckLogin @ApiOperation(value = "平台用户修改接口", notes = "该接口提供了平台用户修改功能") @PostMapping("update") public ReturnMessage update(@RequestBody WarnTongjiCompany warnTongjiCompany){ return warnTongjiCompanyService.update(warnTongjiCompany); } @SaCheckLogin @ApiOperation(value = "平台实时统计查询接口", notes = "该接口提供了平台实时统计查询功能") @PostMapping("FindDayCountInfo") public List FindDayCountInfo(){ return warnTongjiCompanyService.FindDayCountInfo(); } @SaCheckLogin @ApiOperation(value = "平台统计页面基础数据查询接口", notes = "该接口提供了平台统计页面基础数据查询功能") @PostMapping("FindBSCount") public List FindBSCount(){ List companyids = companyService.getChildCompanyIds(UserInfoUtil.getUserCompanyId()); List companyname = companyService.getChildCompanyNames(UserInfoUtil.getUserCompany()); List list = new ArrayList<>(); QueryWrapper queryWrapperOnLinePerson = new QueryWrapper<>(); queryWrapperOnLinePerson.in("companyid", companyids); queryWrapperOnLinePerson.eq("p_online","1"); list.add(personService.getBaseMapper().selectCount(queryWrapperOnLinePerson)); QueryWrapper queryWrapperPeronNoLine = new QueryWrapper<>(); queryWrapperPeronNoLine.in("companyid", companyids); queryWrapperPeronNoLine.eq("p_online","0"); list.add(personService.getBaseMapper().selectCount(queryWrapperPeronNoLine)); QueryWrapper queryWrapperFence = new QueryWrapper<>(); queryWrapperFence.in("company", companyname); list.add(fenceService.getBaseMapper().selectCount(queryWrapperFence)); QueryWrapper queryWrapperAchor = new QueryWrapper<>(); queryWrapperAchor.in("company", companyname); list.add(achorService.getBaseMapper().selectCount(queryWrapperAchor)); QueryWrapper queryWrapperDepartment = new QueryWrapper<>(); queryWrapperDepartment.in("companyid", companyids); list.add(departmentService.getBaseMapper().selectCount(queryWrapperDepartment)); return list; } @SaCheckLogin @ApiOperation(value = "平台统计页面告警查询接口", notes = "该接口提供了平台统计页面告警查询功能") @PostMapping("FindBSWarningCount") public List FindBSWarningCount(){ List list = new ArrayList<>(); List list1 = companyService.getChildCompanyIds(UserInfoUtil.getUserCompanyId()); list.add(warningMapper.FindDayCountInfo("SOS",list1)); list.add(warningMapper.FindDayCountInfo("进入告警",list1)); list.add(warningMapper.FindDayCountInfo("出去告警",list1)); list.add(warningMapper.FindDayCountInfo("聚集告警",list1)); list.add(warningMapper.FindDayCountInfo("超员告警",list1)); return list; } @SaCheckLogin @ApiOperation(value = "平台统计页面告警查询接口", notes = "该接口提供了平台统计页面告警查询功能") @PostMapping("FindDayWarningCount") public Map FindDayWarningCount(@RequestBody TbWarning warning){ Map map = new HashMap<>(); map.put("SOS",warningMapper.FindDayDateCountInfo("SOS",UserInfoUtil.getUserCompany(), Integer.valueOf(warning.getTime()))); map.put("进入告警",warningMapper.FindDayDateCountInfo("进入告警",UserInfoUtil.getUserCompany(), Integer.valueOf(warning.getTime()))); map.put("出去告警",warningMapper.FindDayDateCountInfo("出去告警",UserInfoUtil.getUserCompany(), Integer.valueOf(warning.getTime()))); map.put("聚集告警",warningMapper.FindDayDateCountInfo("聚集告警",UserInfoUtil.getUserCompany(), Integer.valueOf(warning.getTime()))); map.put("超员告警",warningMapper.FindDayDateCountInfo("超员告警",UserInfoUtil.getUserCompany(), Integer.valueOf(warning.getTime()))); return map; } @SaCheckLogin @ApiOperation(value = "引擎更新时间查询", notes = "该接口提供了引擎更新时间查询功能") @PostMapping("FindCSDATE") public String FindCSDATE(){ return warningMapper.FindCSDATE(); } }