package com.javaweb.web.controller.system; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; 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.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 com.javaweb.common.config.Global; import com.javaweb.common.core.controller.BaseController; import com.javaweb.framework.util.ShiroUtils; import com.javaweb.system.domain.SysMenu; import com.javaweb.system.domain.SysUser; 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 { @Autowired private ISysMenuService menuService; @Autowired private ISysConfigService configService; @Autowired private IProjectService projectService; @Autowired private HoleMapper holeMapper; private String getAdminIndex(){ return configService.selectConfigByKey(CmsConstants.KEY_ADMIN_INDEX); } @RequestMapping("/admin") public String admin() { return "forward:/index"; } // 系统首页 @GetMapping("/index") public String index(ModelMap mmap) { // 取身份信息 SysUser user = ShiroUtils.getSysUser(); // 根据用户id取出菜单 List menus = menuService.selectMenusByUser(user); mmap.put("menus", menus); mmap.put("user", user); mmap.put("copyrightYear", Global.getCopyrightYear()); mmap.put("demoEnabled", Global.isDemoEnabled()); String indePage = this.getAdminIndex(); if(CmsConstants.ADMIN_INDEX_TOP_MENU.equals(indePage)){ return CmsConstants.ADMIN_INDEX_TOP_MENU; // index_topMenu }else{ return "index"; } } // 系统首页顶部菜单 @PostMapping("/index/getMenu") @ResponseBody public AjaxResult getMenu(HttpServletRequest request) { // 取身份信息 SysUser user = ShiroUtils.getSysUser(); // 根据用户id取出菜单 List menus = menuService.selectMenusByUser(user); return AjaxResult.success(menus); } // 切换主题 @GetMapping("/system/switchSkin") public String switchSkin(ModelMap mmap) { return "skin"; } // 系统介绍 @GetMapping("/system/main") public String main(ModelMap mmap) { mmap.put("version", Global.getVersion()); return "main"; } // 系统介绍 @ResponseBody @GetMapping("/system/project") public AjaxResult project() { AjaxResult ajaxResult = AjaxResult.success(); List projects = projectService.selectProjectList(new Project()); ajaxResult.put("projects",projects); return ajaxResult; } /** * 总进度 * @return */ @ResponseBody @GetMapping("/system/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); return ajaxResult; } /** * 场地进度 * @return */ @ResponseBody @GetMapping("/system/projectProcess") public AjaxResult projectProcess() { AjaxResult ajaxResult = AjaxResult.success(); List holes = holeMapper.selectHoleProjectProcess(); Map 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 projects = projectService.selectProjectList(new Project()); List vos = new ArrayList<>(); for(int i = 0 ; i