浏览代码

首页功能修改

shilin 4 年之前
父节点
当前提交
6dc21ad665

+ 1 - 0
src/main/java/com/gyee/frame/common/spring/InitialRunner.java

@@ -42,6 +42,7 @@ public class InitialRunner implements CommandLineRunner {
     public static List<Windpowerstation> wpls = new ArrayList<Windpowerstation>(); // 风电场LIST集合
     public static List<Project> pjls = new ArrayList<Project>(); // 项目LIST集合
     public static List<Windturbine> wtls = new ArrayList<Windturbine>(); // 风电机LIST集合
+
 //    public static List<Line> lnls = new ArrayList<Line>(); // 线路LIST集合
 
     public static Map<String, List<Windturbine>> wp_wtmap = new HashMap<String, List<Windturbine>>();

+ 19 - 0
src/main/java/com/gyee/frame/model/custom/DataVo.java

@@ -45,6 +45,9 @@ public class DataVo {
 
     private String name;
 
+    private int ivalue1;
+    private double  dvalue1;
+
     public Long getTime() {
         return time;
     }
@@ -180,4 +183,20 @@ public class DataVo {
     public void setName(String name) {
         this.name = name;
     }
+
+    public int getIvalue1() {
+        return ivalue1;
+    }
+
+    public void setIvalue1(int ivalue1) {
+        this.ivalue1 = ivalue1;
+    }
+
+    public double getDvalue1() {
+        return dvalue1;
+    }
+
+    public void setDvalue1(double dvalue1) {
+        this.dvalue1 = dvalue1;
+    }
 }

+ 83 - 0
src/main/java/com/gyee/frame/service/MttrAndMtbfService.java

@@ -0,0 +1,83 @@
+package com.gyee.frame.service;
+
+import com.gyee.frame.common.spring.InitialRunner;
+import com.gyee.frame.model.custom.DataVo;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.core.RowMapper;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.List;
+
+@Service
+public class MttrAndMtbfService {
+
+    @Resource
+    private JdbcTemplate jdbcTemplate;
+    public String queryMMCurrentMonth(String wpid) {
+
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM");
+
+        Calendar cal = Calendar.getInstance();
+
+        String rq = sdf.format(cal.getTime());
+
+        int day = cal.get(Calendar.DAY_OF_MONTH);
+
+
+        DataVo vo = queryStopDataCurrentMonth(rq,wpid);
+        int count = vo.getIvalue1();
+        double gzsj = vo.getDvalue1();
+
+        int fjnum =0;
+        if(wpid.equals("0"))
+        {
+             fjnum = InitialRunner.wtls.size();
+        }else if(InitialRunner.wp_wtmap.containsKey(wpid))
+        {
+            fjnum = InitialRunner.wp_wtmap.get(wpid).size();
+        }
+
+
+        // 日历小时
+        double dayhours = day * 24;
+
+        double mtbf = count == 0 ? 0 : dayhours * fjnum / count;// 平均间隔时间
+        double mttr = count == 0 ? 0 : gzsj / count;
+
+        return StringUtils.round(mtbf,2) + "_" + StringUtils.round(mttr,2);
+    }
+
+    private DataVo queryStopDataCurrentMonth(String rq,String wpid) {
+        StringBuilder sb = new StringBuilder();
+        sb.append("select sum(cs) cs,sum(sssj) sj from MTTRMTBF where rq='");
+        sb.append(rq).append("'");
+        if(StringUtils.isNotEmpty(wpid) && !wpid.equals("0"))
+        {
+            sb.append(" and windpowerstationid='").append(wpid).append("'");
+        }
+
+        List<DataVo> list = jdbcTemplate.query(String.valueOf(sb),
+                new RowMapper<DataVo>() {
+
+                    @Override
+                    public DataVo mapRow(ResultSet rs, int arg1)
+                            throws SQLException {
+                        DataVo vo = new DataVo();
+                        vo.setIvalue1(rs.getInt("cs"));//
+                        vo.setDvalue1(rs.getDouble("sj"));
+                        return vo;
+                    }
+
+                });
+        if (list != null && list.size() > 0) {
+            return list.get(0);
+        }
+        return null;
+    }
+}

+ 2 - 0
src/main/java/com/gyee/frame/service/WeatherfhService.java

@@ -85,6 +85,8 @@ public class WeatherfhService extends SocketToolService implements BaseService<W
 			this.pushToWeb("pageNumber_3","functionNumber_2","all",list, Messagetype.MESSAGE);
 		}
 
+
+
 	public List<Weatherfh> listDayHour(String wpid) throws ParseException {
 
 		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH");

+ 30 - 24
src/main/java/com/gyee/frame/service/app/index/IndexService.java

@@ -8,6 +8,7 @@ import com.gyee.frame.model.auto.Windpowerstation;
 import com.gyee.frame.model.custom.PointData;
 import com.gyee.frame.model.enumeration.Messagetype;
 import com.gyee.frame.netty.websocket.util.SocketToolService;
+import com.gyee.frame.service.MttrAndMtbfService;
 import com.gyee.frame.service.ProjectplanService;
 import com.gyee.frame.service.WindpowerinfodayService;
 import com.gyee.frame.util.IRealTimeDataBaseUtil;
@@ -29,7 +30,9 @@ public class IndexService extends SocketToolService{
 	private WindpowerinfodayService windpowerinfodayService;
 	@Autowired
     private InitialRunner initialRunner;
-    private static int decimal_digit = 0;
+	@Resource
+	MttrAndMtbfService mttrAndMtbfService;
+    private static int decimal_digit = 2;
 	
 	public void index_target_comprehensive_indicators() throws Exception{
 		 Map<String, Map<String, WindPowerStationTestingPoint2>> stationPointmap = InitialRunner.stationPointmap;
@@ -80,13 +83,6 @@ public class IndexService extends SocketToolService{
 	                //System.out.println(e.getMessage());
 	            }
 
-				try{
-					//装机容量
-					zjrl_real=mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_WP_SWDL).getCode());
-					zjrl = new BigDecimal(zjrl_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
-				}catch (Exception e){
-					//System.out.println(e.getMessage());
-				}
 
 				try{
 					//预测发电量
@@ -102,8 +98,7 @@ public class IndexService extends SocketToolService{
 	            //装机容量
 	            try{
 	                if(windpowerstation.getCapacity()==null){
-	                    List<Windpowerstation> wps = InitialRunner.wpls;
-	                    for(Windpowerstation windpowerstationinner:wps){
+	                      for(Windpowerstation windpowerstationinner:InitialRunner.wpallls){
 	                        zjrl = zjrl + windpowerstationinner.getCapacity();
 	                    }
 	                }else{
@@ -530,16 +525,16 @@ public class IndexService extends SocketToolService{
 
 		for(Windpowerstation windpowerstation:wpls){
 			Map<String,Object> pointDataMap = new HashMap();
-			double mttr = 99;
-			double mtbf = 99;
-			double jybm = 99;
-			double jpeyhl = 99;
-			double ylyxs = 99;
-			double nlyxs = 99;
-			double jyys = 99;
-			double zhcydl = 99;
-			double sbklyl = 99;
-			double jpeyht = 99;
+			double mttr = 0;
+			double mtbf = 0;
+			double jybm = 0;
+			double jpeyhl = 0;
+			double ylyxs = 0;
+			double nlyxs = 0;
+			double jyys = 0;
+			double zhcydl = 0;
+			double sbklyl = 0;
+			double jpeyht = 0;
 			double zjrl=0.0;
 
 			if(windpowerstation.getCapacity()==null){
@@ -550,11 +545,22 @@ public class IndexService extends SocketToolService{
 			}else{
 				zjrl = windpowerstation.getCapacity();
 			}
-			//mttr
-			mttr = jybm + 10;
+			String temp= mttrAndMtbfService.queryMMCurrentMonth(windpowerstation.getId());
 
-			//mtbf
-			mtbf = jpeyht + 12;
+			if(StringUtils.isNotEmpty(temp))
+			{
+				String[] arr= temp.split("_");
+				if(arr.length==2)
+				{
+
+					//mtbf
+					mtbf = Double.valueOf(arr[0]);
+					//mttr
+					mttr = Double.valueOf(arr[1]);
+
+
+				}
+			}
 
 			try{
 				//节约标煤

+ 102 - 1
src/main/java/com/gyee/frame/service/app/targetdetail/TargetdetailService.java

@@ -1,11 +1,13 @@
 package com.gyee.frame.service.app.targetdetail;
 
 import com.gyee.frame.model.auto.Weatherfd;
+import com.gyee.frame.model.auto.Weatherfh;
 import com.gyee.frame.model.auto.Windpowerinfoday;
 import com.gyee.frame.model.custom.PointData;
 import com.gyee.frame.model.enumeration.Messagetype;
 import com.gyee.frame.netty.websocket.util.SocketToolService;
 import com.gyee.frame.service.WeatherfdService;
+import com.gyee.frame.service.WeatherfhService;
 import com.gyee.frame.service.WindpowerinfodayService;
 import com.gyee.frame.util.DateUtils;
 import com.gyee.frame.util.IRealTimeDataBaseUtil;
@@ -33,6 +35,8 @@ public class TargetdetailService extends SocketToolService {
     @Resource
     private WeatherfdService  weatherfdService;
     @Resource
+    private WeatherfhService weatherfhService;
+    @Resource
     private WindpowerinfodayService windpowerinfodayService;
     public static Map<String,String> targetdetail_target_pointMap = new HashMap<>();
     public static Map<String,String> targetdetail_curve_pointMap = new HashMap<>();
@@ -165,8 +169,47 @@ public class TargetdetailService extends SocketToolService {
                     String id=temp[0];
                     String wpid=temp[1];
 
-                    set7DayValues(pointDataMap, ip, id, wpid);
+                    if(id.equals("ycfs"))
+                    {
+                        setDayValues(pointDataMap, ip, id, wpid);
+                    }else {
+                        set7DayValues(pointDataMap, ip, id, wpid);
+                    }
+                }
+
+            }else if(pointid.indexOf("divq")!=-1)
+            {
+                pointid=pointid.substring(5);
+                Long count = (endTime.getTime() - beginTime.getTime()) / 1000L / 3600L;
+                List<PointData> ls = mongodb.getHistoryDatasSnap(pointid,
+                        beginTime.getTime() / 1000, endTime.getTime() / 1000 + 3600L,
+                        (long) count+1, 3600L);
+                for (int i = 0; i < ls.size(); i++) {
+                    ls.get(i).setPointTime(ls.get(i).getPointTime() - 3600);
+                    double temp= new BigDecimal(ls.get(i).getPointValueInDouble()).divide(new BigDecimal(1000), 2, RoundingMode.HALF_EVEN).doubleValue();
+                    ls.get(i).setPointValueInDouble(temp);
+                }
+                if(ls.size()>0) {
+                    ls.remove(0);
+                }
+                pointDataMap.put(ip,ls);
+
+            }else if(pointid.indexOf("divw")!=-1)
+            {
+                pointid=pointid.substring(5);
+                Long count = (endTime.getTime() - beginTime.getTime()) / 1000L / 3600L;
+                List<PointData> ls = mongodb.getHistoryDatasSnap(pointid,
+                        beginTime.getTime() / 1000, endTime.getTime() / 1000 + 3600L,
+                        (long) count+1, 3600L);
+                for (int i = 0; i < ls.size(); i++) {
+                    ls.get(i).setPointTime(ls.get(i).getPointTime() - 3600);
+                    double temp= new BigDecimal(ls.get(i).getPointValueInDouble()).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+                    ls.get(i).setPointValueInDouble(temp);
+                }
+                if(ls.size()>0) {
+                    ls.remove(0);
                 }
+                pointDataMap.put(ip,ls);
 
             }else
             {
@@ -220,6 +263,38 @@ public class TargetdetailService extends SocketToolService {
                     set7DayValues(pointDataMap, ip, id, wpid);
                 }
 
+            }else if(pointid.indexOf("divq")!=-1)
+            {
+                pointid=pointid.substring(5);
+                List<PointData> ls = mongodb.getHistoryDatasSnap(pointid,
+                        beginTime.getTime() / 1000, endTime.getTime() / 1000 + 3600L*24,
+                        8L, 3600 * 24L);
+                for (int i = 0; i < ls.size(); i++) {
+                    ls.get(i).setPointTime(ls.get(i).getPointTime() - 24 * 3600);
+                    double temp= new BigDecimal(ls.get(i).getPointValueInDouble()).divide(new BigDecimal(1000), 2, RoundingMode.HALF_EVEN).doubleValue();
+                    ls.get(i).setPointValueInDouble(temp);
+                }
+                if(ls.size()>0) {
+                    ls.remove(0);
+                }
+                pointDataMap.put(ip,ls);
+
+            }else if(pointid.indexOf("divw")!=-1)
+            {
+                pointid=pointid.substring(5);
+                List<PointData> ls = mongodb.getHistoryDatasSnap(pointid,
+                        beginTime.getTime() / 1000, endTime.getTime() / 1000 + 3600L*24,
+                        8L, 3600 * 24L);
+                for (int i = 0; i < ls.size(); i++) {
+                    ls.get(i).setPointTime(ls.get(i).getPointTime() - 24 * 3600);
+                    double temp= new BigDecimal(ls.get(i).getPointValueInDouble()).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
+                    ls.get(i).setPointValueInDouble(temp);
+                }
+                if(ls.size()>0) {
+                    ls.remove(0);
+                }
+                pointDataMap.put(ip,ls);
+
             }else
             {
                 List<PointData> ls = mongodb.getHistoryDatasSnap(pointid,
@@ -335,5 +410,31 @@ public class TargetdetailService extends SocketToolService {
         }
     }
 
+    private void setDayValues(Map<String, List<PointData>> pointDataMap, String ip, String id, String wpid) throws ParseException {
+        switch (id) {
+            case "ycfs":
+                if(wpid.equals("0"))
+                {
+                    wpid="MHS_FDC";
+                }
+                List<Weatherfh> list=weatherfhService.listDayHour(wpid);
+                List<PointData> vos=new ArrayList<>();
+                if(!list.isEmpty())
+                {
+                    for (Weatherfh fh:list)
+                    {
+                        PointData vo=new PointData();
+                        vo.setPointTime(fh.getRecodedata().getTime());
+                        vo.setPointValueInDouble(fh.getSpeed());
+                        vos.add(vo);
+                    }
+
+                }
+                pointDataMap.put(ip, vos);
+                break;
 
+            default:
+                break;
+        }
+    }
 }

+ 33 - 18
src/main/java/com/gyee/frame/service/app/windpowerstationdetail/WindpowerstationdetailService.java

@@ -8,6 +8,7 @@ import com.gyee.frame.model.auto.Windpowerstation;
 import com.gyee.frame.model.custom.PointData;
 import com.gyee.frame.model.enumeration.Messagetype;
 import com.gyee.frame.netty.websocket.util.SocketToolService;
+import com.gyee.frame.service.MttrAndMtbfService;
 import com.gyee.frame.service.WindpowerinfodayService;
 import com.gyee.frame.util.IRealTimeDataBaseUtil;
 import com.gyee.frame.util.RealTimeDataBaseFactory;
@@ -32,6 +33,8 @@ public class WindpowerstationdetailService extends SocketToolService {
     //public static Map<String,String> comprehensive_target_pointMap = new HashMap<>();
     @Autowired
     private InitialRunner initialRunner;
+    @Resource
+    MttrAndMtbfService mttrAndMtbfService;
     private static int decimal_digit = 0;
     @Resource
     private WindpowerinfodayService windpowerinfodayService;
@@ -136,27 +139,38 @@ public class WindpowerstationdetailService extends SocketToolService {
 
         for(Windpowerstation windpowerstation:wpls){
             Map<String,Double> pointDataMap = new HashMap();
-            double mttr = 99;
-            double mtbf = 99;
-            double jybm = 99;
-            double jpeyhl = 99;
-            double ylyxs = 99;
-            double nlyxs = 99;
-            double jyys = 99;
-            double zhcydl = 99;
-            double sbklyl = 99;
-            double jpeyht = 99;
+            double mttr = 0;
+            double mtbf = 0;
+            double jybm = 0;
+            double jpeyhl = 0;
+            double ylyxs = 0;
+            double nlyxs = 0;
+            double jyys = 0;
+            double zhcydl = 0;
+            double sbklyl = 0;
+            double jpeyht = 0;
+
+
+           String temp= mttrAndMtbfService.queryMMCurrentMonth(windpowerstation.getId());
 
+           if(StringUtils.isNotEmpty(temp))
+           {
+              String[] arr= temp.split("_");
+               if(arr.length==2)
+               {
 
-            //mttr
-            mttr = jybm + 10;
+                   //mtbf
+                   mtbf = Double.valueOf(arr[0]);
+                   //mttr
+                   mttr = Double.valueOf(arr[1]);
 
-            //mtbf
-            mtbf = jpeyht + 12;
+
+               }
+           }
 
             try{
                 //节约标煤
-                PointData jybm_real=mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_JYBM).getCode());
+                PointData jybm_real=mongodb.getRealData(stationPointmap.get("0").get(Constant.TPOINT_JYBM).getCode());
                 jybm = new BigDecimal(jybm_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
             }catch (Exception e){
                 //System.out.println(e.getMessage());
@@ -165,7 +179,7 @@ public class WindpowerstationdetailService extends SocketToolService {
 
             try{
                 //减排二氧化硫
-                PointData jpeyhl_real=mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_JPEYHL).getCode());
+                PointData jpeyhl_real=mongodb.getRealData(stationPointmap.get("0").get(Constant.TPOINT_JPEYHL).getCode());
                 jpeyhl = new BigDecimal(jpeyhl_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
             }catch (Exception e){
                 //System.out.println(e.getMessage());
@@ -174,7 +188,7 @@ public class WindpowerstationdetailService extends SocketToolService {
 
             try{
                 //节约用水
-                PointData jyys_real=mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_JYS).getCode());
+                PointData jyys_real=mongodb.getRealData(stationPointmap.get("0").get(Constant.TPOINT_JYS).getCode());
                 jyys = new BigDecimal(jyys_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
             }catch (Exception e){
                 //System.out.println(e.getMessage());
@@ -199,7 +213,7 @@ public class WindpowerstationdetailService extends SocketToolService {
 
             try{
                 //减排二氧化碳
-                PointData jpeyht_real=mongodb.getRealData(stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_JPEYHT).getCode());
+                PointData jpeyht_real=mongodb.getRealData(stationPointmap.get("0").get(Constant.TPOINT_JPEYHT).getCode());
                 jpeyht = new BigDecimal(jpeyht_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
             }catch (Exception e){
                 //System.out.println(e.getMessage());
@@ -221,6 +235,7 @@ public class WindpowerstationdetailService extends SocketToolService {
         this.pushToWeb("pageNumber_7","functionNumber_2","all",windpowerstationpointDataMap, Messagetype.MESSAGE);
     }
 
+
 /*    double  focastpower(String name){
         ForecastwindspeedamendedService forecastwindspeedamendedService= SpringUtils.getBean("forecastwindspeedamendedService");
 

+ 18 - 10
src/main/java/com/gyee/frame/service/app/windpowerstationdetail/Windspeedpowermodule.java

@@ -73,14 +73,16 @@ public class Windspeedpowermodule extends SocketToolService {
 
 
         //风速****************************************************************
-            WindPowerStationTestingPoint2 pjfspoint=stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_WP_PJFS);
+            WindPowerStationTestingPoint2 pjfspoint=stationPointmap.get(windpowerstation.getId()).get(Constant.TPOINT_WP_SSFS);
             List<PointData> pjfsls = mongodb.getHistoryDatasSnap(pjfspoint, beginDate.getTime() / 1000, endDate.getTime() / 1000, 24L, 3600L);
 
             if(!pjfsls.isEmpty())
             {
                 pointDataMap.put("pjfs_real",pjfsls.get(0));
                 // 平均数
-                pjfs = pjfsls.stream().mapToDouble(PointData::getPointValueInDouble).average().getAsDouble();
+//                pjfs = pjfsls.stream().mapToDouble(PointData::getPointValueInDouble).average().getAsDouble();
+                // 当前值数
+                pjfs = mongodb.getRealData(pjfspoint).getPointValueInDouble();
                 pjfs= StringUtils.round(pjfs,2);
                 //System.out.println("average:" + pjfs);
 
@@ -103,7 +105,9 @@ public class Windspeedpowermodule extends SocketToolService {
             if(!list.isEmpty())
             {
                 // 平均数
-                ycfs = list.stream().mapToDouble(Weatherfh::getSpeed).average().getAsDouble();
+//                ycfs = list.stream().mapToDouble(Weatherfh::getSpeed).average().getAsDouble();
+                // 当前值数
+                ycfs = list.get(list.size()-1).getSpeed();
                 ycfs= StringUtils.round(ycfs,2);
                 //System.out.println("average:" + ycfs);
 
@@ -130,7 +134,9 @@ public class Windspeedpowermodule extends SocketToolService {
                 pointDataMap.put("sjgl_real",sjglls.get(0));
 
                 // 平均数
-                sjgl = sjglls.stream().mapToDouble(PointData::getPointValueInDouble).average().getAsDouble();
+//                sjgl = sjglls.stream().mapToDouble(PointData::getPointValueInDouble).average().getAsDouble();
+                // 当前值数
+                sjgl = mongodb.getRealData(sjglpoint).getPointValueInDouble();
                 sjgl= StringUtils.round(sjgl,2);
                 //System.out.println("average:" + sjgl);
 
@@ -158,19 +164,21 @@ public class Windspeedpowermodule extends SocketToolService {
             {
                 pointDataMap.put("llgl_real",llglls.get(0));
                 // 平均数
-                llgl = sjglls.stream().mapToDouble(PointData::getPointValueInDouble).average().getAsDouble();
-                llgl= StringUtils.round(llgl,2);
+//                llgl = llglls.stream().mapToDouble(PointData::getPointValueInDouble).average().getAsDouble();
+                // 当前值数
+                llgl =  mongodb.getRealData(llglpoint).getPointValueInDouble();;
+                llgl= new BigDecimal(llgl).divide(new BigDecimal(1000), 2, RoundingMode.HALF_EVEN).doubleValue();
                 //System.out.println("average:" + llgl);
 
 
                 // 最大值
-                llglMax = sjglls.stream().mapToDouble(PointData::getPointValueInDouble).max().getAsDouble();
-                llglMax= StringUtils.round(llglMax,2);
+                llglMax = llglls.stream().mapToDouble(PointData::getPointValueInDouble).max().getAsDouble();
+                llglMax= new BigDecimal(llglMax).divide(new BigDecimal(1000), 2, RoundingMode.HALF_EVEN).doubleValue();
                 //System.out.println("max:" + llglMax);
 
                 // 最小值
-                llglMin = sjglls.stream().mapToDouble(PointData::getPointValueInDouble).min().getAsDouble();
-                llglMin= StringUtils.round(llglMin,2);
+                llglMin = llglls.stream().mapToDouble(PointData::getPointValueInDouble).min().getAsDouble();
+                llglMin= new BigDecimal(llglMin).divide(new BigDecimal(1000), 2, RoundingMode.HALF_EVEN).doubleValue();
                 //System.out.println("min:" + llglMin);
             }