Browse Source

智慧运营-资产管理

ZhangManMan 2 years ago
parent
commit
ce0d667210

+ 0 - 3
src/main/java/com/sky/ioc/controller/carbon/PhotovoltaicController.java

@@ -48,9 +48,6 @@ public class PhotovoltaicController {
         return photovoltaicService.getPhotovoltaicInfo(iocParam);
     }
 
-
-
-
     @ApiOperation("光伏排放排名")
     @PostMapping("/getPhotovoltaicInfoOrder")
     public ReturnMsg getPhotovoltaicInfoOrder(@RequestBody IocParam iocParam){

+ 0 - 3
src/main/java/com/sky/ioc/controller/dashboard/WaterController.java

@@ -51,7 +51,4 @@ public class WaterController {
     }
 
 
-
-
-
 }

+ 0 - 4
src/main/java/com/sky/ioc/controller/operation/AnalyseController.java

@@ -170,8 +170,4 @@ public class AnalyseController {
     public ReturnMsg getEnergyAnalysisCpv(@RequestBody IocParam iocParam){
         return carbonService.getEnergyAnalysisCpv(iocParam);
     }
-
-
-
-
 }

+ 5 - 0
src/main/java/com/sky/ioc/entity/domain/operation/Investment.java

@@ -33,4 +33,9 @@ public class Investment {
     private Integer companyId;
 
     private Integer deptId;
+
+    /**
+     * 投资领域
+     * */
+    private String field;
 }

+ 39 - 0
src/main/java/com/sky/ioc/mapper/operation/AssetMapper.java

@@ -0,0 +1,39 @@
+package com.sky.ioc.mapper.operation;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sky.ioc.entity.domain.operation.Asset;
+import com.sky.ioc.entity.params.IocParam;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+@Mapper
+public interface AssetMapper extends BaseMapper<Asset> {
+
+    @Select("<script> " +
+            "select coalesce(sum(worth),0) from asset where  1=1 " +
+            "<if test='iocParam!=null and iocParam.deptId!=null '>" +
+            " and dept_id = #{iocParam.deptId} " +
+            "</if>" +
+            "</script>")
+    Double getTotalWorth(@Param("iocParam")IocParam iocParam);
+
+    @Select("<script> " +
+            "select coalesce(count(1),0) from asset where  1=1 " +
+            "<if test='iocParam!=null and iocParam.deptId!=null '>" +
+            " and dept_id = #{iocParam.deptId} " +
+            "</if>" +
+            "</script>")
+    Integer getTotalCount(@Param("iocParam")IocParam iocParam);
+
+    @Select("<script> " +
+            "select name,worth from asset where 1=1 " +
+            "<if test='iocParam!=null and iocParam.deptId!=null '>" +
+            " and dept_id = #{iocParam.deptId} " +
+            "</if>" +
+            "order by worth desc " +
+            "</script>")
+    List<Asset> topList(@Param("iocParam")IocParam iocParam);
+}

+ 24 - 0
src/main/java/com/sky/ioc/mapper/operation/InvestmentMapper.java

@@ -0,0 +1,24 @@
+package com.sky.ioc.mapper.operation;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sky.ioc.entity.domain.operation.Investment;
+import com.sky.ioc.entity.params.IocParam;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+@Mapper
+public interface InvestmentMapper extends BaseMapper<Investment> {
+
+    @Select("<script> " +
+            "SELECT sum(money) as money,field from investment where 1=1 " +
+            "<if test='iocParam!=null and iocParam.timeRange!=null '>" +
+            "and start_time between #{iocParam.timeRange.startDate} and #{iocParam.timeRange.endDate} " +
+            "</if>" +
+            "<if test='iocParam!=null and iocParam.deptId!=null '>" +
+            " and dept_id = #{iocParam.deptId} " +
+            "</if>" +
+            " GROUP BY field ORDER BY money desc  limit 1" +
+            "</script>")
+    Investment  getTopOne(@Param("iocParam")IocParam iocParam);
+}

+ 29 - 7
src/main/java/com/sky/ioc/service/assets/impl/AssetServiceImpl.java

@@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject;
 import com.sky.ioc.entity.Indeicator;
 import com.sky.ioc.entity.Label;
 import com.sky.ioc.entity.Cake;
+import com.sky.ioc.entity.domain.operation.Asset;
+import com.sky.ioc.entity.domain.operation.Investment;
 import com.sky.ioc.entity.params.IocParam;
+import com.sky.ioc.mapper.operation.AssetMapper;
+import com.sky.ioc.mapper.operation.InvestmentMapper;
 import com.sky.ioc.service.assets.AssetService;
 import com.sky.ioc.tool.DateUtil;
 import com.sky.ioc.tool.GeneralMethod;
+import com.sky.ioc.tool.MathUtils;
 import com.sky.ioc.tool.ReturnMsg;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.text.DecimalFormat;
@@ -27,6 +33,13 @@ import java.util.concurrent.ThreadLocalRandom;
 
 @Service
 public class AssetServiceImpl implements AssetService {
+
+    @Autowired
+    AssetMapper assetMapper;
+
+    @Autowired
+    InvestmentMapper investmentMapper;
+
     @Override
     public ReturnMsg getInvestmentDistribution() {
         String[] param = {"investment1","investment2","investment3","investment4","rateReturn"};
@@ -163,26 +176,35 @@ public class AssetServiceImpl implements AssetService {
 
     @Override
     public ReturnMsg getOperAssetCoreIndicators(IocParam iocParam) {
+
         Indeicator indeicator = new Indeicator();
         List<JSONObject> objects = indeicator.getList();
         ThreadLocalRandom random = ThreadLocalRandom.current();
         DecimalFormat decimalFormat = new DecimalFormat("#.0");
-        double totalAsset = random.nextDouble(1,10);
-        totalAsset = Double.parseDouble(decimalFormat.format(totalAsset));
-        int assetCount = random.nextInt(100, 1000);
+        double totalAsset = assetMapper.getTotalWorth(iocParam);
+        int assetCount =  assetMapper.getTotalCount(iocParam);
         float compare = (float) Math.random();
         compare = Float.parseFloat(decimalFormat.format(compare));
-
-        objects.get(0).put("value",totalAsset);
+        List<Asset> assets = assetMapper.topList(iocParam);
+        String assetName = "";
+        if(assets.size()>0){
+            assetName = assets.get(0).getName();
+        }
+        String investmentName = "";
+        Investment investment = investmentMapper.getTopOne(iocParam);
+        if(investment!=null){
+            investmentName = investment.getField();
+        }
+        objects.get(0).put("value", MathUtils.division(totalAsset,1,2));
         objects.get(0).put("compare",compare);
 
         objects.get(1).put("value",assetCount);
         objects.get(1).put("compare",compare);
 
-        objects.get(2).put("value","项目1");
+        objects.get(2).put("value",assetName);
         objects.get(2).put("compare",60);
 
-        objects.get(3).put("value","工业互联网");
+        objects.get(3).put("value",investmentName);
         objects.get(3).put("compare",60);
         indeicator.setWorthAttention("13笔记本即将到报废年限");
         indeicator.setList(objects);