Browse Source

Merge branch 'master' of http://git.xt.wenhq.top:8083/huangcheng/ad_server

# Conflicts:
#	king-boot-module-ad/src/main/java/org/king/modules/ad/mapper/AdChargingRecordMapper.java
#	king-boot-module-ad/src/main/java/org/king/modules/ad/mapper/xml/AdChargingRecordMapper.xml
#	king-boot-module-ad/target/classes/org/king/modules/ad/controller/AdDeviceController.class
#	king-boot-module-ad/target/classes/org/king/modules/ad/entity/AdDevice.class
#	king-boot-module-ad/target/classes/org/king/modules/ad/mapper/AdChargingRecordMapper.class
#	king-boot-module-ad/target/classes/org/king/modules/ad/mapper/AdDeviceMapper.class
#	king-boot-module-ad/target/classes/org/king/modules/ad/mapper/xml/AdChargingRecordMapper.xml
#	king-boot-module-ad/target/classes/org/king/modules/ad/mapper/xml/AdDeviceMapper.xml
MSI\liwei 4 years ago
parent
commit
ff239c3ea2
64 changed files with 322 additions and 155 deletions
  1. 4 0
      king-boot-base-common/src/main/java/org/king/common/constant/CacheConstant.java
  2. 1 0
      king-boot-module-ad/.gitignore
  3. 7 0
      king-boot-module-ad/src/main/java/org/king/modules/ad/controller/AdAlternativeMeasureController.java
  4. 87 15
      king-boot-module-ad/src/main/java/org/king/modules/ad/controller/AdChargingRecordController.java
  5. 3 0
      king-boot-module-ad/src/main/java/org/king/modules/ad/entity/AdAlternativeMeasure.java
  6. 3 0
      king-boot-module-ad/src/main/java/org/king/modules/ad/entity/AdChargingRecord.java
  7. 32 0
      king-boot-module-ad/src/main/java/org/king/modules/ad/entity/AdChargingStatistics.java
  8. 4 0
      king-boot-module-ad/src/main/java/org/king/modules/ad/entity/ComChargingDevice.java
  9. 20 0
      king-boot-module-ad/src/main/java/org/king/modules/ad/entity/DepartEcgComNo.java
  10. 28 0
      king-boot-module-ad/src/main/java/org/king/modules/ad/handle/EcgComDataInit.java
  11. 7 0
      king-boot-module-ad/src/main/java/org/king/modules/ad/mapper/AdChargingRecordMapper.java
  12. 9 0
      king-boot-module-ad/src/main/java/org/king/modules/ad/mapper/AdDepartMapper.java
  13. 33 0
      king-boot-module-ad/src/main/java/org/king/modules/ad/mapper/xml/AdChargingRecordMapper.xml
  14. 18 0
      king-boot-module-ad/src/main/java/org/king/modules/ad/mapper/xml/DepartMapper.xml
  15. 3 0
      king-boot-module-ad/src/main/java/org/king/modules/ad/service/IAdChargingRecordService.java
  16. 10 0
      king-boot-module-ad/src/main/java/org/king/modules/ad/service/IDepartService.java
  17. 6 0
      king-boot-module-ad/src/main/java/org/king/modules/ad/service/impl/AdChargingRecordServiceImpl.java
  18. 47 0
      king-boot-module-ad/src/main/java/org/king/modules/ad/service/impl/DepartServiceImpl.java
  19. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/controller/AdAlternativeMeasureController.class
  20. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/controller/AdChargingRecordController.class
  21. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/controller/AdShipFaultReportController.class
  22. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/controller/DepartController.class
  23. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/controller/EntCompanyGeomController.class
  24. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/controller/WebCompanyController.class
  25. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/entity/AdAlternativeMeasure.class
  26. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/entity/AdChargingRecord.class
  27. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/entity/AdShipFaultReport.class
  28. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/entity/BaseWharf.class
  29. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/entity/ComChargingDevice.class
  30. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/entity/ComChargingMonth.class
  31. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/entity/Depart.class
  32. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/entity/EntCompanyGeom.class
  33. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/entity/WebCompany.class
  34. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/mapper/AdAlternativeMeasureMapper.class
  35. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/mapper/AdChargingRecordMapper.class
  36. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/mapper/AdDepartMapper.class
  37. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/mapper/AdShipFaultReportMapper.class
  38. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/mapper/BaseWharfMapper.class
  39. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/mapper/EntCompanyGeomMapper.class
  40. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/mapper/WebCompanyMapper.class
  41. 0 5
      king-boot-module-ad/target/classes/org/king/modules/ad/mapper/xml/AdAlternativeMeasureMapper.xml
  42. 0 94
      king-boot-module-ad/target/classes/org/king/modules/ad/mapper/xml/AdChargingRecordMapper.xml
  43. 0 16
      king-boot-module-ad/target/classes/org/king/modules/ad/mapper/xml/AdDeviceMapper.xml
  44. 0 5
      king-boot-module-ad/target/classes/org/king/modules/ad/mapper/xml/AdShipFaultReportMapper.xml
  45. 0 5
      king-boot-module-ad/target/classes/org/king/modules/ad/mapper/xml/BaseWharfMapper.xml
  46. 0 5
      king-boot-module-ad/target/classes/org/king/modules/ad/mapper/xml/DepartMapper.xml
  47. 0 5
      king-boot-module-ad/target/classes/org/king/modules/ad/mapper/xml/EntCompanyGeomMapper.xml
  48. 0 5
      king-boot-module-ad/target/classes/org/king/modules/ad/mapper/xml/WebCompanyMapper.xml
  49. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/service/IAdAlternativeMeasureService.class
  50. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/service/IAdChargingRecordService.class
  51. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/service/IAdDeviceService.class
  52. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/service/IAdShipFaultReportService.class
  53. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/service/IBaseWharfService.class
  54. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/service/IDepartService.class
  55. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/service/IEntCompanyGeomService.class
  56. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/service/IWebCompanyService.class
  57. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/service/impl/AdAlternativeMeasureServiceImpl.class
  58. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/service/impl/AdChargingRecordServiceImpl.class
  59. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/service/impl/AdDeviceServiceImpl.class
  60. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/service/impl/AdShipFaultReportServiceImpl.class
  61. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/service/impl/BaseWharfServiceImpl.class
  62. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/service/impl/DepartServiceImpl.class
  63. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/service/impl/EntCompanyGeomServiceImpl.class
  64. BIN
      king-boot-module-ad/target/classes/org/king/modules/ad/service/impl/WebCompanyServiceImpl.class

