Sfoglia il codice sorgente

Merge branch 'master' of http://8.137.121.180:10880/longping/subject_gxj

Wayne 4 mesi fa
parent
commit
f349d8e106

+ 32 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/enums/SubInfoCbStatusEnum.java

@@ -0,0 +1,32 @@
+package com.rtrh.projects.modules.projects.enums;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.util.Arrays;
+
+/**
+ * 储备项目状态
+ */
+@Getter
+@AllArgsConstructor
+@JsonFormat(shape = JsonFormat.Shape.OBJECT)
+public enum SubInfoCbStatusEnum {
+    ZZMH("1", "正在谋划"),
+    ZZQT("2", "正在洽谈"),
+    YQY("3", "已签约"),
+    YBA("4", "已备案"),
+    YHZ("5", "已核准");
+
+    private final String code;
+    private final String desc;
+
+    public static SubInfoCbStatusEnum getEnum(String code) {
+        return Arrays.stream(values()).filter(x -> x.code.equals(code)).findFirst().orElse(null);
+    }
+    public static String getMessage(String code) {
+        SubInfoCbStatusEnum anEnum = getEnum(code);
+        return anEnum != null ? getEnum(code).desc : null;
+    }
+}

+ 6 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/SubInfoMapper.java

@@ -78,4 +78,10 @@ public interface SubInfoMapper {
     List<SubFixGetBeginRateVo> subFixGetBeginRate(@Param("queryVO")SubInfoQueryTzVO queryVO,@Param("indusKinds") List<String> indusKinds);
 
     List<SubFixListVo> subFixGetAll(@Param("queryVO")SubInfoQueryTzVO queryVO,@Param("indusKinds") List<String> indusKinds);
+
+    Long queryWarning();
+
+    Long queryExceed();
+
+    Long queryNotExceed();
 }

+ 116 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/SubInfoMapper.xml

@@ -601,4 +601,120 @@
             AND sub_info.amt_total &lt;= #{queryVO.endAmt}
         </if>
     </select>
+    <select id="queryWarning" resultType="java.lang.Long">
+        SELECT SUM(counts)
+        FROM (
+        -- 已签约预警(未转新建)
+        SELECT COUNT(*) AS counts
+        FROM sub_info
+        WHERE cb_status = 3
+        AND qy_date IS NOT NULL
+        AND DATE_ADD(qy_date, INTERVAL cb_num DAY) &lt; NOW()
+        AND DATE_ADD(qy_date, INTERVAL cb_num DAY) > DATE_SUB(NOW(), INTERVAL 3 DAY)
+        AND `status` = 1
+
+        UNION ALL
+
+        -- 新建未转在建预警
+        SELECT COUNT(*) AS counts
+        FROM sub_info
+        WHERE DATE_ADD(begin_date, INTERVAL xj_num DAY) &lt; NOW()
+        AND DATE_ADD(begin_date, INTERVAL xj_num DAY) > DATE_SUB(NOW(), INTERVAL 3 DAY)
+        AND `status` = 2
+
+        UNION ALL
+
+        -- 在建未转投产预警
+        SELECT COUNT(*) AS counts
+        FROM sub_info
+        WHERE DATE_ADD(end_date, INTERVAL xj_num DAY) &lt; NOW()
+        AND DATE_ADD(end_date, INTERVAL xj_num DAY) > DATE_SUB(NOW(), INTERVAL 3 DAY)
+        AND `status` = 3
+
+        UNION ALL
+
+        -- 投产未入规预警
+        SELECT COUNT(*) AS counts
+        FROM sub_info
+        WHERE DATE_ADD(rt_date, INTERVAL xj_num DAY) &lt; NOW()
+        AND DATE_ADD(rt_date, INTERVAL xj_num DAY) > DATE_SUB(NOW(), INTERVAL 3 DAY)
+        AND `status` = 9
+        ) AS combined_counts;
+    </select>
+    <select id="queryExceed" resultType="java.lang.Long">
+        SELECT SUM(counts) AS total_count
+        FROM (
+                 -- 已签约(未转新建)
+                 SELECT COUNT(*) AS counts
+                 FROM sub_info
+                 WHERE cb_status = 3
+                   AND qy_date IS NOT NULL
+                   AND DATE_ADD(qy_date, INTERVAL cb_num DAY) > NOW()
+                   AND `status` = 1
+
+                 UNION ALL
+
+                 -- 新建未转在建
+                 SELECT COUNT(*) AS counts
+                 FROM sub_info
+                 WHERE
+                       DATE_ADD(begin_date, INTERVAL xj_num DAY) > NOW()
+                   AND `status` = 2
+
+                 UNION ALL
+
+                 -- 在建未转投产
+                 SELECT COUNT(*) AS counts
+                 FROM sub_info
+                 WHERE DATE_ADD(end_date, INTERVAL xj_num DAY) > NOW()
+                   AND `status` = 3
+
+                 UNION ALL
+
+                 -- 投产未入规
+                 SELECT COUNT(*) AS counts
+                 FROM sub_info
+                 WHERE DATE_ADD(rt_date, INTERVAL xj_num DAY) > NOW()
+                   AND `status` = 9
+             ) AS combined_counts;
+    </select>
+    <select id="queryNotExceed" resultType="java.lang.Long">
+        SELECT SUM(counts) AS total_count
+        FROM (
+        -- 已签约绿灯(未转新建)
+        SELECT COUNT(*) AS counts
+        FROM sub_info
+        WHERE cb_status = 3
+        AND qy_date IS NOT NULL
+        AND DATE_ADD(qy_date, INTERVAL cb_num DAY) &lt; DATE_SUB(NOW(), INTERVAL 3 DAY)
+        AND `status` = 1
+
+        UNION ALL
+
+        -- 新建未转在建
+        SELECT COUNT(*) AS counts
+        FROM sub_info
+        WHERE
+         DATE_ADD(begin_date, INTERVAL xj_num DAY) &lt; DATE_SUB(NOW(), INTERVAL 3 DAY)
+        AND `status` = 2
+
+        UNION ALL
+
+        -- 在建未转投产
+        SELECT COUNT(*) AS counts
+        FROM sub_info
+        WHERE
+         DATE_ADD(end_date, INTERVAL xj_num DAY) &lt; DATE_SUB(NOW(), INTERVAL 3 DAY)
+        AND `status` = 3
+
+        UNION ALL
+
+        -- 投产未入规
+        SELECT COUNT(*) AS counts
+        FROM sub_info
+        WHERE
+         DATE_ADD(rt_date, INTERVAL xj_num DAY) &lt; DATE_SUB(NOW(), INTERVAL 3 DAY)
+        AND `status` = 9
+        ) AS combined_counts;
+    </select>
 </mapper>

