[前台] 能源管理 Api 修改 & 解決圖表圖表切換錯誤 & 再生能源界面資料取得
This commit is contained in:
		
							parent
							
								
									270e0855fc
								
							
						
					
					
						commit
						cacf72f99e
					
				@ -260,60 +260,63 @@
 | 
				
			|||||||
  // 左上方 系統小類卡片區塊
 | 
					  // 左上方 系統小類卡片區塊
 | 
				
			||||||
  function getSubSysList(type = 0) {
 | 
					  function getSubSysList(type = 0) {
 | 
				
			||||||
    subSysList = [];
 | 
					    subSysList = [];
 | 
				
			||||||
    let url = baseApiUrl + "/api/Device/GetMainSub";
 | 
					    let url = baseApiUrl + "/api/Energe/GetElecBySubSysTag";
 | 
				
			||||||
    let sendData = {
 | 
					    // let sendData = {
 | 
				
			||||||
      building_tag: pageAct.buiTag,
 | 
					    //     building_tag: pageAct.buiTag,
 | 
				
			||||||
    };
 | 
					    // };
 | 
				
			||||||
    objSendData.Data = sendData;
 | 
					    // objSendData.Data = sendData;
 | 
				
			||||||
    ytAjax = new YourTeam.Ajax(url, objSendData, function (res) {
 | 
					    ytAjax = new YourTeam.Ajax(
 | 
				
			||||||
      if (!res || res.code != "0000" || !res.data) {
 | 
					      url,
 | 
				
			||||||
 | 
					      null,
 | 
				
			||||||
            } else {
 | 
					      function (res) {
 | 
				
			||||||
                let strHtml = '';
 | 
					        if (!res || res.code != "0000" || !res.data) {
 | 
				
			||||||
                $.each(res.data.history_Main_Systems, (index, mainSysObj) => {
 | 
					        } else {
 | 
				
			||||||
                    $.each(mainSysObj.history_Sub_systems, (index2, subSysObj) => {
 | 
					          let strHtml = "";
 | 
				
			||||||
                        subSysList.push(subSysObj);
 | 
					          $.each(res.data, (index, mainSysObj) => {
 | 
				
			||||||
if ((type == 0 || (type == 3 && mainSysObj.main_system_tag == "ELEV")) && filNotShowSysSub.indexOf(subSysObj.sub_system_tag) == -1) {
 | 
					            if ((type == 0 || (type == 3 && mainSysObj.mainSubTag == "ELEV_EL"))
 | 
				
			||||||
                            strHtml += `<div class="col-sm-12 col-xl-4 mb-2">
 | 
					              //  && filNotShowSysSub.indexOf(subSysObj.sub_system_tag) == -1
 | 
				
			||||||
                                            <div class="card elecCard cur-poi" data-id="${mainSysObj.main_system_tag}_${subSysObj.sub_system_tag}" data-name="${subSysObj.full_name}">
 | 
					            ) {
 | 
				
			||||||
                                                <div class="card-body">
 | 
					              const full_name = mainSysObj.system_remark.split("-")[1];
 | 
				
			||||||
                                                    <h4 class="card-title color-white">${subSysObj.full_name}用電</h4>
 | 
					              strHtml += `<div class="col-sm-12 col-xl-4 mb-2">
 | 
				
			||||||
                                                    <p class="card-text color-white pl-5 pr-3 d-flex justify-content-between">
 | 
					                <div class="card elecCard cur-poi" data-id="${mainSysObj.mainSubTag}" data-name="${mainSysObj.mainSubTag}">
 | 
				
			||||||
                                                        <span>${elecCardConText[type]?.text1}</span>
 | 
					                    <div class="card-body">
 | 
				
			||||||
                                                        <span id="insPow${mainSysObj.main_system_tag}_${subSysObj.sub_system_tag}"></span>
 | 
					                        <h4 class="card-title color-white">${full_name}用電</h4>
 | 
				
			||||||
                                                    </p>
 | 
					                        <p class="card-text color-white pl-5 pr-3 d-flex justify-content-between">
 | 
				
			||||||
                                                    <p class="card-text color-white pl-5 pr-3 d-flex justify-content-between">
 | 
					                            <span>${elecCardConText[type]?.text1}</span>
 | 
				
			||||||
                                                        <span>${elecCardConText[type]?.text2}</span>
 | 
					                            <span id="insPow${mainSysObj.mainSubTag}"></span>
 | 
				
			||||||
                                                        <span id="insPowPer${mainSysObj.main_system_tag}_${subSysObj.sub_system_tag}"></span>
 | 
					                        </p>
 | 
				
			||||||
                                                    </p>
 | 
					                        <p class="card-text color-white pl-5 pr-3 d-flex justify-content-between">
 | 
				
			||||||
                                                </div>
 | 
					                            <span>${elecCardConText[type]?.text2}</span>
 | 
				
			||||||
                                            </div>
 | 
					                            <span id="insPowPer${mainSysObj.mainSubTag}"></span>
 | 
				
			||||||
                                        </div>`;
 | 
					                        </p>
 | 
				
			||||||
 | 
					                    </div>
 | 
				
			||||||
 | 
					                </div>
 | 
				
			||||||
 | 
					            </div>`;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          })
 | 
					          });
 | 
				
			||||||
        })
 | 
					          if (type == 3) {
 | 
				
			||||||
        if (type == 3) {
 | 
					            strHtml += `<div class="col-sm-12 col-xl-4 mb-2">
 | 
				
			||||||
          strHtml += `<div class="col-sm-12 col-xl-4 mb-2">
 | 
					                    <div class="card elecCard cur-poi">
 | 
				
			||||||
                                            <div class="card elecCard cur-poi">
 | 
					                        <div class="card-body">
 | 
				
			||||||
                                                <div class="card-body">
 | 
					                            <h4 class="card-title color-white">太陽能設備用電</h4>
 | 
				
			||||||
                                                    <h4 class="card-title color-white">太陽能設備用電</h4>
 | 
					                            <p class="card-text color-white pl-5 pr-3 d-flex justify-content-between">
 | 
				
			||||||
                                                    <p class="card-text color-white pl-5 pr-3 d-flex justify-content-between">
 | 
					                                <span>${elecCardConText[type]?.text1}</span>
 | 
				
			||||||
                                                        <span>${elecCardConText[type]?.text1}</span>
 | 
					                                <span id="insPow">---</span>
 | 
				
			||||||
                                                        <span id="insPow">---</span>
 | 
					                            </p>
 | 
				
			||||||
                                                    </p>
 | 
					                            <p class="card-text color-white pl-5 pr-3 d-flex justify-content-between">
 | 
				
			||||||
                                                    <p class="card-text color-white pl-5 pr-3 d-flex justify-content-between">
 | 
					                                <span>${elecCardConText[type]?.text2}</span>
 | 
				
			||||||
                                                        <span>${elecCardConText[type]?.text2}</span>
 | 
					                                    <span id="insPow">---</span>
 | 
				
			||||||
                                                         <span id="insPow">---</span>
 | 
					                            </p>
 | 
				
			||||||
                                                    </p>
 | 
					                        </div>
 | 
				
			||||||
                                                </div>
 | 
					                    </div>
 | 
				
			||||||
                                            </div>
 | 
					                </div>`;
 | 
				
			||||||
                                        </div>`;
 | 
					          }
 | 
				
			||||||
 | 
					          $("#eneSubSysList").html(strHtml);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        console.log(strHtml)
 | 
					      },
 | 
				
			||||||
        $("#eneSubSysList").html(strHtml);
 | 
					      null,
 | 
				
			||||||
      }
 | 
					      "POST",
 | 
				
			||||||
    }, null, "POST").send();
 | 
					    ).send();
 | 
				
			||||||
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // 取得 對應系統小類的總電錶
 | 
					  // 取得 對應系統小類的總電錶
 | 
				
			||||||
@ -420,7 +423,6 @@ if ((type == 0 || (type == 3 && mainSysObj.main_system_tag == "ELEV")) && filNot
 | 
				
			|||||||
    $.each(subSysElecList, (idx, elecObj) => {
 | 
					    $.each(subSysElecList, (idx, elecObj) => {
 | 
				
			||||||
      let devPath
 | 
					      let devPath
 | 
				
			||||||
      devPath = elecObj.system_device_tag?.split("_").slice(0, 8).join("/");
 | 
					      devPath = elecObj.system_device_tag?.split("_").slice(0, 8).join("/");
 | 
				
			||||||
      console.log(424, devPath)
 | 
					 | 
				
			||||||
      getElectricMeterNoweDataByBaja(devPath, (data) => {
 | 
					      getElectricMeterNoweDataByBaja(devPath, (data) => {
 | 
				
			||||||
        data = data.data;
 | 
					        data = data.data;
 | 
				
			||||||
        let result = 0;
 | 
					        let result = 0;
 | 
				
			||||||
@ -428,8 +430,7 @@ if ((type == 0 || (type == 3 && mainSysObj.main_system_tag == "ELEV")) && filNot
 | 
				
			|||||||
          result = data.filter(x => x.name == "P_rec")[0]?.value?.roundDecimal(2);
 | 
					          result = data.filter(x => x.name == "P_rec")[0]?.value?.roundDecimal(2);
 | 
				
			||||||
          $(`#insPow${elecObj.mainSubTag}`).text(result);
 | 
					          $(`#insPow${elecObj.mainSubTag}`).text(result);
 | 
				
			||||||
          result = data.filter(x => x.name == "KWH_rec")[0]?.value?.roundDecimal(2);
 | 
					          result = data.filter(x => x.name == "KWH_rec")[0]?.value?.roundDecimal(2);
 | 
				
			||||||
          console.log(429, data, result)
 | 
					          $(`#insPowPer${elecObj.mainSubTag}`).text((result / result * 100).roundDecimal(2) + " %");
 | 
				
			||||||
          $(`#insPowPer${elecObj.mainSubTag}`).text((result / totalPow * 100).roundDecimal(2) + " %");
 | 
					 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
          /*        result = result ? result.roundDecimal(2) : 0;*/
 | 
					          /*        result = result ? result.roundDecimal(2) : 0;*/
 | 
				
			||||||
          result = data.filter(x => x.name == "P")[0]?.value?.roundDecimal(2);
 | 
					          result = data.filter(x => x.name == "P")[0]?.value?.roundDecimal(2);
 | 
				
			||||||
@ -471,7 +472,6 @@ if ((type == 0 || (type == 3 && mainSysObj.main_system_tag == "ELEV")) && filNot
 | 
				
			|||||||
        todayElecChart?.destroy();
 | 
					        todayElecChart?.destroy();
 | 
				
			||||||
        return;
 | 
					        return;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					 | 
				
			||||||
      getElectricMeterHourDataByBaja(tarDevNum + "_KWH", n4Sup, yesterday, tomorrow, (data) => {
 | 
					      getElectricMeterHourDataByBaja(tarDevNum + "_KWH", n4Sup, yesterday, tomorrow, (data) => {
 | 
				
			||||||
        let todayData = data.data.filter(x => x.timestamp.$date.$year == getTimeByType("year") && x.timestamp.$date.$month == getTimeByType("month") && x.timestamp.$date.$day == getTimeByType("date"));
 | 
					        let todayData = data.data.filter(x => x.timestamp.$date.$year == getTimeByType("year") && x.timestamp.$date.$month == getTimeByType("month") && x.timestamp.$date.$day == getTimeByType("date"));
 | 
				
			||||||
        chartTodaysElec(todayData);
 | 
					        chartTodaysElec(todayData);
 | 
				
			||||||
@ -552,6 +552,7 @@ if ((type == 0 || (type == 3 && mainSysObj.main_system_tag == "ELEV")) && filNot
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  // 圖表 - 今天用電量 (折線圖)
 | 
					  // 圖表 - 今天用電量 (折線圖)
 | 
				
			||||||
  function chartTodaysElec(todayData) {
 | 
					  function chartTodaysElec(todayData) {
 | 
				
			||||||
 | 
					    todayElecChart?.destroy();
 | 
				
			||||||
    let todayElecChartCanvas = $('#todayElecChart').get(0).getContext('2d');
 | 
					    let todayElecChartCanvas = $('#todayElecChart').get(0).getContext('2d');
 | 
				
			||||||
    let curHour = (new Date()).getHours();
 | 
					    let curHour = (new Date()).getHours();
 | 
				
			||||||
    todayData.data = todayData.filter(x => x.timestamp.$time.$hour < curHour);
 | 
					    todayData.data = todayData.filter(x => x.timestamp.$time.$hour < curHour);
 | 
				
			||||||
@ -618,7 +619,7 @@ if ((type == 0 || (type == 3 && mainSysObj.main_system_tag == "ELEV")) && filNot
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  // 圖表 - 今日與30日內平均用電量比較 (長條圖)
 | 
					  // 圖表 - 今日與30日內平均用電量比較 (長條圖)
 | 
				
			||||||
  function chartEveWeeksElec(curWeekData, avgData) {
 | 
					  function chartEveWeeksElec(curWeekData, avgData) {
 | 
				
			||||||
 | 
					    elecCompChart?.destroy()
 | 
				
			||||||
    let elecCompChartCanvas = $('#elecCompChart').get(0).getContext('2d');
 | 
					    let elecCompChartCanvas = $('#elecCompChart').get(0).getContext('2d');
 | 
				
			||||||
    let elecCompChartData = {
 | 
					    let elecCompChartData = {
 | 
				
			||||||
      labels: curWeekData.map(x => dayToChiDay(strToDate(x.timestamp.$cEncStr, "day"))),
 | 
					      labels: curWeekData.map(x => dayToChiDay(strToDate(x.timestamp.$cEncStr, "day"))),
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user