+ 4 - 0
king-boot-base-common/src/main/java/org/king/common/constant/CacheConstant.java

@@ -52,4 +52,8 @@ public interface CacheConstant {
 	 */
 	String MA_USER_TOKEN = "ma:user:token:";
 
+	String ECG_DEPART = "ad:ecg:depart";
+
+	String COM_NO_DEPART = "ad:com:depart";
+
 }

+ 1 - 0
king-boot-module-ad/.gitignore

@@ -0,0 +1 @@
+/target/

+ 7 - 0
king-boot-module-ad/src/main/java/org/king/modules/ad/controller/AdAlternativeMeasureController.java

@@ -16,11 +16,13 @@ import org.apache.shiro.SecurityUtils;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.king.common.constant.CacheConstant;
 import org.king.common.system.base.controller.KingController;
 import org.king.common.api.vo.Result;
 import org.king.common.system.query.QueryGenerator;
 import org.king.common.aspect.annotation.AutoLog;
 import org.king.common.system.vo.LoginUser;
+import org.king.common.util.RedisUtil;
 import org.king.modules.ad.entity.AdAlternativeMeasure;
 import org.king.modules.ad.entity.AdChargingRecord;
 import org.king.modules.ad.entity.BaseWharf;
@@ -61,6 +63,8 @@ public class AdAlternativeMeasureController extends KingController<AdAlternative
     private IEntCompanyGeomService entCompanyGeomService;
     @Autowired
     private IDepartService departService;