+ 2 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/WorkBenchService.java

@@ -61,4 +61,6 @@ public interface WorkBenchService {
 
 
 	void callSpTransKg(String subId,String loginName);
+
+	Map<String, Object> statisticData();
 }

+ 3 - 3
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/impl/SubInfoQueryServiceImpl.java

@@ -194,8 +194,8 @@ public class SubInfoQueryServiceImpl implements SubInfoQueryService {
         if (CollectionUtil.isNotEmpty(data)) {
             for (SubInfoGxj e : data) {
                 e.setSubjectName(kindMap.get(e.getSubjectId()));
-                // 除了储备和新建项目外 其余项目进度为月报内容
-                if (!Lists.newArrayList(SubInfoStatusEnum.CB.getCode(), SubInfoStatusEnum.XJ.getCode()).contains(e.getStatus())) {
+                // [在建、投产] 项目进度为月报内容
+                if (Arrays.asList(SubInfoStatusEnum.ZJ.getCode(), SubInfoStatusEnum.TC.getCode()).contains(e.getStatus())) {
                     e.setProgress(rptContentMap.getOrDefault(e.getSubId(), e.getProgress()));
                 }
                 // 新建库前期手续
@@ -340,7 +340,7 @@ public class SubInfoQueryServiceImpl implements SubInfoQueryService {
         BigDecimal total = BigDecimal.valueOf(zjNum1 + tcNum1 + xjNum1);
         BigDecimal kfgRate = BigDecimal.ZERO;
         if (total.compareTo(BigDecimal.ZERO) != 0) {
-            kfgRate = BigDecimal.valueOf(zjNum1 + tcNum1).divide(total, 2, RoundingMode.HALF_UP);
+            kfgRate = BigDecimal.valueOf(zjNum1 + tcNum1).multiply(BigDecimal.valueOf(100)).divide(total, 2, RoundingMode.HALF_UP);
         }
         vo.setKfgRate(kfgRate);
         vo.setTcRate(BigDecimal.valueOf(tcNum1).divide(BigDecimal.valueOf(zjNum1 + tcNum1 + xjNum1), 2, RoundingMode.HALF_UP));

+ 40 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/impl/WorkBenchServiceImpl.java

@@ -1,12 +1,18 @@
 package com.rtrh.projects.modules.projects.service.impl;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
+import com.rtrh.projects.modules.projects.enums.SubInfoStatusEnum;
+import com.rtrh.projects.modules.projects.mapper.SubInfoMapper;
+import com.rtrh.projects.modules.projects.po.SubInfoGxj;
+import com.rtrh.projects.modules.projects.vo.SubInfoQueryTzVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -22,6 +28,9 @@ public class WorkBenchServiceImpl implements WorkBenchService {
 	@Autowired
 	private WorkbenchMapper workbenchMapper;
 
+	@Autowired
+	private SubInfoMapper subInfoMapper;
+
 
 	@Override
 	public Map<String, Object> getDaiBanData(String kind, String loginName) {
@@ -40,6 +49,24 @@ public class WorkBenchServiceImpl implements WorkBenchService {
 	public Map<String, Object> getStatisticData(String kind, LoginUserVO loginUserVO) {
 		Map<String,Object> dataMap = new HashMap<String, Object>();
 
+		SubInfoQueryTzVO queryVO = new SubInfoQueryTzVO();
+		queryVO.setStatus(null);
+		List<SubInfoGxj> listTotal = subInfoMapper.queryStatistics(queryVO);
+		Map<String, Long> categoryMap = listTotal.stream().collect(Collectors.groupingBy(SubInfoGxj::getStatus, Collectors.counting()));
+		// 项目总数、储备、新建、在建、投产、年度开工率
+		dataMap.put("totalNum", listTotal.size());
+		Long cbNum = categoryMap.getOrDefault(SubInfoStatusEnum.CB.getCode(), 0L);
+		Long xjNum = categoryMap.getOrDefault(SubInfoStatusEnum.XJ.getCode(), 0L);
+		Long zjNum = categoryMap.getOrDefault(SubInfoStatusEnum.ZJ.getCode(), 0L);
+		Long tcNum = categoryMap.getOrDefault(SubInfoStatusEnum.TC.getCode(), 0L);
+		dataMap.put("cbNum", cbNum);
+		dataMap.put("xjNum", xjNum);
+		dataMap.put("zjNum", zjNum);
+		dataMap.put("tcNum", tcNum);
+		BigDecimal total = BigDecimal.valueOf(zjNum + tcNum + xjNum);
+		dataMap.put("yearKgl", total.compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO : BigDecimal.valueOf(zjNum + tcNum).multiply(BigDecimal.valueOf(100)).divide(total, 2, RoundingMode.HALF_UP));
+
+
 		Map<String,Object> zhData = workbenchMapper.getStatisData(kind, loginUserVO.getLoginName());
 		List<Map<String,Object>> monthAnalys = workbenchMapper.getMonthAnalys(kind, loginUserVO.getLoginName());
 
@@ -78,4 +105,17 @@ public class WorkBenchServiceImpl implements WorkBenchService {
 		}
 	}
 
+	@Override
+	public Map<String, Object> statisticData() {
+		Map<String, Object> map = new HashMap<>();
+		// 预警数
+		Long warningNum = subInfoMapper.queryWarning();
+		Long exceedNum = subInfoMapper.queryExceed();
+		Long notExceedNum = subInfoMapper.queryNotExceed();
+		map.put("warningNum", warningNum);
+		map.put("exceedNum", exceedNum);
+		map.put("notExceedNum", notExceedNum);
+		return map;
+	}
+
 }

+ 2 - 0
projects/src/main/java/com/rtrh/projects/web/controller/subject/WorkBenchTwoController.java

@@ -79,6 +79,8 @@ public class WorkBenchTwoController extends BaseController {
 	 */
 	@GetMapping(value = "/zrWorkBench")
 	public ModelAndView zrWorkBench(ModelMap model) {
+		Map<String, Object> map = workBenchService.statisticData();
+		model.putAll(map);
 		Map<String, Object> numData = workBenchService.getDaiBanData(getCurUser().getKind(), getCurUser().getLoginName());
 		PreWarnDataQueryVO queryVO=new PreWarnDataQueryVO();
 		Page preData = subPreNewService.pageDueTime(new Page(), getCurUser().getLoginUser(), queryVO);

+ 1 - 1
projects/src/main/webapp/vmodules/subject/subInfo/tz/main.jsp

@@ -231,7 +231,7 @@
                                         </div>
                                     </label>
                                     <label class="juli">
-                                        开(复)工率<span class="lanse-first">{{beginRate.kfgRate}}</span>
+                                        开(复)工率<span class="lanse-first">{{beginRate.kfgRate}}%</span>
                                         <div class="progress-div">
                                             <div class="layui-progress">
                                                 <div class="layui-progress-bar" :style="'width:'+beginRate.noRate"></div>

+ 1 - 1
projects/src/main/webapp/vmodules/subject/subInfo/tz/new.jsp

@@ -234,7 +234,7 @@
                         </div>
                     </label>
                     <label class="juli">
-                        开(复)工率<span class="lanse-first">{{beginRate.kfgRate}}</span>
+                        开(复)工率<span class="lanse-first">{{beginRate.kfgRate}}%</span>
                         <div class="progress-div">
                             <div class="layui-progress">
                                 <div class="layui-progress-bar" :style="'width:'+beginRate.noRate"></div>

+ 206 - 146
projects/src/main/webapp/vmodules/workBench/zr_gzt.jsp

@@ -53,18 +53,18 @@
                 <%--						<img src="${WebSite.asset }/css/images/u394.svg" /> 工作台账--%>
                 <%--					</div>--%>
                 <%--				</div>--%>
-                <div class="layui-card" @click="getTotalTodo(this)">
-                    <div class="layui-card-body">
-                        <div class="img_num">
-                            <img src="${WebSite.asset }/css/images/workPlat/backlog.png"/>
-                            <span class="num">${numData.num_1}</span>
-                        </div>
-                        <div class="word">
-                            待办事项
-                        </div>
-                    </div>
-                </div>
-                <div class="line"></div>
+<%--                <div class="layui-card" @click="getTotalTodo(this)">--%>
+<%--                    <div class="layui-card-body">--%>
+<%--                        <div class="img_num">--%>
+<%--                            <img src="${WebSite.asset }/css/images/workPlat/backlog.png"/>--%>
+<%--                            <span class="num">${numData.num_1}</span>--%>
+<%--                        </div>--%>
+<%--                        <div class="word">--%>
+<%--                            待办事项--%>
+<%--                        </div>--%>
+<%--                    </div>--%>
+<%--                </div>--%>
+<%--                <div class="line"></div>--%>
                 <%-- <div class="layui-card" @click="getTotalDo(this)">
                     <div class="layui-card-header"></div>
                     <div class="layui-card-body" style="padding-top: 15px;">
@@ -75,10 +75,10 @@
                     <div class="layui-card-body">
                         <div class="img_num">
                             <img src="${WebSite.asset }/css/images/workPlat/remind.png"/>
-                            <span class="num">${numData.num_2}</span>
+<%--                            <span class="num">${numData.num_2}</span>--%>
+                            <span class="num">${warningNum}</span>
                         </div>
                         <div class="word">
-<%--                            预警提醒--%>
 <%--                            项目逾期竣工--%>
                                 预警提醒
                         </div>
@@ -101,35 +101,36 @@
                     <div class="layui-card-body">
                         <div class="img_num">
                             <img src="${WebSite.asset }/css/images/workPlat/remind.png"/>
-                            <span class="num">${offsetNum}</span>
+                            <span class="num">${exceedNum}</span>
                         </div>
                         <div class="word">
-                            偏离度红黄灯
-                        </div>
-                    </div>
-                </div>
-                <div class="line" style="display: none"></div>
-                <div class="layui-card" @click="toItems(7)" style="display: none">
-                    <div class="layui-card-body">
-                        <div class="img_num">
-                            <img src="${WebSite.asset }/css/images/workPlat/rgb.png"/>
-                        </div>
-                        <div class="word">
-                            红黄绿灯
-                        </div>
-                    </div>
-                </div>
-                <div class="line"></div>
-                <div class="layui-card">
-                    <div class="layui-card-body" @click="toItems(6)">
-                        <div class="img_num">
-                            <img src="${WebSite.asset }/css/images/workPlat/wisdom.png"/>
-                        </div>
-                        <div class="word">
-                            智慧工地
+<%--                            偏离度红黄灯--%>
+                            进度红灯
                         </div>
                     </div>
                 </div>
+<%--                <div class="line" style="display: none"></div>--%>
+<%--                <div class="layui-card" @click="toItems(7)" style="display: none">--%>
+<%--                    <div class="layui-card-body">--%>
+<%--                        <div class="img_num">--%>
+<%--                            <img src="${WebSite.asset }/css/images/workPlat/rgb.png"/>--%>
+<%--                        </div>--%>
+<%--                        <div class="word">--%>
+<%--                            红黄绿灯--%>
+<%--                        </div>--%>
+<%--                    </div>--%>
+<%--                </div>--%>
+<%--                <div class="line"></div>--%>
+<%--                <div class="layui-card">--%>
+<%--                    <div class="layui-card-body" @click="toItems(6)">--%>
+<%--                        <div class="img_num">--%>
+<%--                            <img src="${WebSite.asset }/css/images/workPlat/wisdom.png"/>--%>
+<%--                        </div>--%>
+<%--                        <div class="word">--%>
+<%--                            智慧工地--%>
+<%--                        </div>--%>
+<%--                    </div>--%>
+<%--                </div>--%>
                 <%--                <div class="layui-card">--%>
                 <%--                    <div class="layui-card-body" @click="toItems(5)">--%>
                 <%--                        <div class="img_num">--%>
@@ -140,17 +141,17 @@
                 <%--                        </div>--%>
                 <%--                    </div>--%>
                 <%--                </div>--%>
-                <div class="line" style="display: none"></div>
-                <div class="layui-card" style="margin-bottom: 17px;display: none" >
-                    <div class="layui-card-body" @click="toItems(4)">
-                        <div class="img_num">
-                            <img src="${WebSite.asset }/css/images/workPlat/project.png"/>
-                        </div>
-                        <div class="word">
-                            包联项目
-                        </div>
-                    </div>
-                </div>
+<%--                <div class="line" style="display: none"></div>--%>
+<%--                <div class="layui-card" style="margin-bottom: 17px;display: none" >--%>
+<%--                    <div class="layui-card-body" @click="toItems(4)">--%>
+<%--                        <div class="img_num">--%>
+<%--                            <img src="${WebSite.asset }/css/images/workPlat/project.png"/>--%>
+<%--                        </div>--%>
+<%--                        <div class="word">--%>
+<%--                            包联项目--%>
+<%--                        </div>--%>
+<%--                    </div>--%>
+<%--                </div>--%>
             </div>
             <%--			<div class="tips">--%>
             <%--				<span>提示:</span>--%>
@@ -314,86 +315,123 @@
                     <%--                        <span class="num" id="year"></span>--%>
                     <%--                    </div>--%>
                     <div class="plan_number">
-                        <div class="nummber_top" style="border-bottom: 1px solid #EDEDED;">
-                            <div class="num_box" style="border-right: 1px solid #EDEDED;">
-                                <span class="num_unit">
-                                    <span class="num" id="proTotalNum"></span>
-                                    <span style="font-size: 16px;color: #111111">个</span>
-                                </span>
+                        <div class="nummber_top" style="border-bottom: 1px solid #EDEDED;display: flex;flex-direction:column;align-items:flex-start;">
+                            <div>
                                 <span class="title">项目总数</span>
+                                <span class="num" id="totalNum"></span>
                             </div>
-                            <div class="num_box">
-                                <span class="num_unit">
-                                    <span class="num" id="proDoingNum"></span>
-                                    <span style="font-size: 16px;color: #111111">个</span>
-                                </span>
-                                <span class="title">已开工</span>
+                            <div>
+                                <span class="title">储备项目数</span>
+                                <span class="num" id="cbNum"></span>
                             </div>
-                        </div>
-                        <div class="nummber_top">
-                            <div class="num_box" style="border-right: 1px solid #EDEDED;">
-                                <span class="num_unit">
-                                    <span class="num" id="proNoStartNum"></span>
-                                    <span style="font-size: 16px;color: #111111">个</span>
-                                </span>
-                                <span class="title">未开工</span>
+                            <div>
+
+                                <span class="title">新建项目数</span>
+                                <span class="num" id="xjNum"></span>
+                            </div>
+                            <div>
 
+                                <span class="title">在建项目数</span>
+                                <span class="num" id="zjNum"></span>
                             </div>
-                            <!-- <div class="num_box">
-                                <span class="num" style="color: #fc1cf4;" id="yearPlanNum"></span>
-                                年度计划完成
-                            </div> -->
-                            <div class="num_box">
-                                <span class="num_unit">
-                                    <span class="num" id="proEndNum"></span>
-                                    <span style="font-size: 16px;color: #111111">个</span>
-                                </span>
-                                <span class="title">已竣工</span>
+                            <div>
+
+                                <span class="title">投产项目数</span>
+                                <span class="num" id="tcNum"></span>
                             </div>
+<%--                            <div class="num_box" style="border-right: 1px solid #EDEDED;">--%>
+<%--                                <span class="num_unit">--%>
+<%--                                    <span class="num" id="proTotalNum"></span>--%>
+<%--                                    <span style="font-size: 16px;color: #111111">个</span>--%>
+<%--                                </span>--%>
+<%--                                <span class="title">项目总数</span>--%>
+<%--                            </div>--%>
+<%--                            <div class="num_box">--%>
+<%--                                <span class="num_unit">--%>
+<%--                                    <span class="num" id="proDoingNum"></span>--%>
+<%--                                    <span style="font-size: 16px;color: #111111">个</span>--%>
+<%--                                </span>--%>
+<%--                                <span class="title">已开工</span>--%>
+<%--                            </div>--%>
                         </div>
+<%--                        <div class="nummber_top">--%>
+<%--                            <div class="num_box" style="border-right: 1px solid #EDEDED;">--%>
+<%--                                <span class="num_unit">--%>
+<%--                                    <span class="num" id="proNoStartNum"></span>--%>
+<%--                                    <span style="font-size: 16px;color: #111111">个</span>--%>
+<%--                                </span>--%>
+<%--                                <span class="title">未开工</span>--%>
+
+<%--                            </div>--%>
+<%--                            <!-- <div class="num_box">--%>
+<%--                                <span class="num" style="color: #fc1cf4;" id="yearPlanNum"></span>--%>
+<%--                                年度计划完成--%>
+<%--                            </div> -->--%>
+<%--                            <div class="num_box">--%>
+<%--                                <span class="num_unit">--%>
+<%--                                    <span class="num" id="proEndNum"></span>--%>
+<%--                                    <span style="font-size: 16px;color: #111111">个</span>--%>
+<%--                                </span>--%>
+<%--                                <span class="title">已竣工</span>--%>
+<%--                            </div>--%>
+<%--                        </div>--%>
                     </div>
 
                 </div>
                 <div class="box2">
-                    <div class="monthly-charts" id="charts-year-done"></div>
-                    <div class="plan_number">
-                        <div class="nummber_top" style="border-bottom: 1px solid #EDEDED;">
-                            <div class="num_box" style="width: 100%">
-                                <span class="num_unit">
-                                    <span class="num" id="proPlanAmt"></span>
-                                    <span style="font-size: 16px;color: #111111">亿</span>
-                                </span>
-                                <span class="title">年度目标总投资</span>
-                            </div>
+                    <div class="nummber_top" style="border-bottom: 1px solid #EDEDED;display: flex;flex-direction:column;align-items:flex-start;justify-content: space-evenly;">
+                        <div>
+                            <span class="title">绿灯项目数</span>
+                            <span class="num" id="greenNum">${notExceedNum}</span>
                         </div>
-                        <div class="nummber_top">
-                            <div class="num_box" style="border-right: 1px solid #EDEDED;width: 50%;">
-                                <span class="num_unit">
-                                    <span class="num" id="proActualTotal"></span>
-                                    <span style="font-size: 16px;color: #111111">亿</span>
-                                </span>
-                                <span class="title">年度计划投资</span>
-                            </div>
-                            <div class="num_box" style="border-right: 1px solid #EDEDED;width: 50%;">
-                                <span class="num_unit">
-                                    <span class="num" id="proActualTotalGt"></span>
-                                    <span style="font-size: 16px;color: #111111">亿</span>
-                                </span>
-                                <span class="title">年度固投金额</span>
-                            </div>
-                            <!-- <div class="num_box">
-                                <span class="num" style="color: #fc1cf4;" id="yearPlanNum"></span>
-                                年度计划完成
-                            </div> -->
-                            <div class="num_box" style="width: 50%;">
-                                <span class="num_unit">
-                                    <span class="num" id="proActualAmt"></span>
-                                    <span style="font-size: 16px;color: #111111">亿</span>
-                                </span>
-                                <span class="title">年度实际投资</span>
-                            </div>
+                        <div>
+                            <span class="title">黄灯项目数</span>
+                            <span class="num" id="yellowNum">${warningNum}</span>
+                        </div>
+                        <div>
+                            <span class="title">红灯项目数</span>
+                            <span class="num" id="redNum">${exceedNum}</span>
                         </div>
                     </div>
+<%--                    <div class="monthly-charts" id="charts-year-done"></div>--%>
+<%--                    <div class="plan_number">--%>
+<%--                        <div class="nummber_top" style="border-bottom: 1px solid #EDEDED;">--%>
+<%--                            <div class="num_box" style="width: 100%">--%>
+<%--                                <span class="num_unit">--%>
+<%--                                    <span class="num" id="proPlanAmt"></span>--%>
+<%--                                    <span style="font-size: 16px;color: #111111">亿</span>--%>
+<%--                                </span>--%>
+<%--                                <span class="title">年度目标总投资</span>--%>
+<%--                            </div>--%>
+<%--                        </div>--%>
+<%--                        <div class="nummber_top">--%>
+<%--                            <div class="num_box" style="border-right: 1px solid #EDEDED;width: 50%;">--%>
+<%--                                <span class="num_unit">--%>
+<%--                                    <span class="num" id="proActualTotal"></span>--%>
+<%--                                    <span style="font-size: 16px;color: #111111">亿</span>--%>
+<%--                                </span>--%>
+<%--                                <span class="title">年度计划投资</span>--%>
+<%--                            </div>--%>
+<%--                            <div class="num_box" style="border-right: 1px solid #EDEDED;width: 50%;">--%>
+<%--                                <span class="num_unit">--%>
+<%--                                    <span class="num" id="proActualTotalGt"></span>--%>
+<%--                                    <span style="font-size: 16px;color: #111111">亿</span>--%>
+<%--                                </span>--%>
+<%--                                <span class="title">年度固投金额</span>--%>
+<%--                            </div>--%>
+<%--                            <!-- <div class="num_box">--%>
+<%--                                <span class="num" style="color: #fc1cf4;" id="yearPlanNum"></span>--%>
+<%--                                年度计划完成--%>
+<%--                            </div> -->--%>
+<%--                            <div class="num_box" style="width: 50%;">--%>
+<%--                                <span class="num_unit">--%>
+<%--                                    <span class="num" id="proActualAmt"></span>--%>
+<%--                                    <span style="font-size: 16px;color: #111111">亿</span>--%>
+<%--                                </span>--%>
+<%--                                <span class="title">年度实际投资</span>--%>
+<%--                            </div>--%>
+<%--                        </div>--%>
+<%--                    </div>--%>
                 </div>
                 <%--                <div class="box3">--%>
                 <%--                    <div class="txt">整体进度</div>--%>
@@ -404,23 +442,23 @@
             </section>
             <section class="section2">
                 <div class="layui-card" style="box-shadow: 0px 0px 0px 0px transparent;">
-                    <div class="layui-card-header" style="border:none;display: flex;">
-                        <span :class="{activeSpan:checkChart==1}" @click="checkChartFun(1)">项目数量占比</span>
-                        <span :class="{activeSpan:checkChart==2}" @click="checkChartFun(2)" style="margin-left: 20px;">项目投资占比</span>
-                    </div>
+<%--                    <div class="layui-card-header" style="border:none;display: flex;">--%>
+<%--                        <span :class="{activeSpan:checkChart==1}" @click="checkChartFun(1)">项目数量占比</span>--%>
+<%--                        <span :class="{activeSpan:checkChart==2}" @click="checkChartFun(2)" style="margin-left: 20px;">项目投资占比</span>--%>
+<%--                    </div>--%>
                     <div class="layui-card-body" style="border:none">
                         <div class="chart" id="charts1" v-if="checkChart==1"></div>
-                        <div class="chart" id="charts2" v-if="checkChart==2"></div>
-                    </div>
-                </div>
-                <div class="layui-card" style="box-shadow: 0px 0px 0px 0px transparent;">
-                    <div class="layui-card-header" style="border:none">
-                        <span class="activeSpan">投资情况月度分析</span>
-                    </div>
-                    <div class="layui-card-body" style="border:none">
-                        <div class="chart" id="charts3"></div>
+<%--                        <div class="chart" id="charts2" v-if="checkChart==2"></div>--%>
                     </div>
                 </div>
+<%--                <div class="layui-card" style="box-shadow: 0px 0px 0px 0px transparent;">--%>
+<%--                    <div class="layui-card-header" style="border:none">--%>
+<%--                        <span class="activeSpan">投资情况月度分析</span>--%>
+<%--                    </div>--%>
+<%--                    <div class="layui-card-body" style="border:none">--%>
+<%--                        <div class="chart" id="charts3"></div>--%>
+<%--                    </div>--%>
+<%--                </div>--%>
             </section>
         </div>
 
@@ -455,7 +493,7 @@
         methods: {
             init: function () {
                 this.initChartsYearStart();
-                this.initChartsYearDone();
+                // this.initChartsYearDone();
                 this.initChart();
             },
 
@@ -479,12 +517,17 @@
                     if (res.success) {
 
                         data.chart1Data = {
-                            nProNum: res.data.zhData.num_X1_total,
-                            nProNumRate: res.data.zhData.num_X1_zb,
-                            xProNum: res.data.zhData.num_X2_total,
-                            xProNumRate: res.data.zhData.num_X2_zb,
-                            cProNum: res.data.zhData.num_X3_total,
-                            cProNumRate: res.data.zhData.num_X3_zb,
+                            // 统计数据
+                            cbNum: res.data.cbNum,
+                            xjNum: res.data.xjNum,
+                            zjNum: res.data.zjNum,
+                            tcNum: res.data.tcNum
+                            // nProNum: res.data.zhData.num_X1_total,
+                            // nProNumRate: res.data.zhData.num_X1_zb,
+                            // xProNum: res.data.zhData.num_X2_total,
+                            // xProNumRate: res.data.zhData.num_X2_zb,
+                            // cProNum: res.data.zhData.num_X3_total,
+                            // cProNumRate: res.data.zhData.num_X3_zb,
                         };
                         data.chart2Data = {
                             nProMon: res.data.zhData.amt_X1_total,
@@ -509,16 +552,29 @@
                         $("#proPlanAmt").text(res.data.zhData.amt_total || 0);
                         $("#proActualAmt").text(res.data.zhData.amt_sj || 0);
                         $("#yearPlanNum").text(res.data.zhData.num_4 || 0);
-                        if(res.data.zhData.num_total!=0){
-                            self.beginBl = ((res.data.zhData.num_2 + res.data.zhData.num_3) * 100 / res.data.zhData.num_total).toFixed(2);
-                        }else{
-                            self.beginBl=0;
+
+                        // 统计数据
+                        $("#totalNum").text(res.data.totalNum || 0);
+                        $("#cbNum").text(res.data.cbNum || 0);
+                        $("#xjNum").text(res.data.xjNum || 0);
+                        $("#zjNum").text(res.data.zjNum || 0);
+                        $("#tcNum").text(res.data.tcNum || 0);
+
+
+                        if (res.data.yearKgl){
+                            self.beginBl = res.data.yearKgl;
                         }
+                        // if(res.data.zhData.num_total!=0){
+                        //     self.beginBl = ((res.data.zhData.num_2 + res.data.zhData.num_3) * 100 / res.data.zhData.num_total).toFixed(2);
+                        // }else{
+                        //     self.beginBl=0;
+                        // }
+
                         self.initChart1(data.chart1Data);
                         self.initChart2(data.chart2Data);
                         self.initChart3(data.chart3Data);
                         self.initChartsYearStart();
-                        self.initChartsYearDone();
+                        // self.initChartsYearDone();
                         setTimeout(() => {
                             layui.element.progress('demo', res.data.zhData.num_bl || '0%');
                         }, 100);
@@ -604,12 +660,15 @@
                             name: '新建项目',
                             icon: 'circle'
                         }, {
-                            name: '续建项目',
+                            name: '在建项目',
+                            icon: 'circle'
+                        }, {
+                            name: '投产项目',
                             icon: 'circle'
                         }]
                     },
 
-                    color: ['#1faff8', '#e1b710', '#f1555d'],
+                    color: ['#1faff8', '#e1b710', '#f1555d','#449a34'],
                     tooltip: {
                         formatter: '{c}<br/>({d}%)',
                         position: ['45%', '38%'],
@@ -632,9 +691,10 @@
                             }
                         },
                         data: [
-                            {value: datas.cProNum, name: '储备项目', label: {rotate: 50}},
-                            {value: datas.nProNum, name: '新建项目'},
-                            {value: datas.xProNum, name: '续建项目', label: {rotate: -30}}
+                            {value: datas.cbNum, name: '储备项目', label: {rotate: 50}},
+                            {value: datas.xjNum, name: '新建项目'},
+                            {value: datas.zjNum, name: '在建项目'},
+                            {value: datas.tcNum, name: '投产项目', label: {rotate: -30}}
                         ]
                     }]
                 }
@@ -770,7 +830,7 @@
             // Echarts--年度开工率on
             initChartsYearStart: function () {
 
-                let dataValue = this.beginBl?this.beginBl:'0.00';
+                let dataValue = this.beginBl?this.beginBl.toString():'0.00';
                 // 拆分整数小数
                 let dataValueArr = dataValue.includes(".") ? dataValue.split(".") : [dataValue, "00"];