package com.gyee.generation.service;//package com.gyee.generation.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.gyee.common.model.StringUtils;
import com.gyee.generation.init.CacheContext;
import com.gyee.generation.model.auto.*;
import com.gyee.generation.service.auto.*;
import com.gyee.generation.util.DateUtils;
import com.gyee.generation.util.realtimesource.IEdosUtil;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

@Service
public class ProEconStaOriginalService {

    //    private static final Logger logger = LoggerFactory.getLogger(EquipmentInfo1Service.class);
    @Resource
    private IEdosUtil edosUtil;

    @Resource
    private IProEconPowerstationInfoDay1Service proEconPowerstationInfoDay1Service;
    @Resource
    private IProEconPowerstationInfoDay2Service proEconPowerstationInfoDay2Service;
    @Resource
    private IProEconPowerstationInfoDay3Service proEconPowerstationInfoDay3Service;
    @Resource
    private IProEconPowerstationInfoDay4Service proEconPowerstationInfoDay4Service;
    @Resource
    private IProEconPowerstationInfoDay5Service proEconPowerstationInfoDay5Service;
    @Resource
    private IProEconPowerstationInfoDay6Service proEconPowerstationInfoDay6Service;

    @Resource
    private IProEconStaOriginalDayService proEconStaOriginalDayService;
    @Resource
    private IProEconStaOriginalMonthService proEconStaOriginalMonthService;
    @Resource
    private IProEconStaOriginalYearService proEconStaOriginalYearService;
    @Resource
    private IProEconStaTargetService proEconStaTargetService;
    @Resource
    private IProEconStaOriginalIndexService proEconStaOriginalIndexService;

    //

    /**
     * 计算日信息
     */
    public void calEquipmentInfoDay(Date recordDate) throws Exception {
        Calendar c = Calendar.getInstance();
        c.setTime(recordDate);

        Date end = c.getTime();

        Date begin = DateUtils.truncate(c.getTime());

        QueryWrapper<ProEconStaOriginalDay> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("record_date", recordDate);

        proEconStaOriginalDayService.remove(queryWrapper);

        QueryWrapper<ProEconStaOriginalMonth> queryWrappermonth = new QueryWrapper<>();
        queryWrappermonth.eq("record_date", recordDate);

        proEconStaOriginalMonthService.remove(queryWrappermonth);

        QueryWrapper<ProEconStaOriginalYear> queryWrapperyear = new QueryWrapper<>();
        queryWrapperyear.eq("record_date", recordDate);

        proEconStaOriginalYearService.remove(queryWrapperyear);


        List<ProEconStaOriginalDay> dayls = new ArrayList<>();
        List<ProEconStaOriginalMonth> monthls = new ArrayList<>();
        List<ProEconStaOriginalYear> yearls = new ArrayList<>();


        List<ProEconPowerstationInfoDay1> pepid1ls = new ArrayList<>();
        List<ProEconPowerstationInfoDay2> pepid2ls = new ArrayList<>();
        List<ProEconPowerstationInfoDay3> pepid3ls = new ArrayList<>();
        List<ProEconPowerstationInfoDay4> pepid4ls = new ArrayList<>();
        List<ProEconPowerstationInfoDay5> pepid5ls = new ArrayList<>();
        List<ProEconPowerstationInfoDay6> pepid6ls = new ArrayList<>();

        Calendar cl = Calendar.getInstance();
        cl.setTime(DateUtils.truncate(recordDate));

        QueryWrapper<ProEconPowerstationInfoDay1> queryWrapper1 = new QueryWrapper<>();
        queryWrapper1.eq("record_date", cl.getTime());
        pepid1ls = proEconPowerstationInfoDay1Service.list(queryWrapper1);

        QueryWrapper<ProEconPowerstationInfoDay2> queryWrapper2 = new QueryWrapper<>();
        queryWrapper2.eq("record_date", cl.getTime());
        pepid2ls = proEconPowerstationInfoDay2Service.list(queryWrapper2);

        QueryWrapper<ProEconPowerstationInfoDay3> queryWrapper3 = new QueryWrapper<>();
        queryWrapper3.eq("record_date", cl.getTime());
        pepid3ls = proEconPowerstationInfoDay3Service.list(queryWrapper3);

        QueryWrapper<ProEconPowerstationInfoDay4> queryWrapper4 = new QueryWrapper<>();
        queryWrapper4.eq("record_date", cl.getTime());
        pepid4ls = proEconPowerstationInfoDay4Service.list(queryWrapper4);

        QueryWrapper<ProEconPowerstationInfoDay5> queryWrapper5 = new QueryWrapper<>();
        queryWrapper5.eq("record_date", cl.getTime());
        pepid5ls = proEconPowerstationInfoDay5Service.list(queryWrapper5);

        //        QueryWrapper<ProEconPowerstationInfoDay6> queryWrapper6 = new QueryWrapper<>();
        //        queryWrapper6.eq("record_date", cl.getTime());
        //        pepid6ls = proEconPowerstationInfoDay6Service.list(queryWrapper6);

        if (!pepid1ls.isEmpty() && !pepid2ls.isEmpty() && !pepid3ls.isEmpty() && !pepid4ls.isEmpty() && !pepid5ls.isEmpty()) {
            if (pepid1ls.size() == pepid2ls.size() && pepid1ls.size() == pepid3ls.size() && pepid1ls.size() == pepid4ls.size() && pepid1ls.size() == pepid5ls.size()) {
                for (int i = 0; i < pepid1ls.size(); i++) {
                    ProEconPowerstationInfoDay1 day1 = pepid1ls.get(i);
                    ProEconPowerstationInfoDay2 day2 = pepid2ls.get(i);
                    ProEconPowerstationInfoDay3 day3 = pepid3ls.get(i);
                    ProEconPowerstationInfoDay4 day4 = pepid4ls.get(i);
                    ProEconPowerstationInfoDay5 day5 = pepid5ls.get(i);
                    ProEconPowerstationInfoDay6 day6 = new ProEconPowerstationInfoDay6();
                    //                    ProEconPowerstationInfoDay6 day6=pepid6ls.get(i);

                    ProEconStaOriginalDay pewp = new ProEconStaOriginalDay();
                    ProEconStaOriginalMonth pewpmonth = new ProEconStaOriginalMonth();
                    ProEconStaOriginalYear pewpyear = new ProEconStaOriginalYear();

                    initial(pewp);
                    initial(pewpmonth);
                    initial(pewpyear);

                    pewp.setForeignKeyId(day1.getForeignKeyId());
                    pewp.setLocation(day1.getLocation());

                    int quantity = 0;
                    double capacity = 0.0;
                    if (CacheContext.rgmap.containsKey(day1.getForeignKeyId())) {
                        //                        COMMENT ON COLUMN public.pro_basic_region.jrwind_quantity_ld
                        //                        IS '接入风电装机数量陆地';
                        //
                        //                        COMMENT ON COLUMN public.pro_basic_region.jr_capacity
                        //                        IS '接入光伏装机容量';
                        //
                        //                        COMMENT ON COLUMN public.pro_basic_region.jr_capacity_unit
                        //                        IS '接入光伏容量单位';
                        //
                        //                        COMMENT ON COLUMN public.pro_basic_region.jrquantity_jz
                        //                        IS '接入光伏装机数量集中';
                        //
                        //                        COMMENT ON COLUMN public.pro_basic_region.jrquantity_zc
                        ProBasicRegion region = CacheContext.rgmap.get(day1.getForeignKeyId());
                        pewp.setForeignName(region.getName());
                        pewpmonth.setForeignName(region.getName());
                        pewpyear.setForeignName(region.getName());
                        quantity = region.getJrwindQuantityLd() + region.getJrquantityJz() + region.getJrquantityZc();

                        capacity = region.getJrCapacity() + region.getJrwindCapacity();
                    } else if (CacheContext.cpmap.containsKey(day1.getForeignKeyId())) {
                        ProBasicCompany company = CacheContext.cpmap.get(day1.getForeignKeyId());
                        pewp.setForeignName(company.getName());
                        pewpmonth.setForeignName(company.getName());
                        pewpyear.setForeignName(company.getName());
                        quantity = company.getJrwindQuantityLd() + company.getJrquantityJz() + company.getJrquantityZc();
                        capacity = company.getJrCapacity() + company.getJrwindCapacity();
                    } else if (CacheContext.wpmap.containsKey(day1.getForeignKeyId())) {
                        ProBasicPowerstation wp = CacheContext.wpmap.get(day1.getForeignKeyId());
                        pewp.setForeignName(wp.getName());
                        pewpmonth.setForeignName(wp.getName());
                        pewpyear.setForeignName(wp.getName());
                        quantity = wp.getJrwindQuantityLd() + wp.getJrquantityJz() + wp.getJrquantityZc();
                        capacity = wp.getJrCapacity() + wp.getJrwindCapacity();
                    } else if (CacheContext.pjmap.containsKey(day1.getForeignKeyId())) {
                        ProBasicProject pj = CacheContext.pjmap.get(day1.getForeignKeyId());
                        pewp.setForeignName(pj.getName());
                        pewpmonth.setForeignName(pj.getName());
                        pewpyear.setForeignName(pj.getName());

                        quantity = pj.getQuantity();
                        capacity = pj.getCapacity();
                    } else if (CacheContext.lnmap.containsKey(day1.getForeignKeyId())) {
                        ProBasicLine ln = CacheContext.lnmap.get(day1.getForeignKeyId());
                        pewp.setForeignName(ln.getName());
                        pewpmonth.setForeignName(ln.getName());
                        pewpyear.setForeignName(ln.getName());
                        quantity = ln.getQuantity();
                        capacity = ln.getCapacity();
                    }

                    pewp.setRecordDate(DateUtils.truncate(recordDate));


                    int month = c.get(Calendar.MONTH) + 1;
                    int year = c.get(Calendar.YEAR);
                    pewpmonth.setYear(year);
                    pewpmonth.setMonth(month);
                    pewpmonth.setRecordDate(DateUtils.truncate(recordDate));
                    pewpmonth.setForeignKeyId(day1.getForeignKeyId());
                    pewpmonth.setLocation(day1.getLocation());


                    pewpyear.setYear(year);
                    pewpyear.setRecordDate(DateUtils.truncate(recordDate));
                    pewpyear.setForeignKeyId(day1.getForeignKeyId());
                    pewpyear.setLocation(day1.getLocation());


                    calDay(pewp, day1, day2, day3, day4, day5, day6, quantity, capacity);
                    calMonth(pewpmonth, day1, day2, day3, day4, day5, day6, quantity, capacity);
                    calYear(pewpyear, day1, day2, day3, day4, day5, day6, quantity, capacity);

                    dayls.add(pewp);
                    monthls.add(pewpmonth);
                    yearls.add(pewpyear);

                }

                proEconStaOriginalDayService.saveBatch(dayls);
                proEconStaOriginalMonthService.saveBatch(monthls);
                proEconStaOriginalYearService.saveBatch(yearls);
            }
        }


    }