+    @Autowired
+    private RedisUtil redisUtil;
 
     /**
      * 分页列表查询
@@ -102,6 +106,9 @@ public class AdAlternativeMeasureController extends KingController<AdAlternative
             queryWrapper.in("com_no", comNos);
         }
         IPage<AdAlternativeMeasure> pageList = adAlternativeMeasureService.page(page, queryWrapper);
+        for (AdAlternativeMeasure record : pageList.getRecords()) {
+            record.setDepartNam(Convert.toStr(redisUtil.hget(CacheConstant.COM_NO_DEPART, record.getComNo())));
+        }
         return Result.ok(pageList);
     }
 

+ 87 - 15
king-boot-module-ad/src/main/java/org/king/modules/ad/controller/AdChargingRecordController.java

@@ -13,6 +13,7 @@ import javax.servlet.http.HttpServletResponse;
 import cn.hutool.core.convert.Convert;
 import cn.hutool.core.util.NumberUtil;
 import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import jodd.util.MathUtil;
@@ -21,20 +22,15 @@ import org.apache.shiro.SecurityUtils;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.king.common.constant.CacheConstant;
 import org.king.common.system.api.ISysBaseAPI;
 import org.king.common.system.base.controller.KingController;
 import org.king.common.api.vo.Result;
 import org.king.common.system.query.QueryGenerator;
 import org.king.common.aspect.annotation.AutoLog;
 import org.king.common.system.vo.LoginUser;
-import org.king.modules.ad.entity.AdChargingRecord;
-import org.king.modules.ad.entity.AdDevice;
-import org.king.modules.ad.entity.BaseWharf;
-import org.king.modules.ad.entity.ComChargingDevice;
-import org.king.modules.ad.entity.ComChargingMonth;
-import org.king.modules.ad.entity.Depart;
-import org.king.modules.ad.entity.EntCompanyGeom;
-import org.king.modules.ad.entity.WebCompany;
+import org.king.common.util.RedisUtil;
+import org.king.modules.ad.entity.*;
 import org.king.modules.ad.service.IAdChargingRecordService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -77,6 +73,8 @@ public class AdChargingRecordController extends KingController<AdChargingRecord,
     private IWebCompanyService webCompanyService;
     @Autowired
     private ISysBaseAPI sysBaseAPI;
+    @Autowired
+    private RedisUtil redisUtil;
 
     /**
      * 分页列表查询
@@ -127,6 +125,9 @@ public class AdChargingRecordController extends KingController<AdChargingRecord,
             queryWrapper.in("com_no", companyNames);
         }
         IPage<AdChargingRecord> pageList = adChargingRecordService.page(page, queryWrapper);
+        for (AdChargingRecord record : pageList.getRecords()) {
+            record.setDepartNam(Convert.toStr(redisUtil.hget(CacheConstant.ECG_DEPART, record.getGemoId())));
+        }
         return Result.ok(pageList);
     }
 
@@ -268,9 +269,9 @@ public class AdChargingRecordController extends KingController<AdChargingRecord,
     @ApiOperation(value = "企业月供电-导出excel", notes = "企业月供电-导出excel")
     @RequestMapping(value = "/exportMonthXls", method = {RequestMethod.GET, RequestMethod.POST})
     public ModelAndView exportMonthXls(
-                                       @RequestParam(required = false) String departId,
-                                       @RequestParam(required = false) String comNo,
-                                       @RequestParam String month) {
+            @RequestParam(required = false) String departId,
+            @RequestParam(required = false) String comNo,
+            @RequestParam String month) {
 
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
 
@@ -314,8 +315,8 @@ public class AdChargingRecordController extends KingController<AdChargingRecord,
     @ApiOperation(value = "设备统计", notes = "设备统计")
     @GetMapping(value = "/listDevice")
     public Result<?> listDevice(@RequestParam(required = false) String departId,
-                               @RequestParam(required = false) String type,
-                               @RequestParam(required = false) String status) {
+                                @RequestParam(required = false) String type,
+                                @RequestParam(required = false) String status) {
         Map<String, Object> result = new HashMap<>(4);
         List<Object> comNos = new ArrayList<>();
         boolean flag = true;
@@ -345,10 +346,11 @@ public class AdChargingRecordController extends KingController<AdChargingRecord,
         BigDecimal totalConsumption = new BigDecimal(0);
         for (ComChargingDevice comChargingDevice : list) {
             // 字典翻译
-            comChargingDevice.setType(sysBaseAPI.queryDictTextByKey("ad_device_type",comChargingDevice.getType()));
-            comChargingDevice.setStatus(sysBaseAPI.queryDictTextByKey("ad_device_status",comChargingDevice.getStatus()));
+            comChargingDevice.setType(sysBaseAPI.queryDictTextByKey("ad_device_type", comChargingDevice.getType()));
+            comChargingDevice.setStatus(sysBaseAPI.queryDictTextByKey("ad_device_status", comChargingDevice.getStatus()));
             totalShipNum = NumberUtil.add(totalShipNum, comChargingDevice.getShipNum());
             totalConsumption = NumberUtil.add(totalConsumption, comChargingDevice.getConsumption());
+            comChargingDevice.setDepartNam(Convert.toStr(redisUtil.hget(CacheConstant.ECG_DEPART,comChargingDevice.getBerthId())));
         }
         result.put("list", list);
         result.put("totalShipNum", totalShipNum);
@@ -357,4 +359,74 @@ public class AdChargingRecordController extends KingController<AdChargingRecord,
         return Result.ok(result);
     }
 
+    @AutoLog(value = "供电统计")
+    @ApiOperation(value = "供电统计", notes = "供电统计")
+    @GetMapping(value = "/listCharging")
+    public Result<?> listCharging(@RequestParam(required = false) String departId,
+                                  @RequestParam(required = false) String type) {
+        Map<String, Object> result = new HashMap<>(8);
+        // 查询江苏10个海事局
+        Map<String, AdChargingStatistics> departMap = new HashMap<>();
+        List<AdChargingStatistics> list = departService.queryJsDepart();
+        for (AdChargingStatistics adChargingStatistics : list) {
+            departMap.put(adChargingStatistics.getDepartNo(), adChargingStatistics);
+        }
+
+        // 查询海事局和ecgNo关系
+        List<JSONObject> departEcg = departService.queryDepartAndEcg();
+        Map<String, String> departEcgMap = new HashMap<>(380);
+        for (JSONObject jsonObject : departEcg) {
+            departEcgMap.put(jsonObject.getString("ecg_no"), jsonObject.getString("depart_no"));
+        }
+
+        // 查询业务数据统计
+        List<AdChargingStatistics> chargingList = adChargingRecordService.queryChargingStatistics(type);
+        for (AdChargingStatistics adChargingStatistics : chargingList) {
+            // 根据gemoId查询相应的海事局
+            adChargingStatistics.setDepartNo(departEcgMap.get(adChargingStatistics.getGemoId()));
+        }
+
+        for (AdChargingStatistics adChargingStatistics : chargingList) {
+            if (StrUtil.isNotBlank(adChargingStatistics.getDepartNo())) {
+                AdChargingStatistics adChargingStatistics1 = departMap.get(adChargingStatistics.getDepartNo());
+                adChargingStatistics1.setDeviceNum(NumberUtil.add(adChargingStatistics1.getDeviceNum(), adChargingStatistics.getDeviceNum()));
+                adChargingStatistics1.setEntNum(NumberUtil.add(adChargingStatistics1.getEntNum(), adChargingStatistics.getEntNum()));
+                adChargingStatistics1.setShipNum(NumberUtil.add(adChargingStatistics1.getShipNum(), adChargingStatistics.getShipNum()));
+                adChargingStatistics1.setConsumption(NumberUtil.add(adChargingStatistics1.getConsumption(), adChargingStatistics.getConsumption()));
+                adChargingStatistics1.setChargeLength(NumberUtil.add(adChargingStatistics1.getChargeLength(), adChargingStatistics.getChargeLength()));
+            }
+        }
+
+        List<AdChargingStatistics> newList = new ArrayList<>();
+        if (StrUtil.isNotBlank(departId)) {
+            newList.add(departMap.get(departId));
+        } else {
+            for (String s : departMap.keySet()) {
+                newList.add(departMap.get(s));
+            }
+        }
+        BigDecimal totalDeviceNum = new BigDecimal(0);
+        BigDecimal totalEntNum = new BigDecimal(0);
+        BigDecimal totalShipNum = new BigDecimal(0);
+        BigDecimal totalConsumption = new BigDecimal(0);
+        BigDecimal totalChargeLength = new BigDecimal(0);
+        for (AdChargingStatistics adChargingStatistics : newList) {
+            adChargingStatistics.setChargeLength(NumberUtil.div(adChargingStatistics.getChargeLength(), new BigDecimal(60), 2));
+            totalDeviceNum = NumberUtil.add(totalDeviceNum, adChargingStatistics.getDeviceNum());
+            totalEntNum = NumberUtil.add(totalEntNum, adChargingStatistics.getEntNum());
+            totalShipNum = NumberUtil.add(totalShipNum, adChargingStatistics.getShipNum());
+            totalConsumption = NumberUtil.add(totalConsumption, adChargingStatistics.getConsumption());
+            totalChargeLength = NumberUtil.add(totalChargeLength, adChargingStatistics.getChargeLength());
+        }
+
+        result.put("list", newList);
+        result.put("totalDeviceNum", totalDeviceNum);
+        result.put("totalEntNum", totalEntNum);
+        result.put("totalShipNum", totalShipNum);
+        result.put("totalConsumption", totalConsumption);
+        result.put("totalChargeLength", totalChargeLength);
+        return Result.ok(result);
+
+    }
+
 }

+ 3 - 0
king-boot-module-ad/src/main/java/org/king/modules/ad/entity/AdAlternativeMeasure.java

@@ -96,4 +96,7 @@ public class AdAlternativeMeasure implements Serializable {
     @ApiModelProperty(value = "创建时间")
     private Date createTime;
 
+    @TableField(exist = false)
+    private String departNam;
+
 }

+ 3 - 0
king-boot-module-ad/src/main/java/org/king/modules/ad/entity/AdChargingRecord.java

@@ -139,4 +139,7 @@ public class AdChargingRecord implements Serializable {
     @Dict(dicCode = "ad_isRecharge")
     private String isRecharge;
 
+    @TableField(exist = false)
+    private String departNam;
+
 }

+ 32 - 0
king-boot-module-ad/src/main/java/org/king/modules/ad/entity/AdChargingStatistics.java

@@ -0,0 +1,32 @@
+package org.king.modules.ad.entity;
+
+/**
+ * @Description: TODO
+ * @Author: huangcheng
+ * @Date: 2021/6/10
+ * @Version V1.0
+ */
+import lombok.Data;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+@Data
+public class AdChargingStatistics implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private String departNo;
+
+    private String departNam;
+
+    private String gemoId;
+
+    private BigDecimal deviceNum = new BigDecimal(0);
+
+    private BigDecimal entNum = new BigDecimal(0);
+
+    private BigDecimal shipNum = new BigDecimal(0);
+
+    private BigDecimal consumption = new BigDecimal(0);
+
+    private BigDecimal chargeLength = new BigDecimal(0);
+}

