123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247 |
- package com.gyee.gradeevaluation.service.bigscreen;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.gyee.gradeevaluation.common.StringUtils;
- import com.gyee.gradeevaluation.init.CacheContext;
- import com.gyee.gradeevaluation.model.auto.Projectplan;
- import com.gyee.gradeevaluation.model.auto.Windpowerstation;
- import com.gyee.gradeevaluation.service.auto.IProjectService;
- import com.gyee.gradeevaluation.service.auto.IProjectplanService;
- import com.gyee.gradeevaluation.util.DateUtils;
- import com.gyee.gradeevaluation.util.golden.EdosUtil;
- import com.gyee.gradeevaluation.util.golden.IEdosUtil;
- import com.gyee.gradeevaluation.variable.MainConstant;
- import org.springframework.stereotype.Service;
- import javax.annotation.Resource;
- import java.math.BigDecimal;
- import java.math.RoundingMode;
- import java.text.NumberFormat;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * @ClassName : BigScreenService
- * @Author : xieshengjie
- * @Date: 2021/9/15 20:09
- * @Description : 大屏service
- */
- @Service
- public class BigScreenService {
- private IEdosUtil ednaApiUtil = new EdosUtil();
- @Resource
- private IProjectplanService projectplanService;
- /**
- * 获取横屏数据
- * @return
- */
- public Map<String, Object> list() throws Exception {
- Map<String,Object> map = new HashMap<>();
- Double zjrl = 0.0;
- Double fdzjrl = 0.0;
- Double gfzjrl = 0.0;
- List<Windpowerstation> wplist = CacheContext.wplist;
- for (Windpowerstation wp : wplist) {
- zjrl += wp.getCapacity().doubleValue();
- if (wp.getId().endsWith("FDC")){
- fdzjrl += wp.getCapacity().doubleValue();
- }else {
- gfzjrl += wp.getCapacity().doubleValue();
- }
- }
- NumberFormat format = NumberFormat.getNumberInstance();
- format.setMaximumFractionDigits(0);
- map.put("zjrl", Integer.valueOf(format.format(zjrl)));
- map.put("fdzjrl",Integer.valueOf(format.format(fdzjrl)));
- map.put("gfzjrl",Integer.valueOf(format.format(gfzjrl)));
- double rfdl = ednaApiUtil.getRealData(MainConstant.JSFW_SSRFDLB).getPointValueInDouble();// 日累计电量
- map.put("rfdl",rfdl);
- double swdl = ednaApiUtil.getRealData(MainConstant.JSFW_SSSWDLB).getPointValueInDouble();// 上网电量
- map.put("swdl",swdl);
- double nfdl = ednaApiUtil.getRealData(MainConstant.JSFW_SSNFDLB).getPointValueInDouble();// 年发电量
- map.put("nfdl",nfdl);
- double yfdl = ednaApiUtil.getRealData(MainConstant.JSFW_SSYFDLB).getPointValueInDouble();// 月累计电量
- map.put("yfdl",yfdl);
- int aqts = (int) ednaApiUtil.getRealData(MainConstant.CALC_TIANSHU).getPointValueInDouble();// 安全天数
- map.put("aqts",aqts);
- double temp = new BigDecimal(zjrl).divide(new BigDecimal(10), 2, RoundingMode.HALF_EVEN).doubleValue();
- double nlyxs = new BigDecimal(nfdl).divide(new BigDecimal(temp), 2, RoundingMode.HALF_EVEN).doubleValue();
- map.put("nlyxs",nlyxs);
- double ylyxs = new BigDecimal(yfdl).divide(new BigDecimal(temp), 2, RoundingMode.HALF_EVEN).doubleValue();
- map.put("ylyxs",ylyxs);
- QueryWrapper<Projectplan> planqw = new QueryWrapper<>();
- int year = DateUtils.getYear(new Date());
- planqw.eq("year",year);
- planqw.isNotNull("month");
- List<Projectplan> projectplanList = projectplanService.list(planqw);
- double njhdl = projectplanList.stream().mapToDouble(Projectplan::getGeneratingcapacity).sum();
- double yjhdl = projectplanList.stream().filter(i->Integer.parseInt(i.getMonth())==DateUtils.getMonth(new Date()))
- .mapToDouble(Projectplan::getGeneratingcapacity).sum();
- double zhcydl = 0.14;
- double sbklyl = 98.96;
- map.put("njhdl",njhdl);
- map.put("yjhdl",yjhdl);
- map.put("zhcydl",zhcydl);
- map.put("sbklyl",sbklyl);
- double zgl = ednaApiUtil.getRealData(MainConstant.JSFW_SSSSZGL).getPointValueInDouble();// 总功率
- double nwcl = njhdl!=0?StringUtils.round(nfdl/njhdl*100,2):0;
- double ywcl = yjhdl!=0?StringUtils.round(yfdl/yjhdl*100,2):0;
- double ymtbf = 56.33;
- double ykkx = 87;
- map.put("zgl",zgl);
- map.put("nwcl",nwcl);
- map.put("ywcl",ywcl);
- map.put("ymtbf",ymtbf);
- map.put("ykkx",ykkx);
- double fdssfs = ednaApiUtil.getRealData(MainConstant.JSFW_FJSSFS).getPointValueInDouble();// 风速合计
- temp = new BigDecimal(fdzjrl).divide(new BigDecimal(10), 2, RoundingMode.HALF_EVEN).doubleValue();
- double fdyfdl = ednaApiUtil.getRealData(MainConstant.JSFW_FJYFDLB).getPointValueInDouble();// 风场月累计电量
- double fdnfdl = ednaApiUtil.getRealData(MainConstant.JSFW_FJNFDLB).getPointValueInDouble();// 风场年累计电量
- double fdylyxs = new BigDecimal(fdyfdl).divide(new BigDecimal(temp), 2, RoundingMode.HALF_EVEN).doubleValue();
- double fdnlyxs = new BigDecimal(fdnfdl).divide(new BigDecimal(temp), 2, RoundingMode.HALF_EVEN).doubleValue();
- map.put("fdssfs",fdssfs);
- map.put("fdyfdl",fdyfdl);
- map.put("fdnfdl",fdnfdl);
- map.put("fdylyxs",fdylyxs);
- map.put("fdnlyxs",fdnlyxs);
- temp = new BigDecimal(gfzjrl).divide(new BigDecimal(10), 2, RoundingMode.HALF_EVEN).doubleValue();
- double gfyfdl = ednaApiUtil.getRealData(MainConstant.JSFW_GFYFDLB).getPointValueInDouble();// 光伏月累计电量
- double gfnfdl = ednaApiUtil.getRealData(MainConstant.JSFW_GFNFDLB).getPointValueInDouble();// 光伏年累计电量
- double gfylyxs = new BigDecimal(gfyfdl).divide(new BigDecimal(temp), 2, RoundingMode.HALF_EVEN).doubleValue();
- double gfnlyxs = new BigDecimal(gfnfdl).divide(new BigDecimal(temp), 2, RoundingMode.HALF_EVEN).doubleValue();
- map.put("gfyfdl",gfyfdl);
- map.put("gfnfdl",gfnfdl);
- map.put("gfylyxs",gfylyxs);
- map.put("gfnlyxs",gfnlyxs);
- double fdrfdl = ednaApiUtil.getRealData(MainConstant.JSFW_FJRFDLB).getPointValueInDouble();// 风场日发电量合计
- double fdssgl = ednaApiUtil.getRealData(MainConstant.JSFW_FJSSZGL).getPointValueInDouble();// 总功率合计
- double fdswdl = ednaApiUtil.getRealData(MainConstant.JSFW_FJSWDLB).getPointValueInDouble();// 上网电量合计
- double mhsfdl = ednaApiUtil.getRealData(MainConstant.JSFW_MHRFDLB).getPointValueInDouble();// 麻黄山日发电量
- double nssfdl = ednaApiUtil.getRealData(MainConstant.JSFW_NSRFDLB).getPointValueInDouble();// 牛首山日发电量
- double qsfdl = ednaApiUtil.getRealData(MainConstant.JSFW_QSRFDLB).getPointValueInDouble();// 青山日发电量
- double sbqfdl = ednaApiUtil.getRealData(MainConstant.JSFW_SBRFDLB).getPointValueInDouble();// 石板泉日发电量
- double xsfdl = ednaApiUtil.getRealData(MainConstant.JSFW_XSRFDLB).getPointValueInDouble();// 香山日发电量
- double dwkfdl = ednaApiUtil.getRealData(MainConstant.JSFW_DWRFDLB).getPointValueInDouble();// 大武口日发电量
- double plfdl = ednaApiUtil.getRealData(MainConstant.JSFW_PLRFDLB).getPointValueInDouble();// 平罗日发电量
- double xhfdl = ednaApiUtil.getRealData(MainConstant.JSFW_XHRFDLB).getPointValueInDouble();// 宣和日发电量
- double mchfdl = ednaApiUtil.getRealData(MainConstant.JSFW_MCRFDLB).getPointValueInDouble();// 马场湖日发电量
- map.put("fdrfdl",fdrfdl);
- map.put("fdssgl",fdssgl);
- map.put("fdswdl",fdswdl);
- map.put("mhsfdl",mhsfdl);
- map.put("nssfdl",nssfdl);
- map.put("qsfdl",qsfdl);
- map.put("sbqfdl",sbqfdl);
- map.put("xsfdl",xsfdl);
- map.put("dwkfdl",dwkfdl);
- map.put("plfdl",plfdl);
- map.put("xhfdl",xhfdl);
- map.put("mchfdl",mchfdl);
- double temp11 = ednaApiUtil.getRealData(MainConstant.JSFW_MHSDJSS).getPointValueInDouble();
- double temp12 = ednaApiUtil.getRealData(MainConstant.JSFW_MHSSDTJ).getPointValueInDouble();
- double temp13 = ednaApiUtil.getRealData(MainConstant.JSFW_MHSXNSS).getPointValueInDouble();
- double temp14 = ednaApiUtil.getRealData(MainConstant.JSFW_MHSQXJC).getPointValueInDouble();
- double mhsqf = new BigDecimal(temp11+temp12+temp13+temp14).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
- map.put("mhsqf",mhsqf);
- temp11 = ednaApiUtil.getRealData(MainConstant.JSFW_NSSDJSS).getPointValueInDouble();
- temp12 = ednaApiUtil.getRealData(MainConstant.JSFW_NSSSDTJ).getPointValueInDouble();
- temp13 = ednaApiUtil.getRealData(MainConstant.JSFW_NSSXNSS).getPointValueInDouble();
- temp14 = ednaApiUtil.getRealData(MainConstant.JSFW_NSSQXJC).getPointValueInDouble();
- double nssqf = new BigDecimal(temp11+temp12+temp13+temp14).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
- map.put("nssqf",nssqf);
- temp11 = ednaApiUtil.getRealData(MainConstant.JSFW_QSDJSS).getPointValueInDouble();
- temp12 = ednaApiUtil.getRealData(MainConstant.JSFW_QSSDTJ).getPointValueInDouble();
- temp13 = ednaApiUtil.getRealData(MainConstant.JSFW_QSXNSS).getPointValueInDouble();
- temp14 = ednaApiUtil.getRealData(MainConstant.JSFW_QSQXJC).getPointValueInDouble();
- double qsqf = new BigDecimal(temp11+temp12+temp13+temp14).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
- map.put("qsqf",qsqf);
- temp11 = ednaApiUtil.getRealData(MainConstant.JSFW_SBQDJSS).getPointValueInDouble();
- temp12 = ednaApiUtil.getRealData(MainConstant.JSFW_SBQSDTJ).getPointValueInDouble();
- temp13 = ednaApiUtil.getRealData(MainConstant.JSFW_SBQXNSS).getPointValueInDouble();
- temp14 = ednaApiUtil.getRealData(MainConstant.JSFW_SBQQXJC).getPointValueInDouble();
- double sbqqf = new BigDecimal(temp11+temp12+temp13+temp14).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();
- map.put("sbqqf",sbqqf);
- temp11 = ednaApiUtil.getRealData(MainConstant.JSFW_XSDJSS).getPointValueInDouble();
- temp12 = ednaApiUtil.getRealData(MainConstant.JSFW_XSSDTJ).getPointValueInDouble();
- temp13 = ednaApiUtil.getRealData(MainConstant.JSFW_XSXNSS).getPointValueInDouble();
- temp14 = ednaApiUtil.getRealData(MainConstant.JSFW_XSQXJC).getPointValueInDouble();
- double xsqf = new BigDecimal(temp11+temp12+temp13+temp14).divide(new BigDecimal(10000), 2, RoundingMode.HALF_EVEN).doubleValue();// 香山日欠发损失电量
- map.put("xsqf",xsqf);
- double fdzqf = StringUtils.round(mhsqf+nssqf+qsqf+sbqqf+xsqf, 2);
- map.put("fdzqf",fdzqf);
- double mhsfs = ednaApiUtil.getRealData(MainConstant.JSFW_MHSSFS).getPointValueInDouble();// 麻黄山风速
- double nssfs = ednaApiUtil.getRealData(MainConstant.JSFW_NSSSFS).getPointValueInDouble();// 牛首山风速
- double qsfs = ednaApiUtil.getRealData(MainConstant.JSFW_QSSSFS).getPointValueInDouble();// 青山风速
- double sbqfs = ednaApiUtil.getRealData(MainConstant.JSFW_SBSSFS).getPointValueInDouble();// 石板泉风速
- double xsfs = ednaApiUtil.getRealData(MainConstant.JSFW_XSSSFS).getPointValueInDouble();// 香山风速
- map.put("mhsfs",mhsfs);
- map.put("nssfs",nssfs);
- map.put("qsfs",qsfs);
- map.put("sbqfs",sbqfs);
- map.put("xsfs",xsfs);
- double mhsgl = ednaApiUtil.getRealData(MainConstant.MHSDQ_POWER).getPointValueInDouble();// 麻黄山总功率
- double nssgl = ednaApiUtil.getRealData(MainConstant.NSSDQ_POWER).getPointValueInDouble();// 牛首山总功率
- double qsgl= ednaApiUtil.getRealData(MainConstant.QSDQ_POWER).getPointValueInDouble();// 青山总功率
- double sbqgl = ednaApiUtil.getRealData(MainConstant.SBQDQ_POWER).getPointValueInDouble();// 石板泉总功率
- double xsgl = ednaApiUtil.getRealData(MainConstant.XSDQ_POWER).getPointValueInDouble();// 香山总功率
- map.put("mhsgl",mhsgl);
- map.put("nssgl",nssgl);
- map.put("qsgl",qsgl);
- map.put("sbqgl",sbqgl*10);
- map.put("xsgl",xsgl);
- double gfssgl = ednaApiUtil.getRealData(MainConstant.JSFW_GFSSZGL).getPointValueInDouble();// 总功率合计
- double gfrfdl = ednaApiUtil.getRealData(MainConstant.JSFW_GFRFDLB).getPointValueInDouble();// 光伏日发电量合计
- double gfswdl = ednaApiUtil.getRealData(MainConstant.JSFW_GFSWDLB).getPointValueInDouble();// 上网电量合计
- double dwkrzqd = ednaApiUtil.getRealData(MainConstant.DWKFS).getPointValueInDouble();// 大武口日照强度
- double plrzqd = ednaApiUtil.getRealData(MainConstant.PLFS).getPointValueInDouble();//
- double xhrzqd = ednaApiUtil.getRealData(MainConstant.XHFS).getPointValueInDouble();
- double mchrzqd = ednaApiUtil.getRealData(MainConstant.MCHFS).getPointValueInDouble();// 马场湖日照强度
- map.put("gfssgl",gfssgl);
- map.put("gfrfdl",gfrfdl);
- map.put("gfswdl",gfswdl);
- map.put("dwkrzqd",dwkrzqd);
- map.put("plrzqd",plrzqd);
- map.put("xhrzqd",xhrzqd);
- map.put("mchrzqd",mchrzqd);
- double dwkgl = ednaApiUtil.getRealData(MainConstant.JSFW_DWSSZGL).getPointValueInDouble();// 大武口总功率
- double plgl = ednaApiUtil.getRealData(MainConstant.JSFW_PLSSZGL).getPointValueInDouble();// 平罗总功率
- double mchgl = ednaApiUtil.getRealData(MainConstant.JSFW_MCSSZGL).getPointValueInDouble();// 马场湖总功率
- double xhgl = ednaApiUtil.getRealData(MainConstant.JSFW_XHSSZGL).getPointValueInDouble(); // 宣和总功率
- double hzjfdl = ednaApiUtil.getRealData(MainConstant.JSFW_HZJRFDLB).getPointValueInDouble();
- double hzjgl = ednaApiUtil.getRealData(MainConstant.JSFW_HZJSSZGL).getPointValueInDouble();
- double hzjrzqd = ednaApiUtil.getRealData(MainConstant.HZJFS).getPointValueInDouble();
- double gfrzqd = new BigDecimal(dwkrzqd + plrzqd + xhrzqd + mchrzqd + hzjrzqd) .divide(new BigDecimal(3), 2, RoundingMode.HALF_EVEN).doubleValue();
- map.put("dwkgl",dwkgl);
- map.put("plgl",plgl);
- map.put("xhgl",xhgl-mchgl);
- map.put("mchgl",mchgl);
- map.put("hzjfdl",hzjfdl);
- map.put("hzjgl",hzjgl);
- map.put("hzjrzqd",hzjrzqd);
- map.put("gfrzqd",gfrzqd);
- double fwjsl = 93.58;
- double zhjsl = 96.12;
- double xqjsl = 94.67;
- double fnlyl = 77.67;
- map.put("fwjsl",fwjsl);
- map.put("zhjsl",zhjsl);
- map.put("xqjsl",xqjsl);
- map.put("fnlyl",fnlyl);
- return map;
- }
- }
|