package com.sinata.web.controller.screen; import com.sinata.common.core.domain.R; import com.sinata.system.domain.MedicalWasteStaticsVO; import com.sinata.system.domain.vo.CarDistributionVO; import com.sinata.system.domain.vo.DepartmentTagInfoVO; import com.sinata.system.domain.vo.MedicalInstitutionCollectListVO; import com.sinata.system.domain.vo.MwWarningRecordStaticsVO; import com.sinata.system.domain.vo.MwWarningRecordVO; import com.sinata.system.domain.vo.ScreenDepartmentVO; import com.sinata.system.domain.vo.TodayMedicalWastePieVO; import com.sinata.system.domain.vo.TotalCollectWeightByTypeVO; import com.sinata.system.service.biz.ScreenService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * @author mitao * @date 2025/1/1 */ @Validated @Api(tags = {"数据大屏相关接口"}) @RestController @RequiredArgsConstructor @RequestMapping("/backend/screen") public class ScreenController { private final ScreenService screenService; /** * 获取单位列表 * * @return */ @ApiOperation(value = "获取单位列表", notes = "展示单位分布") @GetMapping(value = "/departmentList") public R> departmentList() { return R.ok(screenService.departmentList()); } /** * 获取单位标签信息 * * @param id * @return */ @ApiOperation("获取单位标签信息") @GetMapping("/getTagInfo/{id}") public R getTagInfo(@ApiParam(name = "id", value = "单位id", required = true) @PathVariable("id") Long id) { return R.ok(screenService.getTagInfo(id)); } /** * 预警数据统计 * * @return */ @ApiOperation("预警数据统计") @GetMapping("/medicalWaste") public R medicalWasteStatics() { return R.ok(screenService.medicalWasteStatics()); } /** * 今日医废类型占比 * * @return */ @ApiOperation("今日医废类型统计占比") @GetMapping("/todayMedicalWastePie") public R> todayMedicalWastePie() { return R.ok(screenService.todayMedicalWastePie()); } /** * 各类型医废收集总量 * * @param type * @return */ @ApiOperation("各类型医废收集总量") @GetMapping("/totalCollectWeightByType/{type}") public R totalCollectWeightByType(@ApiParam(name = "type", value = "统计类型 1:按周统计 2:按月统计") @PathVariable("type") Integer type) { return R.ok(screenService.totalCollectWeightByType(type)); } /** * 医疗机构收集情况 */ @ApiOperation("医疗机构收集情况") @GetMapping("/medicalInstitutionCollectList") public R> medicalInstitutionCollectList() { return R.ok(screenService.medicalInstitutionCollectList()); } /** * 预警记录统计 * * @return */ @ApiOperation("预警记录统计") @GetMapping("/warningRecordStaticsList") public R> warningRecordStaticsList() { return R.ok(screenService.warningRecordStaticsList()); } /** * 根据预警类型查询预警详情 * * @param type * @return */ @ApiOperation("根据预警类型查询预警详情") @GetMapping("/warningRecordDetailByType/{type}") public R> queryWarningRecordDetailByType(@ApiParam(name = "type", value = "预警类型", required = true) @PathVariable("type") Integer type) { return R.ok(screenService.queryWarningRecordDetailByType(type)); } /** * 车辆分布 * * @return */ @ApiOperation("车辆分布") @GetMapping("/carDistribution") public R> queryCarDistribution() { return R.ok(screenService.queryCarDistribution()); } /** * 车辆分布详情 * * @param id * @return */ @ApiOperation("车辆分布详情") @GetMapping("/carDistributionDetail/{id}") public R queryCarDistributionDetail(@ApiParam(name = "id", value = "车辆id", required = true) @PathVariable("id") Long id) { return R.ok(screenService.queryCarDistributionDetail(id)); } }