+ 4 - 0
king-boot-module-ad/src/main/java/org/king/modules/ad/entity/ComChargingDevice.java

@@ -18,6 +18,10 @@ public class ComChargingDevice implements Serializable {
 
     private String serviceName;
 
+    private String berthId;
+
+    private String departNam;
+
     private String areaName;
 
     @Excel(name = "作业单位", width = 25)

+ 20 - 0
king-boot-module-ad/src/main/java/org/king/modules/ad/entity/DepartEcgComNo.java

@@ -0,0 +1,20 @@
+package org.king.modules.ad.entity;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Description: TODO
+ * @Author: huangcheng
+ * @Date: 2021/6/11
+ * @Version V1.0
+ */
+@Data
+public class DepartEcgComNo implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private String ecgNo;
+    private String comNo;
+    private String departNam;
+}

+ 28 - 0
king-boot-module-ad/src/main/java/org/king/modules/ad/handle/EcgComDataInit.java

@@ -0,0 +1,28 @@
+package org.king.modules.ad.handle;
+
+import lombok.Data;
+import org.king.modules.ad.service.IDepartService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+
+/**
+ * @Description: TODO
+ * @Author: huangcheng
+ * @Date: 2021/6/11
+ * @Version V1.0
+ */
+@Component
+@Data
+public class EcgComDataInit {
+
+    @Autowired
+    private IDepartService departService;
+
+    @PostConstruct
+    public void init() {
+        // 加载ecg和comNo与部门名称数据到redis
+        departService.putEcgDepartDataToRedis();
+    }
+}

