地质所 沉降监测网建设项目
zmk
2024-05-22 28e168f05d3eb48223e69064188c6fce786442d4
javaweb-plus/javaweb-admin/src/main/java/com/javaweb/web/controller/system/SysIndexController.java
@@ -10,14 +10,20 @@
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;
@@ -35,12 +41,11 @@
/**
 * 首页 业务处理
 *
 *
 * @author ruoyi
 */
@Controller
public class SysIndexController extends BaseController
{
public class SysIndexController extends BaseController {
    @Autowired
    private ISysMenuService menuService;
@@ -51,9 +56,12 @@
    private IProjectService projectService;
    @Autowired
    private HoleMapper holeMapper;
    private IHoleService holeService;
    private String getAdminIndex(){
    @Autowired
    private IHoleMediaService holeMediaService;
    private String getAdminIndex() {
        return configService.selectConfigByKey(CmsConstants.KEY_ADMIN_INDEX);
    }
@@ -64,8 +72,7 @@
    // 系统首页
    @GetMapping("/index")
    public String index(ModelMap mmap)
    {
    public String index(ModelMap mmap) {
        // 取身份信息
        SysUser user = ShiroUtils.getSysUser();
        // 根据用户id取出菜单
@@ -76,9 +83,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 +93,50 @@
    // 系统首页顶部菜单
    @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());
        return "main";
    }
    // 系统介绍
    @ResponseBody
    @GetMapping("/system/project")
    public AjaxResult 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()
    {
    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;
    }
@@ -142,35 +146,85 @@
     */
    @ResponseBody
    @GetMapping("/system/projectProcess")
    public AjaxResult 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 = 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);
        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.setRanking(i + 1);
                vo.setStation(projects.get(i).getCode());
                vo.setValue(val);
                if (val == null) {
                    vo.setValue(0.0d);
                }
                vo.setStatus(projects.get(i).getStatus());
                vos.add(vo);
            }
            vos.add(vo);
        }
        ajaxResult.put("projectData",vos);
        ajaxResult.put("projectData", vos);
        return ajaxResult;
    }
    /**
     * 数量统计
     *
     * @return
     */
    @ResponseBody
    @GetMapping("/system/indexVo")
    public AjaxResult projectProcess2() {
        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.setProjectStatus0(item.getStatusNumber());
                }
                if (RecordType.projectStatus2.getId().equals(item.getStatus())) {
                    result.setProjectStatus0(item.getStatusNumber());
                }
            }
        }
        if (ObjectUtils.isEmpty(result.getProjectStatus1())) {
            result.setProjectStatus0(0);
        }
        if (ObjectUtils.isEmpty(result.getProjectStatus2())) {
            result.setProjectStatus0(0);
        }
        if (ObjectUtils.isEmpty(result.getProjectStatus2())) {
            result.setProjectStatus0(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);
    }
}