    private static void calDay(ProEconStaOriginalDay pewp, ProEconPowerstationInfoDay1 day1, ProEconPowerstationInfoDay2 day2,
                               ProEconPowerstationInfoDay3 day3, ProEconPowerstationInfoDay4 day4,
                               ProEconPowerstationInfoDay5 day5, ProEconPowerstationInfoDay6 day6, int quantity, double capacity) {


        //日最大风速
        pewp.setTarget01(day1.getRzdfs());
        //日最小风速
        pewp.setTarget02(day1.getRzxfs());
        //日最大功率
        pewp.setTarget03(day1.getRzdgl());
        //日最小功率
        pewp.setTarget04(day1.getRzxgl());
        //日平均功率
        pewp.setTarget05(day1.getRpjgl());
        //日平均风速
        pewp.setTarget06(day1.getRpjfs());
        //日发电量	target07
        pewp.setTarget07(day1.getRfdl());
        //日可用电量	target08
        pewp.setTarget08(day1.getRkydl());
        //日理论发电量 target09
        pewp.setTarget09(day1.getRllfdl());

        if (capacity != 0) {
            //        日综合厂用电率(SCADA)	target43
            double result = new BigDecimal(day1.getRfdl()).divide(new BigDecimal(capacity), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget43(result);
        }


        //        日故障损失电量	target10
        pewp.setTarget10(StringUtils.round(day1.getRgzssdl() + day1.getRcnslgzssdl(), 2));
        //        日故障损失率	target46
        if (day1.getRllfdl() != 0) {
            double result = new BigDecimal(day1.getRgzssdl() + day1.getRcnslgzssdl()).divide(new BigDecimal(day1.getRllfdl()), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget46(result);
        }

        //        日检修损失电量	target11
        pewp.setTarget11(StringUtils.round(day1.getRjxssdl() + day1.getRcnsljxssdl(), 2));
        //        日检修损失率	target47
        if (day1.getRllfdl() != 0) {
            double result = new BigDecimal(day1.getRjxssdl() + day1.getRcnsljxssdl()).divide(new BigDecimal(day1.getRllfdl()), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget47(result);
        }
        //        日待机损失电量	target12
        pewp.setTarget12(StringUtils.round(day1.getRdjssdl() + day1.getRqxjclssdl(), 2));
        //        日性能损失电量	target13
        pewp.setTarget13(StringUtils.round(day1.getRxnssdl() + day1.getRsdtjssdl(), 2));
        //        日性能损失率	target48
        if (day1.getRllfdl() != 0) {
            double result = new BigDecimal(day1.getRxnssdl() + day1.getRsdtjssdl()).divide(new BigDecimal(day1.getRllfdl()), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget48(result);
        }


        //        日限电损失电量	target14
        pewp.setTarget14(StringUtils.round(day1.getRxdjclssdl() + day1.getRxdtjssdl(), 2));
        //        日限电损失率	target49
        if (day1.getRllfdl() != 0) {
            double result = new BigDecimal(day1.getRxdjclssdl() + day1.getRxdtjssdl()).divide(new BigDecimal(day1.getRllfdl()), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget49(result);
        }

        //        日弃风率	target50

        if (day1.getRfdl() != 0) {
            double result = new BigDecimal(day1.getRxdjclssdl() + day1.getRxdtjssdl()).divide(new BigDecimal(day1.getRfdl()), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget50(result + pewp.getTarget29());
        }
        //        日弃发比	target51

        if (day1.getRfdl() != 0) {
            double result = new BigDecimal(day1.getRxdjclssdl() + day1.getRxdtjssdl()).divide(new BigDecimal(day1.getRfdl()), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget51(result);
        }
        //        日场外受累损失电量	target15
        pewp.setTarget15(StringUtils.round(day1.getRcwsldwssdl() + day1.getRcwsltqssdl(), 2));
        //        日受累损失率	target52
        if (day1.getRllfdl() != 0) {
            double result = new BigDecimal(day1.getRcwsldwssdl() + day1.getRcwsltqssdl()).divide(new BigDecimal(day1.getRllfdl()), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget52(result);
        }


        //        日故障小时（明细）	target16
        pewp.setTarget16(StringUtils.round(day2.getRhjgzxsmx() + day2.getRhjcnslgzxsmx(), 2));
        //        日检修小时（明细）	target17
        pewp.setTarget17(StringUtils.round(day2.getRhjjxxsmx() + day2.getRhjcnsljxxsmx(), 2));
        //        日待机小时（明细）	target18
        pewp.setTarget18(StringUtils.round(day2.getRhjdjxsmx() + day2.getRhjqxjclxsmx(), 2));
        //        日性能小时（明细）	target19
        pewp.setTarget19(StringUtils.round(day2.getRhjqxjclxsmx() + day2.getRhjsdtjxsmx(), 2));
        //        日限电小时（明细）	target20
        pewp.setTarget20(StringUtils.round(day2.getRhjxdjclxsmx() + day2.getRhjxdtjxsmx(), 2));
        //        日场外受累小时（明细）	target21
        pewp.setTarget21(StringUtils.round(day2.getRhjcwsldwxsmx() + day2.getRhjcwsltqxsmx(), 2));
        //        日离线小时（明细）	target22
        pewp.setTarget22(StringUtils.round(day2.getRhjlxxsmx() + day2.getRhjtxzdxsmx(), 2));

        if (quantity != 0) {
            //        日等效可利用系数	target44
            double result = new BigDecimal(24 * quantity - pewp.getTarget16() - pewp.getTarget17()).divide(new BigDecimal(24 * quantity), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget44(result);
            //        日设备可利用率	target45
            result = new BigDecimal(24 * quantity - pewp.getTarget16()).divide(new BigDecimal(24 * quantity), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget45(result);
        }


        //        日故障次数（明细）	target23
        pewp.setTarget23(StringUtils.round(day3.getRhjgzcsmx() + day3.getRhjcnslgzcsmx(), 2));
        //        日检修次数（明细）	target24
        pewp.setTarget24(StringUtils.round(day3.getRhjjxcsmx() + day3.getRhjcnsljxcsmx(), 2));
        //        日待机次数（明细）	target25
        pewp.setTarget25(StringUtils.round(day3.getRhjdjcsmx() + day3.getRhjqxjclcsmx(), 2));
        //        日性能次数（明细）	target26
        pewp.setTarget26(StringUtils.round(day3.getRhjqxjclcsmx() + day3.getRhjsdtjcsmx(), 2));
        //        日限电次数（明细）	target27
        pewp.setTarget27(StringUtils.round(day3.getRhjxdjclcsmx() + day3.getRhjxdtjcsmx(), 2));
        //        日场外受累电网次数（明细）	target28
        pewp.setTarget28(StringUtils.round(day3.getRhjcwsldwcsmx() + day3.getRhjcwsltqcsmx(), 2));
        //        日离线次数（明细）	target29
        pewp.setTarget28(StringUtils.round(day3.getRhjtxzdcsmx() + day3.getRhjlxcsmx(), 2));


        //        日故障消缺及时率	target35
        pewp.setTarget35(day4.getRgzxqjsl());
        //        日状态转换及时率	target34
        pewp.setTarget34(day4.getRztzhjsl());
        //        日复位及时率	target33
        pewp.setTarget33(day4.getRfwjsl());
        //        日MTBF	target30
        pewp.setTarget30(day4.getRmtbf());
        //        日MTTR	target31
        pewp.setTarget31(day4.getRmttr());
        //        日MTTF	target32
        pewp.setTarget32(day4.getRmttr());


        //        日发电量(电表)	target36
        pewp.setTarget36(day5.getRfdldb());
        //        日上网电量(电表)	target37
        pewp.setTarget37(day5.getRswdldb());
        //        日工网购网电量(电表)	target38
        pewp.setTarget38(day5.getRgwgwdldb());
        //        日农网购网电量(电表)	target39
        pewp.setTarget39(day5.getRnwgwdldb());
        //        日综合场用电量(电表)	target40
        pewp.setTarget40(day5.getRzhcydldb());
        //        日发电厂用电量(电表)	target41
        pewp.setTarget41(day5.getRfdcydldb());

        if (capacity != 0) {
            //        日综合厂用电率(电表)	target42
            double result = new BigDecimal(day5.getRfdldb()).divide(new BigDecimal(capacity), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget42(result);
        }


        //日统计小时target36
        pewp.setTarget53(24.0);

    }

    private static void calMonth(ProEconStaOriginalMonth pewp, ProEconPowerstationInfoDay1 day1, ProEconPowerstationInfoDay2 day2,
                                 ProEconPowerstationInfoDay3 day3, ProEconPowerstationInfoDay4 day4,
                                 ProEconPowerstationInfoDay5 day5, ProEconPowerstationInfoDay6 day6, int quantity, double capacity) {
        //月最大风速
        pewp.setTarget01(day1.getYzdfs());
        //月最小风速
        pewp.setTarget02(day1.getYzxfs());
        //月最大功率
        pewp.setTarget03(day1.getYzdgl());
        //月最小功率
        pewp.setTarget04(day1.getYzxgl());
        //月平均功率
        pewp.setTarget05(day1.getYpjgl());
        //月平均风速
        pewp.setTarget06(day1.getYpjfs());
        //月发电量	target07
        pewp.setTarget07(day1.getYfdl());
        //月可用电量	target08
        pewp.setTarget08(day1.getYkydl());
        //月理论发电量 target09
        pewp.setTarget09(day1.getYllfdl());

        if (capacity != 0) {
            //        月综合厂用电率(SCADA)	target43
            double result = new BigDecimal(day1.getYfdl()).divide(new BigDecimal(capacity), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget43(result);
        }


        //        月故障损失电量	target10
        pewp.setTarget10(StringUtils.round(day1.getYgzssdl() + day1.getYcnslgzssdl(), 2));
        //        月故障损失率	target46
        if (day1.getYllfdl() != 0) {
            double result = new BigDecimal(day1.getYgzssdl() + day1.getYcnslgzssdl()).divide(new BigDecimal(day1.getYllfdl()), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget46(result);
        }

        //        月检修损失电量	target11
        pewp.setTarget11(StringUtils.round(day1.getYjxssdl() + day1.getYcnsljxssdl(), 2));
        //        月检修损失率	target47
        if (day1.getYllfdl() != 0) {
            double result = new BigDecimal(day1.getYjxssdl() + day1.getYcnsljxssdl()).divide(new BigDecimal(day1.getYllfdl()), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget47(result);
        }
        //        月待机损失电量	target12
        pewp.setTarget12(StringUtils.round(day1.getYdjssdl() + day1.getYqxjclssdl(), 2));
        //        月性能损失电量	target13
        pewp.setTarget13(StringUtils.round(day1.getYxnssdl() + day1.getYsdtjssdl(), 2));
        //        月性能损失率	target48
        if (day1.getYllfdl() != 0) {
            double result = new BigDecimal(day1.getYxnssdl() + day1.getYsdtjssdl()).divide(new BigDecimal(day1.getYllfdl()), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget48(result);
        }


        //        月限电损失电量	target14
        pewp.setTarget14(StringUtils.round(day1.getYxdjclssdl() + day1.getYxdtjssdl(), 2));
        //        月限电损失率	target49
        if (day1.getYllfdl() != 0) {
            double result = new BigDecimal(day1.getYxdjclssdl() + day1.getYxdtjssdl()).divide(new BigDecimal(day1.getYllfdl()), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget49(result);
        }

        //        月弃风率	target50

        if (day1.getYfdl() != 0) {
            double result = new BigDecimal(day1.getYxdjclssdl() + day1.getYxdtjssdl()).divide(new BigDecimal(day1.getYfdl()), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget50(result + pewp.getTarget29());
        }
        //        月弃发比	target51

        if (day1.getYfdl() != 0) {
            double result = new BigDecimal(day1.getYxdjclssdl() + day1.getYxdtjssdl()).divide(new BigDecimal(day1.getYfdl()), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget51(result);
        }
        //        月场外受累损失电量	target15
        pewp.setTarget15(StringUtils.round(day1.getYcwsldwssdl() + day1.getYcwsltqssdl(), 2));
        //        月受累损失率	target52
        if (day1.getYllfdl() != 0) {
            double result = new BigDecimal(day1.getYcwsldwssdl() + day1.getYcwsltqssdl()).divide(new BigDecimal(day1.getYllfdl()), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget52(result);
        }


        //        月故障小时（明细）	target16
        pewp.setTarget16(StringUtils.round(day2.getYhjgzxsmx() + day2.getYhjcnslgzxsmx(), 2));
        //        月检修小时（明细）	target17
        pewp.setTarget17(StringUtils.round(day2.getYhjjxxsmx() + day2.getYhjcnsljxxsmx(), 2));
        //        月待机小时（明细）	target18
        pewp.setTarget18(StringUtils.round(day2.getYhjdjxsmx() + day2.getYhjqxjclxsmx(), 2));
        //        月性能小时（明细）	target19
        pewp.setTarget19(StringUtils.round(day2.getYhjqxjclxsmx() + day2.getYhjsdtjxsmx(), 2));
        //        月限电小时（明细）	target20
        pewp.setTarget20(StringUtils.round(day2.getYhjxdjclxsmx() + day2.getYhjxdtjxsmx(), 2));
        //        月场外受累小时（明细）	target21
        pewp.setTarget21(StringUtils.round(day2.getYhjcwsldwxsmx() + day2.getYhjcwsltqxsmx(), 2));
        //        月离线小时（明细）	target22
        pewp.setTarget22(StringUtils.round(day2.getYhjlxxsmx() + day2.getYhjtxzdxsmx(), 2));

        if (quantity != 0) {
            //        月等效可利用系数	target44
            double result = new BigDecimal(24 * quantity - pewp.getTarget16() - pewp.getTarget17()).divide(new BigDecimal(24 * quantity), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget44(result);
            //        月设备可利用率	target45
            result = new BigDecimal(24 * quantity - pewp.getTarget16()).divide(new BigDecimal(24 * quantity), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget45(result);
        }


        //        月故障次数（明细）	target23
        pewp.setTarget23(StringUtils.round(day3.getYhjgzcsmx() + day3.getYhjcnslgzcsmx(), 2));
        //        月检修次数（明细）	target24
        pewp.setTarget24(StringUtils.round(day3.getYhjjxcsmx() + day3.getYhjcnsljxcsmx(), 2));
        //        月待机次数（明细）	target25
        pewp.setTarget25(StringUtils.round(day3.getYhjdjcsmx() + day3.getYhjqxjclcsmx(), 2));
        //        月性能次数（明细）	target26
        pewp.setTarget26(StringUtils.round(day3.getYhjqxjclcsmx() + day3.getYhjsdtjcsmx(), 2));
        //        月限电次数（明细）	target27
        pewp.setTarget27(StringUtils.round(day3.getYhjxdjclcsmx() + day3.getYhjxdtjcsmx(), 2));
        //        月场外受累电网次数（明细）	target28
        pewp.setTarget28(StringUtils.round(day3.getYhjcwsldwcsmx() + day3.getYhjcwsltqcsmx(), 2));
        //        月离线次数（明细）	target29
        pewp.setTarget28(StringUtils.round(day3.getYhjtxzdcsmx() + day3.getYhjlxcsmx(), 2));


        //        月故障消缺及时率	target35
        pewp.setTarget35(day4.getYgzxqjsl());
        //        月状态转换及时率	target34
        pewp.setTarget34(day4.getYztzhjsl());
        //        月复位及时率	target33
        pewp.setTarget33(day4.getYfwjsl());
        //        月MTBF	target30
        pewp.setTarget30(day4.getYmtbf());
        //        月MTTR	target31
        pewp.setTarget31(day4.getYmttr());
        //        月MTTF	target32
        pewp.setTarget32(day4.getYmttr());


        //        月发电量(电表)	target36
        pewp.setTarget36(day5.getYfdldb());
        //        月上网电量(电表)	target37
        pewp.setTarget37(day5.getYswdldb());
        //        月工网购网电量(电表)	target38
        pewp.setTarget38(day5.getYgwgwdldb());
        //        月农网购网电量(电表)	target39
        pewp.setTarget39(day5.getYnwgwdldb());
        //        月综合场用电量(电表)	target40
        pewp.setTarget40(day5.getYzhcydldb());
        //        月发电厂用电量(电表)	target41
        pewp.setTarget41(day5.getYfdcydldb());

        if (capacity != 0) {
            //        月综合厂用电率(电表)	target42
            double result = new BigDecimal(day5.getYfdldb()).divide(new BigDecimal(capacity), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget42(result);
        }

        Calendar c = Calendar.getInstance();
        c.setTime(pewp.getRecordDate());
        int day = c.get(Calendar.DAY_OF_MONTH);
        //月统计小时target53
        pewp.setTarget53(day * 24.0);
    }


    private static void calYear(ProEconStaOriginalYear pewp, ProEconPowerstationInfoDay1 day1, ProEconPowerstationInfoDay2 day2,
                                ProEconPowerstationInfoDay3 day3, ProEconPowerstationInfoDay4 day4,
                                ProEconPowerstationInfoDay5 day5, ProEconPowerstationInfoDay6 day6, int quantity, double capacity) {
        //年最大风速
        pewp.setTarget01(day1.getNzdfs());
        //年最小风速
        pewp.setTarget02(day1.getNzxfs());
        //年最大功率
        pewp.setTarget03(day1.getNzdgl());
        //年最小功率
        pewp.setTarget04(day1.getNzxgl());
        //年平均功率
        pewp.setTarget05(day1.getNpjgl());
        //年平均风速
        pewp.setTarget06(day1.getNpjfs());
        //年发电量	target07
        pewp.setTarget07(day1.getNfdl());
        //年可用电量	target08
        pewp.setTarget08(day1.getNkydl());
        //年理论发电量 target09
        pewp.setTarget09(day1.getNllfdl());

        if (capacity != 0) {
            //        年综合厂用电率(SCADA)	target43
            double result = new BigDecimal(day1.getNfdl()).divide(new BigDecimal(capacity), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget43(result);
        }


        //        年故障损失电量	target10
        pewp.setTarget10(StringUtils.round(day1.getNgzssdl() + day1.getNcnslgzssdl(), 2));
        //        年故障损失率	target46
        if (day1.getNllfdl() != 0) {
            double result = new BigDecimal(day1.getNgzssdl() + day1.getNcnslgzssdl()).divide(new BigDecimal(day1.getNllfdl()), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget46(result);
        }

        //        年检修损失电量	target11
        pewp.setTarget11(StringUtils.round(day1.getNjxssdl() + day1.getNcnsljxssdl(), 2));
        //        年检修损失率	target47
        if (day1.getNllfdl() != 0) {
            double result = new BigDecimal(day1.getNjxssdl() + day1.getNcnsljxssdl()).divide(new BigDecimal(day1.getNllfdl()), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget47(result);
        }
        //        年待机损失电量	target12
        pewp.setTarget12(StringUtils.round(day1.getNdjssdl() + day1.getNqxjclssdl(), 2));
        //        年性能损失电量	target13
        pewp.setTarget13(StringUtils.round(day1.getNxnssdl() + day1.getNsdtjssdl(), 2));
        //        年性能损失率	target48
        if (day1.getNllfdl() != 0) {
            double result = new BigDecimal(day1.getNxnssdl() + day1.getNsdtjssdl()).divide(new BigDecimal(day1.getNllfdl()), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget48(result);
        }


        //        年限电损失电量	target14
        pewp.setTarget14(StringUtils.round(day1.getNxdjclssdl() + day1.getNxdtjssdl(), 2));
        //        年限电损失率	target49
        if (day1.getNllfdl() != 0) {
            double result = new BigDecimal(day1.getNxdjclssdl() + day1.getNxdtjssdl()).divide(new BigDecimal(day1.getNllfdl()), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget49(result);
        }

        //        年弃风率	target50

        if (day1.getNfdl() != 0) {
            double result = new BigDecimal(day1.getNxdjclssdl() + day1.getNxdtjssdl()).divide(new BigDecimal(day1.getNfdl()), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget50(result + pewp.getTarget29());
        }
        //        年弃发比	target51

        if (day1.getNfdl() != 0) {
            double result = new BigDecimal(day1.getNxdjclssdl() + day1.getNxdtjssdl()).divide(new BigDecimal(day1.getNfdl()), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget51(result);
        }
        //        年场外受累损失电量	target15
        pewp.setTarget15(StringUtils.round(day1.getNcwsldwssdl() + day1.getNcwsltqssdl(), 2));
        //        年受累损失率	target52
        if (day1.getNllfdl() != 0) {
            double result = new BigDecimal(day1.getNcwsldwssdl() + day1.getNcwsltqssdl()).divide(new BigDecimal(day1.getNllfdl()), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget52(result);
        }


        //        年故障小时（明细）	target16
        pewp.setTarget16(StringUtils.round(day2.getNhjgzxsmx() + day2.getNhjcnslgzxsmx(), 2));
        //        年检修小时（明细）	target17
        pewp.setTarget17(StringUtils.round(day2.getNhjjxxsmx() + day2.getNhjcnsljxxsmx(), 2));
        //        年待机小时（明细）	target18
        pewp.setTarget18(StringUtils.round(day2.getNhjdjxsmx() + day2.getNhjqxjclxsmx(), 2));
        //        年性能小时（明细）	target19
        pewp.setTarget19(StringUtils.round(day2.getNhjqxjclxsmx() + day2.getNhjsdtjxsmx(), 2));
        //        年限电小时（明细）	target20
        pewp.setTarget20(StringUtils.round(day2.getNhjxdjclxsmx() + day2.getNhjxdtjxsmx(), 2));
        //        年场外受累小时（明细）	target21
        pewp.setTarget21(StringUtils.round(day2.getNhjcwsldwxsmx() + day2.getNhjcwsltqxsmx(), 2));
        //        年离线小时（明细）	target22
        pewp.setTarget22(StringUtils.round(day2.getNhjlxxsmx() + day2.getNhjtxzdxsmx(), 2));

        if (quantity != 0) {
            //        年等效可利用系数	target44
            double result = new BigDecimal(24 * quantity - pewp.getTarget16() - pewp.getTarget17()).divide(new BigDecimal(24 * quantity), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget44(result);
            //        年设备可利用率	target45
            result = new BigDecimal(24 * quantity - pewp.getTarget16()).divide(new BigDecimal(24 * quantity), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget45(result);
        }


        //        年故障次数（明细）	target23
        pewp.setTarget23(StringUtils.round(day3.getNhjgzcsmx() + day3.getNhjcnslgzcsmx(), 2));
        //        年检修次数（明细）	target24
        pewp.setTarget24(StringUtils.round(day3.getNhjjxcsmx() + day3.getNhjcnsljxcsmx(), 2));
        //        年待机次数（明细）	target25
        pewp.setTarget25(StringUtils.round(day3.getNhjdjcsmx() + day3.getNhjqxjclcsmx(), 2));
        //        年性能次数（明细）	target26
        pewp.setTarget26(StringUtils.round(day3.getNhjqxjclcsmx() + day3.getNhjsdtjcsmx(), 2));
        //        年限电次数（明细）	target27
        pewp.setTarget27(StringUtils.round(day3.getNhjxdjclcsmx() + day3.getNhjxdtjcsmx(), 2));
        //        年场外受累电网次数（明细）	target28
        pewp.setTarget28(StringUtils.round(day3.getNhjcwsldwcsmx() + day3.getNhjcwsltqcsmx(), 2));
        //        年离线次数（明细）	target29
        pewp.setTarget28(StringUtils.round(day3.getNhjtxzdcsmx() + day3.getNhjlxcsmx(), 2));


        //        年故障消缺及时率	target35
        pewp.setTarget35(day4.getNgzxqjsl());
        //        年状态转换及时率	target34
        pewp.setTarget34(day4.getNztzhjsl());
        //        年复位及时率	target33
        pewp.setTarget33(day4.getNfwjsl());
        //        年MTBF	target30
        pewp.setTarget30(day4.getNmtbf());
        //        年MTTR	target31
        pewp.setTarget31(day4.getNmttr());
        //        年MTTF	target32
        pewp.setTarget32(day4.getNmttr());


        //        年发电量(电表)	target36
        pewp.setTarget36(day5.getNfdldb());
        //        年上网电量(电表)	target37
        pewp.setTarget37(day5.getNswdldb());
        //        年工网购网电量(电表)	target38
        pewp.setTarget38(day5.getNgwgwdldb());
        //        年农网购网电量(电表)	target39
        pewp.setTarget39(day5.getNnwgwdldb());
        //        年综合场用电量(电表)	target40
        pewp.setTarget40(day5.getNzhcydldb());
        //        年发电厂用电量(电表)	target41
        pewp.setTarget41(day5.getNfdcydldb());

        if (capacity != 0) {
            //        年综合厂用电率(电表)	target42
            double result = new BigDecimal(day5.getNfdldb()).divide(new BigDecimal(capacity), 2, RoundingMode.HALF_EVEN).doubleValue();
            pewp.setTarget42(result);
        }

        Calendar c = Calendar.getInstance();
        c.setTime(pewp.getRecordDate());
        int day = c.get(Calendar.DAY_OF_YEAR);
        //月统计小时target53
        pewp.setTarget53(day * 24.0);
    }

    public static void initial(ProEconStaOriginalDay pepd) {
        /**
         * 最大风速
         */
        pepd.setTarget01(0.0);

        /**
         * 最小风速
         */
        pepd.setTarget02(0.0);

        /**
         * 最大功率
         */
        pepd.setTarget03(0.0);

        /**
         * 最小功率
         */
        pepd.setTarget04(0.0);

        /**
         * 平均功率
         */
        pepd.setTarget05(0.0);

        /**
         * 平均风速
         */
        pepd.setTarget06(0.0);

        /**
         * 发电量
         */
        pepd.setTarget07(0.0);

        /**
         * 可用电量
         */
        pepd.setTarget08(0.0);

        /**
         * 理论发电量
         */
        pepd.setTarget09(0.0);

        /**
         * 故障损失电量
         */
        pepd.setTarget10(0.0);

        /**
         * 场内受累故障损失电量
         */
        pepd.setTarget11(0.0);

        /**
         * 检修损失电量
         */
        pepd.setTarget12(0.0);

        /**
         * 场内受累检修损失电量
         */
        pepd.setTarget13(0.0);

        /**
         * 待机损失电量
         */
        pepd.setTarget14(0.0);

        /**
         * 缺陷降出力损失电量
         */
        pepd.setTarget15(0.0);

        /**
         * 手动停机损失电量
         */
        pepd.setTarget16(0.0);

        /**
         * 性能损失电量
         */
        pepd.setTarget17(0.0);

        /**
         * 限电停机损失电量
         */
        pepd.setTarget18(0.0);

        /**
         * 限电降出力损失电量
         */
        pepd.setTarget19(0.0);

        /**
         * 场外受累电网损失电量
         */
        pepd.setTarget20(0.0);

        /**
         * 场外受累天气损失电量
         */
        pepd.setTarget21(0.0);

        /**
         * 故障小时（明细）
         */
        pepd.setTarget22(0.0);

        /**
         * 场内受累故障小时（明细）
         */
        pepd.setTarget23(0.0);

        /**
         * 检修小时（明细）
         */
        pepd.setTarget24(0.0);

        /**
         * 场内受累检修小时（明细）
         */
        pepd.setTarget25(0.0);

        /**
         * 待机小时（明细）
         */
        pepd.setTarget26(0.0);

        /**
         * 缺陷降出力小时（明细）
         */
        pepd.setTarget27(0.0);

        /**
         * 手动停机小时（明细）
         */
        pepd.setTarget28(0.0);

        /**
         * 性能小时（明细）
         */
        pepd.setTarget29(0.0);

        /**
         * 限电停机小时（明细）
         */
        pepd.setTarget30(0.0);

        /**
         * 限电降出力小时（明细）
         */
        pepd.setTarget31(0.0);

        /**
         * 场外受累电网小时（明细）
         */
        pepd.setTarget32(0.0);

        /**
         * 场外受累天气小时（明细）
         */
        pepd.setTarget33(0.0);

        /**
         * 离线小时（明细）
         */
        pepd.setTarget34(0.0);

        /**
         * 通讯中断小时（明细）
         */
        pepd.setTarget35(0.0);

        /**
         * 故障次数（明细）
         */
        pepd.setTarget36(0.0);

        /**
         * 场内受累故障次数（明细）
         */
        pepd.setTarget37(0.0);

        /**
         * 检修次数（明细）
         */
        pepd.setTarget38(0.0);

        /**
         * 场内受累检修次数（明细）
         */
        pepd.setTarget39(0.0);

        /**
         * 待机次数（明细）
         */
        pepd.setTarget40(0.0);

        /**
         * 缺陷降出力次数（明细）
         */
        pepd.setTarget41(0.0);

        /**
         * 手动停机次数（明细）
         */
        pepd.setTarget42(0.0);

        /**
         * 性能次数（明细）
         */
        pepd.setTarget43(0.0);

        /**
         * 限电停机次数（明细）
         */
        pepd.setTarget44(0.0);

        /**
         * 限电降出力次数（明细）
         */
        pepd.setTarget45(0.0);

        /**
         * 场外受累电网次数（明细）
         */
        pepd.setTarget46(0.0);

        /**
         * 场外受累天气次数（明细）
         */
        pepd.setTarget47(0.0);

        /**
         * 离线次数（明细）
         */
        pepd.setTarget48(0.0);

        /**
         * 通讯中断次数（明细）
         */
        pepd.setTarget49(0.0);

        /**
         * MTBF
         */
        pepd.setTarget50(0.0);

        /**
         * MTTR
         */
        pepd.setTarget51(0.0);

        /**
         * MTTF
         */
        pepd.setTarget52(0.0);

        /**
         * 复位及时率
         */
        pepd.setTarget53(0.0);

        /**
         * 状态转换及时率
         */
        pepd.setTarget54(0.0);

        /**
         * 故障消缺及时率
         */
        pepd.setTarget55(0.0);

        /**
         * 发电量(电表)
         */
        pepd.setTarget56(0.0);

        /**
         * 上网电量(电表)
         */
        pepd.setTarget57(0.0);

        /**
         * 工网购网电量(电表)
         */
        pepd.setTarget58(0.0);

        /**
         * 农网购网电量(电表)
         */
        pepd.setTarget59(0.0);

        /**
         * 综合场用电量(电表)
         */
        pepd.setTarget60(0.0);

        /**
         * 发电厂用电量(电表)
         */
        pepd.setTarget61(0.0);

        /**
         * 备用
         */
        pepd.setTarget62(0.0);

        /**
         * 备用
         */
        pepd.setTarget63(0.0);

        /**
         * 备用
         */
        pepd.setTarget64(0.0);

        /**
         * 备用
         */
        pepd.setTarget65(0.0);

        /**
         * 备用
         */
        pepd.setTarget66(0.0);

        /**
         * 备用
         */
        pepd.setTarget67(0.0);

        /**
         * 备用
         */
        pepd.setTarget68(0.0);

        /**
         * 备用
         */
        pepd.setTarget69(0.0);

        /**
         * 备用
         */
        pepd.setTarget70(0.0);

        /**
         * 备用
         */
        pepd.setTarget71(0.0);

        /**
         * 备用
         */
        pepd.setTarget72(0.0);

        /**
         * 备用
         */
        pepd.setTarget73(0.0);

        /**
         * 备用
         */
        pepd.setTarget74(0.0);

        /**
         * 备用
         */
        pepd.setTarget75(0.0);

        /**
         * 备用
         */
        pepd.setTarget76(0.0);

        /**
         * 备用
         */
        pepd.setTarget77(0.0);

        /**
         * 备用
         */
        pepd.setTarget78(0.0);

        /**
         * 备用
         */
        pepd.setTarget79(0.0);

        /**
         * 备用
         */
        pepd.setTarget80(0.0);

        /**
         * 备用
         */
        pepd.setTarget81(0.0);

        /**
         * 备用
         */
        pepd.setTarget82(0.0);

        /**
         * 备用
         */
        pepd.setTarget83(0.0);

        /**
         * 备用
         */
        pepd.setTarget84(0.0);

        /**
         * 备用
         */
        pepd.setTarget85(0.0);

        /**
         * 备用
         */
        pepd.setTarget86(0.0);

        /**
         * 备用
         */
        pepd.setTarget87(0.0);

        /**
         * 备用
         */
        pepd.setTarget88(0.0);

        /**
         * 备用
         */
        pepd.setTarget89(0.0);

        /**
         * 备用
         */
        pepd.setTarget90(0.0);

        /**
         * 备用
         */
        pepd.setTarget91(0.0);

        /**
         * 备用
         */
        pepd.setTarget92(0.0);

        /**
         * 备用
         */
        pepd.setTarget93(0.0);

        /**
         * 备用
         */
        pepd.setTarget94(0.0);

        /**
         * 备用
         */
        pepd.setTarget95(0.0);

        /**
         * 备用
         */
        pepd.setTarget96(0.0);

        /**
         * 备用
         */
        pepd.setTarget97(0.0);

        /**
         * 备用
         */
        pepd.setTarget98(0.0);

        /**
         * 备用
         */
        pepd.setTarget99(0.0);

        /**
         * 备用
         */
        pepd.setTarget100(0.0);
        pepd.setTarget101(0.0);
        pepd.setTarget102(0.0);
        pepd.setTarget103(0.0);
        pepd.setTarget104(0.0);
        pepd.setTarget105(0.0);
        pepd.setTarget106(0.0);
        pepd.setTarget107(0.0);
        pepd.setTarget108(0.0);
        pepd.setTarget109(0.0);
        pepd.setTarget110(0.0);
        pepd.setTarget111(0.0);
        pepd.setTarget112(0.0);
        pepd.setTarget113(0.0);
        pepd.setTarget114(0.0);
        pepd.setTarget115(0.0);
        pepd.setTarget116(0.0);
        pepd.setTarget117(0.0);
        pepd.setTarget118(0.0);
        pepd.setTarget119(0.0);
        pepd.setTarget120(0.0);
        pepd.setTarget121(0.0);
        pepd.setTarget122(0.0);
        pepd.setTarget123(0.0);
        pepd.setTarget124(0.0);
        pepd.setTarget125(0.0);
        pepd.setTarget126(0.0);
        pepd.setTarget127(0.0);
        pepd.setTarget128(0.0);
        pepd.setTarget129(0.0);
        pepd.setTarget130(0.0);
        pepd.setTarget131(0.0);
        pepd.setTarget132(0.0);
        pepd.setTarget133(0.0);
        pepd.setTarget134(0.0);
        pepd.setTarget135(0.0);
        pepd.setTarget136(0.0);
        pepd.setTarget137(0.0);
        pepd.setTarget138(0.0);
        pepd.setTarget139(0.0);
        pepd.setTarget140(0.0);
        pepd.setTarget141(0.0);
        pepd.setTarget142(0.0);
        pepd.setTarget143(0.0);
        pepd.setTarget144(0.0);
        pepd.setTarget145(0.0);
        pepd.setTarget146(0.0);
        pepd.setTarget147(0.0);
        pepd.setTarget148(0.0);
        pepd.setTarget149(0.0);
        pepd.setTarget150(0.0);
        pepd.setTarget151(0.0);
        pepd.setTarget152(0.0);
        pepd.setTarget153(0.0);
        pepd.setTarget154(0.0);
        pepd.setTarget155(0.0);
        pepd.setTarget156(0.0);
        pepd.setTarget157(0.0);
        pepd.setTarget158(0.0);
        pepd.setTarget159(0.0);
        pepd.setTarget160(0.0);
        pepd.setTarget161(0.0);
        pepd.setTarget162(0.0);
        pepd.setTarget163(0.0);
        pepd.setTarget164(0.0);
        pepd.setTarget165(0.0);
        pepd.setTarget166(0.0);
        pepd.setTarget167(0.0);
        pepd.setTarget168(0.0);
        pepd.setTarget169(0.0);
        pepd.setTarget170(0.0);
        pepd.setTarget171(0.0);
        pepd.setTarget172(0.0);
        pepd.setTarget173(0.0);
        pepd.setTarget174(0.0);
        pepd.setTarget175(0.0);
        pepd.setTarget176(0.0);
        pepd.setTarget177(0.0);
        pepd.setTarget178(0.0);
        pepd.setTarget179(0.0);
        pepd.setTarget180(0.0);
        pepd.setTarget181(0.0);
        pepd.setTarget182(0.0);
        pepd.setTarget183(0.0);
        pepd.setTarget184(0.0);
        pepd.setTarget185(0.0);
        pepd.setTarget186(0.0);
        pepd.setTarget187(0.0);
        pepd.setTarget188(0.0);
        pepd.setTarget189(0.0);
        pepd.setTarget190(0.0);
        pepd.setTarget191(0.0);
        pepd.setTarget192(0.0);
        pepd.setTarget193(0.0);
        pepd.setTarget194(0.0);
        pepd.setTarget195(0.0);
        pepd.setTarget196(0.0);
        pepd.setTarget197(0.0);
        pepd.setTarget198(0.0);
        pepd.setTarget199(0.0);
        pepd.setTarget200(0.0);
    }

    public static void initial(ProEconStaOriginalMonth pepd) {

        /**
         * 最大风速
         */
        pepd.setTarget01(0.0);

        /**
         * 最小风速
         */
        pepd.setTarget02(0.0);

        /**
         * 最大功率
         */
        pepd.setTarget03(0.0);

        /**
         * 最小功率
         */
        pepd.setTarget04(0.0);

        /**
         * 平均功率
         */
        pepd.setTarget05(0.0);

        /**
         * 平均风速
         */
        pepd.setTarget06(0.0);

        /**
         * 发电量
         */
        pepd.setTarget07(0.0);

        /**
         * 可用电量
         */
        pepd.setTarget08(0.0);

        /**
         * 理论发电量
         */
        pepd.setTarget09(0.0);

        /**
         * 故障损失电量
         */
        pepd.setTarget10(0.0);

        /**
         * 场内受累故障损失电量
         */
        pepd.setTarget11(0.0);

        /**
         * 检修损失电量
         */
        pepd.setTarget12(0.0);

        /**
         * 场内受累检修损失电量
         */
        pepd.setTarget13(0.0);

        /**
         * 待机损失电量
         */
        pepd.setTarget14(0.0);

        /**
         * 缺陷降出力损失电量
         */
        pepd.setTarget15(0.0);

        /**
         * 手动停机损失电量
         */
        pepd.setTarget16(0.0);

        /**
         * 性能损失电量
         */
        pepd.setTarget17(0.0);

        /**
         * 限电停机损失电量
         */
        pepd.setTarget18(0.0);

        /**
         * 限电降出力损失电量
         */
        pepd.setTarget19(0.0);

        /**
         * 场外受累电网损失电量
         */
        pepd.setTarget20(0.0);

        /**
         * 场外受累天气损失电量
         */
        pepd.setTarget21(0.0);

        /**
         * 故障小时（明细）
         */
        pepd.setTarget22(0.0);

        /**
         * 场内受累故障小时（明细）
         */
        pepd.setTarget23(0.0);

        /**
         * 检修小时（明细）
         */
        pepd.setTarget24(0.0);

        /**
         * 场内受累检修小时（明细）
         */
        pepd.setTarget25(0.0);

        /**
         * 待机小时（明细）
         */
        pepd.setTarget26(0.0);

        /**
         * 缺陷降出力小时（明细）
         */
        pepd.setTarget27(0.0);

        /**
         * 手动停机小时（明细）
         */
        pepd.setTarget28(0.0);

        /**
         * 性能小时（明细）
         */
        pepd.setTarget29(0.0);

        /**
         * 限电停机小时（明细）
         */
        pepd.setTarget30(0.0);

        /**
         * 限电降出力小时（明细）
         */
        pepd.setTarget31(0.0);

        /**
         * 场外受累电网小时（明细）
         */
        pepd.setTarget32(0.0);

        /**
         * 场外受累天气小时（明细）
         */
        pepd.setTarget33(0.0);

        /**
         * 离线小时（明细）
         */
        pepd.setTarget34(0.0);

        /**
         * 通讯中断小时（明细）
         */
        pepd.setTarget35(0.0);

        /**
         * 故障次数（明细）
         */
        pepd.setTarget36(0.0);

        /**
         * 场内受累故障次数（明细）
         */
        pepd.setTarget37(0.0);

        /**
         * 检修次数（明细）
         */
        pepd.setTarget38(0.0);

        /**
         * 场内受累检修次数（明细）
         */
        pepd.setTarget39(0.0);

        /**
         * 待机次数（明细）
         */
        pepd.setTarget40(0.0);

        /**
         * 缺陷降出力次数（明细）
         */
        pepd.setTarget41(0.0);

        /**
         * 手动停机次数（明细）
         */
        pepd.setTarget42(0.0);

        /**
         * 性能次数（明细）
         */
        pepd.setTarget43(0.0);

        /**
         * 限电停机次数（明细）
         */
        pepd.setTarget44(0.0);

        /**
         * 限电降出力次数（明细）
         */
        pepd.setTarget45(0.0);

        /**
         * 场外受累电网次数（明细）
         */
        pepd.setTarget46(0.0);

        /**
         * 场外受累天气次数（明细）
         */
        pepd.setTarget47(0.0);

        /**
         * 离线次数（明细）
         */
        pepd.setTarget48(0.0);

        /**
         * 通讯中断次数（明细）
         */
        pepd.setTarget49(0.0);

        /**
         * MTBF
         */
        pepd.setTarget50(0.0);

        /**
         * MTTR
         */
        pepd.setTarget51(0.0);

        /**
         * MTTF
         */
        pepd.setTarget52(0.0);

        /**
         * 复位及时率
         */
        pepd.setTarget53(0.0);

        /**
         * 状态转换及时率
         */
        pepd.setTarget54(0.0);

        /**
         * 故障消缺及时率
         */
        pepd.setTarget55(0.0);

        /**
         * 发电量(电表)
         */
        pepd.setTarget56(0.0);

        /**
         * 上网电量(电表)
         */
        pepd.setTarget57(0.0);

        /**
         * 工网购网电量(电表)
         */
        pepd.setTarget58(0.0);

        /**
         * 农网购网电量(电表)
         */
        pepd.setTarget59(0.0);

        /**
         * 综合场用电量(电表)
         */
        pepd.setTarget60(0.0);

        /**
         * 发电厂用电量(电表)
         */
        pepd.setTarget61(0.0);

        /**
         * 备用
         */
        pepd.setTarget62(0.0);

        /**
         * 备用
         */
        pepd.setTarget63(0.0);

        /**
         * 备用
         */
        pepd.setTarget64(0.0);

        /**
         * 备用
         */
        pepd.setTarget65(0.0);

        /**
         * 备用
         */
        pepd.setTarget66(0.0);

        /**
         * 备用
         */
        pepd.setTarget67(0.0);

        /**
         * 备用
         */
        pepd.setTarget68(0.0);

        /**
         * 备用
         */
        pepd.setTarget69(0.0);

        /**
         * 备用
         */
        pepd.setTarget70(0.0);

        /**
         * 备用
         */
        pepd.setTarget71(0.0);

        /**
         * 备用
         */
        pepd.setTarget72(0.0);

        /**
         * 备用
         */
        pepd.setTarget73(0.0);

        /**
         * 备用
         */
        pepd.setTarget74(0.0);

        /**
         * 备用
         */
        pepd.setTarget75(0.0);

        /**
         * 备用
         */
        pepd.setTarget76(0.0);

        /**
         * 备用
         */
        pepd.setTarget77(0.0);

        /**
         * 备用
         */
        pepd.setTarget78(0.0);

        /**
         * 备用
         */
        pepd.setTarget79(0.0);

        /**
         * 备用
         */
        pepd.setTarget80(0.0);

        /**
         * 备用
         */
        pepd.setTarget81(0.0);

        /**
         * 备用
         */
        pepd.setTarget82(0.0);

        /**
         * 备用
         */
        pepd.setTarget83(0.0);

        /**
         * 备用
         */
        pepd.setTarget84(0.0);

        /**
         * 备用
         */
        pepd.setTarget85(0.0);

        /**
         * 备用
         */
        pepd.setTarget86(0.0);

        /**
         * 备用
         */
        pepd.setTarget87(0.0);

        /**
         * 备用
         */
        pepd.setTarget88(0.0);

        /**
         * 备用
         */
        pepd.setTarget89(0.0);

        /**
         * 备用
         */
        pepd.setTarget90(0.0);

        /**
         * 备用
         */
        pepd.setTarget91(0.0);

        /**
         * 备用
         */
        pepd.setTarget92(0.0);

        /**
         * 备用
         */
        pepd.setTarget93(0.0);

        /**
         * 备用
         */
        pepd.setTarget94(0.0);

        /**
         * 备用
         */
        pepd.setTarget95(0.0);

        /**
         * 备用
         */
        pepd.setTarget96(0.0);

        /**
         * 备用
         */
        pepd.setTarget97(0.0);

        /**
         * 备用
         */
        pepd.setTarget98(0.0);

        /**
         * 备用
         */
        pepd.setTarget99(0.0);

        /**
         * 备用
         */
        pepd.setTarget100(0.0);

        pepd.setTarget101(0.0);
        pepd.setTarget102(0.0);
        pepd.setTarget103(0.0);
        pepd.setTarget104(0.0);
        pepd.setTarget105(0.0);
        pepd.setTarget106(0.0);
        pepd.setTarget107(0.0);
        pepd.setTarget108(0.0);
        pepd.setTarget109(0.0);
        pepd.setTarget110(0.0);
        pepd.setTarget111(0.0);
        pepd.setTarget112(0.0);
        pepd.setTarget113(0.0);
        pepd.setTarget114(0.0);
        pepd.setTarget115(0.0);
        pepd.setTarget116(0.0);
        pepd.setTarget117(0.0);
        pepd.setTarget118(0.0);
        pepd.setTarget119(0.0);
        pepd.setTarget120(0.0);
        pepd.setTarget121(0.0);
        pepd.setTarget122(0.0);
        pepd.setTarget123(0.0);
        pepd.setTarget124(0.0);
        pepd.setTarget125(0.0);
        pepd.setTarget126(0.0);
        pepd.setTarget127(0.0);
        pepd.setTarget128(0.0);
        pepd.setTarget129(0.0);
        pepd.setTarget130(0.0);
        pepd.setTarget131(0.0);
        pepd.setTarget132(0.0);
        pepd.setTarget133(0.0);
        pepd.setTarget134(0.0);
        pepd.setTarget135(0.0);
        pepd.setTarget136(0.0);
        pepd.setTarget137(0.0);
        pepd.setTarget138(0.0);
        pepd.setTarget139(0.0);
        pepd.setTarget140(0.0);
        pepd.setTarget141(0.0);
        pepd.setTarget142(0.0);
        pepd.setTarget143(0.0);
        pepd.setTarget144(0.0);
        pepd.setTarget145(0.0);
        pepd.setTarget146(0.0);
        pepd.setTarget147(0.0);
        pepd.setTarget148(0.0);
        pepd.setTarget149(0.0);
        pepd.setTarget150(0.0);
        pepd.setTarget151(0.0);
        pepd.setTarget152(0.0);
        pepd.setTarget153(0.0);
        pepd.setTarget154(0.0);
        pepd.setTarget155(0.0);
        pepd.setTarget156(0.0);
        pepd.setTarget157(0.0);
        pepd.setTarget158(0.0);
        pepd.setTarget159(0.0);
        pepd.setTarget160(0.0);
        pepd.setTarget161(0.0);
        pepd.setTarget162(0.0);
        pepd.setTarget163(0.0);
        pepd.setTarget164(0.0);
        pepd.setTarget165(0.0);
        pepd.setTarget166(0.0);
        pepd.setTarget167(0.0);
        pepd.setTarget168(0.0);
        pepd.setTarget169(0.0);
        pepd.setTarget170(0.0);
        pepd.setTarget171(0.0);
        pepd.setTarget172(0.0);
        pepd.setTarget173(0.0);
        pepd.setTarget174(0.0);
        pepd.setTarget175(0.0);
        pepd.setTarget176(0.0);
        pepd.setTarget177(0.0);
        pepd.setTarget178(0.0);
        pepd.setTarget179(0.0);
        pepd.setTarget180(0.0);
        pepd.setTarget181(0.0);
        pepd.setTarget182(0.0);
        pepd.setTarget183(0.0);
        pepd.setTarget184(0.0);
        pepd.setTarget185(0.0);
        pepd.setTarget186(0.0);
        pepd.setTarget187(0.0);
        pepd.setTarget188(0.0);
        pepd.setTarget189(0.0);
        pepd.setTarget190(0.0);
        pepd.setTarget191(0.0);
        pepd.setTarget192(0.0);
        pepd.setTarget193(0.0);
        pepd.setTarget194(0.0);
        pepd.setTarget195(0.0);
        pepd.setTarget196(0.0);
        pepd.setTarget197(0.0);
        pepd.setTarget198(0.0);
        pepd.setTarget199(0.0);
        pepd.setTarget200(0.0);
    }

    public static void initial(ProEconStaOriginalYear pepd) {

        /**
         * 最大风速
         */
        pepd.setTarget01(0.0);

        /**
         * 最小风速
         */
        pepd.setTarget02(0.0);

        /**
         * 最大功率
         */
        pepd.setTarget03(0.0);

        /**
         * 最小功率
         */
        pepd.setTarget04(0.0);

        /**
         * 平均功率
         */
        pepd.setTarget05(0.0);

        /**
         * 平均风速
         */
        pepd.setTarget06(0.0);

        /**
         * 发电量
         */
        pepd.setTarget07(0.0);

        /**
         * 可用电量
         */
        pepd.setTarget08(0.0);

        /**
         * 理论发电量
         */
        pepd.setTarget09(0.0);

        /**
         * 故障损失电量
         */
        pepd.setTarget10(0.0);

        /**
         * 场内受累故障损失电量
         */
        pepd.setTarget11(0.0);

        /**
         * 检修损失电量
         */
        pepd.setTarget12(0.0);

        /**
         * 场内受累检修损失电量
         */
        pepd.setTarget13(0.0);

        /**
         * 待机损失电量
         */
        pepd.setTarget14(0.0);

        /**
         * 缺陷降出力损失电量
         */
        pepd.setTarget15(0.0);

        /**
         * 手动停机损失电量
         */
        pepd.setTarget16(0.0);

        /**
         * 性能损失电量
         */
        pepd.setTarget17(0.0);

        /**
         * 限电停机损失电量
         */
        pepd.setTarget18(0.0);

        /**
         * 限电降出力损失电量
         */
        pepd.setTarget19(0.0);

        /**
         * 场外受累电网损失电量
         */
        pepd.setTarget20(0.0);

        /**
         * 场外受累天气损失电量
         */
        pepd.setTarget21(0.0);

        /**
         * 故障小时（明细）
         */
        pepd.setTarget22(0.0);

        /**
         * 场内受累故障小时（明细）
         */
        pepd.setTarget23(0.0);

        /**
         * 检修小时（明细）
         */
        pepd.setTarget24(0.0);

        /**
         * 场内受累检修小时（明细）
         */
        pepd.setTarget25(0.0);

        /**
         * 待机小时（明细）
         */
        pepd.setTarget26(0.0);

        /**
         * 缺陷降出力小时（明细）
         */
        pepd.setTarget27(0.0);

        /**
         * 手动停机小时（明细）
         */
        pepd.setTarget28(0.0);

        /**
         * 性能小时（明细）
         */
        pepd.setTarget29(0.0);

        /**
         * 限电停机小时（明细）
         */
        pepd.setTarget30(0.0);

        /**
         * 限电降出力小时（明细）
         */
        pepd.setTarget31(0.0);

        /**
         * 场外受累电网小时（明细）
         */
        pepd.setTarget32(0.0);

        /**
         * 场外受累天气小时（明细）
         */
        pepd.setTarget33(0.0);

        /**
         * 离线小时（明细）
         */
        pepd.setTarget34(0.0);

        /**
         * 通讯中断小时（明细）
         */
        pepd.setTarget35(0.0);

        /**
         * 故障次数（明细）
         */
        pepd.setTarget36(0.0);

        /**
         * 场内受累故障次数（明细）
         */
        pepd.setTarget37(0.0);

        /**
         * 检修次数（明细）
         */
        pepd.setTarget38(0.0);

        /**
         * 场内受累检修次数（明细）
         */
        pepd.setTarget39(0.0);

        /**
         * 待机次数（明细）
         */
        pepd.setTarget40(0.0);

        /**
         * 缺陷降出力次数（明细）
         */
        pepd.setTarget41(0.0);

        /**
         * 手动停机次数（明细）
         */
        pepd.setTarget42(0.0);

        /**
         * 性能次数（明细）
         */
        pepd.setTarget43(0.0);

        /**
         * 限电停机次数（明细）
         */
        pepd.setTarget44(0.0);

        /**
         * 限电降出力次数（明细）
         */
        pepd.setTarget45(0.0);

        /**
         * 场外受累电网次数（明细）
         */
        pepd.setTarget46(0.0);

        /**
         * 场外受累天气次数（明细）
         */
        pepd.setTarget47(0.0);

        /**
         * 离线次数（明细）
         */
        pepd.setTarget48(0.0);

        /**
         * 通讯中断次数（明细）
         */
        pepd.setTarget49(0.0);

        /**
         * MTBF
         */
        pepd.setTarget50(0.0);

        /**
         * MTTR
         */
        pepd.setTarget51(0.0);

        /**
         * MTTF
         */
        pepd.setTarget52(0.0);

        /**
         * 复位及时率
         */
        pepd.setTarget53(0.0);

        /**
         * 状态转换及时率
         */
        pepd.setTarget54(0.0);

        /**
         * 故障消缺及时率
         */
        pepd.setTarget55(0.0);

        /**
         * 发电量(电表)
         */
        pepd.setTarget56(0.0);

        /**
         * 上网电量(电表)
         */
        pepd.setTarget57(0.0);

        /**
         * 工网购网电量(电表)
         */
        pepd.setTarget58(0.0);

        /**
         * 农网购网电量(电表)
         */
        pepd.setTarget59(0.0);

        /**
         * 综合场用电量(电表)
         */
        pepd.setTarget60(0.0);

        /**
         * 发电厂用电量(电表)
         */
        pepd.setTarget61(0.0);

        /**
         * 备用
         */
        pepd.setTarget62(0.0);

        /**
         * 备用
         */
        pepd.setTarget63(0.0);

        /**
         * 备用
         */
        pepd.setTarget64(0.0);

        /**
         * 备用
         */
        pepd.setTarget65(0.0);

        /**
         * 备用
         */
        pepd.setTarget66(0.0);

        /**
         * 备用
         */
        pepd.setTarget67(0.0);

        /**
         * 备用
         */
        pepd.setTarget68(0.0);

        /**
         * 备用
         */
        pepd.setTarget69(0.0);

        /**
         * 备用
         */
        pepd.setTarget70(0.0);

        /**
         * 备用
         */
        pepd.setTarget71(0.0);

        /**
         * 备用
         */
        pepd.setTarget72(0.0);

        /**
         * 备用
         */
        pepd.setTarget73(0.0);

        /**
         * 备用
         */
        pepd.setTarget74(0.0);

        /**
         * 备用
         */
        pepd.setTarget75(0.0);

        /**
         * 备用
         */
        pepd.setTarget76(0.0);

        /**
         * 备用
         */
        pepd.setTarget77(0.0);

        /**
         * 备用
         */
        pepd.setTarget78(0.0);

        /**
         * 备用
         */
        pepd.setTarget79(0.0);

        /**
         * 备用
         */
        pepd.setTarget80(0.0);

        /**
         * 备用
         */
        pepd.setTarget81(0.0);

        /**
         * 备用
         */
        pepd.setTarget82(0.0);

        /**
         * 备用
         */
        pepd.setTarget83(0.0);

        /**
         * 备用
         */
        pepd.setTarget84(0.0);

        /**
         * 备用
         */
        pepd.setTarget85(0.0);

        /**
         * 备用
         */
        pepd.setTarget86(0.0);

        /**
         * 备用
         */
        pepd.setTarget87(0.0);

        /**
         * 备用
         */
        pepd.setTarget88(0.0);

        /**
         * 备用
         */
        pepd.setTarget89(0.0);

        /**
         * 备用
         */
        pepd.setTarget90(0.0);

        /**
         * 备用
         */
        pepd.setTarget91(0.0);

        /**
         * 备用
         */
        pepd.setTarget92(0.0);

        /**
         * 备用
         */
        pepd.setTarget93(0.0);

        /**
         * 备用
         */
        pepd.setTarget94(0.0);

        /**
         * 备用
         */
        pepd.setTarget95(0.0);

        /**
         * 备用
         */
        pepd.setTarget96(0.0);

        /**
         * 备用
         */
        pepd.setTarget97(0.0);

        /**
         * 备用
         */
        pepd.setTarget98(0.0);

        /**
         * 备用
         */
        pepd.setTarget99(0.0);

        /**
         * 备用
         */
        pepd.setTarget100(0.0);
        pepd.setTarget101(0.0);
        pepd.setTarget102(0.0);
        pepd.setTarget103(0.0);
        pepd.setTarget104(0.0);
        pepd.setTarget105(0.0);
        pepd.setTarget106(0.0);
        pepd.setTarget107(0.0);
        pepd.setTarget108(0.0);
        pepd.setTarget109(0.0);
        pepd.setTarget110(0.0);
        pepd.setTarget111(0.0);
        pepd.setTarget112(0.0);
        pepd.setTarget113(0.0);
        pepd.setTarget114(0.0);
        pepd.setTarget115(0.0);
        pepd.setTarget116(0.0);
        pepd.setTarget117(0.0);
        pepd.setTarget118(0.0);
        pepd.setTarget119(0.0);
        pepd.setTarget120(0.0);
        pepd.setTarget121(0.0);
        pepd.setTarget122(0.0);
        pepd.setTarget123(0.0);
        pepd.setTarget124(0.0);
        pepd.setTarget125(0.0);
        pepd.setTarget126(0.0);
        pepd.setTarget127(0.0);
        pepd.setTarget128(0.0);
        pepd.setTarget129(0.0);
        pepd.setTarget130(0.0);
        pepd.setTarget131(0.0);
        pepd.setTarget132(0.0);
        pepd.setTarget133(0.0);
        pepd.setTarget134(0.0);
        pepd.setTarget135(0.0);
        pepd.setTarget136(0.0);
        pepd.setTarget137(0.0);
        pepd.setTarget138(0.0);
        pepd.setTarget139(0.0);
        pepd.setTarget140(0.0);
        pepd.setTarget141(0.0);
        pepd.setTarget142(0.0);
        pepd.setTarget143(0.0);
        pepd.setTarget144(0.0);
        pepd.setTarget145(0.0);
        pepd.setTarget146(0.0);
        pepd.setTarget147(0.0);
        pepd.setTarget148(0.0);
        pepd.setTarget149(0.0);
        pepd.setTarget150(0.0);
        pepd.setTarget151(0.0);
        pepd.setTarget152(0.0);
        pepd.setTarget153(0.0);
        pepd.setTarget154(0.0);
        pepd.setTarget155(0.0);
        pepd.setTarget156(0.0);
        pepd.setTarget157(0.0);
        pepd.setTarget158(0.0);
        pepd.setTarget159(0.0);
        pepd.setTarget160(0.0);
        pepd.setTarget161(0.0);
        pepd.setTarget162(0.0);
        pepd.setTarget163(0.0);
        pepd.setTarget164(0.0);
        pepd.setTarget165(0.0);
        pepd.setTarget166(0.0);
        pepd.setTarget167(0.0);
        pepd.setTarget168(0.0);
        pepd.setTarget169(0.0);
        pepd.setTarget170(0.0);
        pepd.setTarget171(0.0);
        pepd.setTarget172(0.0);
        pepd.setTarget173(0.0);
        pepd.setTarget174(0.0);
        pepd.setTarget175(0.0);
        pepd.setTarget176(0.0);
        pepd.setTarget177(0.0);
        pepd.setTarget178(0.0);
        pepd.setTarget179(0.0);
        pepd.setTarget180(0.0);
        pepd.setTarget181(0.0);
        pepd.setTarget182(0.0);
        pepd.setTarget183(0.0);
        pepd.setTarget184(0.0);
        pepd.setTarget185(0.0);
        pepd.setTarget186(0.0);
        pepd.setTarget187(0.0);
        pepd.setTarget188(0.0);
        pepd.setTarget189(0.0);
        pepd.setTarget190(0.0);
        pepd.setTarget191(0.0);
        pepd.setTarget192(0.0);
        pepd.setTarget193(0.0);
        pepd.setTarget194(0.0);
        pepd.setTarget195(0.0);
        pepd.setTarget196(0.0);
        pepd.setTarget197(0.0);
        pepd.setTarget198(0.0);
        pepd.setTarget199(0.0);
        pepd.setTarget200(0.0);
    }
}