+ 7 - 0
king-boot-module-ad/src/main/java/org/king/modules/ad/mapper/AdChargingRecordMapper.java

@@ -5,7 +5,11 @@ import java.util.List;
 import org.apache.ibatis.annotations.Param;
 import org.king.modules.ad.entity.AdChargingRecord;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+<<<<<<< HEAD
 import org.king.modules.ad.entity.ChargeCount;
+=======
+import org.king.modules.ad.entity.AdChargingStatistics;
+>>>>>>> 85039d913eb02a3612e42517a650c865c55bc9a7
 import org.king.modules.ad.entity.ComChargingDevice;
 import org.king.modules.ad.entity.ComChargingMonth;
 
@@ -24,4 +28,7 @@ public interface AdChargingRecordMapper extends BaseMapper<AdChargingRecord> {
     List<ChargeCount> getChargeByFive();
 
     ChargeCount getChargeData();
+
+    List<AdChargingStatistics> queryChargingStatistics(@Param("type") String type);
+
 }

+ 9 - 0
king-boot-module-ad/src/main/java/org/king/modules/ad/mapper/AdDepartMapper.java

@@ -1,10 +1,14 @@
 package org.king.modules.ad.mapper;
 
 import java.util.List;
+import java.util.Map;
 
+import com.alibaba.fastjson.JSONObject;
 import org.apache.ibatis.annotations.Param;
