예제 #1
0
 private void btAnalysis_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
 {
     PS_xl currentLine = gridView1.GetFocusedRow() as PS_xl;
     List<string> strList = new List<string>();
     LineAnaly lineAnaly = LineLossHelper.LineLossAnaly(currentLine);
     if (currentLine!=null)
     {
         if (currentLine.TheoryLoss==0)
         {
             MessageBox.Show("请进行线损计算后再运行线损分析!");
             return;
         }
         else
         {
             if ((currentLine.ActualLoss-currentLine.TheoryLoss)/currentLine.LineP>Convert.ToDecimal(0.05))
             {
                 strList.Add("管理线损过大,存在偷、漏、差、误等不良现象。");
             }
             else if (lineAnaly.FixLossWeight - lineAnaly.VariableLossWeight > Convert.ToDecimal(0.1) || lineAnaly.LossRate - lineAnaly.EconomyLossRate > Convert.ToDecimal(0.1))
             {
                 strList.Add("轻载,应积极发展用电负荷,更换高能耗变压器,调整大马拉小车的变压器,降低电压运行水平,减少变压器层次等措施。");
             }
             else if (lineAnaly.FixLossWeight - lineAnaly.VariableLossWeight < -Convert.ToDecimal(0.1) || lineAnaly.LossRate - lineAnaly.EconomyLossRate < -Convert.ToDecimal(0.1))
             {
                 strList.Add("超负荷运行,应改造卡脖子和迂回线路,缩短供电半径,提高电压运行水平,无功补偿,调整负荷曲线,减小峰谷差,三相平衡,更换过载变压器等措施。");
             }
         }
         if (strList.Count>0)
         {
             ExcelAccess ex = new ExcelAccess();
            // ex.ActiveSheet(0);
             ex.CreateExcel();
             ex.CreateWorkSheet("13");
             Ecommon.CreatandWritesheet(ex, strList, strList.Count, 1, 1);
         }
     }
 }