| | |
| | | AjaxResult ajaxResult = AjaxResult.success(); |
| | | List<Hole> holes = holeService.selectHoleProjectProcess(); |
| | | Map<String, Double> holeMap = new HashMap<>(); |
| | | Map<String,Double> rateMap = new HashMap<>(); |
| | | for (Hole hole : holes) { |
| | | Double val =0.0d; |
| | | if(ObjectUtil.isNotEmpty(hole.getFootageCpl()) && ObjectUtil.isNotEmpty(hole.getFootage())) { |
| | | Double FootageCpl= hole.getFootageCpl(); |
| | | Double Footage= hole.getFootage(); |
| | | if(ObjectUtil.isNotEmpty(FootageCpl) && ObjectUtil.isNotEmpty(Footage)) { |
| | | val = Arith.div(hole.getFootageCpl(), hole.getFootage(), 2); |
| | | val = Arith.round(val * 100, 2); |
| | | } |
| | | holeMap.put(hole.getProjectId(), val); |
| | | |
| | | if(ObjectUtil.isNotEmpty(FootageCpl)){ |
| | | rateMap.put(hole.getProjectId(), Footage-FootageCpl) ; |
| | | }else{ |
| | | rateMap.put(hole.getProjectId(), Footage) ; |
| | | } |
| | | } |
| | | |
| | | List<Project> projects = projectService.selectProjectList(new Project()); |
| | |
| | | vo.setValue(val); |
| | | vo.setLng(projects.get(i).getLng()); |
| | | vo.setLat(projects.get(i).getLat()); |
| | | |
| | | vo.setNex(rateMap.get(ids)); |
| | | |
| | | if (val == null) { |
| | | vo.setValue(0.0d); |
| | | } |
| | | String []statusName ={"协调中","待开工","进行中"}; |
| | | String []statusName ={"协调中","待开工","进行中","完工"}; |
| | | String status = projects.get(i).getStatus(); |
| | | if(status.equals("0")){ |
| | | vo.setStatus(statusName[0]); |
| | |
| | | }else if(status.equals("2")){ |
| | | vo.setStatus(statusName[2]); |
| | | }else{ |
| | | vo.setStatus("未知"); |
| | | vo.setStatus("完工"); |
| | | } |
| | | vos.add(vo); |
| | | } |
| | |
| | | return ajaxResult; |
| | | } |
| | | |
| | | @ResponseBody |
| | | @GetMapping("/system/stat/sumProjectHoleLog") |
| | | public AjaxResult sumProjectHoleLog(String projectId) { |
| | | AjaxResult ajaxResult = AjaxResult.success(); |
| | | HoleLog holeLog= new HoleLog(); |
| | | holeLog.setProjectId(projectId); |
| | | List<DrillDateVo> drillDateList = holeLogService.SUMProjectHoleLog(holeLog); |
| | | ajaxResult.put("drillDateList",drillDateList); |
| | | return ajaxResult; |
| | | } |
| | | } |
| | |
| | | </div> |
| | | |
| | | <div style="flex:6;" class="ilblock"> |
| | | <span style="color:rgba(0,0,0,.87);font-size: 15px;"> |
| | | 协调中 |
| | | <span style="float: right">{{indexDataCount.projectStatus0}}</span> |
| | | <!-- <li class="el-icon-caret-bottom" style="color: #f56c6c">--> |
| | | <!-- <span style="color:rgba(0,0,0,.87);font-size: 15px;">--> |
| | | <!-- 协调中--> |
| | | <!-- <span style="float: right">{{indexDataCount.projectStatus0}}</span>--> |
| | | |
| | | </span> |
| | | <span style="color:rgba(0,0,0,.87);font-size: 15px;"> |
| | | 待开工 |
| | | <span style="float: right">{{indexDataCount.projectStatus1}}</span> |
| | | <!-- <li class="el-icon-caret-bottom" style="color: #e6a23c">--> |
| | | </span> |
| | | <!-- </span>--> |
| | | <!-- <span style="color:rgba(0,0,0,.87);font-size: 15px;">--> |
| | | <!-- 待开工--> |
| | | <!-- <span style="float: right">{{indexDataCount.projectStatus1}}</span>--> |
| | | <!-- </span>--> |
| | | <span style="color:rgba(0,0,0,.87);font-size: 15px;"> |
| | | 进行中 |
| | | <span style="float: right">{{indexDataCount.projectStatus2}}</span> |
| | | <!-- <li class="el-icon-caret-top" style="color: #409eff">--> |
| | | </span> |
| | | <span style="color:rgba(0,0,0,.87);font-size: 15px;"> |
| | | 已完成 |
| | | <span style="float: right">{{34-indexDataCount.projectStatus2}}</span> |
| | | </span> |
| | | |
| | | </div> |
| | |
| | | <div style="flex:6;" class="ilblock"> |
| | | <span style="color:rgba(0,0,0,.87);font-size: 15px;"> |
| | | 总进尺 <span style="float: right">{{indexDataCount.footageCount}}m</span> |
| | | <!-- <li class="el-icon-caret-bottom" style="color: #f56c6c">--> |
| | | </span> |
| | | <span style="color:rgba(0,0,0,.87);font-size: 15px;"> |
| | | 已完成 <span style="float: right">{{indexDataCount.footageCplCount}}m</span> |
| | | <!-- <li class="el-icon-caret-bottom" style="color: #409eff">--> |
| | | </span> |
| | | </div> |
| | | </el-card> |
| | |
| | | <div v-if="entity.status=='协调中'" class="active-red">{{entity.ranking}}</div> |
| | | <div v-if="entity.status=='待开工'" class="active-yellow">{{entity.ranking}}</div> |
| | | <div v-if="entity.status=='进行中'" class="active-blue">{{entity.ranking}}</div> |
| | | |
| | | <div v-if="entity.status=='完工'" class="active-red">{{entity.ranking}}</div> |
| | | </el-col> |
| | | |
| | | <el-col :span="7"> |
| | |
| | | <script th:src="@{/js/jquery.min.js}"></script> |
| | | <script th:src="@{/js/bootstrap.min.js}"></script> |
| | | <script th:src="@{/ajax/libs/flot/jquery.flot.js}"></script> |
| | | <script th:src="@{/ajax/libs/report/echarts/echarts-all.js}"></script> |
| | | <!-- <script th:src="@{/ajax/libs/report/echarts/echarts-all.js}"></script>--> |
| | | <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script> |
| | | <script th:src="@{/js/tdt.js}" type="text/javascript"></script> |
| | | <script src="http://lbs.tianditu.gov.cn/js/lib/d3/d3.min.js" type="text/javascript"></script> |
| | | <script src="http://lbs.tianditu.gov.cn/api/js4.0/opensource/openlibrary/D3SvgOverlay.js" type="text/javascript"></script> |
| | |
| | | iconSize: new T.Point(30, 30), |
| | | iconAnchor: new T.Point(6, 40), |
| | | }); |
| | | }else { |
| | | }else if (data[i].status === '3') { |
| | | projectIcon = new T.Icon({ |
| | | iconUrl: '/bjfw/images/icon/red.png', |
| | | iconUrl: '/bjfw/images/icon/ending.png', |
| | | iconSize: new T.Point(30, 30), |
| | | iconAnchor: new T.Point(6, 40), |
| | | }); |
| | |
| | | /** 当前进度 footageCpl/footage */ |
| | | private Double rate; |
| | | |
| | | /** 总进尺 */ |
| | | /** 更改后总进尺 */ |
| | | private Double footage; |
| | | |
| | | /** 已完成进尺 */ |
| | | private Double footageCpl; |
| | | |
| | | /** 设计总进尺 */ |
| | | private Double totalFootage; |
| | | |
| | | public Double getTotalFootage() { |
| | | return totalFootage; |
| | | } |
| | | |
| | | public void setTotalFootage(Double totalFootage) { |
| | | this.totalFootage = totalFootage; |
| | | } |
| | | |
| | | /** 钻孔状态 */ |
| | | @Excel(name = "钻孔状态") |
| | | private String status; |
| | |
| | | * @return |
| | | */ |
| | | List<DrillDateVo> SUMHoleLog(); |
| | | |
| | | List<DrillDateVo> SUMProjectHoleLog(HoleLog holeLog); |
| | | |
| | | } |
| | |
| | | * @return |
| | | */ |
| | | List<DrillDateVo> SUMHoleLog(); |
| | | |
| | | /** |
| | | * 统计项目的最近10天的进尺 |
| | | * @param holeLog |
| | | * @return |
| | | */ |
| | | List<DrillDateVo>SUMProjectHoleLog(HoleLog holeLog); |
| | | } |
| | |
| | | public List<DrillDateVo> SUMHoleLog() { |
| | | return holeLogMapper.SUMHoleLog(); |
| | | } |
| | | /** |
| | | * 统计项目的最近10天进尺量 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<DrillDateVo> SUMProjectHoleLog(HoleLog holeLog) { |
| | | return holeLogMapper.SUMProjectHoleLog(holeLog); |
| | | } |
| | | } |
| | |
| | | private String station; |
| | | private Double value; |
| | | private String status; |
| | | private Double nex; |
| | | private Double avg ; |
| | | |
| | | public Double getAvg() { |
| | | return avg; |
| | | } |
| | | |
| | | public void setAvg(Double avg) { |
| | | this.avg = avg; |
| | | } |
| | | |
| | | public Double getNex() { |
| | | return nex; |
| | | } |
| | | |
| | | public void setNex(Double nex) { |
| | | this.nex = nex; |
| | | } |
| | | |
| | | private Double lng; |
| | | private Double lat; |
| | |
| | | create_time; |
| | | </select> |
| | | |
| | | <select id="SUMProjectHoleLog" resultType="com.javaweb.geo.vo.DrillDateVo" parameterType="HoleLog"> |
| | | SELECT |
| | | DATE_FORMAT(create_time, '%Y-%m-%d') AS drillDate, |
| | | SUM( end_depth - begin_depth ) AS totalDrilledMeters |
| | | FROM |
| | | js_hole_log |
| | | WHERE |
| | | create_time >= (CURDATE( ) - INTERVAL 10 DAY) and project_id =#{projectId} |
| | | GROUP BY |
| | | DATE( create_time ) |
| | | ORDER BY |
| | | create_time; |
| | | </select> |
| | | |
| | | <insert id="insertHoleLog" parameterType="HoleLog"> |
| | | insert into js_hole_log |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | |
| | | <result property="reason" column="reason" /> |
| | | <result property="rate" column="rate" /> |
| | | <result property="footage" column="footage" /> |
| | | <result property="totalFootage" column="total_footage" /> |
| | | <result property="footageCpl" column="footage_cpl" /> |
| | | <result property="status" column="status" /> |
| | | <result property="isDeleted" column="is_deleted" /> |
| | |
| | | </resultMap> |
| | | |
| | | <sql id="selectHoleVo"> |
| | | select ids, project_id, code, create_time, update_time, description, type, elevation, depth, longitude, latitude, survey_x, survey_y, survey_z, survey_latitude, survey_longitude, map_latitude, map_longitude, map_time, position, locate_time, reason, rate, footage, footage_cpl, status, is_deleted, is_flag from js_hole |
| | | select ids, project_id, code, create_time, update_time, description, type, elevation, depth, longitude, latitude, survey_x, survey_y, survey_z, survey_latitude, survey_longitude, map_latitude, map_longitude, map_time, position, locate_time, reason, rate, footage,total_footage, footage_cpl, status, is_deleted, is_flag from js_hole |
| | | </sql> |
| | | |
| | | <select id="selectHoleList" parameterType="Hole" resultMap="HoleResult"> |
| | |
| | | <if test="reason != null and reason != ''">reason,</if> |
| | | <if test="rate != null">rate,</if> |
| | | <if test="footage != null">footage,</if> |
| | | <if test="totalFootage != null">total_footage,</if> |
| | | <if test="footageCpl != null">footage_cpl,</if> |
| | | <if test="status != null and status != ''">status,</if> |
| | | <if test="isDeleted != null and isDeleted != ''">is_deleted,</if> |
| | |
| | | <if test="reason != null and reason != ''">#{reason},</if> |
| | | <if test="rate != null">#{rate},</if> |
| | | <if test="footage != null">#{footage},</if> |
| | | <if test="totalFootage != null">#{totalFootage},</if> |
| | | <if test="footageCpl != null">#{footageCpl},</if> |
| | | <if test="status != null and status != ''">#{status},</if> |
| | | <if test="isDeleted != null and isDeleted != ''">#{isDeleted},</if> |
| | |
| | | <if test="reason != null and reason != ''">reason = #{reason},</if> |
| | | <if test="rate != null">rate = #{rate},</if> |
| | | <if test="footage != null">footage = #{footage},</if> |
| | | <if test="totalFootage != null">total_footage = #{totalFootage},</if> |
| | | <if test="footageCpl != null">footage_cpl = #{footageCpl},</if> |
| | | <if test="status != null and status != ''">status = #{status},</if> |
| | | <if test="isDeleted != null and isDeleted != ''">is_deleted = #{isDeleted},</if> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">总进尺(m):</label> |
| | | <label class="col-sm-3 control-label">设计总进尺(m):</label> |
| | | <div class="col-sm-8"> |
| | | <input name="footage" class="form-control" type="text" required placeholder="请输入总进尺,单位(m)"> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">总进尺(m):</label> |
| | | <label class="col-sm-3 control-label">设计总进尺(m):</label> |
| | | <div class="col-sm-8"> |
| | | <input name="totalFootage" th:field="*{totalFootage}" class="form-control" type="text" placeholder="请输入设计总进尺,单位(m)" required> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">更改后总进尺(m):</label> |
| | | <div class="col-sm-8"> |
| | | <input name="footage" th:field="*{footage}" class="form-control" type="text" placeholder="请输入总进尺,单位(m)" required> |
| | | </div> |
| | |
| | | field : 'status', |
| | | title : '钻孔状态' |
| | | }, |
| | | { |
| | | field : 'totalFootage', |
| | | title : '设计总进尺(m)', |
| | | }, |
| | | { |
| | | field : 'footage', |
| | | title : '总进尺(m)', |
| | | title : '更改后总进尺(m)', |
| | | }, |
| | | { |
| | | field : 'footageCpl', |
| | |
| | | |
| | | |
| | | <th:block th:include="include :: footer" /> |
| | | <script th:src="@{/ajax/libs/report/echarts/echarts-all.js}"></script> |
| | | |
| | | <!-- <script th:src="@{/ajax/libs/report/echarts/echarts-all.js}"></script>--> |
| | | <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script> |
| | | <script th:inline="javascript"> |
| | | var project =[[${project}]]; |
| | | |