+import org.king.modules.ad.entity.AdChargingStatistics;
 import org.king.modules.ad.entity.Depart;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.king.modules.ad.entity.DepartEcgComNo;
 
 /**
  * @Description: 海事机构
@@ -14,4 +18,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface AdDepartMapper extends BaseMapper<Depart> {
 
+    List<AdChargingStatistics> queryJsDepart();
+
+    List<JSONObject> queryDepartAndEcg();
+
+    List<DepartEcgComNo> putEcgDepartDataToRedis();
 }

+ 33 - 0
king-boot-module-ad/src/main/java/org/king/modules/ad/mapper/xml/AdChargingRecordMapper.xml

@@ -17,6 +17,7 @@
                          #{key}
                      </foreach>
                  </if>
+                 and real_start_time is not null
                  group by com_no) t1
                  left join web_company t2 on t1.com_no = t2.COM_NO
         <where>
@@ -28,6 +29,7 @@
 
     <select id="listDevice" resultType="org.king.modules.ad.entity.ComChargingDevice">
         select t2.service_name,
+               t2.berth_id,
                t3.area_name,
                t4.COM_NAME,
                t2.type,
@@ -40,6 +42,7 @@
                         count(1)         as shipNum,
                         sum(consumption) as consumption
                  from ad_charging_record
+                 where real_start_time is not null
                  group by ad_device_id) t1
                  right join ad_device t2 on t1.ad_device_id = t2.id
                  left join hhad.ent_company_geom t3 on t2.berth_id = t3.ecg_no
@@ -90,5 +93,35 @@
         ad.real_start_time,
         '%Y-%m-%d'
         )
+
+    <select id="queryChargingStatistics" resultType="org.king.modules.ad.entity.AdChargingStatistics">
+        select gemo_id,
+               sum(deviceNum)    as deviceNum,
+               sum(entNum)       as entNum,
+               sum(shipNum)      as shipNum,
+               sum(consumption)  as consumption,
+               sum(chargeLength) as chargeLength
+        from (
+                 select t1.berth_id      as gemo_id,
+                        count(t1.id)     as deviceNum,
+                        count(t2.COM_NO) as entNum,
+                        0                as shipNum,
+                        0                as consumption,
+                        0                as chargeLength
+                 from ad_device t1
+                          left join web_company t2 on t1.sys_office_id = t2.COM_NO
+                 where t1.is_del = 0
+                 group by t1.berth_id
+                 union all
+                 select gemo_id,
+                        0                                                                     as deviceNum,
+                        0                                                                     as entNum,
+                        count(1)                                                              as shipNum,
+                        sum(consumption)                                                      as consumption,
+                        ifnull(sum(timestampdiff(minute, real_start_time, real_end_time)), 0) as chargeLength
+                 from ad_charging_record
+                 where real_start_time is not null
+                 group by gemo_id) a
+        group by gemo_id
     </select>
 </mapper>

+ 18 - 0
king-boot-module-ad/src/main/java/org/king/modules/ad/mapper/xml/DepartMapper.xml

@@ -2,4 +2,22 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.king.modules.ad.mapper.AdDepartMapper">
 
+    <select id="queryJsDepart" resultType="org.king.modules.ad.entity.AdChargingStatistics">
+        select DEPART_NO,DEPART_NAM
+        from depart where UPDEPART_NO = 384
+    </select>
+
+    <select id="queryDepartAndEcg" resultType="com.alibaba.fastjson.JSONObject">
+        select t1.depart_no,t2.ecg_no
+        from depart t1 left join base_wharf t2 on t1.DEPART_NO = t2.depart_no
+        where t1.UPDEPART_NO = 384
+    </select>
+
+    <select id="putEcgDepartDataToRedis" resultType="org.king.modules.ad.entity.DepartEcgComNo">
+        select distinct t1.ecg_no, t3.com_no, t2.DEPART_NAM
+        from base_wharf t1
+                 left join depart t2 on t1.depart_no = t2.DEPART_NO
+                 left join ent_company_geom t3 on t1.ecg_no = t3.ecg_no
+        where DEPART_NAM is not null
+    </select>
 </mapper>

+ 3 - 0
king-boot-module-ad/src/main/java/org/king/modules/ad/service/IAdChargingRecordService.java

@@ -2,6 +2,7 @@ package org.king.modules.ad.service;
 
 import org.king.modules.ad.entity.AdChargingRecord;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.king.modules.ad.entity.AdChargingStatistics;
 import org.king.modules.ad.entity.ComChargingDevice;
 import org.king.modules.ad.entity.ComChargingMonth;
 
@@ -18,4 +19,6 @@ public interface IAdChargingRecordService extends IService<AdChargingRecord> {
     List<ComChargingMonth> listMonth(List<Object> departNo, String comNo, String month);
 
     List<ComChargingDevice> listDevice(List<Object> comNos, String type, String status);
+
+    List<AdChargingStatistics> queryChargingStatistics(String type);
 }

+ 10 - 0
king-boot-module-ad/src/main/java/org/king/modules/ad/service/IDepartService.java

@@ -1,8 +1,13 @@
 package org.king.modules.ad.service;
 
+import com.alibaba.fastjson.JSONObject;
+import org.king.modules.ad.entity.AdChargingStatistics;
 import org.king.modules.ad.entity.Depart;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * @Description: 海事机构
  * @Author: king-boot
@@ -11,4 +16,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IDepartService extends IService<Depart> {
 
+    List<AdChargingStatistics> queryJsDepart();
+
+    List<JSONObject> queryDepartAndEcg();
+
+    void putEcgDepartDataToRedis();
 }

+ 6 - 0
king-boot-module-ad/src/main/java/org/king/modules/ad/service/impl/AdChargingRecordServiceImpl.java

@@ -2,6 +2,7 @@ package org.king.modules.ad.service.impl;
 
 import com.baomidou.dynamic.datasource.annotation.DS;
 import org.king.modules.ad.entity.AdChargingRecord;
+import org.king.modules.ad.entity.AdChargingStatistics;
 import org.king.modules.ad.entity.ComChargingDevice;
 import org.king.modules.ad.entity.ComChargingMonth;
 import org.king.modules.ad.mapper.AdChargingRecordMapper;
@@ -31,4 +32,9 @@ public class AdChargingRecordServiceImpl extends ServiceImpl<AdChargingRecordMap
     public List<ComChargingDevice> listDevice(List<Object> comNos, String type, String status) {
         return baseMapper.listDevice(comNos, type, status);
     }
+
+    @Override
+    public List<AdChargingStatistics> queryChargingStatistics(String type) {
+        return baseMapper.queryChargingStatistics(type);
+    }
 }

+ 47 - 0
king-boot-module-ad/src/main/java/org/king/modules/ad/service/impl/DepartServiceImpl.java

@@ -1,12 +1,24 @@
 package org.king.modules.ad.service.impl;
 
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONObject;
+import lombok.extern.slf4j.Slf4j;
+import org.king.common.constant.CacheConstant;
+import org.king.common.util.RedisUtil;
+import org.king.modules.ad.entity.AdChargingStatistics;
 import org.king.modules.ad.entity.Depart;
+import org.king.modules.ad.entity.DepartEcgComNo;
 import org.king.modules.ad.mapper.AdDepartMapper;
 import org.king.modules.ad.service.IDepartService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * @Description: 海事机构
  * @Author: king-boot
@@ -14,6 +26,41 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  * @Version: V1.0
  */
 @Service
