| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.domain.model.LoginUser; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.framework.web.service.TokenService; |
| | | import com.ruoyi.system.model.*; |
| | | import com.ruoyi.system.query.StoryListQuery; |
| | |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.checkerframework.checker.units.qual.A; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.context.annotation.Lazy; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/dashboard-statistics") |
| | | @Api(tags = "数据统计面板") |
| | | @Api(tags = "首页") |
| | | @RequiredArgsConstructor(onConstructor_ = @Lazy) |
| | | public class DashboardStatisticsController { |
| | | |
| | | @Autowired |
| | | private ScreenAccountService screenAccountService; |
| | | |
| | | @Autowired |
| | | private TokenService tokenService; |
| | |
| | | @Autowired |
| | | private AccidentBriefService accidentBriefService; |
| | | |
| | | @Autowired |
| | | private AccidentClassificationService accidentClassificationService; |
| | | |
| | | |
| | | @ApiOperation("获取当前登录信息") |
| | |
| | | public R<ScreenUserVo> getLoginInfo(Integer type, Integer id) { |
| | | ScreenUserVo screenUserVo = new ScreenUserVo(); |
| | | screenUserVo.setType(type); |
| | | |
| | | if(type!=null && id !=null){ |
| | | |
| | | if(type==1){ |
| | |
| | | if(client==null){ |
| | | return R.fail("委托方不存在"); |
| | | } |
| | | screenUserVo.setClientId(id); |
| | | ClientParam param = clientParamService.getOne(new LambdaQueryWrapper<ClientParam>().eq(ClientParam::getClientId, client.getId())); |
| | | if(param!=null){ |
| | | screenUserVo.setLogo(param.getLogo()); |
| | |
| | | screenUserVo.setPermissionClient(param.getPermissionClient()); |
| | | screenUserVo.setPermissionProject(param.getPermissionProject()); |
| | | screenUserVo.setCommentType(param.getCommentType()); |
| | | screenUserVo.setSafetyId(param.getSafetyId()); |
| | | String name = clientParamService.getTemplateName(param.getSafetyId()); |
| | | screenUserVo.setSafetyName(name); |
| | | |
| | | screenUserVo.setDeviceTemplateId(param.getDeviceTemplateId()); |
| | | screenUserVo.setDeviceTemplateName(clientParamService.getTemplateName(param.getDeviceTemplateId())); |
| | | |
| | | screenUserVo.setBigHiddenDanger(param.getBigHiddenDanger()); |
| | | screenUserVo.setGeneralHiddenDanger(param.getGeneralHiddenDanger()); |
| | | } |
| | | }else if(type==2){ |
| | | Project project = projectService.getById(id); |
| | |
| | | return R.fail("项目不存在"); |
| | | } |
| | | Client client = clientService.getById(project.getClientId()); |
| | | screenUserVo.setClientId(client.getId()); |
| | | ClientParam param = clientParamService.getOne(new LambdaQueryWrapper<ClientParam>().eq(ClientParam::getClientId, client.getId())); |
| | | if(param!=null){ |
| | | screenUserVo.setLogo(param.getLogo()); |
| | | screenUserVo.setName(param.getName()); |
| | | screenUserVo.setCommentType(param.getCommentType()); |
| | | screenUserVo.setSafetyId(param.getSafetyId()); |
| | | String name = clientParamService.getTemplateName(param.getSafetyId()); |
| | | screenUserVo.setSafetyName(name); |
| | | screenUserVo.setDeviceTemplateId(param.getDeviceTemplateId()); |
| | | String name1 = clientParamService.getTemplateName(param.getDeviceTemplateId()); |
| | | screenUserVo.setDeviceTemplateName(name1); |
| | | screenUserVo.setBigHiddenDanger(param.getBigHiddenDanger()); |
| | | screenUserVo.setGeneralHiddenDanger(param.getGeneralHiddenDanger()); |
| | | } |
| | | screenUserVo.setName(project.getName()); |
| | | screenUserVo.setProjectName(project.getName()); |
| | | screenUserVo.setPermissionProject(project.getPermission()); |
| | | } |
| | | |
| | |
| | | |
| | | |
| | | @ApiOperation(value = "获取故事简讯列表",response = AccidentBrief.class) |
| | | @PostMapping("/getStoryList") |
| | | public R<Page<AccidentBrief>> getStoryList(@RequestBody StoryListQuery query) { |
| | | @PostMapping("/getStoryPage") |
| | | public R<Page<AccidentBrief>> getStoryPage(@RequestBody StoryListQuery query) { |
| | | Page<AccidentBrief> page = new Page<>(query.getPageNum(), query.getPageSize()); |
| | | List<AccidentClassification> list = accidentClassificationService.list(new LambdaQueryWrapper<AccidentClassification>().eq(AccidentClassification::getDeleted, false)); |
| | | LambdaQueryWrapper<AccidentBrief> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(AccidentBrief::getState,1); |
| | | wrapper.eq(AccidentBrief::getDeleted,false); |
| | | if(query.getCity()!=null && !query.getCity().isEmpty()){ |
| | | wrapper.eq(AccidentBrief::getCity, query.getCity()); |
| | | } |
| | | if(query.getProvince()!=null && !query.getProvince().isEmpty()){ |
| | | wrapper.eq(AccidentBrief::getProvince, query.getProvince()); |
| | | } |
| | | if(query.getArea()!=null && !query.getArea().isEmpty()){ |
| | | wrapper.eq(AccidentBrief::getArea, query.getArea()); |
| | | } |
| | | |
| | | if(query.getClassifyId()!=null){ |
| | | wrapper.eq(AccidentBrief::getClassifyId, query.getClassifyId()); |
| | | } |
| | | if(query.getTime()!=null && !query.getTime().isEmpty()){ |
| | | String sTime = query.getTime().split(" - ")[0]+" 00:00:00"; |
| | | String eTime = query.getTime().split(" - ")[1]+" 23:59:59"; |
| | | wrapper.between(AccidentBrief::getTime,sTime,eTime); |
| | | } |
| | | if(query.getContent()!=null && !query.getContent().isEmpty()){ |
| | | wrapper.like(AccidentBrief::getContent, query.getContent()); |
| | | } |
| | | wrapper.orderByDesc(AccidentBrief::getTime); |
| | | Page<AccidentBrief> accidentBriefPage = accidentBriefService.page(page, wrapper); |
| | | accidentBriefPage.getRecords().forEach(item->{ |
| | | item.setClassifyName(list.stream().filter(classify->classify.getId().equals(item.getClassifyId())).findFirst().get().getName()); |
| | | }); |
| | | return R.ok(accidentBriefPage); |
| | | } |
| | | |
| | | |
| | | |
| | | @ApiOperation(value = "获取故事简讯列表-不分页",response = AccidentBrief.class) |
| | | @PostMapping("/getStoryList") |
| | | public R<List<AccidentBrief>> getStoryList(@RequestBody StoryListQuery query) { |
| | | List<AccidentClassification> list = accidentClassificationService.list(new LambdaQueryWrapper<AccidentClassification>().eq(AccidentClassification::getDeleted, false)); |
| | | LambdaQueryWrapper<AccidentBrief> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(AccidentBrief::getState,1); |
| | | if(query.getCity()!=null && !query.getCity().isEmpty()){ |
| | |
| | | wrapper.like(AccidentBrief::getContent, query.getContent()); |
| | | } |
| | | wrapper.orderByDesc(AccidentBrief::getTime); |
| | | Page<AccidentBrief> accidentBriefPage = accidentBriefService.page(page, wrapper); |
| | | List<AccidentBrief> accidentBriefPage = accidentBriefService.list( wrapper); |
| | | accidentBriefPage.forEach(item->{ |
| | | item.setClassifyName(list.stream().filter(classify -> classify.getId().equals(item.getClassifyId())).findFirst().orElse(new AccidentClassification()).getName()); |
| | | }); |
| | | return R.ok(accidentBriefPage); |
| | | } |
| | | |
| | |
| | | return R.ok(accidentBrief); |
| | | } |
| | | |
| | | @ApiOperation(value = "获取故事简讯详情分类",response = AccidentClassification.class) |
| | | @GetMapping("/getStoryClassify") |
| | | public R<List<AccidentClassification>> getStoryClassify() { |
| | | List<AccidentClassification> list = accidentClassificationService.list(new LambdaQueryWrapper<AccidentClassification>().eq(AccidentClassification::getDeleted, false)); |
| | | return R.ok(list); |
| | | } |
| | | |
| | | /** |
| | | * 获取委托方大屏首页统计数据 |
| | | * |
| | |
| | | * @return 统计数据 |
| | | */ |
| | | @PostMapping("/index") |
| | | @ApiOperation("获取委托方大屏首页统计数据") |
| | | @ApiOperation(value = "获取委托方大屏首页统计数据",tags = {"委托方端"}) |
| | | public R<ClientDashboardVO> index(@RequestBody ClientDashboardQuery query) { |
| | | ClientDashboardVO dashboard = clientService.getClientDashboard(query); |
| | | return R.ok(dashboard); |