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; @@ -39,8 +45,7 @@ * @author ruoyi */ @Controller public class SysIndexController extends BaseController { public class SysIndexController extends BaseController { @Autowired private ISysMenuService menuService; @@ -51,7 +56,10 @@ private IProjectService projectService; @Autowired private HoleMapper holeMapper; private IHoleService holeService; @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取出菜单 @@ -86,26 +93,24 @@ // 系统首页顶部菜单 @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"; @@ -114,23 +119,22 @@ // 系统介绍 @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); return ajaxResult; } /** * 总进度 * @return */ @ResponseBody @GetMapping("/system/totalProcess") public AjaxResult totalProcess() { public AjaxResult totalProcess() { AjaxResult ajaxResult = AjaxResult.success(); Hole hole = holeMapper.selectHoleTotalProcess(); Hole hole = holeService.selectHoleTotalProcess(); Double data = Arith.div(hole.getFootageCpl(),hole.getFootage(),2) ; ajaxResult.put("pointerData",data); return ajaxResult; @@ -142,10 +146,9 @@ */ @ResponseBody @GetMapping("/system/projectProcess") public AjaxResult projectProcess() { public AjaxResult projectProcess() { AjaxResult ajaxResult = AjaxResult.success(); List<Hole> holes = holeMapper.selectHoleProjectProcess(); List<Hole> holes = holeService.selectHoleProjectProcess(); Map<String,Double> holeMap = new HashMap<>(); for(Hole hole : holes){ Double val = Arith.div(hole.getFootageCpl(),hole.getFootage(),2) ; @@ -155,22 +158,73 @@ 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); ProjectProcessVO vo = new ProjectProcessVO(); 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); } } 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); } } javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/HoleMedia.java
@@ -61,6 +61,11 @@ @Excel(name = "上传人") private String uploadUser; /** * 统计资料数量 */ private Long number; public void setIds(String ids) { this.ids = ids; } @@ -125,6 +130,14 @@ this.projectId = projectId; } public Long getNumber() { return number; } public void setNumber(Long number) { this.number = number; } @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/domain/Project.java
@@ -120,6 +120,9 @@ @Excel(name = "项目状态") private String status; /** 统计状态数量 */ private Integer statusNumber; /** 是否删除 */ @Excel(name = "是否删除") private String isDeleted; @@ -149,6 +152,7 @@ /** 数据来源 */ private String dataSource; public Integer getHoleNum() { return holeNum; @@ -300,6 +304,15 @@ { return status; } public Integer getStatusNumber() { return statusNumber; } public void setStatusNumber(Integer statusNumber) { this.statusNumber = statusNumber; } public void setIsDeleted(String isDeleted) { this.isDeleted = isDeleted; javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/enums/RecordType.java
@@ -9,6 +9,13 @@ deviceLog_out("out","出库"), /** * 出入库状态 */ projectStatus0("0","未协调"), projectStatus1("1","已协调"), projectStatus2("2","施工中"), /** * 记录分类(必填,直接填写汉字,因考虑历史数据原因, * “机长”表示司钻员) * 回次、岩土、取土、标贯、动探、水位、取水、负责人、工程师、机长、钻机 @@ -25,13 +32,6 @@ jz("机长","机长"), zj("钻机","钻机"), /** * 项目状态 */ projectStatus0("0","项目未完成"), projectStatus1("1","项目验收完成"), /** * 是否删除 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/mapper/HoleMediaMapper.java
@@ -69,4 +69,10 @@ public int deleteHoleMediaByIds(String[] idss); Long countNumberByProjectId(@Param("projectId") String projectId); /** * 统计资料数量 * @return */ HoleMedia selectHoleMediaNumber(); } javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/mapper/ProjectMapper.java
@@ -63,5 +63,9 @@ */ public int deleteProjectByIds(String[] idss); /** * 查询场地数量 * @return */ List<Project> selectProjectCountByStatus(); } javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IHoleMediaService.java
@@ -58,4 +58,11 @@ * @return 结果 */ public int deleteHoleMediaById(String ids); /** * 统计资料数量 * * @return */ HoleMedia selectHoleMediaNumber(); } javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IHoleService.java
@@ -65,4 +65,16 @@ * 导入钻孔 */ String importHole(String projectId, MultipartFile file, boolean updateSupport); /** * 总进度 * @return */ Hole selectHoleTotalProcess(); /** * 场地进度 * @return */ List<Hole> selectHoleProjectProcess(); } javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/IProjectService.java
@@ -62,4 +62,9 @@ public int deleteProjectById(String ids); /** * 查询场地数量 * @return */ List<Project> selectProjectCountByStatus(); } javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleMediaServiceImpl.java
@@ -1,6 +1,7 @@ package com.javaweb.geo.service.impl; import java.util.List; import com.javaweb.common.utils.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -16,8 +17,7 @@ * @date 2022-10-20 */ @Service public class HoleMediaServiceImpl implements IHoleMediaService { public class HoleMediaServiceImpl implements IHoleMediaService { @Autowired private HoleMediaMapper holeMediaMapper; @@ -28,8 +28,7 @@ * @return 钻孔图片、视频 */ @Override public HoleMedia selectHoleMediaById(String ids) { public HoleMedia selectHoleMediaById(String ids) { return holeMediaMapper.selectHoleMediaById(ids); } @@ -40,8 +39,7 @@ * @return 钻孔图片、视频 */ @Override public List<HoleMedia> selectHoleMediaList(HoleMedia holeMedia) { public List<HoleMedia> selectHoleMediaList(HoleMedia holeMedia) { return holeMediaMapper.selectHoleMediaList(holeMedia); } @@ -52,8 +50,7 @@ * @return 结果 */ @Override public int insertHoleMedia(HoleMedia holeMedia) { public int insertHoleMedia(HoleMedia holeMedia) { holeMedia.setCreateTime(DateUtils.getNowDate()); return holeMediaMapper.insertHoleMedia(holeMedia); } @@ -65,8 +62,7 @@ * @return 结果 */ @Override public int updateHoleMedia(HoleMedia holeMedia) { public int updateHoleMedia(HoleMedia holeMedia) { return holeMediaMapper.updateHoleMedia(holeMedia); } @@ -77,8 +73,7 @@ * @return 结果 */ @Override public int deleteHoleMediaByIds(String ids) { public int deleteHoleMediaByIds(String ids) { return holeMediaMapper.deleteHoleMediaByIds(Convert.toStrArray(ids)); } @@ -89,8 +84,17 @@ * @return 结果 */ @Override public int deleteHoleMediaById(String ids) { public int deleteHoleMediaById(String ids) { return holeMediaMapper.deleteHoleMediaById(ids); } /** * 统计资料数量 * * @return */ @Override public HoleMedia selectHoleMediaNumber() { return holeMediaMapper.selectHoleMediaNumber(); } } javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/HoleServiceImpl.java
@@ -182,6 +182,25 @@ return "导入完毕" ; } /** * 总进度 * @return */ @Override public Hole selectHoleTotalProcess() { return holeMapper.selectHoleTotalProcess(); } /** * 场地进度 * @return */ @Override public List<Hole> selectHoleProjectProcess() { return holeMapper.selectHoleProjectProcess(); } private String saveExcel(MultipartFile file) { String filename = file.getOriginalFilename(); File dir = new File(fileSaveDir); javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/ProjectServiceImpl.java
@@ -88,9 +88,17 @@ */ @Override public int deleteProjectById(String ids) { return projectMapper.deleteProjectById(ids); } /** * 查询场地数量 * @return */ @Override public List<Project> selectProjectCountByStatus() { return projectMapper.selectProjectCountByStatus(); } } javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/vo/IndexVo.java
New file @@ -0,0 +1,85 @@ package com.javaweb.geo.vo; /** * @author mzy-cxy */ public class IndexVo { /** * 未协调 */ private Integer projectStatus0; /** * 已协调 */ private Integer projectStatus1; /** * 施工中 */ private Integer projectStatus2; /** * 总进尺 */ private Double footageCount; /** * 已完成进尺 */ private Double footageCplCount; /** * 资料 */ private Long fileCount; public Integer getProjectStatus0() { return projectStatus0; } public void setProjectStatus0(Integer projectStatus0) { this.projectStatus0 = projectStatus0; } public Integer getProjectStatus1() { return projectStatus1; } public void setProjectStatus1(Integer projectStatus1) { this.projectStatus1 = projectStatus1; } public Integer getProjectStatus2() { return projectStatus2; } public void setProjectStatus2(Integer projectStatus2) { this.projectStatus2 = projectStatus2; } public Double getFootageCount() { return footageCount; } public void setFootageCount(Double footageCount) { this.footageCount = footageCount; } public Double getFootageCplCount() { return footageCplCount; } public void setFootageCplCount(Double footageCplCount) { this.footageCplCount = footageCplCount; } public Long getFileCount() { return fileCount; } public void setFileCount(Long fileCount) { this.fileCount = fileCount; } } javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/vo/ProjectProcessVO.java
@@ -9,6 +9,7 @@ private Integer ranking; private String station; private Double value; private String status; public Integer getRanking() { return ranking; @@ -33,4 +34,12 @@ public void setValue(Double value) { this.value = value; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } } javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/HoleMediaMapper.xml
@@ -14,6 +14,7 @@ <result property="internetPath" column="internet_path" /> <result property="createUser" column="create_user" /> <result property="uploadUser" column="upload_user" /> <result property="number" column="number" /> </resultMap> <sql id="selectHoleMediaVo"> @@ -42,6 +43,10 @@ SELECT count(ids) FROM js_hole_media where project_id = #{projectId} </select> <select id="selectHoleMediaNumber" resultMap="HoleMediaResult"> select count(ids) as number from js_hole_media </select> <insert id="insertHoleMedia" parameterType="HoleMedia"> insert into js_hole_media <trim prefix="(" suffix=")" suffixOverrides=","> javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/ProjectMapper.xml
@@ -23,6 +23,7 @@ <result property="serialNumber" column="serial_number" /> <result property="describe" column="describe" /> <result property="status" column="status" /> <result property="statusNumber" column="status_number" /> <result property="isDeleted" column="is_deleted" /> <result property="statusChangeUser" column="status_change_user" /> <result property="statusChangeReason" column="status_change_reason" /> @@ -60,6 +61,10 @@ WHERE ids = #{ids} </select> <select id="selectProjectCountByStatus" resultMap="ProjectResult"> SELECT `status`, count( * ) as status_number FROM js_project GROUP BY `status` </select> <insert id="insertProject" parameterType="Project"> insert into js_project <trim prefix="(" suffix=")" suffixOverrides=","> javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/add.html
@@ -21,6 +21,14 @@ <input name="fullName" class="form-control" required type="text"> </div> </div> <div class="form-group"> <label class="col-sm-3 control-label">场地状态:</label> <div class="col-sm-8"> <select name="status" class="form-control m-b" th:with="type=${@dict.getType('project_status')}"> <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> </select> </div> </div> <div class="form-group"> <label class="col-sm-3 control-label">区县:</label> javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/edit.html
@@ -22,6 +22,14 @@ </div> </div> <div class="form-group"> <label class="col-sm-3 control-label">场地状态:</label> <div class="col-sm-8"> <select name="status" class="form-control m-b" th:with="type=${@dict.getType('project_status')}"> <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{status}"></option> </select> </div> </div> <div class="form-group"> <label class="col-sm-3 control-label">区县:</label> <div class="col-sm-8"> <select name="district" class="form-control m-b" th:with="type=${@dict.getType('sys_district')}"> javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/project.html
@@ -20,6 +20,13 @@ <input type="text" name="code"/> </li> <li> <p>项目状态:</p> <select name="status" th:with="type=${@dict.getType('project_status')}"> <option value="">所有</option> <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> </select> </li> <li> <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i> 重置</a> </li> @@ -48,6 +55,7 @@ <script th:inline="javascript"> var editFlag = [[${@permission.hasPermi('geo:project:edit')}]]; var removeFlag = [[${@permission.hasPermi('geo:project:remove')}]]; var statusDatas = [[${@dict.getType('project_status')}]]; var prefix = ctx + "geo/project"; $(function() { @@ -98,13 +106,9 @@ }, { field : 'status', title : '场地状态', title : '项目状态', formatter: function(value, row, index) { if(row.status =='0'){ return "未验收"; }else{ return "验收"; } return $.table.selectDictLabel(statusDatas, value); } }, {