+@Slf4j
 public class DepartServiceImpl extends ServiceImpl<AdDepartMapper, Depart> implements IDepartService {
 
+    @Autowired
+    private RedisUtil redisUtil;
+
+    @Override
+    public List<AdChargingStatistics> queryJsDepart() {
+        return baseMapper.queryJsDepart();
+    }
+
+    @Override
+    public List<JSONObject> queryDepartAndEcg() {
+        return baseMapper.queryDepartAndEcg();
+    }
+
+    @Override
+    public void putEcgDepartDataToRedis() {
+        String ecgKey = CacheConstant.ECG_DEPART;
+        String comKey = CacheConstant.COM_NO_DEPART;
+        if (!redisUtil.hasKey(ecgKey) || !redisUtil.hasKey(comKey)) {
+            List<DepartEcgComNo> list = baseMapper.putEcgDepartDataToRedis();
+            Map<String, Object> ecgMap = new HashMap<>();
+            Map<String, Object> comMap = new HashMap<>();
+            for (DepartEcgComNo departEcgComNo : list) {
+                ecgMap.putIfAbsent(departEcgComNo.getEcgNo(), departEcgComNo.getDepartNam());
+                if (StrUtil.isNotBlank(departEcgComNo.getComNo())) {
+                    comMap.putIfAbsent(departEcgComNo.getComNo(), departEcgComNo.getDepartNam());
+                }
+            }
+            redisUtil.hmset(ecgKey, ecgMap);
+            redisUtil.hmset(comKey, comMap);
+            log.info("ecg缓存加载数量:{}",ecgMap.size());
+            log.info("com缓存加载数量:{}",comMap.size());
+        }
+
+    }
 }

BIN
king-boot-module-ad/target/classes/org/king/modules/ad/controller/AdAlternativeMeasureController.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/controller/AdChargingRecordController.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/controller/AdShipFaultReportController.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/controller/DepartController.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/controller/EntCompanyGeomController.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/controller/WebCompanyController.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/entity/AdAlternativeMeasure.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/entity/AdChargingRecord.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/entity/AdShipFaultReport.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/entity/BaseWharf.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/entity/ComChargingDevice.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/entity/ComChargingMonth.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/entity/Depart.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/entity/EntCompanyGeom.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/entity/WebCompany.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/mapper/AdAlternativeMeasureMapper.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/mapper/AdChargingRecordMapper.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/mapper/AdDepartMapper.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/mapper/AdShipFaultReportMapper.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/mapper/BaseWharfMapper.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/mapper/EntCompanyGeomMapper.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/mapper/WebCompanyMapper.class


+ 0 - 5
king-boot-module-ad/target/classes/org/king/modules/ad/mapper/xml/AdAlternativeMeasureMapper.xml

@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.king.modules.ad.mapper.AdAlternativeMeasureMapper">
-
-</mapper>

+ 0 - 94
king-boot-module-ad/target/classes/org/king/modules/ad/mapper/xml/AdChargingRecordMapper.xml

