Kaynağa Gözat

绩效榜修改

wangb@gyee-china.com 1 yıl önce
ebeveyn
işleme
c2781a96a9

+ 39 - 2
web/runeconomy-xk/src/main/java/com/gyee/runeconomy/service/bmk/BenchmarkingService.java

@@ -25,6 +25,7 @@ import org.springframework.web.context.request.ServletRequestAttributes;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.stream.Collectors;
@@ -199,14 +200,44 @@ public class BenchmarkingService {
                 vo.setId(i.getWindpowerstationId());
                 vo.setName(CacheContext.wpmap.get(i.getWindpowerstationId().trim()).getAname());
                 vo.setOrdernum(CacheContext.wpmap.get(i.getWindpowerstationId().trim()).getOrderNum());
+                double quantity = CacheContext.wpmap.get(i.getWindpowerstationId().trim()).getJrwindQuantityLd()
+                        + CacheContext.wpmap.get(i.getWindpowerstationId().trim()).getJrquantityZc()
+                        + CacheContext.wpmap.get(i.getWindpowerstationId().trim()).getJrquantityJz();
+
+                if (getype.equals("-2")) {
+                    BigDecimal rpjfs = new BigDecimal(i.getRpjfs());
+                    BigDecimal speed = rpjfs.divide(new BigDecimal(quantity), 2, RoundingMode.HALF_UP);
+                    vo.setSpeed(speed.doubleValue());
+                }else {
+                    vo.setSpeed(BigDecimalUtils.divide(new BigDecimal(i.getRpjfs()), new BigDecimal(1), 2).doubleValue());
+                }
+
             } else if (sttype.equals("2")) {
                 vo.setId(i.getProjectId());
                 vo.setName(CacheContext.pjmap.get(i.getProjectId().trim()).getAname());
                 vo.setOrdernum(CacheContext.pjmap.get(i.getProjectId().trim()).getOrderNum());
+
+                double quantity = CacheContext.pjmap.get(i.getProjectId().trim()).getQuantity();
+                if (getype.equals("-2")) {
+                    BigDecimal rpjfs = new BigDecimal(i.getRpjfs());
+                    BigDecimal speed = rpjfs.divide(new BigDecimal(quantity), 2, RoundingMode.HALF_UP);
+                    vo.setSpeed(speed.doubleValue());
+                } else {
+                    vo.setSpeed(BigDecimalUtils.divide(new BigDecimal(i.getRpjfs()), new BigDecimal(1), 2).doubleValue());
+                }
             } else if (sttype.equals("3")) {
                 vo.setId(i.getLineId());
                 vo.setName(CacheContext.lnmap.get(i.getLineId().trim()).getAname());
                 vo.setOrdernum(CacheContext.lnmap.get(i.getLineId().trim()).getOrderNum());
+
+                double quantity = CacheContext.lnmap.get(i.getLineId().trim()).getQuantity();
+                if (getype.equals("-2")) {
+                    BigDecimal rpjfs = new BigDecimal(i.getRpjfs());
+                    BigDecimal speed = rpjfs.divide(new BigDecimal(quantity), 2, RoundingMode.HALF_UP);
+                    vo.setSpeed(speed.doubleValue());
+                } else {
+                    vo.setSpeed(BigDecimalUtils.divide(new BigDecimal(i.getRpjfs()), new BigDecimal(1), 2).doubleValue());
+                }
             } else {
                 vo.setId(i.getWindturbineId());
                 vo.setName(CacheContext.wtmap.get(i.getWindturbineId().trim()).getAname());
@@ -215,7 +246,7 @@ public class BenchmarkingService {
             vo.setSjfdl(BigDecimalUtils.divide(new BigDecimal(i.getRfdl()), new BigDecimal(10000), 2).doubleValue());
             vo.setLlfdl(BigDecimalUtils.divide(new BigDecimal(i.getRllfdl()), new BigDecimal(10000), 2).doubleValue());
 
-            vo.setSpeed(BigDecimalUtils.divide(new BigDecimal(i.getRpjfs()), new BigDecimal(1), 2).doubleValue());
+//            vo.setSpeed(BigDecimalUtils.divide(new BigDecimal(i.getRpjfs()), new BigDecimal(1), 2).doubleValue());
             vo.setFjhjx(BigDecimalUtils.divide(new BigDecimal(i.getRgzssdl() + i.getRcnslgzssdl()), new BigDecimal(10000), 2).doubleValue());
             vo.setJhjx(BigDecimalUtils.divide(new BigDecimal(i.getRjxssdl() + i.getRcnsljxssdl()), new BigDecimal(10000), 2).doubleValue());
             vo.setXd(BigDecimalUtils.divide(new BigDecimal(i.getRxdtjssdl() + i.getRxdjclssdl()), new BigDecimal(10000), 2).doubleValue());
@@ -276,7 +307,13 @@ public class BenchmarkingService {
             sb.append("windturbine_id,");
         }
 
-        sb.append("sum(rfdl) rfdl,sum(rllfdl) rllfdl,avg(rpjfs) rpjfs,sum(rjxssdl) rjxssdl,sum(rcnsljxssdl) rcnsljxssdl,sum(rgzssdl) rgzssdl,sum(rcnslgzssdl) rcnslgzssdl,sum(rxdtjssdl) rxdtjssdl,sum(rxdjclssdl) rxdjclssdl,sum(rdjssdl) rdjssdl,sum(rqxjclssdl) rqxjclssdl,sum(rsdtjssdl) rsdtjssdl,sum(rxnssdl) rxnssdl,sum(rcwsldwssdl) rcwsldwssdl,sum(rcwsltqssdl) rcwsltqssdl");
+        if (getype.equals("-1")) {
+            sb.append("sum(rfdl) rfdl,sum(rllfdl) rllfdl,avg(rpjfs) rpjfs,sum(rjxssdl) rjxssdl,sum(rcnsljxssdl) rcnsljxssdl,sum(rgzssdl) rgzssdl,sum(rcnslgzssdl) rcnslgzssdl,sum(rxdtjssdl) rxdtjssdl,sum(rxdjclssdl) rxdjclssdl,sum(rdjssdl) rdjssdl,sum(rqxjclssdl) rqxjclssdl,sum(rsdtjssdl) rsdtjssdl,sum(rxnssdl) rxnssdl,sum(rcwsldwssdl) rcwsldwssdl,sum(rcwsltqssdl) rcwsltqssdl");
+
+        }else {
+            sb.append("sum(rfdl) rfdl,sum(rllfdl) rllfdl,sum(rpjfs) rpjfs,sum(rjxssdl) rjxssdl,sum(rcnsljxssdl) rcnsljxssdl,sum(rgzssdl) rgzssdl,sum(rcnslgzssdl) rcnslgzssdl,sum(rxdtjssdl) rxdtjssdl,sum(rxdjclssdl) rxdjclssdl,sum(rdjssdl) rdjssdl,sum(rqxjclssdl) rqxjclssdl,sum(rsdtjssdl) rsdtjssdl,sum(rxnssdl) rxnssdl,sum(rcwsldwssdl) rcwsldwssdl,sum(rcwsltqssdl) rcwsltqssdl");
+
+        }
         qw.select(String.valueOf(sb));
         qw.ge("record_date", DateUtils.parseDate(beginDate)).le("record_date", DateUtils.parseDate(endDate));
         if (companyid.endsWith("ZGS")) {