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.HoleMedia;
|
import com.javaweb.geo.domain.Project;
|
import com.javaweb.geo.enums.RecordType;
|
import com.javaweb.geo.mapper.HoleMapper;
|
import com.javaweb.geo.service.IHoleMediaService;
|
import com.javaweb.geo.service.IHoleService;
|
import com.javaweb.geo.service.IProjectService;
|
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.util.ObjectUtils;
|
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 IHoleService holeService;
|
|
@Autowired
|
private IHoleMediaService holeMediaService;
|
|
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<SysMenu> 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<SysMenu> 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<Project> 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 = holeService.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<Hole> holes = holeService.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<Project> projects = projectService.selectProjectList(new Project());
|
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();
|
|
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/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());
|
|
return AjaxResult.success("查询成功",result);
|
}
|
|
|
}
|