@@ -1,94 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.king.modules.ad.mapper.AdChargingRecordMapper">
-
-    <select id="listMonth" resultType="org.king.modules.ad.entity.ComChargingMonth">
-        select t2.COM_NAME, shipNum, consumption, chargeLength
-        from (
-                 select com_no,
-                        count(1)                                                              as shipNum,
-                        sum(consumption)                                                      as consumption,
-                        ifnull(sum(timestampdiff(minute, real_start_time, real_end_time)), 0) as chargeLength
-                 from ad_charging_record
-                 where date_format(create_time, '%Y-%m') = #{month}
-                 <if test="comNos != null and comNos.size()>0">
-                     and com_no in
-                     <foreach item="key" collection="comNos" open="(" separator="," close=")">
-                         #{key}
-                     </foreach>
-                 </if>
-                 group by com_no) t1
-                 left join web_company t2 on t1.com_no = t2.COM_NO
-        <where>
-            <if test="comNo != null and comNo != ''">
-                COM_NAME like concat ('%',#{comNo},'%')
-            </if>
-        </where>
-    </select>
-
-    <select id="listDevice" resultType="org.king.modules.ad.entity.ComChargingDevice">
-        select t2.service_name,
-               t3.area_name,
-               t4.COM_NAME,
-               t2.type,
-               t2.status,
-               t2.voltage,
-               ifnull(consumption, 0) as consumption,
-               ifnull(shipNum, 0)     as shipNum
-        from (
-                 select ad_device_id,
-                        count(1)         as shipNum,
-                        sum(consumption) as consumption
-                 from ad_charging_record
-                 group by ad_device_id) t1
-                 right join ad_device t2 on t1.ad_device_id = t2.id
-                 left join hhad.ent_company_geom t3 on t2.berth_id = t3.ecg_no
-                 left join web_company t4 on t3.com_no = t4.COM_NO
-        <where>
-            <if test="comNos != null and comNos.size()>0">
-                t4.com_no in
-                <foreach item="key" collection="comNos" open="(" separator="," close=")">
-                    #{key}
-                </foreach>
-            </if>
-            <if test="type != null and type != ''">
-                and t2.type = #{type}
-            </if>
-            <if test="status != null and status != ''">
-                and t2.status = #{status}
-            </if>
-        </where>
-
-    </select>
-
-    <select id ="getChargeData">
-        SELECT
-        count( consumption ) count,
-        sum( consumption ) sum,
-        sum( TIMESTAMPDIFF( SECOND, real_start_time, real_end_time )/ 3600 ) timeTotal
-        FROM
-        ad_charging_record
-    </select>
-
-    <select id="getChargeByFive">
-        SELECT
-        DATE_FORMAT( ad.real_start_time, '%Y-%m-%d' ) startTime,
-        Sum(
-        TIMESTAMPDIFF( SECOND, ad.real_start_time, ad.real_end_time ))/3600 timeTotal,
-        sum( consumption ) sum,
-        count( 1 ) count
-        FROM
-        (
-        SELECT
-        *
-        FROM
-        ad_charging_record
-        WHERE
-        DATE_FORMAT( real_start_time, '%Y-%m-%d' )> DATE_FORMAT( date_sub( now(), INTERVAL 5 DAY ), '%Y-%m-%d' )) ad
-        GROUP BY
-        DATE_FORMAT(
-        ad.real_start_time,
-        '%Y-%m-%d'
-        )
-    </select>
-</mapper>

+ 0 - 16
king-boot-module-ad/target/classes/org/king/modules/ad/mapper/xml/AdDeviceMapper.xml

@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.king.modules.ad.mapper.AdDeviceMapper">
-
-    <select id="getDeviceCount" resultType="org.king.modules.ad.entity.AdDevice">
-        SELECT
-        type,
-        COUNT( 1 ) count
-        FROM
-        ad_device
-        where is_del=0
-        GROUP BY
-        type;
-    </select>
-
-</mapper>

+ 0 - 5
king-boot-module-ad/target/classes/org/king/modules/ad/mapper/xml/AdShipFaultReportMapper.xml

@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.king.modules.ad.mapper.AdShipFaultReportMapper">
-
-</mapper>

+ 0 - 5
king-boot-module-ad/target/classes/org/king/modules/ad/mapper/xml/BaseWharfMapper.xml

@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.king.modules.ad.mapper.BaseWharfMapper">
-
-</mapper>

+ 0 - 5
king-boot-module-ad/target/classes/org/king/modules/ad/mapper/xml/DepartMapper.xml

@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.king.modules.ad.mapper.AdDepartMapper">
-
-</mapper>

+ 0 - 5
king-boot-module-ad/target/classes/org/king/modules/ad/mapper/xml/EntCompanyGeomMapper.xml

@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.king.modules.ad.mapper.EntCompanyGeomMapper">
-
-</mapper>

+ 0 - 5
king-boot-module-ad/target/classes/org/king/modules/ad/mapper/xml/WebCompanyMapper.xml

@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.king.modules.ad.mapper.WebCompanyMapper">
-
-</mapper>

BIN
king-boot-module-ad/target/classes/org/king/modules/ad/service/IAdAlternativeMeasureService.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/service/IAdChargingRecordService.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/service/IAdDeviceService.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/service/IAdShipFaultReportService.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/service/IBaseWharfService.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/service/IDepartService.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/service/IEntCompanyGeomService.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/service/IWebCompanyService.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/service/impl/AdAlternativeMeasureServiceImpl.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/service/impl/AdChargingRecordServiceImpl.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/service/impl/AdDeviceServiceImpl.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/service/impl/AdShipFaultReportServiceImpl.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/service/impl/BaseWharfServiceImpl.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/service/impl/DepartServiceImpl.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/service/impl/EntCompanyGeomServiceImpl.class


BIN
king-boot-module-ad/target/classes/org/king/modules/ad/service/impl/WebCompanyServiceImpl.class