From 5606efe6f2778ad09d8b35280d6360cfe8f34d91 Mon Sep 17 00:00:00 2001 From: zmk <496160012@qq.com> Date: 星期三, 03 七月 2024 16:19:28 +0800 Subject: [PATCH] Merge branch 'master' of ssh://117.78.1.188:29418/dkyChenJiang --- javaweb-plus/javaweb-admin/src/main/java/com/javaweb/web/controller/system/SysIndexController.java | 339 ++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 279 insertions(+), 60 deletions(-) diff --git a/javaweb-plus/javaweb-admin/src/main/java/com/javaweb/web/controller/system/SysIndexController.java b/javaweb-plus/javaweb-admin/src/main/java/com/javaweb/web/controller/system/SysIndexController.java index e8b3d7a..2222f77 100644 --- a/javaweb-plus/javaweb-admin/src/main/java/com/javaweb/web/controller/system/SysIndexController.java +++ b/javaweb-plus/javaweb-admin/src/main/java/com/javaweb/web/controller/system/SysIndexController.java @@ -5,20 +5,28 @@ import java.util.List; import java.util.Map; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.http.HttpRequest; +import cn.hutool.http.HttpResponse; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; import com.javaweb.cms.util.CmsConstants; import com.javaweb.common.core.domain.AjaxResult; import com.javaweb.common.utils.Arith; -import com.javaweb.common.utils.StringUtils; -import com.javaweb.geo.domain.Hole; -import com.javaweb.geo.domain.Project; -import com.javaweb.geo.mapper.HoleMapper; -import com.javaweb.geo.service.IProjectService; +import com.javaweb.geo.domain.*; +import com.javaweb.geo.enums.RecordType; +import com.javaweb.geo.mapper.ProjectCameraMapper; +import com.javaweb.geo.mapper.TubLogMapper; +import com.javaweb.geo.service.*; +import com.javaweb.geo.vo.DrillDateVo; +import com.javaweb.geo.vo.IndexVo; import com.javaweb.geo.vo.ProjectProcessVO; import com.javaweb.system.service.ISysConfigService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; -import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.util.ObjectUtils; +import org.springframework.web.bind.annotation.*; import com.javaweb.common.config.Global; import com.javaweb.common.core.controller.BaseController; import com.javaweb.framework.util.ShiroUtils; @@ -27,20 +35,23 @@ import com.javaweb.system.service.ISysMenuService; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; - import javax.servlet.http.HttpServletRequest; /** * 棣栭〉 涓氬姟澶勭悊 - * + * * @author ruoyi */ @Controller -public class SysIndexController extends BaseController -{ +public class SysIndexController extends BaseController { + + private String prefix = "system/camera_tub"; + + + private String appkey = "af786eacc71d43ef9393c028cf4face7"; + private String secret = "9ad87671f63d2258af6fd9b2e5fa6005"; + private String postUrl ="https://open.ys7.com/api/lapp/token/get"; + @Autowired private ISysMenuService menuService; @@ -51,9 +62,25 @@ private IProjectService projectService; @Autowired - private HoleMapper holeMapper; + private IHoleService holeService; - private String getAdminIndex(){ + @Autowired + private IHoleMediaService holeMediaService; + + @Autowired + private TubLogMapper tubLogMapper; + + @Autowired + private ProjectCameraMapper projectCameraMapper; + + @Autowired + private IProjectCameraService cameraService; + + @Autowired + private IHoleLogService holeLogService; + + + private String getAdminIndex() { return configService.selectConfigByKey(CmsConstants.KEY_ADMIN_INDEX); } @@ -62,10 +89,19 @@ return "forward:/index"; } + @RequestMapping("/system/camera") + public String cameraList() { + return prefix + "/camera_list"; + } + + @RequestMapping("/system/tub") + public String tubList() { + return prefix + "/tub_list"; + } + // 绯荤粺棣栭〉 @GetMapping("/index") - public String index(ModelMap mmap) - { + public String index(ModelMap mmap) { // 鍙栬韩浠戒俊鎭� SysUser user = ShiroUtils.getSysUser(); // 鏍规嵁鐢ㄦ埛id鍙栧嚭鑿滃崟 @@ -76,9 +112,9 @@ mmap.put("demoEnabled", Global.isDemoEnabled()); String indePage = this.getAdminIndex(); - if(CmsConstants.ADMIN_INDEX_TOP_MENU.equals(indePage)){ + if (CmsConstants.ADMIN_INDEX_TOP_MENU.equals(indePage)) { return CmsConstants.ADMIN_INDEX_TOP_MENU; // index_topMenu - }else{ + } else { return "index"; } } @@ -86,53 +122,52 @@ // 绯荤粺棣栭〉椤堕儴鑿滃崟 @PostMapping("/index/getMenu") @ResponseBody - public AjaxResult getMenu(HttpServletRequest request) - { + public AjaxResult getMenu(HttpServletRequest request) { // 鍙栬韩浠戒俊鎭� SysUser user = ShiroUtils.getSysUser(); // 鏍规嵁鐢ㄦ埛id鍙栧嚭鑿滃崟 List<SysMenu> menus = menuService.selectMenusByUser(user); return AjaxResult.success(menus); } + // 鍒囨崲涓婚 @GetMapping("/system/switchSkin") - public String switchSkin(ModelMap mmap) - { + public String switchSkin(ModelMap mmap) { return "skin"; } // 绯荤粺浠嬬粛 @GetMapping("/system/main") - public String main(ModelMap mmap) - { + public String main(ModelMap mmap) { mmap.put("version", Global.getVersion()); - + + String loginname = ShiroUtils.getLoginName(); + mmap.put("loginuser",loginname); return "main"; } // 绯荤粺浠嬬粛 @ResponseBody - @GetMapping("/system/project") - public AjaxResult project() - { + @GetMapping("/system/stat/project") + public AjaxResult project() { AjaxResult ajaxResult = AjaxResult.success(); List<Project> projects = projectService.selectProjectList(new Project()); - ajaxResult.put("projects",projects); + ajaxResult.put("projects", projects); return ajaxResult; } + /** * 鎬昏繘搴� * @return */ @ResponseBody - @GetMapping("/system/totalProcess") - public AjaxResult totalProcess() - { + @GetMapping("/system/stat/totalProcess") + public AjaxResult totalProcess() { AjaxResult ajaxResult = AjaxResult.success(); - Hole hole = holeMapper.selectHoleTotalProcess(); - Double data = Arith.div(hole.getFootageCpl(),hole.getFootage(),2) ; - ajaxResult.put("pointerData",data); + Hole hole = holeService.selectHoleTotalProcess(); + Double data = Arith.div(hole.getFootageCpl(), hole.getFootage(), 2); + ajaxResult.put("pointerData", data); return ajaxResult; } @@ -141,36 +176,220 @@ * @return */ @ResponseBody - @GetMapping("/system/projectProcess") - public AjaxResult projectProcess() - { + @GetMapping("/system/stat/projectProcess") + public AjaxResult projectProcess() { AjaxResult ajaxResult = AjaxResult.success(); - List<Hole> holes = holeMapper.selectHoleProjectProcess(); - Map<String,Double> holeMap = new HashMap<>(); - for(Hole hole : holes){ - Double val = Arith.div(hole.getFootageCpl(),hole.getFootage(),2) ; - val = Arith.round(val * 100,2); - holeMap.put(hole.getProjectId(),val) ; + List<Hole> holes = holeService.selectHoleProjectProcess(); + Map<String, Double> holeMap = new HashMap<>(); + for (Hole hole : holes) { + Double val =0.0d; + if(ObjectUtil.isNotEmpty(hole.getFootageCpl()) && ObjectUtil.isNotEmpty(hole.getFootage())) { + val = Arith.div(hole.getFootageCpl(), hole.getFootage(), 2); + val = Arith.round(val * 100, 2); + } + holeMap.put(hole.getProjectId(), val); } List<Project> projects = projectService.selectProjectList(new Project()); - List<ProjectProcessVO> vos = new ArrayList<>(); - for(int i = 0 ; i<projects.size();i++ ){ - String ids= projects.get(i).getIds(); - Double val = holeMap.get(ids); - ProjectProcessVO vo = new ProjectProcessVO(); - vo.setRanking(i + 1); - vo.setStation(projects.get(i).getCode()); - vo.setValue(val); - if(val==null){ - vo.setValue(0.0d); - } - vos.add(vo); - } + List<ProjectProcessVO> vos = new ArrayList<>(); + ProjectProcessVO vo; + if (!ObjectUtils.isEmpty(projects)) { + for (int i = 0; i < projects.size(); i++) { + String ids = projects.get(i).getIds(); + Double val = holeMap.get(ids); + vo = new ProjectProcessVO(); - ajaxResult.put("projectData",vos); + vo.setIds(projects.get(i).getIds()); + vo.setRanking(i + 1); + vo.setStation(projects.get(i).getFullName()); + vo.setValue(val); + vo.setLng(projects.get(i).getLng()); + vo.setLat(projects.get(i).getLat()); + + + if (val == null) { + vo.setValue(0.0d); + } + String []statusName ={"鍗忚皟涓�","寰呭紑宸�","杩涜涓�"}; + String status = projects.get(i).getStatus(); + if(status.equals("0")){ + vo.setStatus(statusName[0]); + }else if(status.equals("1")){ + vo.setStatus(statusName[1]); + }else if(status.equals("2")){ + vo.setStatus(statusName[2]); + }else{ + vo.setStatus("鏈煡"); + } + vos.add(vo); + } + } + ajaxResult.put("projectData", vos); return ajaxResult; } - + + + /** + * 鏁伴噺缁熻 + * + * @return + */ + @ResponseBody + @GetMapping("/system/stat/indexDataCount") + public AjaxResult indexDataCount() { + IndexVo result = new IndexVo(); + //=============================鏌ヨ鍦哄湴鏁伴噺=============================== + List<Project> projectList = projectService.selectProjectCountByStatus(); + if (!ObjectUtils.isEmpty(projectList)) { + for (Project item : projectList) { + if (RecordType.projectStatus0.getId().equals(item.getStatus())) { + result.setProjectStatus0(item.getStatusNumber()); + } + if (RecordType.projectStatus1.getId().equals(item.getStatus())) { + result.setProjectStatus1(item.getStatusNumber()); + } + if (RecordType.projectStatus2.getId().equals(item.getStatus())) { + result.setProjectStatus2(item.getStatusNumber()); + } + } + } + if (ObjectUtils.isEmpty(result.getProjectStatus0())) { + result.setProjectStatus0(0); + } + if (ObjectUtils.isEmpty(result.getProjectStatus1())) { + result.setProjectStatus1(0); + } + if (ObjectUtils.isEmpty(result.getProjectStatus2())) { + result.setProjectStatus2(0); + } + //=============================鏌ヨ杩涘昂=============================== + Hole hole = holeService.selectHoleTotalProcess(); + result.setFootageCplCount(hole.getFootageCpl()); + result.setFootageCount(hole.getFootage()); + + //=============================鏌ヨ璧勬枡=============================== + HoleMedia holeMedia = holeMediaService.selectHoleMediaNumber(); + result.setFileCount(holeMedia.getNumber()); + + Integer cameraCount = projectCameraMapper.count(); + result.setCameraCount(cameraCount); + return AjaxResult.success("鏌ヨ鎴愬姛",result); + } + + /** + * 缁熻鏉愭枡鐨勬秷鑰� + * @return + */ + @ResponseBody + @GetMapping("/system/stat/tubLogData") + public AjaxResult tubLogData() { + AjaxResult ajaxResult = new AjaxResult(); + List<TubLog> tubLogs = tubLogMapper.countTubLogDate(null); + ajaxResult.put("tubLogs",tubLogs); + return ajaxResult; + } + + /** + * 鑾峰彇鍦ㄧ嚎鎽勫儚澶寸殑淇℃伅 + * @return + */ + @ResponseBody + @GetMapping("/system/stat/cameraData") + public AjaxResult cameraData() { + AjaxResult ajaxResult = new AjaxResult(); + List<ProjectCamera> cameraDataList = cameraService.selectCameraDataOnLine(); + ajaxResult.put("cameraData",cameraDataList); + return ajaxResult; + } + + /** + * 鏍规嵁projectId鑾峰彇鍦ㄧ嚎鎽勫儚澶寸殑淇℃伅 + * @return + */ + @ResponseBody + @GetMapping("/system/stat/cameraData/{projectId}") + public AjaxResult cameraData2(@PathVariable("projectId") String projectId) { + AjaxResult ajaxResult = new AjaxResult(); + + ProjectCamera param = new ProjectCamera(); + param.setProjectId(projectId); + List<ProjectCamera> cameraDataList = cameraService.selectProjectCameraList(param); + if (!ObjectUtils.isEmpty(cameraDataList)){ + for (ProjectCamera item : cameraDataList) { + String url = item.getIp(); + Map<String, Object> paramMap = new HashMap<>(); + paramMap.put("appKey", appkey); + paramMap.put("appSecret", secret); + + HttpResponse response = HttpRequest.post(postUrl) .form(paramMap).execute(); + String body = response.body(); + JSONObject jsonObject = JSONUtil.parseObj(body); + String code = jsonObject.getStr("code"); + StringBuffer buffer = new StringBuffer(); + if(code.equals("200")){ + JSONObject data = (JSONObject) jsonObject.get("data"); + String token = data.getStr("accessToken"); + buffer.append("https://open.ys7.com/console/jssdk/pc.html?accessToken="); + buffer.append(token); + buffer.append("&url="); + buffer.append(url); + } + logger.debug(buffer.toString()); + item.setUrl(buffer.toString()); + } + } + ajaxResult.put("cameraDataList",cameraDataList); + return ajaxResult; + } + + /** + * 鏍规嵁projectId鑾峰彇鍦ㄧ嚎鎽勫儚澶寸殑淇℃伅 + * @return + */ + @GetMapping("/player") + public String player(String projectId,ModelMap mmap) { + ProjectCamera param = new ProjectCamera(); + param.setProjectId(projectId); + List<ProjectCamera> cameraDataList = cameraService.selectProjectCameraList(param); + if (!ObjectUtils.isEmpty(cameraDataList)){ + for (ProjectCamera item : cameraDataList) { + String url = item.getIp(); + Map<String, Object> paramMap = new HashMap<>(); + paramMap.put("appKey", appkey); + paramMap.put("appSecret", secret); + + HttpResponse response = HttpRequest.post(postUrl) .form(paramMap).execute(); + String body = response.body(); + JSONObject jsonObject = JSONUtil.parseObj(body); + String code = jsonObject.getStr("code"); + StringBuffer buffer = new StringBuffer(); + if(code.equals("200")){ + JSONObject data = (JSONObject) jsonObject.get("data"); + String token = data.getStr("accessToken"); + buffer.append("https://open.ys7.com/console/jssdk/pc.html?accessToken="); + buffer.append(token); + buffer.append("&url="); + buffer.append(url); + } + item.setUrl(buffer.toString()); + } + } + + mmap.put("cameraDataList",cameraDataList); + return prefix + "/player2"; + } + + /** + * 缁熻鏈�杩�10澶╄繘灏洪噺 + * @return + */ + @ResponseBody + @GetMapping("/system/stat/sumHoleLog") + public AjaxResult sumHoleLog() { + AjaxResult ajaxResult = AjaxResult.success(); + List<DrillDateVo> drillDateList = holeLogService.SUMHoleLog(); + ajaxResult.put("drillDateList",drillDateList); + return ajaxResult; + } } -- Gitblit v1.9.1