diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
index 091145c..174f95f 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
@@ -44,8 +44,8 @@
@@ -957,7 +962,8 @@
- SELECT
+ SELECT
+
FROM DEVICE_VIEW
WHERE VALID = '1'
@@ -967,11 +973,12 @@
and deptid = #{deptid}
- and (DEVCODE LIKE
- OR wellCode LIKE )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE)
- and area IN (${areaId})
+ and area IN (${areaId})
ORDER BY INSTALLDATE DESC
@@ -992,7 +999,8 @@
WHERE dv.VALID = '1'
AND dv.DEVCODE = #{devcode}
AND dwm.MONTH = #{month}
-
+ ORDER BY dwm.FLOW_ACC_MONTH DESC
+ LIMIT 1
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
index 30230fc..9fffd53 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
@@ -44,7 +44,7 @@
- SELECT dw.DEVCODE, dw.TOTAL_FLOW, dw.UPTIME
+ SELECT dw.DEVCODE as devcode, dw.TOTAL_FLOW as totalFlow, dw.UPTIME as upTime,dw.INSTANT_FLOW as instantFlow,dw.INSTANTS_VELOCITY as instantVelocity,dw.AMBOCETOR_TEMPERTURE as ambocetorTemperture,dw.LOGTIME as LogTime
from data_gasflow as dw
join device_view as dv on dv.DEVCODE = dw.DEVCODE
WHERE dv.VALID = '1'
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
index 091145c..174f95f 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
@@ -44,8 +44,8 @@
SELECT
- COUNT(*) AS alarmTimes,
- COUNT(DISTINCT wellCode) AS alarmWells
+ COUNT(1) AS alarmTimes,
+ COUNT(DISTINCT wellCode) AS alarmWells
FROM
alarm_now_view
WHERE
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
index 5e9c2e4..36c8384 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
@@ -87,4 +87,22 @@
super.exportExcel(DeviceExportEnum.CORRODEDATA_EXPORT, list, httpServletResponse);
}
+
+ /**
+ * 统计每天每个设备的腐蚀速率变化
+ *
+ */
+ @RequestMapping("/corrRateByDevice")
+ @ResponseBody
+ public Object corrRateByDevice(String beginTime, String endTime) {
+ DataScope dataScope = permissionService.getCurrUserDataScope();
+ try {
+ List> res = corrodeDataService.corrRateByDevice(beginTime, endTime, dataScope);
+ return ResponseData.success(res);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return ResponseData.error("faliure");
+ }
+ }
+
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
index 9677abd..561ec83 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
@@ -25,10 +25,7 @@
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* @author cz
@@ -51,18 +48,22 @@
DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public GasFlowDataController(ICommonPermissionService permissionService,
- IGasFlowService gasFlowService,IDeviceService iDeviceService) {
+ IGasFlowService gasFlowService, IDeviceService iDeviceService) {
this.permissionService = permissionService;
this.gasFlowService = gasFlowService;
- this.deviceService=iDeviceService;
+ this.deviceService = iDeviceService;
}
+ @ApiOperation(value = "获取某气体流量计数据列表")
@RequestMapping(value = "/listByDevice")
@ResponseBody
- public Object listByDevice(String devcode, String beginTime,String endTime) {
- List lists = gasFlowService.listByDevice(devcode,beginTime,endTime);
+ public Object listByDevice(String devcode, String beginTime, String endTime) {
+ Page page = new PageFactory().defaultPage();
+ List lists = gasFlowService.listByDevice(page,devcode, beginTime, endTime);
+ page.setRecords(lists);
return ResponseData.success(lists);
}
+
@ApiOperation(value = "获取气体流量计数据列表")
@RequestMapping(value = "/list")
@ResponseBody
@@ -72,56 +73,60 @@
DataScope dataScope = permissionService.getCurrUserDataScope();
List list = deviceService.selectDataScopePage(dataScope, page, "15", "", "", "", keywords, "", areaId);
String date = sdf.format(new Date());
+ List> viewList = new ArrayList<>();
list.forEach(deviceDto -> {
+ Map viewMap = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode());
+ if (viewMap == null) {
+ viewMap = new HashMap<>();
+ viewMap.put("yearCount", "0");
+ viewMap.put("upTime", sdf4.format(new Date()));
+ viewMap.put("totalFlow", "");
+ viewMap.put("instantFlow", "");
+ viewMap.put("instantVelocity", "");
+ viewMap.put("ambocetorTemperture", "");
+ viewMap.put("LogTime", sdf4.format(new Date()));
+ }
+ viewMap.put("devcode", deviceDto.getDevcode());
+ viewMap.put("wellCode", deviceDto.getWellCode());
+ viewMap.put("deviceTypeName", deviceDto.getDeviceTypeName());
// 获取日月年用水量和最近的读数
Map dayGasFlowDay = gasFlowService.selectGasFlowDay(deviceDto.getDevcode(), date);
if (dayGasFlowDay == null) {
deviceDto.setDayCount("0");
} else {
- deviceDto.setDayCount(dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString());
+ viewMap.put("dayCount", dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString());
}
-
Map monthGasFlow = gasFlowService.selectGasFlowMonth(deviceDto.getDevcode(), date.substring(0, 7));
if (monthGasFlow == null) {
deviceDto.setMonthCount("0");
} else {
- deviceDto.setMonthCount(monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString());
+ viewMap.put("monthCount", monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString());
}
-
Map gasFlowYear = gasFlowService.selectGasFlowTotal(deviceDto.getDevcode(), date.substring(0, 4));
if (gasFlowYear == null) {
deviceDto.setTotalCount("0");
} else {
- deviceDto.setTotalCount(gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString());
+ viewMap.put("yearCount", gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString());
}
-
- Map flowRec = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode());
- if (flowRec == null) {
- deviceDto.setWatchNum("0");
- deviceDto.setUptime(sdf4.format(new Date()));
- } else {
- deviceDto.setWatchNum(flowRec.get("TOTAL_FLOW") == null ? "0" : flowRec.get("TOTAL_FLOW").toString());
- deviceDto.setUptime(sdf4.format((Date) flowRec.get("UPTIME")));
- }
- deviceDto.setAreaFullName(deviceService.getAreaFullNameById(deviceDto.getArea()));
+ viewMap.put("areaFullName", deviceService.getAreaFullNameById(deviceDto.getArea()));
+ viewList.add(viewMap);
});
- page.setRecords(list);
- return new SuccessResponseData(super.packForBT(page));
+ HashMap dataMap = new HashMap<>();
+ dataMap.put("rows", viewList);
+ dataMap.put("total", page.getTotal());
+ return new SuccessResponseData(dataMap);
}
@ApiOperation(value = "导出气体设备数据列表")
@RequestMapping(value = "/data/export")
public void export(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
Page> page = new PageFactory>().defaultPage();
-
String keywords = httpServletRequest.getParameter("keywords");
String areaId = httpServletRequest.getParameter("areaId");
-
page.setLimit(maxRowsExcel);
page.setSize(maxRowsExcel);
page.setOffset(0);
page.setSearchCount(false);
-
//查询数据权限 使用默认DEPTID 字段
DataScope dataScope = permissionService.getCurrUserDataScope();
List> list = deviceService.selectDataScopePage(dataScope, page, "15", "", keywords, areaId);
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
index 4eb8abb..8fe72f2 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
@@ -16,5 +16,5 @@
List> getCorrodelistScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page,
@Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords);
-
+ List> corrRateByDevice(@Param("date")String date);
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
index 51fdaf0..60977e3 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
@@ -86,4 +86,13 @@
ORDER BY dg.UPTIME DESC
+
+
+ SELECT DEVCODE as devcode,CORRODE_RATE as corrodeRate
+ FROM
+ data_corrode
+ WHERE
+ DATE_FORMAT(UPTIME,'%Y-%m-%d') = #{date}
+
+
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
index 62882cb..0527ba3 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
@@ -15,7 +15,8 @@
- ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X AS LONGITUDE, COORDINATE_Y AS LATITUDE,
+ ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X
+ AS LONGITUDE, COORDINATE_Y AS LATITUDE,
as INSTALLDATE
@@ -111,11 +112,12 @@
- and (DEVCODE LIKE
- OR wellCode LIKE )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE)
- and area IN (${areaId})
+ and area IN (${areaId})
ORDER BY INSTALLDATE DESC
@@ -129,10 +131,13 @@
and deviceType = #{devType}
- and (DEVCODE LIKE
- OR wellCode LIKE
- OR POSITION LIKE
- OR AREAFULLNAME like )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE
+
+ OR POSITION LIKE
+
+ OR AREAFULLNAME like)
@@ -957,7 +962,8 @@
- SELECT
+ SELECT
+
FROM DEVICE_VIEW
WHERE VALID = '1'
@@ -967,11 +973,12 @@
and deptid = #{deptid}
- and (DEVCODE LIKE
- OR wellCode LIKE )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE)
- and area IN (${areaId})
+ and area IN (${areaId})
ORDER BY INSTALLDATE DESC
@@ -992,7 +999,8 @@
WHERE dv.VALID = '1'
AND dv.DEVCODE = #{devcode}
AND dwm.MONTH = #{month}
-
+ ORDER BY dwm.FLOW_ACC_MONTH DESC
+ LIMIT 1
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
index 30230fc..9fffd53 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
@@ -44,7 +44,7 @@
- SELECT dw.DEVCODE, dw.TOTAL_FLOW, dw.UPTIME
+ SELECT dw.DEVCODE as devcode, dw.TOTAL_FLOW as totalFlow, dw.UPTIME as upTime,dw.INSTANT_FLOW as instantFlow,dw.INSTANTS_VELOCITY as instantVelocity,dw.AMBOCETOR_TEMPERTURE as ambocetorTemperture,dw.LOGTIME as LogTime
from data_gasflow as dw
join device_view as dv on dv.DEVCODE = dw.DEVCODE
WHERE dv.VALID = '1'
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
index 952f920..4e656a8 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
@@ -18,4 +18,6 @@
*/
List> getCorrodelistScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords);
+
+ List> corrRateByDevice(String beginTime,String endTime,DataScope dataScope);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
index 091145c..174f95f 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
@@ -44,8 +44,8 @@
SELECT
- COUNT(*) AS alarmTimes,
- COUNT(DISTINCT wellCode) AS alarmWells
+ COUNT(1) AS alarmTimes,
+ COUNT(DISTINCT wellCode) AS alarmWells
FROM
alarm_now_view
WHERE
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
index 5e9c2e4..36c8384 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
@@ -87,4 +87,22 @@
super.exportExcel(DeviceExportEnum.CORRODEDATA_EXPORT, list, httpServletResponse);
}
+
+ /**
+ * 统计每天每个设备的腐蚀速率变化
+ *
+ */
+ @RequestMapping("/corrRateByDevice")
+ @ResponseBody
+ public Object corrRateByDevice(String beginTime, String endTime) {
+ DataScope dataScope = permissionService.getCurrUserDataScope();
+ try {
+ List> res = corrodeDataService.corrRateByDevice(beginTime, endTime, dataScope);
+ return ResponseData.success(res);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return ResponseData.error("faliure");
+ }
+ }
+
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
index 9677abd..561ec83 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
@@ -25,10 +25,7 @@
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* @author cz
@@ -51,18 +48,22 @@
DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public GasFlowDataController(ICommonPermissionService permissionService,
- IGasFlowService gasFlowService,IDeviceService iDeviceService) {
+ IGasFlowService gasFlowService, IDeviceService iDeviceService) {
this.permissionService = permissionService;
this.gasFlowService = gasFlowService;
- this.deviceService=iDeviceService;
+ this.deviceService = iDeviceService;
}
+ @ApiOperation(value = "获取某气体流量计数据列表")
@RequestMapping(value = "/listByDevice")
@ResponseBody
- public Object listByDevice(String devcode, String beginTime,String endTime) {
- List lists = gasFlowService.listByDevice(devcode,beginTime,endTime);
+ public Object listByDevice(String devcode, String beginTime, String endTime) {
+ Page page = new PageFactory().defaultPage();
+ List lists = gasFlowService.listByDevice(page,devcode, beginTime, endTime);
+ page.setRecords(lists);
return ResponseData.success(lists);
}
+
@ApiOperation(value = "获取气体流量计数据列表")
@RequestMapping(value = "/list")
@ResponseBody
@@ -72,56 +73,60 @@
DataScope dataScope = permissionService.getCurrUserDataScope();
List list = deviceService.selectDataScopePage(dataScope, page, "15", "", "", "", keywords, "", areaId);
String date = sdf.format(new Date());
+ List> viewList = new ArrayList<>();
list.forEach(deviceDto -> {
+ Map viewMap = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode());
+ if (viewMap == null) {
+ viewMap = new HashMap<>();
+ viewMap.put("yearCount", "0");
+ viewMap.put("upTime", sdf4.format(new Date()));
+ viewMap.put("totalFlow", "");
+ viewMap.put("instantFlow", "");
+ viewMap.put("instantVelocity", "");
+ viewMap.put("ambocetorTemperture", "");
+ viewMap.put("LogTime", sdf4.format(new Date()));
+ }
+ viewMap.put("devcode", deviceDto.getDevcode());
+ viewMap.put("wellCode", deviceDto.getWellCode());
+ viewMap.put("deviceTypeName", deviceDto.getDeviceTypeName());
// 获取日月年用水量和最近的读数
Map dayGasFlowDay = gasFlowService.selectGasFlowDay(deviceDto.getDevcode(), date);
if (dayGasFlowDay == null) {
deviceDto.setDayCount("0");
} else {
- deviceDto.setDayCount(dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString());
+ viewMap.put("dayCount", dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString());
}
-
Map monthGasFlow = gasFlowService.selectGasFlowMonth(deviceDto.getDevcode(), date.substring(0, 7));
if (monthGasFlow == null) {
deviceDto.setMonthCount("0");
} else {
- deviceDto.setMonthCount(monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString());
+ viewMap.put("monthCount", monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString());
}
-
Map gasFlowYear = gasFlowService.selectGasFlowTotal(deviceDto.getDevcode(), date.substring(0, 4));
if (gasFlowYear == null) {
deviceDto.setTotalCount("0");
} else {
- deviceDto.setTotalCount(gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString());
+ viewMap.put("yearCount", gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString());
}
-
- Map flowRec = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode());
- if (flowRec == null) {
- deviceDto.setWatchNum("0");
- deviceDto.setUptime(sdf4.format(new Date()));
- } else {
- deviceDto.setWatchNum(flowRec.get("TOTAL_FLOW") == null ? "0" : flowRec.get("TOTAL_FLOW").toString());
- deviceDto.setUptime(sdf4.format((Date) flowRec.get("UPTIME")));
- }
- deviceDto.setAreaFullName(deviceService.getAreaFullNameById(deviceDto.getArea()));
+ viewMap.put("areaFullName", deviceService.getAreaFullNameById(deviceDto.getArea()));
+ viewList.add(viewMap);
});
- page.setRecords(list);
- return new SuccessResponseData(super.packForBT(page));
+ HashMap dataMap = new HashMap<>();
+ dataMap.put("rows", viewList);
+ dataMap.put("total", page.getTotal());
+ return new SuccessResponseData(dataMap);
}
@ApiOperation(value = "导出气体设备数据列表")
@RequestMapping(value = "/data/export")
public void export(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
Page> page = new PageFactory>().defaultPage();
-
String keywords = httpServletRequest.getParameter("keywords");
String areaId = httpServletRequest.getParameter("areaId");
-
page.setLimit(maxRowsExcel);
page.setSize(maxRowsExcel);
page.setOffset(0);
page.setSearchCount(false);
-
//查询数据权限 使用默认DEPTID 字段
DataScope dataScope = permissionService.getCurrUserDataScope();
List> list = deviceService.selectDataScopePage(dataScope, page, "15", "", keywords, areaId);
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
index 4eb8abb..8fe72f2 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
@@ -16,5 +16,5 @@
List> getCorrodelistScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page,
@Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords);
-
+ List> corrRateByDevice(@Param("date")String date);
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
index 51fdaf0..60977e3 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
@@ -86,4 +86,13 @@
ORDER BY dg.UPTIME DESC
+
+
+ SELECT DEVCODE as devcode,CORRODE_RATE as corrodeRate
+ FROM
+ data_corrode
+ WHERE
+ DATE_FORMAT(UPTIME,'%Y-%m-%d') = #{date}
+
+
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
index 62882cb..0527ba3 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
@@ -15,7 +15,8 @@
- ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X AS LONGITUDE, COORDINATE_Y AS LATITUDE,
+ ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X
+ AS LONGITUDE, COORDINATE_Y AS LATITUDE,
as INSTALLDATE
@@ -111,11 +112,12 @@
- and (DEVCODE LIKE
- OR wellCode LIKE )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE)
- and area IN (${areaId})
+ and area IN (${areaId})
ORDER BY INSTALLDATE DESC
@@ -129,10 +131,13 @@
and deviceType = #{devType}
- and (DEVCODE LIKE
- OR wellCode LIKE
- OR POSITION LIKE
- OR AREAFULLNAME like )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE
+
+ OR POSITION LIKE
+
+ OR AREAFULLNAME like)
@@ -957,7 +962,8 @@
- SELECT
+ SELECT
+
FROM DEVICE_VIEW
WHERE VALID = '1'
@@ -967,11 +973,12 @@
and deptid = #{deptid}
- and (DEVCODE LIKE
- OR wellCode LIKE )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE)
- and area IN (${areaId})
+ and area IN (${areaId})
ORDER BY INSTALLDATE DESC
@@ -992,7 +999,8 @@
WHERE dv.VALID = '1'
AND dv.DEVCODE = #{devcode}
AND dwm.MONTH = #{month}
-
+ ORDER BY dwm.FLOW_ACC_MONTH DESC
+ LIMIT 1
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
index 30230fc..9fffd53 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
@@ -44,7 +44,7 @@
- SELECT dw.DEVCODE, dw.TOTAL_FLOW, dw.UPTIME
+ SELECT dw.DEVCODE as devcode, dw.TOTAL_FLOW as totalFlow, dw.UPTIME as upTime,dw.INSTANT_FLOW as instantFlow,dw.INSTANTS_VELOCITY as instantVelocity,dw.AMBOCETOR_TEMPERTURE as ambocetorTemperture,dw.LOGTIME as LogTime
from data_gasflow as dw
join device_view as dv on dv.DEVCODE = dw.DEVCODE
WHERE dv.VALID = '1'
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
index 952f920..4e656a8 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
@@ -18,4 +18,6 @@
*/
List> getCorrodelistScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords);
+
+ List> corrRateByDevice(String beginTime,String endTime,DataScope dataScope);
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java
index bb56b46..f2cc0fb 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.system.service;
+import com.baomidou.mybatisplus.plugins.Page;
import com.casic.missiles.modular.system.dao.GasFlowMapper;
import com.casic.missiles.modular.system.model.DataGasFlow;
@@ -37,5 +38,5 @@
* @param endTime 结束时间
* @return
*/
- List listByDevice(String devcode, String beginTime, String endTime);
+ List listByDevice(Page page, String devcode, String beginTime, String endTime);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
index 091145c..174f95f 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
@@ -44,8 +44,8 @@
SELECT
- COUNT(*) AS alarmTimes,
- COUNT(DISTINCT wellCode) AS alarmWells
+ COUNT(1) AS alarmTimes,
+ COUNT(DISTINCT wellCode) AS alarmWells
FROM
alarm_now_view
WHERE
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
index 5e9c2e4..36c8384 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
@@ -87,4 +87,22 @@
super.exportExcel(DeviceExportEnum.CORRODEDATA_EXPORT, list, httpServletResponse);
}
+
+ /**
+ * 统计每天每个设备的腐蚀速率变化
+ *
+ */
+ @RequestMapping("/corrRateByDevice")
+ @ResponseBody
+ public Object corrRateByDevice(String beginTime, String endTime) {
+ DataScope dataScope = permissionService.getCurrUserDataScope();
+ try {
+ List> res = corrodeDataService.corrRateByDevice(beginTime, endTime, dataScope);
+ return ResponseData.success(res);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return ResponseData.error("faliure");
+ }
+ }
+
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
index 9677abd..561ec83 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
@@ -25,10 +25,7 @@
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* @author cz
@@ -51,18 +48,22 @@
DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public GasFlowDataController(ICommonPermissionService permissionService,
- IGasFlowService gasFlowService,IDeviceService iDeviceService) {
+ IGasFlowService gasFlowService, IDeviceService iDeviceService) {
this.permissionService = permissionService;
this.gasFlowService = gasFlowService;
- this.deviceService=iDeviceService;
+ this.deviceService = iDeviceService;
}
+ @ApiOperation(value = "获取某气体流量计数据列表")
@RequestMapping(value = "/listByDevice")
@ResponseBody
- public Object listByDevice(String devcode, String beginTime,String endTime) {
- List lists = gasFlowService.listByDevice(devcode,beginTime,endTime);
+ public Object listByDevice(String devcode, String beginTime, String endTime) {
+ Page page = new PageFactory().defaultPage();
+ List lists = gasFlowService.listByDevice(page,devcode, beginTime, endTime);
+ page.setRecords(lists);
return ResponseData.success(lists);
}
+
@ApiOperation(value = "获取气体流量计数据列表")
@RequestMapping(value = "/list")
@ResponseBody
@@ -72,56 +73,60 @@
DataScope dataScope = permissionService.getCurrUserDataScope();
List list = deviceService.selectDataScopePage(dataScope, page, "15", "", "", "", keywords, "", areaId);
String date = sdf.format(new Date());
+ List> viewList = new ArrayList<>();
list.forEach(deviceDto -> {
+ Map viewMap = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode());
+ if (viewMap == null) {
+ viewMap = new HashMap<>();
+ viewMap.put("yearCount", "0");
+ viewMap.put("upTime", sdf4.format(new Date()));
+ viewMap.put("totalFlow", "");
+ viewMap.put("instantFlow", "");
+ viewMap.put("instantVelocity", "");
+ viewMap.put("ambocetorTemperture", "");
+ viewMap.put("LogTime", sdf4.format(new Date()));
+ }
+ viewMap.put("devcode", deviceDto.getDevcode());
+ viewMap.put("wellCode", deviceDto.getWellCode());
+ viewMap.put("deviceTypeName", deviceDto.getDeviceTypeName());
// 获取日月年用水量和最近的读数
Map dayGasFlowDay = gasFlowService.selectGasFlowDay(deviceDto.getDevcode(), date);
if (dayGasFlowDay == null) {
deviceDto.setDayCount("0");
} else {
- deviceDto.setDayCount(dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString());
+ viewMap.put("dayCount", dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString());
}
-
Map monthGasFlow = gasFlowService.selectGasFlowMonth(deviceDto.getDevcode(), date.substring(0, 7));
if (monthGasFlow == null) {
deviceDto.setMonthCount("0");
} else {
- deviceDto.setMonthCount(monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString());
+ viewMap.put("monthCount", monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString());
}
-
Map gasFlowYear = gasFlowService.selectGasFlowTotal(deviceDto.getDevcode(), date.substring(0, 4));
if (gasFlowYear == null) {
deviceDto.setTotalCount("0");
} else {
- deviceDto.setTotalCount(gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString());
+ viewMap.put("yearCount", gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString());
}
-
- Map flowRec = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode());
- if (flowRec == null) {
- deviceDto.setWatchNum("0");
- deviceDto.setUptime(sdf4.format(new Date()));
- } else {
- deviceDto.setWatchNum(flowRec.get("TOTAL_FLOW") == null ? "0" : flowRec.get("TOTAL_FLOW").toString());
- deviceDto.setUptime(sdf4.format((Date) flowRec.get("UPTIME")));
- }
- deviceDto.setAreaFullName(deviceService.getAreaFullNameById(deviceDto.getArea()));
+ viewMap.put("areaFullName", deviceService.getAreaFullNameById(deviceDto.getArea()));
+ viewList.add(viewMap);
});
- page.setRecords(list);
- return new SuccessResponseData(super.packForBT(page));
+ HashMap dataMap = new HashMap<>();
+ dataMap.put("rows", viewList);
+ dataMap.put("total", page.getTotal());
+ return new SuccessResponseData(dataMap);
}
@ApiOperation(value = "导出气体设备数据列表")
@RequestMapping(value = "/data/export")
public void export(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
Page> page = new PageFactory>().defaultPage();
-
String keywords = httpServletRequest.getParameter("keywords");
String areaId = httpServletRequest.getParameter("areaId");
-
page.setLimit(maxRowsExcel);
page.setSize(maxRowsExcel);
page.setOffset(0);
page.setSearchCount(false);
-
//查询数据权限 使用默认DEPTID 字段
DataScope dataScope = permissionService.getCurrUserDataScope();
List> list = deviceService.selectDataScopePage(dataScope, page, "15", "", keywords, areaId);
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
index 4eb8abb..8fe72f2 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
@@ -16,5 +16,5 @@
List> getCorrodelistScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page,
@Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords);
-
+ List> corrRateByDevice(@Param("date")String date);
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
index 51fdaf0..60977e3 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
@@ -86,4 +86,13 @@
ORDER BY dg.UPTIME DESC
+
+
+ SELECT DEVCODE as devcode,CORRODE_RATE as corrodeRate
+ FROM
+ data_corrode
+ WHERE
+ DATE_FORMAT(UPTIME,'%Y-%m-%d') = #{date}
+
+
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
index 62882cb..0527ba3 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
@@ -15,7 +15,8 @@
- ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X AS LONGITUDE, COORDINATE_Y AS LATITUDE,
+ ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X
+ AS LONGITUDE, COORDINATE_Y AS LATITUDE,
as INSTALLDATE
@@ -111,11 +112,12 @@
- and (DEVCODE LIKE
- OR wellCode LIKE )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE)
- and area IN (${areaId})
+ and area IN (${areaId})
ORDER BY INSTALLDATE DESC
@@ -129,10 +131,13 @@
and deviceType = #{devType}
- and (DEVCODE LIKE
- OR wellCode LIKE
- OR POSITION LIKE
- OR AREAFULLNAME like )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE
+
+ OR POSITION LIKE
+
+ OR AREAFULLNAME like)
@@ -957,7 +962,8 @@
- SELECT
+ SELECT
+
FROM DEVICE_VIEW
WHERE VALID = '1'
@@ -967,11 +973,12 @@
and deptid = #{deptid}
- and (DEVCODE LIKE
- OR wellCode LIKE )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE)
- and area IN (${areaId})
+ and area IN (${areaId})
ORDER BY INSTALLDATE DESC
@@ -992,7 +999,8 @@
WHERE dv.VALID = '1'
AND dv.DEVCODE = #{devcode}
AND dwm.MONTH = #{month}
-
+ ORDER BY dwm.FLOW_ACC_MONTH DESC
+ LIMIT 1
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
index 30230fc..9fffd53 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
@@ -44,7 +44,7 @@
- SELECT dw.DEVCODE, dw.TOTAL_FLOW, dw.UPTIME
+ SELECT dw.DEVCODE as devcode, dw.TOTAL_FLOW as totalFlow, dw.UPTIME as upTime,dw.INSTANT_FLOW as instantFlow,dw.INSTANTS_VELOCITY as instantVelocity,dw.AMBOCETOR_TEMPERTURE as ambocetorTemperture,dw.LOGTIME as LogTime
from data_gasflow as dw
join device_view as dv on dv.DEVCODE = dw.DEVCODE
WHERE dv.VALID = '1'
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
index 952f920..4e656a8 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
@@ -18,4 +18,6 @@
*/
List> getCorrodelistScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords);
+
+ List> corrRateByDevice(String beginTime,String endTime,DataScope dataScope);
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java
index bb56b46..f2cc0fb 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.system.service;
+import com.baomidou.mybatisplus.plugins.Page;
import com.casic.missiles.modular.system.dao.GasFlowMapper;
import com.casic.missiles.modular.system.model.DataGasFlow;
@@ -37,5 +38,5 @@
* @param endTime 结束时间
* @return
*/
- List listByDevice(String devcode, String beginTime, String endTime);
+ List listByDevice(Page page, String devcode, String beginTime, String endTime);
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java
index ea744b6..781e032 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java
@@ -4,16 +4,14 @@
import com.baomidou.mybatisplus.plugins.Page;
import com.casic.missiles.core.common.service.ICommonPermissionService;
import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.core.util.ToolUtil;
import com.casic.missiles.modular.system.dao.CorrodeDataMapper;
import com.casic.missiles.modular.system.service.ICorrodeDataService;
+import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.text.SimpleDateFormat;
+import java.util.*;
@Service
public class CorrodeDataServiceImpl implements ICorrodeDataService {
@@ -37,5 +35,32 @@
return mapList;
}
+
+
+ @Override
+ public List> corrRateByDevice(String beginTime, String endTime, DataScope dataScope) {
+ SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
+ List> mapList = new ArrayList<>();
+ try {
+ Date beginDate = sdf1.parse(beginTime);
+ Date endDate = sdf1.parse(endTime);
+ Calendar date = Calendar.getInstance();
+ date.setTime(beginDate);
+ while (date.getTime().compareTo(endDate) <= 0) {
+ String tmp = sdf1.format(date.getTime());
+ List> List = corrodeDataMapper.corrRateByDevice(tmp);
+ Map dataMap=new HashMap<>();
+ dataMap.put("date", sdf2.format(date.getTime()));
+ dataMap.put("data",List);
+ mapList.add(dataMap);
+ date.add(Calendar.DAY_OF_MONTH, 1);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return mapList;
+ }
+
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
index 091145c..174f95f 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
@@ -44,8 +44,8 @@
SELECT
- COUNT(*) AS alarmTimes,
- COUNT(DISTINCT wellCode) AS alarmWells
+ COUNT(1) AS alarmTimes,
+ COUNT(DISTINCT wellCode) AS alarmWells
FROM
alarm_now_view
WHERE
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
index 5e9c2e4..36c8384 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
@@ -87,4 +87,22 @@
super.exportExcel(DeviceExportEnum.CORRODEDATA_EXPORT, list, httpServletResponse);
}
+
+ /**
+ * 统计每天每个设备的腐蚀速率变化
+ *
+ */
+ @RequestMapping("/corrRateByDevice")
+ @ResponseBody
+ public Object corrRateByDevice(String beginTime, String endTime) {
+ DataScope dataScope = permissionService.getCurrUserDataScope();
+ try {
+ List> res = corrodeDataService.corrRateByDevice(beginTime, endTime, dataScope);
+ return ResponseData.success(res);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return ResponseData.error("faliure");
+ }
+ }
+
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
index 9677abd..561ec83 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
@@ -25,10 +25,7 @@
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* @author cz
@@ -51,18 +48,22 @@
DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public GasFlowDataController(ICommonPermissionService permissionService,
- IGasFlowService gasFlowService,IDeviceService iDeviceService) {
+ IGasFlowService gasFlowService, IDeviceService iDeviceService) {
this.permissionService = permissionService;
this.gasFlowService = gasFlowService;
- this.deviceService=iDeviceService;
+ this.deviceService = iDeviceService;
}
+ @ApiOperation(value = "获取某气体流量计数据列表")
@RequestMapping(value = "/listByDevice")
@ResponseBody
- public Object listByDevice(String devcode, String beginTime,String endTime) {
- List lists = gasFlowService.listByDevice(devcode,beginTime,endTime);
+ public Object listByDevice(String devcode, String beginTime, String endTime) {
+ Page page = new PageFactory().defaultPage();
+ List lists = gasFlowService.listByDevice(page,devcode, beginTime, endTime);
+ page.setRecords(lists);
return ResponseData.success(lists);
}
+
@ApiOperation(value = "获取气体流量计数据列表")
@RequestMapping(value = "/list")
@ResponseBody
@@ -72,56 +73,60 @@
DataScope dataScope = permissionService.getCurrUserDataScope();
List list = deviceService.selectDataScopePage(dataScope, page, "15", "", "", "", keywords, "", areaId);
String date = sdf.format(new Date());
+ List> viewList = new ArrayList<>();
list.forEach(deviceDto -> {
+ Map viewMap = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode());
+ if (viewMap == null) {
+ viewMap = new HashMap<>();
+ viewMap.put("yearCount", "0");
+ viewMap.put("upTime", sdf4.format(new Date()));
+ viewMap.put("totalFlow", "");
+ viewMap.put("instantFlow", "");
+ viewMap.put("instantVelocity", "");
+ viewMap.put("ambocetorTemperture", "");
+ viewMap.put("LogTime", sdf4.format(new Date()));
+ }
+ viewMap.put("devcode", deviceDto.getDevcode());
+ viewMap.put("wellCode", deviceDto.getWellCode());
+ viewMap.put("deviceTypeName", deviceDto.getDeviceTypeName());
// 获取日月年用水量和最近的读数
Map dayGasFlowDay = gasFlowService.selectGasFlowDay(deviceDto.getDevcode(), date);
if (dayGasFlowDay == null) {
deviceDto.setDayCount("0");
} else {
- deviceDto.setDayCount(dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString());
+ viewMap.put("dayCount", dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString());
}
-
Map monthGasFlow = gasFlowService.selectGasFlowMonth(deviceDto.getDevcode(), date.substring(0, 7));
if (monthGasFlow == null) {
deviceDto.setMonthCount("0");
} else {
- deviceDto.setMonthCount(monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString());
+ viewMap.put("monthCount", monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString());
}
-
Map gasFlowYear = gasFlowService.selectGasFlowTotal(deviceDto.getDevcode(), date.substring(0, 4));
if (gasFlowYear == null) {
deviceDto.setTotalCount("0");
} else {
- deviceDto.setTotalCount(gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString());
+ viewMap.put("yearCount", gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString());
}
-
- Map flowRec = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode());
- if (flowRec == null) {
- deviceDto.setWatchNum("0");
- deviceDto.setUptime(sdf4.format(new Date()));
- } else {
- deviceDto.setWatchNum(flowRec.get("TOTAL_FLOW") == null ? "0" : flowRec.get("TOTAL_FLOW").toString());
- deviceDto.setUptime(sdf4.format((Date) flowRec.get("UPTIME")));
- }
- deviceDto.setAreaFullName(deviceService.getAreaFullNameById(deviceDto.getArea()));
+ viewMap.put("areaFullName", deviceService.getAreaFullNameById(deviceDto.getArea()));
+ viewList.add(viewMap);
});
- page.setRecords(list);
- return new SuccessResponseData(super.packForBT(page));
+ HashMap dataMap = new HashMap<>();
+ dataMap.put("rows", viewList);
+ dataMap.put("total", page.getTotal());
+ return new SuccessResponseData(dataMap);
}
@ApiOperation(value = "导出气体设备数据列表")
@RequestMapping(value = "/data/export")
public void export(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
Page> page = new PageFactory>().defaultPage();
-
String keywords = httpServletRequest.getParameter("keywords");
String areaId = httpServletRequest.getParameter("areaId");
-
page.setLimit(maxRowsExcel);
page.setSize(maxRowsExcel);
page.setOffset(0);
page.setSearchCount(false);
-
//查询数据权限 使用默认DEPTID 字段
DataScope dataScope = permissionService.getCurrUserDataScope();
List> list = deviceService.selectDataScopePage(dataScope, page, "15", "", keywords, areaId);
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
index 4eb8abb..8fe72f2 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
@@ -16,5 +16,5 @@
List> getCorrodelistScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page,
@Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords);
-
+ List> corrRateByDevice(@Param("date")String date);
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
index 51fdaf0..60977e3 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
@@ -86,4 +86,13 @@
ORDER BY dg.UPTIME DESC
+
+
+ SELECT DEVCODE as devcode,CORRODE_RATE as corrodeRate
+ FROM
+ data_corrode
+ WHERE
+ DATE_FORMAT(UPTIME,'%Y-%m-%d') = #{date}
+
+
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
index 62882cb..0527ba3 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
@@ -15,7 +15,8 @@
- ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X AS LONGITUDE, COORDINATE_Y AS LATITUDE,
+ ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X
+ AS LONGITUDE, COORDINATE_Y AS LATITUDE,
as INSTALLDATE
@@ -111,11 +112,12 @@
- and (DEVCODE LIKE
- OR wellCode LIKE )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE)
- and area IN (${areaId})
+ and area IN (${areaId})
ORDER BY INSTALLDATE DESC
@@ -129,10 +131,13 @@
and deviceType = #{devType}
- and (DEVCODE LIKE
- OR wellCode LIKE
- OR POSITION LIKE
- OR AREAFULLNAME like )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE
+
+ OR POSITION LIKE
+
+ OR AREAFULLNAME like)
@@ -957,7 +962,8 @@
- SELECT
+ SELECT
+
FROM DEVICE_VIEW
WHERE VALID = '1'
@@ -967,11 +973,12 @@
and deptid = #{deptid}
- and (DEVCODE LIKE
- OR wellCode LIKE )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE)
- and area IN (${areaId})
+ and area IN (${areaId})
ORDER BY INSTALLDATE DESC
@@ -992,7 +999,8 @@
WHERE dv.VALID = '1'
AND dv.DEVCODE = #{devcode}
AND dwm.MONTH = #{month}
-
+ ORDER BY dwm.FLOW_ACC_MONTH DESC
+ LIMIT 1
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
index 30230fc..9fffd53 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
@@ -44,7 +44,7 @@
- SELECT dw.DEVCODE, dw.TOTAL_FLOW, dw.UPTIME
+ SELECT dw.DEVCODE as devcode, dw.TOTAL_FLOW as totalFlow, dw.UPTIME as upTime,dw.INSTANT_FLOW as instantFlow,dw.INSTANTS_VELOCITY as instantVelocity,dw.AMBOCETOR_TEMPERTURE as ambocetorTemperture,dw.LOGTIME as LogTime
from data_gasflow as dw
join device_view as dv on dv.DEVCODE = dw.DEVCODE
WHERE dv.VALID = '1'
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
index 952f920..4e656a8 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
@@ -18,4 +18,6 @@
*/
List> getCorrodelistScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords);
+
+ List> corrRateByDevice(String beginTime,String endTime,DataScope dataScope);
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java
index bb56b46..f2cc0fb 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.system.service;
+import com.baomidou.mybatisplus.plugins.Page;
import com.casic.missiles.modular.system.dao.GasFlowMapper;
import com.casic.missiles.modular.system.model.DataGasFlow;
@@ -37,5 +38,5 @@
* @param endTime 结束时间
* @return
*/
- List listByDevice(String devcode, String beginTime, String endTime);
+ List listByDevice(Page page, String devcode, String beginTime, String endTime);
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java
index ea744b6..781e032 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java
@@ -4,16 +4,14 @@
import com.baomidou.mybatisplus.plugins.Page;
import com.casic.missiles.core.common.service.ICommonPermissionService;
import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.core.util.ToolUtil;
import com.casic.missiles.modular.system.dao.CorrodeDataMapper;
import com.casic.missiles.modular.system.service.ICorrodeDataService;
+import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.text.SimpleDateFormat;
+import java.util.*;
@Service
public class CorrodeDataServiceImpl implements ICorrodeDataService {
@@ -37,5 +35,32 @@
return mapList;
}
+
+
+ @Override
+ public List> corrRateByDevice(String beginTime, String endTime, DataScope dataScope) {
+ SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
+ List> mapList = new ArrayList<>();
+ try {
+ Date beginDate = sdf1.parse(beginTime);
+ Date endDate = sdf1.parse(endTime);
+ Calendar date = Calendar.getInstance();
+ date.setTime(beginDate);
+ while (date.getTime().compareTo(endDate) <= 0) {
+ String tmp = sdf1.format(date.getTime());
+ List> List = corrodeDataMapper.corrRateByDevice(tmp);
+ Map dataMap=new HashMap<>();
+ dataMap.put("date", sdf2.format(date.getTime()));
+ dataMap.put("data",List);
+ mapList.add(dataMap);
+ date.add(Calendar.DAY_OF_MONTH, 1);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return mapList;
+ }
+
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java
index 20d46f2..069bcfd 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java
@@ -1,6 +1,7 @@
package com.casic.missiles.modular.system.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.casic.missiles.core.util.ToolUtil;
import com.casic.missiles.modular.system.dao.GasFlowMapper;
@@ -91,13 +92,14 @@
}
@Override
- public List listByDevice(String devcode, String beginTime, String endTime) {
+ public List listByDevice(Page page, String devcode, String beginTime, String endTime) {
+ Page gasFlowPage = new Page<>(page.getCurrent(), page.getSize());
EntityWrapper query = new EntityWrapper();
query.eq("DEVCODE", devcode);
if (!ToolUtil.isAllEmpty(beginTime, endTime)) {
query.between("UPTIME", beginTime, endTime);
}
- List list = deviceService.selectList(query);
+ List list = baseMapper.selectPage(gasFlowPage, query);
return list;
}
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
index 091145c..174f95f 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
@@ -44,8 +44,8 @@
SELECT
- COUNT(*) AS alarmTimes,
- COUNT(DISTINCT wellCode) AS alarmWells
+ COUNT(1) AS alarmTimes,
+ COUNT(DISTINCT wellCode) AS alarmWells
FROM
alarm_now_view
WHERE
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
index 5e9c2e4..36c8384 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
@@ -87,4 +87,22 @@
super.exportExcel(DeviceExportEnum.CORRODEDATA_EXPORT, list, httpServletResponse);
}
+
+ /**
+ * 统计每天每个设备的腐蚀速率变化
+ *
+ */
+ @RequestMapping("/corrRateByDevice")
+ @ResponseBody
+ public Object corrRateByDevice(String beginTime, String endTime) {
+ DataScope dataScope = permissionService.getCurrUserDataScope();
+ try {
+ List> res = corrodeDataService.corrRateByDevice(beginTime, endTime, dataScope);
+ return ResponseData.success(res);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return ResponseData.error("faliure");
+ }
+ }
+
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
index 9677abd..561ec83 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
@@ -25,10 +25,7 @@
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* @author cz
@@ -51,18 +48,22 @@
DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public GasFlowDataController(ICommonPermissionService permissionService,
- IGasFlowService gasFlowService,IDeviceService iDeviceService) {
+ IGasFlowService gasFlowService, IDeviceService iDeviceService) {
this.permissionService = permissionService;
this.gasFlowService = gasFlowService;
- this.deviceService=iDeviceService;
+ this.deviceService = iDeviceService;
}
+ @ApiOperation(value = "获取某气体流量计数据列表")
@RequestMapping(value = "/listByDevice")
@ResponseBody
- public Object listByDevice(String devcode, String beginTime,String endTime) {
- List lists = gasFlowService.listByDevice(devcode,beginTime,endTime);
+ public Object listByDevice(String devcode, String beginTime, String endTime) {
+ Page page = new PageFactory().defaultPage();
+ List lists = gasFlowService.listByDevice(page,devcode, beginTime, endTime);
+ page.setRecords(lists);
return ResponseData.success(lists);
}
+
@ApiOperation(value = "获取气体流量计数据列表")
@RequestMapping(value = "/list")
@ResponseBody
@@ -72,56 +73,60 @@
DataScope dataScope = permissionService.getCurrUserDataScope();
List list = deviceService.selectDataScopePage(dataScope, page, "15", "", "", "", keywords, "", areaId);
String date = sdf.format(new Date());
+ List> viewList = new ArrayList<>();
list.forEach(deviceDto -> {
+ Map viewMap = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode());
+ if (viewMap == null) {
+ viewMap = new HashMap<>();
+ viewMap.put("yearCount", "0");
+ viewMap.put("upTime", sdf4.format(new Date()));
+ viewMap.put("totalFlow", "");
+ viewMap.put("instantFlow", "");
+ viewMap.put("instantVelocity", "");
+ viewMap.put("ambocetorTemperture", "");
+ viewMap.put("LogTime", sdf4.format(new Date()));
+ }
+ viewMap.put("devcode", deviceDto.getDevcode());
+ viewMap.put("wellCode", deviceDto.getWellCode());
+ viewMap.put("deviceTypeName", deviceDto.getDeviceTypeName());
// 获取日月年用水量和最近的读数
Map dayGasFlowDay = gasFlowService.selectGasFlowDay(deviceDto.getDevcode(), date);
if (dayGasFlowDay == null) {
deviceDto.setDayCount("0");
} else {
- deviceDto.setDayCount(dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString());
+ viewMap.put("dayCount", dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString());
}
-
Map monthGasFlow = gasFlowService.selectGasFlowMonth(deviceDto.getDevcode(), date.substring(0, 7));
if (monthGasFlow == null) {
deviceDto.setMonthCount("0");
} else {
- deviceDto.setMonthCount(monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString());
+ viewMap.put("monthCount", monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString());
}
-
Map gasFlowYear = gasFlowService.selectGasFlowTotal(deviceDto.getDevcode(), date.substring(0, 4));
if (gasFlowYear == null) {
deviceDto.setTotalCount("0");
} else {
- deviceDto.setTotalCount(gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString());
+ viewMap.put("yearCount", gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString());
}
-
- Map flowRec = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode());
- if (flowRec == null) {
- deviceDto.setWatchNum("0");
- deviceDto.setUptime(sdf4.format(new Date()));
- } else {
- deviceDto.setWatchNum(flowRec.get("TOTAL_FLOW") == null ? "0" : flowRec.get("TOTAL_FLOW").toString());
- deviceDto.setUptime(sdf4.format((Date) flowRec.get("UPTIME")));
- }
- deviceDto.setAreaFullName(deviceService.getAreaFullNameById(deviceDto.getArea()));
+ viewMap.put("areaFullName", deviceService.getAreaFullNameById(deviceDto.getArea()));
+ viewList.add(viewMap);
});
- page.setRecords(list);
- return new SuccessResponseData(super.packForBT(page));
+ HashMap dataMap = new HashMap<>();
+ dataMap.put("rows", viewList);
+ dataMap.put("total", page.getTotal());
+ return new SuccessResponseData(dataMap);
}
@ApiOperation(value = "导出气体设备数据列表")
@RequestMapping(value = "/data/export")
public void export(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
Page> page = new PageFactory>().defaultPage();
-
String keywords = httpServletRequest.getParameter("keywords");
String areaId = httpServletRequest.getParameter("areaId");
-
page.setLimit(maxRowsExcel);
page.setSize(maxRowsExcel);
page.setOffset(0);
page.setSearchCount(false);
-
//查询数据权限 使用默认DEPTID 字段
DataScope dataScope = permissionService.getCurrUserDataScope();
List> list = deviceService.selectDataScopePage(dataScope, page, "15", "", keywords, areaId);
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
index 4eb8abb..8fe72f2 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
@@ -16,5 +16,5 @@
List> getCorrodelistScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page,
@Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords);
-
+ List> corrRateByDevice(@Param("date")String date);
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
index 51fdaf0..60977e3 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
@@ -86,4 +86,13 @@
ORDER BY dg.UPTIME DESC
+
+
+ SELECT DEVCODE as devcode,CORRODE_RATE as corrodeRate
+ FROM
+ data_corrode
+ WHERE
+ DATE_FORMAT(UPTIME,'%Y-%m-%d') = #{date}
+
+
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
index 62882cb..0527ba3 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
@@ -15,7 +15,8 @@
- ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X AS LONGITUDE, COORDINATE_Y AS LATITUDE,
+ ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X
+ AS LONGITUDE, COORDINATE_Y AS LATITUDE,
as INSTALLDATE
@@ -111,11 +112,12 @@
- and (DEVCODE LIKE
- OR wellCode LIKE )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE)
- and area IN (${areaId})
+ and area IN (${areaId})
ORDER BY INSTALLDATE DESC
@@ -129,10 +131,13 @@
and deviceType = #{devType}
- and (DEVCODE LIKE
- OR wellCode LIKE
- OR POSITION LIKE
- OR AREAFULLNAME like )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE
+
+ OR POSITION LIKE
+
+ OR AREAFULLNAME like)
@@ -957,7 +962,8 @@
- SELECT
+ SELECT
+
FROM DEVICE_VIEW
WHERE VALID = '1'
@@ -967,11 +973,12 @@
and deptid = #{deptid}
- and (DEVCODE LIKE
- OR wellCode LIKE )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE)
- and area IN (${areaId})
+ and area IN (${areaId})
ORDER BY INSTALLDATE DESC
@@ -992,7 +999,8 @@
WHERE dv.VALID = '1'
AND dv.DEVCODE = #{devcode}
AND dwm.MONTH = #{month}
-
+ ORDER BY dwm.FLOW_ACC_MONTH DESC
+ LIMIT 1
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
index 30230fc..9fffd53 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
@@ -44,7 +44,7 @@
- SELECT dw.DEVCODE, dw.TOTAL_FLOW, dw.UPTIME
+ SELECT dw.DEVCODE as devcode, dw.TOTAL_FLOW as totalFlow, dw.UPTIME as upTime,dw.INSTANT_FLOW as instantFlow,dw.INSTANTS_VELOCITY as instantVelocity,dw.AMBOCETOR_TEMPERTURE as ambocetorTemperture,dw.LOGTIME as LogTime
from data_gasflow as dw
join device_view as dv on dv.DEVCODE = dw.DEVCODE
WHERE dv.VALID = '1'
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
index 952f920..4e656a8 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
@@ -18,4 +18,6 @@
*/
List> getCorrodelistScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords);
+
+ List> corrRateByDevice(String beginTime,String endTime,DataScope dataScope);
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java
index bb56b46..f2cc0fb 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.system.service;
+import com.baomidou.mybatisplus.plugins.Page;
import com.casic.missiles.modular.system.dao.GasFlowMapper;
import com.casic.missiles.modular.system.model.DataGasFlow;
@@ -37,5 +38,5 @@
* @param endTime 结束时间
* @return
*/
- List listByDevice(String devcode, String beginTime, String endTime);
+ List listByDevice(Page page, String devcode, String beginTime, String endTime);
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java
index ea744b6..781e032 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java
@@ -4,16 +4,14 @@
import com.baomidou.mybatisplus.plugins.Page;
import com.casic.missiles.core.common.service.ICommonPermissionService;
import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.core.util.ToolUtil;
import com.casic.missiles.modular.system.dao.CorrodeDataMapper;
import com.casic.missiles.modular.system.service.ICorrodeDataService;
+import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.text.SimpleDateFormat;
+import java.util.*;
@Service
public class CorrodeDataServiceImpl implements ICorrodeDataService {
@@ -37,5 +35,32 @@
return mapList;
}
+
+
+ @Override
+ public List> corrRateByDevice(String beginTime, String endTime, DataScope dataScope) {
+ SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
+ List> mapList = new ArrayList<>();
+ try {
+ Date beginDate = sdf1.parse(beginTime);
+ Date endDate = sdf1.parse(endTime);
+ Calendar date = Calendar.getInstance();
+ date.setTime(beginDate);
+ while (date.getTime().compareTo(endDate) <= 0) {
+ String tmp = sdf1.format(date.getTime());
+ List> List = corrodeDataMapper.corrRateByDevice(tmp);
+ Map dataMap=new HashMap<>();
+ dataMap.put("date", sdf2.format(date.getTime()));
+ dataMap.put("data",List);
+ mapList.add(dataMap);
+ date.add(Calendar.DAY_OF_MONTH, 1);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return mapList;
+ }
+
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java
index 20d46f2..069bcfd 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java
@@ -1,6 +1,7 @@
package com.casic.missiles.modular.system.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.casic.missiles.core.util.ToolUtil;
import com.casic.missiles.modular.system.dao.GasFlowMapper;
@@ -91,13 +92,14 @@
}
@Override
- public List listByDevice(String devcode, String beginTime, String endTime) {
+ public List listByDevice(Page page, String devcode, String beginTime, String endTime) {
+ Page gasFlowPage = new Page<>(page.getCurrent(), page.getSize());
EntityWrapper query = new EntityWrapper();
query.eq("DEVCODE", devcode);
if (!ToolUtil.isAllEmpty(beginTime, endTime)) {
query.between("UPTIME", beginTime, endTime);
}
- List list = deviceService.selectList(query);
+ List list = baseMapper.selectPage(gasFlowPage, query);
return list;
}
}
diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/DataGasFlowMapper.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/DataGasFlowMapper.java
index 1762d39..9256c80 100644
--- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/DataGasFlowMapper.java
+++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/DataGasFlowMapper.java
@@ -8,15 +8,10 @@
import java.util.Map;
public interface DataGasFlowMapper extends BaseMapper {
+
DataWaterMeter selectLatestRecordByDevcode(@Param("devcode") String devcode, @Param("uptime") String uptime);
Map selectLatestDayAccByDevice(@Param("devcode") String devcode, @Param("date") String date);
Map isExistDataGasFlowMonth(@Param("devcode") String devcode, @Param("month") String month);
-
- void insertDataGasFlowDay(@Param("dataDay") Map dataDay);
-
- void insertDataGasFlowMonth(@Param("dataMonth") Map dataMonth);
-
- void updateDataGasFlowMonth(@Param("dataMonth") Map dataMonth, @Param("id") Long id);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
index 091145c..174f95f 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
@@ -44,8 +44,8 @@
SELECT
- COUNT(*) AS alarmTimes,
- COUNT(DISTINCT wellCode) AS alarmWells
+ COUNT(1) AS alarmTimes,
+ COUNT(DISTINCT wellCode) AS alarmWells
FROM
alarm_now_view
WHERE
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
index 5e9c2e4..36c8384 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
@@ -87,4 +87,22 @@
super.exportExcel(DeviceExportEnum.CORRODEDATA_EXPORT, list, httpServletResponse);
}
+
+ /**
+ * 统计每天每个设备的腐蚀速率变化
+ *
+ */
+ @RequestMapping("/corrRateByDevice")
+ @ResponseBody
+ public Object corrRateByDevice(String beginTime, String endTime) {
+ DataScope dataScope = permissionService.getCurrUserDataScope();
+ try {
+ List> res = corrodeDataService.corrRateByDevice(beginTime, endTime, dataScope);
+ return ResponseData.success(res);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return ResponseData.error("faliure");
+ }
+ }
+
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
index 9677abd..561ec83 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
@@ -25,10 +25,7 @@
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* @author cz
@@ -51,18 +48,22 @@
DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public GasFlowDataController(ICommonPermissionService permissionService,
- IGasFlowService gasFlowService,IDeviceService iDeviceService) {
+ IGasFlowService gasFlowService, IDeviceService iDeviceService) {
this.permissionService = permissionService;
this.gasFlowService = gasFlowService;
- this.deviceService=iDeviceService;
+ this.deviceService = iDeviceService;
}
+ @ApiOperation(value = "获取某气体流量计数据列表")
@RequestMapping(value = "/listByDevice")
@ResponseBody
- public Object listByDevice(String devcode, String beginTime,String endTime) {
- List lists = gasFlowService.listByDevice(devcode,beginTime,endTime);
+ public Object listByDevice(String devcode, String beginTime, String endTime) {
+ Page page = new PageFactory().defaultPage();
+ List lists = gasFlowService.listByDevice(page,devcode, beginTime, endTime);
+ page.setRecords(lists);
return ResponseData.success(lists);
}
+
@ApiOperation(value = "获取气体流量计数据列表")
@RequestMapping(value = "/list")
@ResponseBody
@@ -72,56 +73,60 @@
DataScope dataScope = permissionService.getCurrUserDataScope();
List list = deviceService.selectDataScopePage(dataScope, page, "15", "", "", "", keywords, "", areaId);
String date = sdf.format(new Date());
+ List> viewList = new ArrayList<>();
list.forEach(deviceDto -> {
+ Map viewMap = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode());
+ if (viewMap == null) {
+ viewMap = new HashMap<>();
+ viewMap.put("yearCount", "0");
+ viewMap.put("upTime", sdf4.format(new Date()));
+ viewMap.put("totalFlow", "");
+ viewMap.put("instantFlow", "");
+ viewMap.put("instantVelocity", "");
+ viewMap.put("ambocetorTemperture", "");
+ viewMap.put("LogTime", sdf4.format(new Date()));
+ }
+ viewMap.put("devcode", deviceDto.getDevcode());
+ viewMap.put("wellCode", deviceDto.getWellCode());
+ viewMap.put("deviceTypeName", deviceDto.getDeviceTypeName());
// 获取日月年用水量和最近的读数
Map dayGasFlowDay = gasFlowService.selectGasFlowDay(deviceDto.getDevcode(), date);
if (dayGasFlowDay == null) {
deviceDto.setDayCount("0");
} else {
- deviceDto.setDayCount(dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString());
+ viewMap.put("dayCount", dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString());
}
-
Map monthGasFlow = gasFlowService.selectGasFlowMonth(deviceDto.getDevcode(), date.substring(0, 7));
if (monthGasFlow == null) {
deviceDto.setMonthCount("0");
} else {
- deviceDto.setMonthCount(monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString());
+ viewMap.put("monthCount", monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString());
}
-
Map gasFlowYear = gasFlowService.selectGasFlowTotal(deviceDto.getDevcode(), date.substring(0, 4));
if (gasFlowYear == null) {
deviceDto.setTotalCount("0");
} else {
- deviceDto.setTotalCount(gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString());
+ viewMap.put("yearCount", gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString());
}
-
- Map flowRec = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode());
- if (flowRec == null) {
- deviceDto.setWatchNum("0");
- deviceDto.setUptime(sdf4.format(new Date()));
- } else {
- deviceDto.setWatchNum(flowRec.get("TOTAL_FLOW") == null ? "0" : flowRec.get("TOTAL_FLOW").toString());
- deviceDto.setUptime(sdf4.format((Date) flowRec.get("UPTIME")));
- }
- deviceDto.setAreaFullName(deviceService.getAreaFullNameById(deviceDto.getArea()));
+ viewMap.put("areaFullName", deviceService.getAreaFullNameById(deviceDto.getArea()));
+ viewList.add(viewMap);
});
- page.setRecords(list);
- return new SuccessResponseData(super.packForBT(page));
+ HashMap dataMap = new HashMap<>();
+ dataMap.put("rows", viewList);
+ dataMap.put("total", page.getTotal());
+ return new SuccessResponseData(dataMap);
}
@ApiOperation(value = "导出气体设备数据列表")
@RequestMapping(value = "/data/export")
public void export(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
Page> page = new PageFactory>().defaultPage();
-
String keywords = httpServletRequest.getParameter("keywords");
String areaId = httpServletRequest.getParameter("areaId");
-
page.setLimit(maxRowsExcel);
page.setSize(maxRowsExcel);
page.setOffset(0);
page.setSearchCount(false);
-
//查询数据权限 使用默认DEPTID 字段
DataScope dataScope = permissionService.getCurrUserDataScope();
List> list = deviceService.selectDataScopePage(dataScope, page, "15", "", keywords, areaId);
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
index 4eb8abb..8fe72f2 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
@@ -16,5 +16,5 @@
List> getCorrodelistScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page,
@Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords);
-
+ List> corrRateByDevice(@Param("date")String date);
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
index 51fdaf0..60977e3 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
@@ -86,4 +86,13 @@
ORDER BY dg.UPTIME DESC
+
+
+ SELECT DEVCODE as devcode,CORRODE_RATE as corrodeRate
+ FROM
+ data_corrode
+ WHERE
+ DATE_FORMAT(UPTIME,'%Y-%m-%d') = #{date}
+
+
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
index 62882cb..0527ba3 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
@@ -15,7 +15,8 @@
- ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X AS LONGITUDE, COORDINATE_Y AS LATITUDE,
+ ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X
+ AS LONGITUDE, COORDINATE_Y AS LATITUDE,
as INSTALLDATE
@@ -111,11 +112,12 @@
- and (DEVCODE LIKE
- OR wellCode LIKE )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE)
- and area IN (${areaId})
+ and area IN (${areaId})
ORDER BY INSTALLDATE DESC
@@ -129,10 +131,13 @@
and deviceType = #{devType}
- and (DEVCODE LIKE
- OR wellCode LIKE
- OR POSITION LIKE
- OR AREAFULLNAME like )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE
+
+ OR POSITION LIKE
+
+ OR AREAFULLNAME like)
@@ -957,7 +962,8 @@
- SELECT
+ SELECT
+
FROM DEVICE_VIEW
WHERE VALID = '1'
@@ -967,11 +973,12 @@
and deptid = #{deptid}
- and (DEVCODE LIKE
- OR wellCode LIKE )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE)
- and area IN (${areaId})
+ and area IN (${areaId})
ORDER BY INSTALLDATE DESC
@@ -992,7 +999,8 @@
WHERE dv.VALID = '1'
AND dv.DEVCODE = #{devcode}
AND dwm.MONTH = #{month}
-
+ ORDER BY dwm.FLOW_ACC_MONTH DESC
+ LIMIT 1
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
index 30230fc..9fffd53 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
@@ -44,7 +44,7 @@
- SELECT dw.DEVCODE, dw.TOTAL_FLOW, dw.UPTIME
+ SELECT dw.DEVCODE as devcode, dw.TOTAL_FLOW as totalFlow, dw.UPTIME as upTime,dw.INSTANT_FLOW as instantFlow,dw.INSTANTS_VELOCITY as instantVelocity,dw.AMBOCETOR_TEMPERTURE as ambocetorTemperture,dw.LOGTIME as LogTime
from data_gasflow as dw
join device_view as dv on dv.DEVCODE = dw.DEVCODE
WHERE dv.VALID = '1'
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
index 952f920..4e656a8 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
@@ -18,4 +18,6 @@
*/
List> getCorrodelistScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords);
+
+ List> corrRateByDevice(String beginTime,String endTime,DataScope dataScope);
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java
index bb56b46..f2cc0fb 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.system.service;
+import com.baomidou.mybatisplus.plugins.Page;
import com.casic.missiles.modular.system.dao.GasFlowMapper;
import com.casic.missiles.modular.system.model.DataGasFlow;
@@ -37,5 +38,5 @@
* @param endTime 结束时间
* @return
*/
- List listByDevice(String devcode, String beginTime, String endTime);
+ List listByDevice(Page page, String devcode, String beginTime, String endTime);
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java
index ea744b6..781e032 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java
@@ -4,16 +4,14 @@
import com.baomidou.mybatisplus.plugins.Page;
import com.casic.missiles.core.common.service.ICommonPermissionService;
import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.core.util.ToolUtil;
import com.casic.missiles.modular.system.dao.CorrodeDataMapper;
import com.casic.missiles.modular.system.service.ICorrodeDataService;
+import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.text.SimpleDateFormat;
+import java.util.*;
@Service
public class CorrodeDataServiceImpl implements ICorrodeDataService {
@@ -37,5 +35,32 @@
return mapList;
}
+
+
+ @Override
+ public List> corrRateByDevice(String beginTime, String endTime, DataScope dataScope) {
+ SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
+ List> mapList = new ArrayList<>();
+ try {
+ Date beginDate = sdf1.parse(beginTime);
+ Date endDate = sdf1.parse(endTime);
+ Calendar date = Calendar.getInstance();
+ date.setTime(beginDate);
+ while (date.getTime().compareTo(endDate) <= 0) {
+ String tmp = sdf1.format(date.getTime());
+ List> List = corrodeDataMapper.corrRateByDevice(tmp);
+ Map dataMap=new HashMap<>();
+ dataMap.put("date", sdf2.format(date.getTime()));
+ dataMap.put("data",List);
+ mapList.add(dataMap);
+ date.add(Calendar.DAY_OF_MONTH, 1);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return mapList;
+ }
+
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java
index 20d46f2..069bcfd 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java
@@ -1,6 +1,7 @@
package com.casic.missiles.modular.system.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.casic.missiles.core.util.ToolUtil;
import com.casic.missiles.modular.system.dao.GasFlowMapper;
@@ -91,13 +92,14 @@
}
@Override
- public List listByDevice(String devcode, String beginTime, String endTime) {
+ public List listByDevice(Page page, String devcode, String beginTime, String endTime) {
+ Page gasFlowPage = new Page<>(page.getCurrent(), page.getSize());
EntityWrapper query = new EntityWrapper();
query.eq("DEVCODE", devcode);
if (!ToolUtil.isAllEmpty(beginTime, endTime)) {
query.between("UPTIME", beginTime, endTime);
}
- List list = deviceService.selectList(query);
+ List list = baseMapper.selectPage(gasFlowPage, query);
return list;
}
}
diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/DataGasFlowMapper.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/DataGasFlowMapper.java
index 1762d39..9256c80 100644
--- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/DataGasFlowMapper.java
+++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/DataGasFlowMapper.java
@@ -8,15 +8,10 @@
import java.util.Map;
public interface DataGasFlowMapper extends BaseMapper {
+
DataWaterMeter selectLatestRecordByDevcode(@Param("devcode") String devcode, @Param("uptime") String uptime);
Map selectLatestDayAccByDevice(@Param("devcode") String devcode, @Param("date") String date);
Map isExistDataGasFlowMonth(@Param("devcode") String devcode, @Param("month") String month);
-
- void insertDataGasFlowDay(@Param("dataDay") Map dataDay);
-
- void insertDataGasFlowMonth(@Param("dataMonth") Map dataMonth);
-
- void updateDataGasFlowMonth(@Param("dataMonth") Map dataMonth, @Param("id") Long id);
}
diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasFlowMapper.xml b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasFlowMapper.xml
index 91a2c18..34d604d 100644
--- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasFlowMapper.xml
+++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasFlowMapper.xml
@@ -24,7 +24,8 @@
- SELECT
+ SELECT
+
FROM data_gasflow
WHERE devcode = #{devcode} and unix_timestamp(uptime) < unix_timestamp(#{uptime})
ORDER BY uptime DESC
@@ -38,30 +39,10 @@
- SELECT ID as id, WELL_CODE as wellCode, DEVCODE as devCode, FLOW_ACC_MONTH as flowAccMonth, FIRST_ACC as firstAcc, LAST_ACC as lastAcc, MONTH as month
- FROM data_watermeter_month
+ SELECT ID as id, WELL_CODE as wellCode, DEVCODE as devCode, TOTAL_FLOW_MONTH as totalFlowMonth, FIRST_TOTAL as firstAcc, END_TOTAL as lastAcc, MONTH as month
+ FROM data_gasflow_month
WHERE DEVCODE = #{devcode} and MONTH = #{month}
LIMIT 1
-
- INSERT INTO data_gasflow_day (ID,WELL_CODE, DEVCODE, TOTAL_FLOW_DATE,TOTAL_FLOW, DATE)
- VALUES (#{dataDay.id},#{dataDay.wellCode}, #{dataDay.devCode}, #{dataDay.totalFlowDate},
- #{dataDay.totalFlow}, #{dataDay.date})
-
-
-
-
- INSERT INTO data_gasflow_month (ID,WELL_CODE, DEVCODE, TOTAL_FLOW_MONTH, FIRST_TOTAL, END_TOTAL, MONTH)
- VALUES (#{dataDay.id},#{dataMonth.wellCode}, #{dataMonth.devCode}, #{dataMonth.totalFlowMonth},
- #{dataMonth.firstTotal}, #{dataMonth.endTotal}, #{dataMonth.month})
-
-
-
- UPDATE data_gasflow_month
- SET TOTAL_FLOW_MONTH = #{dataMonth.totalFlowMonth},
- END_FLOW = #{dataMonth.endTotal}
- WHERE ID = #{id}
-
-
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
index 091145c..174f95f 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
@@ -44,8 +44,8 @@
SELECT
- COUNT(*) AS alarmTimes,
- COUNT(DISTINCT wellCode) AS alarmWells
+ COUNT(1) AS alarmTimes,
+ COUNT(DISTINCT wellCode) AS alarmWells
FROM
alarm_now_view
WHERE
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
index 5e9c2e4..36c8384 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
@@ -87,4 +87,22 @@
super.exportExcel(DeviceExportEnum.CORRODEDATA_EXPORT, list, httpServletResponse);
}
+
+ /**
+ * 统计每天每个设备的腐蚀速率变化
+ *
+ */
+ @RequestMapping("/corrRateByDevice")
+ @ResponseBody
+ public Object corrRateByDevice(String beginTime, String endTime) {
+ DataScope dataScope = permissionService.getCurrUserDataScope();
+ try {
+ List> res = corrodeDataService.corrRateByDevice(beginTime, endTime, dataScope);
+ return ResponseData.success(res);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return ResponseData.error("faliure");
+ }
+ }
+
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
index 9677abd..561ec83 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
@@ -25,10 +25,7 @@
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* @author cz
@@ -51,18 +48,22 @@
DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public GasFlowDataController(ICommonPermissionService permissionService,
- IGasFlowService gasFlowService,IDeviceService iDeviceService) {
+ IGasFlowService gasFlowService, IDeviceService iDeviceService) {
this.permissionService = permissionService;
this.gasFlowService = gasFlowService;
- this.deviceService=iDeviceService;
+ this.deviceService = iDeviceService;
}
+ @ApiOperation(value = "获取某气体流量计数据列表")
@RequestMapping(value = "/listByDevice")
@ResponseBody
- public Object listByDevice(String devcode, String beginTime,String endTime) {
- List lists = gasFlowService.listByDevice(devcode,beginTime,endTime);
+ public Object listByDevice(String devcode, String beginTime, String endTime) {
+ Page page = new PageFactory().defaultPage();
+ List lists = gasFlowService.listByDevice(page,devcode, beginTime, endTime);
+ page.setRecords(lists);
return ResponseData.success(lists);
}
+
@ApiOperation(value = "获取气体流量计数据列表")
@RequestMapping(value = "/list")
@ResponseBody
@@ -72,56 +73,60 @@
DataScope dataScope = permissionService.getCurrUserDataScope();
List list = deviceService.selectDataScopePage(dataScope, page, "15", "", "", "", keywords, "", areaId);
String date = sdf.format(new Date());
+ List> viewList = new ArrayList<>();
list.forEach(deviceDto -> {
+ Map viewMap = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode());
+ if (viewMap == null) {
+ viewMap = new HashMap<>();
+ viewMap.put("yearCount", "0");
+ viewMap.put("upTime", sdf4.format(new Date()));
+ viewMap.put("totalFlow", "");
+ viewMap.put("instantFlow", "");
+ viewMap.put("instantVelocity", "");
+ viewMap.put("ambocetorTemperture", "");
+ viewMap.put("LogTime", sdf4.format(new Date()));
+ }
+ viewMap.put("devcode", deviceDto.getDevcode());
+ viewMap.put("wellCode", deviceDto.getWellCode());
+ viewMap.put("deviceTypeName", deviceDto.getDeviceTypeName());
// 获取日月年用水量和最近的读数
Map dayGasFlowDay = gasFlowService.selectGasFlowDay(deviceDto.getDevcode(), date);
if (dayGasFlowDay == null) {
deviceDto.setDayCount("0");
} else {
- deviceDto.setDayCount(dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString());
+ viewMap.put("dayCount", dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString());
}
-
Map monthGasFlow = gasFlowService.selectGasFlowMonth(deviceDto.getDevcode(), date.substring(0, 7));
if (monthGasFlow == null) {
deviceDto.setMonthCount("0");
} else {
- deviceDto.setMonthCount(monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString());
+ viewMap.put("monthCount", monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString());
}
-
Map gasFlowYear = gasFlowService.selectGasFlowTotal(deviceDto.getDevcode(), date.substring(0, 4));
if (gasFlowYear == null) {
deviceDto.setTotalCount("0");
} else {
- deviceDto.setTotalCount(gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString());
+ viewMap.put("yearCount", gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString());
}
-
- Map flowRec = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode());
- if (flowRec == null) {
- deviceDto.setWatchNum("0");
- deviceDto.setUptime(sdf4.format(new Date()));
- } else {
- deviceDto.setWatchNum(flowRec.get("TOTAL_FLOW") == null ? "0" : flowRec.get("TOTAL_FLOW").toString());
- deviceDto.setUptime(sdf4.format((Date) flowRec.get("UPTIME")));
- }
- deviceDto.setAreaFullName(deviceService.getAreaFullNameById(deviceDto.getArea()));
+ viewMap.put("areaFullName", deviceService.getAreaFullNameById(deviceDto.getArea()));
+ viewList.add(viewMap);
});
- page.setRecords(list);
- return new SuccessResponseData(super.packForBT(page));
+ HashMap dataMap = new HashMap<>();
+ dataMap.put("rows", viewList);
+ dataMap.put("total", page.getTotal());
+ return new SuccessResponseData(dataMap);
}
@ApiOperation(value = "导出气体设备数据列表")
@RequestMapping(value = "/data/export")
public void export(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
Page> page = new PageFactory>().defaultPage();
-
String keywords = httpServletRequest.getParameter("keywords");
String areaId = httpServletRequest.getParameter("areaId");
-
page.setLimit(maxRowsExcel);
page.setSize(maxRowsExcel);
page.setOffset(0);
page.setSearchCount(false);
-
//查询数据权限 使用默认DEPTID 字段
DataScope dataScope = permissionService.getCurrUserDataScope();
List> list = deviceService.selectDataScopePage(dataScope, page, "15", "", keywords, areaId);
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
index 4eb8abb..8fe72f2 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
@@ -16,5 +16,5 @@
List> getCorrodelistScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page,
@Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords);
-
+ List> corrRateByDevice(@Param("date")String date);
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
index 51fdaf0..60977e3 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
@@ -86,4 +86,13 @@
ORDER BY dg.UPTIME DESC
+
+
+ SELECT DEVCODE as devcode,CORRODE_RATE as corrodeRate
+ FROM
+ data_corrode
+ WHERE
+ DATE_FORMAT(UPTIME,'%Y-%m-%d') = #{date}
+
+
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
index 62882cb..0527ba3 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
@@ -15,7 +15,8 @@
- ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X AS LONGITUDE, COORDINATE_Y AS LATITUDE,
+ ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X
+ AS LONGITUDE, COORDINATE_Y AS LATITUDE,
as INSTALLDATE
@@ -111,11 +112,12 @@
- and (DEVCODE LIKE
- OR wellCode LIKE )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE)
- and area IN (${areaId})
+ and area IN (${areaId})
ORDER BY INSTALLDATE DESC
@@ -129,10 +131,13 @@
and deviceType = #{devType}
- and (DEVCODE LIKE
- OR wellCode LIKE
- OR POSITION LIKE
- OR AREAFULLNAME like )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE
+
+ OR POSITION LIKE
+
+ OR AREAFULLNAME like)
@@ -957,7 +962,8 @@
- SELECT
+ SELECT
+
FROM DEVICE_VIEW
WHERE VALID = '1'
@@ -967,11 +973,12 @@
and deptid = #{deptid}
- and (DEVCODE LIKE
- OR wellCode LIKE )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE)
- and area IN (${areaId})
+ and area IN (${areaId})
ORDER BY INSTALLDATE DESC
@@ -992,7 +999,8 @@
WHERE dv.VALID = '1'
AND dv.DEVCODE = #{devcode}
AND dwm.MONTH = #{month}
-
+ ORDER BY dwm.FLOW_ACC_MONTH DESC
+ LIMIT 1
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
index 30230fc..9fffd53 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
@@ -44,7 +44,7 @@
- SELECT dw.DEVCODE, dw.TOTAL_FLOW, dw.UPTIME
+ SELECT dw.DEVCODE as devcode, dw.TOTAL_FLOW as totalFlow, dw.UPTIME as upTime,dw.INSTANT_FLOW as instantFlow,dw.INSTANTS_VELOCITY as instantVelocity,dw.AMBOCETOR_TEMPERTURE as ambocetorTemperture,dw.LOGTIME as LogTime
from data_gasflow as dw
join device_view as dv on dv.DEVCODE = dw.DEVCODE
WHERE dv.VALID = '1'
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
index 952f920..4e656a8 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
@@ -18,4 +18,6 @@
*/
List> getCorrodelistScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords);
+
+ List> corrRateByDevice(String beginTime,String endTime,DataScope dataScope);
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java
index bb56b46..f2cc0fb 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.system.service;
+import com.baomidou.mybatisplus.plugins.Page;
import com.casic.missiles.modular.system.dao.GasFlowMapper;
import com.casic.missiles.modular.system.model.DataGasFlow;
@@ -37,5 +38,5 @@
* @param endTime 结束时间
* @return
*/
- List listByDevice(String devcode, String beginTime, String endTime);
+ List listByDevice(Page page, String devcode, String beginTime, String endTime);
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java
index ea744b6..781e032 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java
@@ -4,16 +4,14 @@
import com.baomidou.mybatisplus.plugins.Page;
import com.casic.missiles.core.common.service.ICommonPermissionService;
import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.core.util.ToolUtil;
import com.casic.missiles.modular.system.dao.CorrodeDataMapper;
import com.casic.missiles.modular.system.service.ICorrodeDataService;
+import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.text.SimpleDateFormat;
+import java.util.*;
@Service
public class CorrodeDataServiceImpl implements ICorrodeDataService {
@@ -37,5 +35,32 @@
return mapList;
}
+
+
+ @Override
+ public List> corrRateByDevice(String beginTime, String endTime, DataScope dataScope) {
+ SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
+ List> mapList = new ArrayList<>();
+ try {
+ Date beginDate = sdf1.parse(beginTime);
+ Date endDate = sdf1.parse(endTime);
+ Calendar date = Calendar.getInstance();
+ date.setTime(beginDate);
+ while (date.getTime().compareTo(endDate) <= 0) {
+ String tmp = sdf1.format(date.getTime());
+ List> List = corrodeDataMapper.corrRateByDevice(tmp);
+ Map dataMap=new HashMap<>();
+ dataMap.put("date", sdf2.format(date.getTime()));
+ dataMap.put("data",List);
+ mapList.add(dataMap);
+ date.add(Calendar.DAY_OF_MONTH, 1);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return mapList;
+ }
+
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java
index 20d46f2..069bcfd 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java
@@ -1,6 +1,7 @@
package com.casic.missiles.modular.system.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.casic.missiles.core.util.ToolUtil;
import com.casic.missiles.modular.system.dao.GasFlowMapper;
@@ -91,13 +92,14 @@
}
@Override
- public List listByDevice(String devcode, String beginTime, String endTime) {
+ public List listByDevice(Page page, String devcode, String beginTime, String endTime) {
+ Page gasFlowPage = new Page<>(page.getCurrent(), page.getSize());
EntityWrapper query = new EntityWrapper();
query.eq("DEVCODE", devcode);
if (!ToolUtil.isAllEmpty(beginTime, endTime)) {
query.between("UPTIME", beginTime, endTime);
}
- List list = deviceService.selectList(query);
+ List list = baseMapper.selectPage(gasFlowPage, query);
return list;
}
}
diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/DataGasFlowMapper.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/DataGasFlowMapper.java
index 1762d39..9256c80 100644
--- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/DataGasFlowMapper.java
+++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/DataGasFlowMapper.java
@@ -8,15 +8,10 @@
import java.util.Map;
public interface DataGasFlowMapper extends BaseMapper {
+
DataWaterMeter selectLatestRecordByDevcode(@Param("devcode") String devcode, @Param("uptime") String uptime);
Map selectLatestDayAccByDevice(@Param("devcode") String devcode, @Param("date") String date);
Map isExistDataGasFlowMonth(@Param("devcode") String devcode, @Param("month") String month);
-
- void insertDataGasFlowDay(@Param("dataDay") Map dataDay);
-
- void insertDataGasFlowMonth(@Param("dataMonth") Map dataMonth);
-
- void updateDataGasFlowMonth(@Param("dataMonth") Map dataMonth, @Param("id") Long id);
}
diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasFlowMapper.xml b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasFlowMapper.xml
index 91a2c18..34d604d 100644
--- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasFlowMapper.xml
+++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasFlowMapper.xml
@@ -24,7 +24,8 @@
- SELECT
+ SELECT
+
FROM data_gasflow
WHERE devcode = #{devcode} and unix_timestamp(uptime) < unix_timestamp(#{uptime})
ORDER BY uptime DESC
@@ -38,30 +39,10 @@
- SELECT ID as id, WELL_CODE as wellCode, DEVCODE as devCode, FLOW_ACC_MONTH as flowAccMonth, FIRST_ACC as firstAcc, LAST_ACC as lastAcc, MONTH as month
- FROM data_watermeter_month
+ SELECT ID as id, WELL_CODE as wellCode, DEVCODE as devCode, TOTAL_FLOW_MONTH as totalFlowMonth, FIRST_TOTAL as firstAcc, END_TOTAL as lastAcc, MONTH as month
+ FROM data_gasflow_month
WHERE DEVCODE = #{devcode} and MONTH = #{month}
LIMIT 1
-
- INSERT INTO data_gasflow_day (ID,WELL_CODE, DEVCODE, TOTAL_FLOW_DATE,TOTAL_FLOW, DATE)
- VALUES (#{dataDay.id},#{dataDay.wellCode}, #{dataDay.devCode}, #{dataDay.totalFlowDate},
- #{dataDay.totalFlow}, #{dataDay.date})
-
-
-
-
- INSERT INTO data_gasflow_month (ID,WELL_CODE, DEVCODE, TOTAL_FLOW_MONTH, FIRST_TOTAL, END_TOTAL, MONTH)
- VALUES (#{dataDay.id},#{dataMonth.wellCode}, #{dataMonth.devCode}, #{dataMonth.totalFlowMonth},
- #{dataMonth.firstTotal}, #{dataMonth.endTotal}, #{dataMonth.month})
-
-
-
- UPDATE data_gasflow_month
- SET TOTAL_FLOW_MONTH = #{dataMonth.totalFlowMonth},
- END_FLOW = #{dataMonth.endTotal}
- WHERE ID = #{id}
-
-
diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/DataWaterMeter.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/DataWaterMeter.java
index 6d68b47..3c393fa 100644
--- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/DataWaterMeter.java
+++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/DataWaterMeter.java
@@ -33,13 +33,13 @@
/**
* 井编号
*/
- @NotEmpty(message="井编号不能为空")
+ @NotEmpty(message = "井编号不能为空")
@TableField("WELL_CODE")
private String wellCode;
/**
* 设备编号
*/
- @NotEmpty(message="设备编号不能为空")
+ @NotEmpty(message = "设备编号不能为空")
@TableField("DEVCODE")
private String devcode;
/**
@@ -50,7 +50,7 @@
/**
* 累计用水量
*/
- @NotEmpty(message="累计用水量不能为空")
+ @NotEmpty(message = "累计用水量不能为空")
@TableField("FLOW_ACC")
private String flowAcc;
/**
@@ -66,7 +66,7 @@
/**
* 记录时间
*/
- @NotEmpty(message="记录时间不能为空")
+ @NotEmpty(message = "记录时间不能为空")
@TableField("LOGTIME")
private Date logtime;
/**
@@ -74,6 +74,9 @@
*/
@TableField("DESCN")
private String descn;
+
+ @TableId(value = "PRESSURE")
+ private Integer pressure;
/**
* 状态
*/
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
index 091145c..174f95f 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
@@ -44,8 +44,8 @@
SELECT
- COUNT(*) AS alarmTimes,
- COUNT(DISTINCT wellCode) AS alarmWells
+ COUNT(1) AS alarmTimes,
+ COUNT(DISTINCT wellCode) AS alarmWells
FROM
alarm_now_view
WHERE
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
index 5e9c2e4..36c8384 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
@@ -87,4 +87,22 @@
super.exportExcel(DeviceExportEnum.CORRODEDATA_EXPORT, list, httpServletResponse);
}
+
+ /**
+ * 统计每天每个设备的腐蚀速率变化
+ *
+ */
+ @RequestMapping("/corrRateByDevice")
+ @ResponseBody
+ public Object corrRateByDevice(String beginTime, String endTime) {
+ DataScope dataScope = permissionService.getCurrUserDataScope();
+ try {
+ List> res = corrodeDataService.corrRateByDevice(beginTime, endTime, dataScope);
+ return ResponseData.success(res);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return ResponseData.error("faliure");
+ }
+ }
+
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
index 9677abd..561ec83 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
@@ -25,10 +25,7 @@
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* @author cz
@@ -51,18 +48,22 @@
DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public GasFlowDataController(ICommonPermissionService permissionService,
- IGasFlowService gasFlowService,IDeviceService iDeviceService) {
+ IGasFlowService gasFlowService, IDeviceService iDeviceService) {
this.permissionService = permissionService;
this.gasFlowService = gasFlowService;
- this.deviceService=iDeviceService;
+ this.deviceService = iDeviceService;
}
+ @ApiOperation(value = "获取某气体流量计数据列表")
@RequestMapping(value = "/listByDevice")
@ResponseBody
- public Object listByDevice(String devcode, String beginTime,String endTime) {
- List lists = gasFlowService.listByDevice(devcode,beginTime,endTime);
+ public Object listByDevice(String devcode, String beginTime, String endTime) {
+ Page page = new PageFactory().defaultPage();
+ List lists = gasFlowService.listByDevice(page,devcode, beginTime, endTime);
+ page.setRecords(lists);
return ResponseData.success(lists);
}
+
@ApiOperation(value = "获取气体流量计数据列表")
@RequestMapping(value = "/list")
@ResponseBody
@@ -72,56 +73,60 @@
DataScope dataScope = permissionService.getCurrUserDataScope();
List list = deviceService.selectDataScopePage(dataScope, page, "15", "", "", "", keywords, "", areaId);
String date = sdf.format(new Date());
+ List> viewList = new ArrayList<>();
list.forEach(deviceDto -> {
+ Map viewMap = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode());
+ if (viewMap == null) {
+ viewMap = new HashMap<>();
+ viewMap.put("yearCount", "0");
+ viewMap.put("upTime", sdf4.format(new Date()));
+ viewMap.put("totalFlow", "");
+ viewMap.put("instantFlow", "");
+ viewMap.put("instantVelocity", "");
+ viewMap.put("ambocetorTemperture", "");
+ viewMap.put("LogTime", sdf4.format(new Date()));
+ }
+ viewMap.put("devcode", deviceDto.getDevcode());
+ viewMap.put("wellCode", deviceDto.getWellCode());
+ viewMap.put("deviceTypeName", deviceDto.getDeviceTypeName());
// 获取日月年用水量和最近的读数
Map dayGasFlowDay = gasFlowService.selectGasFlowDay(deviceDto.getDevcode(), date);
if (dayGasFlowDay == null) {
deviceDto.setDayCount("0");
} else {
- deviceDto.setDayCount(dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString());
+ viewMap.put("dayCount", dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString());
}
-
Map monthGasFlow = gasFlowService.selectGasFlowMonth(deviceDto.getDevcode(), date.substring(0, 7));
if (monthGasFlow == null) {
deviceDto.setMonthCount("0");
} else {
- deviceDto.setMonthCount(monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString());
+ viewMap.put("monthCount", monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString());
}
-
Map gasFlowYear = gasFlowService.selectGasFlowTotal(deviceDto.getDevcode(), date.substring(0, 4));
if (gasFlowYear == null) {
deviceDto.setTotalCount("0");
} else {
- deviceDto.setTotalCount(gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString());
+ viewMap.put("yearCount", gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString());
}
-
- Map flowRec = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode());
- if (flowRec == null) {
- deviceDto.setWatchNum("0");
- deviceDto.setUptime(sdf4.format(new Date()));
- } else {
- deviceDto.setWatchNum(flowRec.get("TOTAL_FLOW") == null ? "0" : flowRec.get("TOTAL_FLOW").toString());
- deviceDto.setUptime(sdf4.format((Date) flowRec.get("UPTIME")));
- }
- deviceDto.setAreaFullName(deviceService.getAreaFullNameById(deviceDto.getArea()));
+ viewMap.put("areaFullName", deviceService.getAreaFullNameById(deviceDto.getArea()));
+ viewList.add(viewMap);
});
- page.setRecords(list);
- return new SuccessResponseData(super.packForBT(page));
+ HashMap dataMap = new HashMap<>();
+ dataMap.put("rows", viewList);
+ dataMap.put("total", page.getTotal());
+ return new SuccessResponseData(dataMap);
}
@ApiOperation(value = "导出气体设备数据列表")
@RequestMapping(value = "/data/export")
public void export(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
Page> page = new PageFactory>().defaultPage();
-
String keywords = httpServletRequest.getParameter("keywords");
String areaId = httpServletRequest.getParameter("areaId");
-
page.setLimit(maxRowsExcel);
page.setSize(maxRowsExcel);
page.setOffset(0);
page.setSearchCount(false);
-
//查询数据权限 使用默认DEPTID 字段
DataScope dataScope = permissionService.getCurrUserDataScope();
List> list = deviceService.selectDataScopePage(dataScope, page, "15", "", keywords, areaId);
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
index 4eb8abb..8fe72f2 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
@@ -16,5 +16,5 @@
List> getCorrodelistScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page,
@Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords);
-
+ List> corrRateByDevice(@Param("date")String date);
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
index 51fdaf0..60977e3 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
@@ -86,4 +86,13 @@
ORDER BY dg.UPTIME DESC
+
+
+ SELECT DEVCODE as devcode,CORRODE_RATE as corrodeRate
+ FROM
+ data_corrode
+ WHERE
+ DATE_FORMAT(UPTIME,'%Y-%m-%d') = #{date}
+
+
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
index 62882cb..0527ba3 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
@@ -15,7 +15,8 @@
- ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X AS LONGITUDE, COORDINATE_Y AS LATITUDE,
+ ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X
+ AS LONGITUDE, COORDINATE_Y AS LATITUDE,
as INSTALLDATE
@@ -111,11 +112,12 @@
- and (DEVCODE LIKE
- OR wellCode LIKE )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE)
- and area IN (${areaId})
+ and area IN (${areaId})
ORDER BY INSTALLDATE DESC
@@ -129,10 +131,13 @@
and deviceType = #{devType}
- and (DEVCODE LIKE
- OR wellCode LIKE
- OR POSITION LIKE
- OR AREAFULLNAME like )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE
+
+ OR POSITION LIKE
+
+ OR AREAFULLNAME like)
@@ -957,7 +962,8 @@
- SELECT
+ SELECT
+
FROM DEVICE_VIEW
WHERE VALID = '1'
@@ -967,11 +973,12 @@
and deptid = #{deptid}
- and (DEVCODE LIKE
- OR wellCode LIKE )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE)
- and area IN (${areaId})
+ and area IN (${areaId})
ORDER BY INSTALLDATE DESC
@@ -992,7 +999,8 @@
WHERE dv.VALID = '1'
AND dv.DEVCODE = #{devcode}
AND dwm.MONTH = #{month}
-
+ ORDER BY dwm.FLOW_ACC_MONTH DESC
+ LIMIT 1
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
index 30230fc..9fffd53 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
@@ -44,7 +44,7 @@
- SELECT dw.DEVCODE, dw.TOTAL_FLOW, dw.UPTIME
+ SELECT dw.DEVCODE as devcode, dw.TOTAL_FLOW as totalFlow, dw.UPTIME as upTime,dw.INSTANT_FLOW as instantFlow,dw.INSTANTS_VELOCITY as instantVelocity,dw.AMBOCETOR_TEMPERTURE as ambocetorTemperture,dw.LOGTIME as LogTime
from data_gasflow as dw
join device_view as dv on dv.DEVCODE = dw.DEVCODE
WHERE dv.VALID = '1'
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
index 952f920..4e656a8 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
@@ -18,4 +18,6 @@
*/
List> getCorrodelistScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords);
+
+ List> corrRateByDevice(String beginTime,String endTime,DataScope dataScope);
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java
index bb56b46..f2cc0fb 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.system.service;
+import com.baomidou.mybatisplus.plugins.Page;
import com.casic.missiles.modular.system.dao.GasFlowMapper;
import com.casic.missiles.modular.system.model.DataGasFlow;
@@ -37,5 +38,5 @@
* @param endTime 结束时间
* @return
*/
- List listByDevice(String devcode, String beginTime, String endTime);
+ List listByDevice(Page page, String devcode, String beginTime, String endTime);
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java
index ea744b6..781e032 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java
@@ -4,16 +4,14 @@
import com.baomidou.mybatisplus.plugins.Page;
import com.casic.missiles.core.common.service.ICommonPermissionService;
import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.core.util.ToolUtil;
import com.casic.missiles.modular.system.dao.CorrodeDataMapper;
import com.casic.missiles.modular.system.service.ICorrodeDataService;
+import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.text.SimpleDateFormat;
+import java.util.*;
@Service
public class CorrodeDataServiceImpl implements ICorrodeDataService {
@@ -37,5 +35,32 @@
return mapList;
}
+
+
+ @Override
+ public List> corrRateByDevice(String beginTime, String endTime, DataScope dataScope) {
+ SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
+ List> mapList = new ArrayList<>();
+ try {
+ Date beginDate = sdf1.parse(beginTime);
+ Date endDate = sdf1.parse(endTime);
+ Calendar date = Calendar.getInstance();
+ date.setTime(beginDate);
+ while (date.getTime().compareTo(endDate) <= 0) {
+ String tmp = sdf1.format(date.getTime());
+ List> List = corrodeDataMapper.corrRateByDevice(tmp);
+ Map dataMap=new HashMap<>();
+ dataMap.put("date", sdf2.format(date.getTime()));
+ dataMap.put("data",List);
+ mapList.add(dataMap);
+ date.add(Calendar.DAY_OF_MONTH, 1);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return mapList;
+ }
+
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java
index 20d46f2..069bcfd 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java
@@ -1,6 +1,7 @@
package com.casic.missiles.modular.system.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.casic.missiles.core.util.ToolUtil;
import com.casic.missiles.modular.system.dao.GasFlowMapper;
@@ -91,13 +92,14 @@
}
@Override
- public List listByDevice(String devcode, String beginTime, String endTime) {
+ public List listByDevice(Page page, String devcode, String beginTime, String endTime) {
+ Page gasFlowPage = new Page<>(page.getCurrent(), page.getSize());
EntityWrapper query = new EntityWrapper();
query.eq("DEVCODE", devcode);
if (!ToolUtil.isAllEmpty(beginTime, endTime)) {
query.between("UPTIME", beginTime, endTime);
}
- List list = deviceService.selectList(query);
+ List list = baseMapper.selectPage(gasFlowPage, query);
return list;
}
}
diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/DataGasFlowMapper.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/DataGasFlowMapper.java
index 1762d39..9256c80 100644
--- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/DataGasFlowMapper.java
+++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/DataGasFlowMapper.java
@@ -8,15 +8,10 @@
import java.util.Map;
public interface DataGasFlowMapper extends BaseMapper {
+
DataWaterMeter selectLatestRecordByDevcode(@Param("devcode") String devcode, @Param("uptime") String uptime);
Map selectLatestDayAccByDevice(@Param("devcode") String devcode, @Param("date") String date);
Map isExistDataGasFlowMonth(@Param("devcode") String devcode, @Param("month") String month);
-
- void insertDataGasFlowDay(@Param("dataDay") Map dataDay);
-
- void insertDataGasFlowMonth(@Param("dataMonth") Map dataMonth);
-
- void updateDataGasFlowMonth(@Param("dataMonth") Map dataMonth, @Param("id") Long id);
}
diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasFlowMapper.xml b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasFlowMapper.xml
index 91a2c18..34d604d 100644
--- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasFlowMapper.xml
+++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasFlowMapper.xml
@@ -24,7 +24,8 @@
- SELECT
+ SELECT
+
FROM data_gasflow
WHERE devcode = #{devcode} and unix_timestamp(uptime) < unix_timestamp(#{uptime})
ORDER BY uptime DESC
@@ -38,30 +39,10 @@
- SELECT ID as id, WELL_CODE as wellCode, DEVCODE as devCode, FLOW_ACC_MONTH as flowAccMonth, FIRST_ACC as firstAcc, LAST_ACC as lastAcc, MONTH as month
- FROM data_watermeter_month
+ SELECT ID as id, WELL_CODE as wellCode, DEVCODE as devCode, TOTAL_FLOW_MONTH as totalFlowMonth, FIRST_TOTAL as firstAcc, END_TOTAL as lastAcc, MONTH as month
+ FROM data_gasflow_month
WHERE DEVCODE = #{devcode} and MONTH = #{month}
LIMIT 1
-
- INSERT INTO data_gasflow_day (ID,WELL_CODE, DEVCODE, TOTAL_FLOW_DATE,TOTAL_FLOW, DATE)
- VALUES (#{dataDay.id},#{dataDay.wellCode}, #{dataDay.devCode}, #{dataDay.totalFlowDate},
- #{dataDay.totalFlow}, #{dataDay.date})
-
-
-
-
- INSERT INTO data_gasflow_month (ID,WELL_CODE, DEVCODE, TOTAL_FLOW_MONTH, FIRST_TOTAL, END_TOTAL, MONTH)
- VALUES (#{dataDay.id},#{dataMonth.wellCode}, #{dataMonth.devCode}, #{dataMonth.totalFlowMonth},
- #{dataMonth.firstTotal}, #{dataMonth.endTotal}, #{dataMonth.month})
-
-
-
- UPDATE data_gasflow_month
- SET TOTAL_FLOW_MONTH = #{dataMonth.totalFlowMonth},
- END_FLOW = #{dataMonth.endTotal}
- WHERE ID = #{id}
-
-
diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/DataWaterMeter.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/DataWaterMeter.java
index 6d68b47..3c393fa 100644
--- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/DataWaterMeter.java
+++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/DataWaterMeter.java
@@ -33,13 +33,13 @@
/**
* 井编号
*/
- @NotEmpty(message="井编号不能为空")
+ @NotEmpty(message = "井编号不能为空")
@TableField("WELL_CODE")
private String wellCode;
/**
* 设备编号
*/
- @NotEmpty(message="设备编号不能为空")
+ @NotEmpty(message = "设备编号不能为空")
@TableField("DEVCODE")
private String devcode;
/**
@@ -50,7 +50,7 @@
/**
* 累计用水量
*/
- @NotEmpty(message="累计用水量不能为空")
+ @NotEmpty(message = "累计用水量不能为空")
@TableField("FLOW_ACC")
private String flowAcc;
/**
@@ -66,7 +66,7 @@
/**
* 记录时间
*/
- @NotEmpty(message="记录时间不能为空")
+ @NotEmpty(message = "记录时间不能为空")
@TableField("LOGTIME")
private Date logtime;
/**
@@ -74,6 +74,9 @@
*/
@TableField("DESCN")
private String descn;
+
+ @TableId(value = "PRESSURE")
+ private Integer pressure;
/**
* 状态
*/
diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowDataServiceImpl.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowDataServiceImpl.java
index 36c530b..850a8f0 100644
--- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowDataServiceImpl.java
+++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowDataServiceImpl.java
@@ -7,16 +7,17 @@
import com.casic.missiles.modular.system.model.DataGasFlow;
import com.casic.missiles.modular.system.model.DataGasFlowDay;
import com.casic.missiles.modular.system.model.DataGasFlowMonth;
+import com.casic.missiles.modular.system.model.DataWaterMeter;
import com.casic.missiles.modular.system.service.IGasFlowDataService;
import lombok.extern.java.Log;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
-import java.util.HashMap;
import java.util.Map;
@Service
@@ -64,83 +65,31 @@
try {
Calendar lastDay = Calendar.getInstance();
lastDay.setTime(sdfDate.parse(lastDayAcc.get("DATE").toString()));
-
// 计算间隔天数
long delta = today.getTimeInMillis() - lastDay.getTimeInMillis();
int dateDelta = (int) (delta / (3600 * 24 * 1000));
-
+ long delhour = delta / (3600 * 1000);
// 计算与上一条日用气量的差值
Double totalFlowDelta = Double.parseDouble(dataGasFlow.getTotalFlow()) - Double.parseDouble(lastDayAcc.get("totalFlow").toString());
-
+ //如果间隔为0,可能是同一天,或者是间隔一天,进行天的进一步判断
+ if (dateDelta == 0) {
+ long dayDel = today.get(Calendar.DATE) - lastDay.get(Calendar.DATE);
+ if (dayDel == 1) {
+ // 间隔一天 日用水量=差值
+ totalFlowDayRet = totalFlowDelta / delhour * 24;
+ gasFlowDay.setTotalFlowDate(df2.format(totalFlowDelta));
+ intervalOfDayGasFlow(gasFlowDay, today, lastDayAcc, gasFlowMonth, dataGasFlow);
+ }
+ }
// 时间间隔为1天
if (dateDelta == 1) {
- gasFlowDay.setTotalFlow(dataGasFlow.getTotalFlow());
- // 当日用气量 = 当日气表读数 - 昨日气表读数
- gasFlowDay.setTotalFlowDate(df2.format(totalFlowDelta));
- dataGasFlowDayMapper.insert(gasFlowDay);
-
// 间隔一天 日用气量=差值
- totalFlowDayRet = totalFlowDelta;
-
- if (today.get(Calendar.DATE) == 1) {
- // 是每月的第一天 则新增月用气量
- gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate());
- gasFlowMonth.setFirstTotal(lastDayAcc.get("totalFlow").toString());// 初始累积值为上个月的最后一个累积值
- gasFlowMonth.setEndTotal(dataGasFlow.getTotalFlow());
- dataGasFlowMonthMapper.insert(gasFlowMonth);
- } else {
- // 更新月用气量
- Map monthExist = this.baseMapper.isExistDataGasFlowMonth(gasFlowMonth.getDevcode(), gasFlowMonth.getMonth());
- if (null != monthExist) {
- gasFlowMonth.setTotalFlowMonth(df2.format(Double.parseDouble(monthExist.get("totalFlowMonth").toString())
- + Double.parseDouble(gasFlowDay.getTotalFlowDate())));
- gasFlowMonth.setEndTotal(dataGasFlow.getTotalFlow());
- gasFlowMonth.setId((Long) monthExist.get("id"));
- dataGasFlowMonthMapper.updateById(gasFlowMonth);
- } else {
- gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate());
- gasFlowMonth.setFirstTotal("0");
- gasFlowMonth.setEndTotal(dataGasFlow.getTotalFlow());
- dataGasFlowMonthMapper.insert(gasFlowMonth);
- }
- }
+ totalFlowDayRet = totalFlowDelta / delhour * 24;
+ // 当日用气量 = 当日气表读数 - 昨日气表读数
+ gasFlowDay.setTotalFlowDate(df2.format(totalFlowDayRet));
+ intervalOfDayGasFlow(gasFlowDay, today, lastDayAcc, gasFlowMonth, dataGasFlow);
} else {
- // 间隔多天
- double avgFlowDay = totalFlowDelta / dateDelta;
- // 间隔多天 日用气量=平均值
- totalFlowDayRet = avgFlowDay;
- for (int i = 0; i < dateDelta; i++) {
- Double totalFlow = Double.parseDouble(lastDayAcc.get("totalFlow").toString()) + avgFlowDay * (i + 1);
- gasFlowDay.setTotalFlow(totalFlow.toString());
- // 当日用气量 = (当日气表读数 - 昨日气表读数) / 天数
- gasFlowDay.setTotalFlowDate(df2.format(avgFlowDay));
- lastDay.add(Calendar.DATE, 1);
- gasFlowDay.setDate(sdfDate.format(lastDay.getTime()));
- dataGasFlowDayMapper.insert(gasFlowDay);
- gasFlowMonth.setMonth(sdfDate.format(lastDay.getTime()).substring(0, 7));
- if (lastDay.get(Calendar.DATE) == 1) {
- // 是每月的第一天 则新增月用气量
- gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate());
- gasFlowMonth.setFirstTotal(df2.format(Double.parseDouble(lastDayAcc.get("totalFlow").toString()) + avgFlowDay * i));
- gasFlowMonth.setEndTotal(gasFlowDay.getTotalFlow());
- dataGasFlowMonthMapper.insert(gasFlowMonth);
- } else {
- // 更新月用气量
- Map monthExist = this.baseMapper.isExistDataGasFlowMonth(gasFlowMonth.getDevcode(), gasFlowMonth.getMonth());
- if (null != monthExist) {
- gasFlowMonth.setTotalFlowMonth(df2.format(Double.parseDouble(monthExist.get("totalFlowMonth").toString()) + avgFlowDay));
- gasFlowMonth.setEndTotal(gasFlowDay.getTotalFlow());
- gasFlowMonth.setId((Long) monthExist.get("id"));
- dataGasFlowMonthMapper.updateById(gasFlowMonth);
- } else {
-
- gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate());
- gasFlowMonth.setFirstTotal("0");
- gasFlowMonth.setEndTotal(gasFlowDay.getTotalFlow());
- dataGasFlowMonthMapper.insert(gasFlowMonth);
- }
- }
- }
+ intervalManyDayGasFlow(gasFlowDay, lastDay, lastDayAcc, gasFlowMonth, totalFlowDelta, delhour, dateDelta);
}
} catch (Exception ex) {
ex.printStackTrace();
@@ -164,4 +113,69 @@
public Map selectLatestDayAccByDevice(String devcode, String date) {
return this.baseMapper.selectLatestDayAccByDevice(devcode, date);
}
+
+ private void intervalOfDayGasFlow(DataGasFlowDay gasFlowDay,
+ Calendar today, Map lastDayAcc,
+ DataGasFlowMonth gasFlowMonth, DataGasFlow dataGasFlow) {
+ gasFlowDay.setTotalFlow(dataGasFlow.getTotalFlow());
+ dataGasFlowDayMapper.insert(gasFlowDay);
+ if (today.get(Calendar.DATE) == 1) {
+ // 是每月的第一天 则新增月用气量
+ gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate());
+ gasFlowMonth.setFirstTotal(lastDayAcc.get("totalFlow").toString());// 初始累积值为上个月的最后一个累积值
+ gasFlowMonth.setEndTotal(dataGasFlow.getTotalFlow());
+ dataGasFlowMonthMapper.insert(gasFlowMonth);
+ } else {
+ // 更新月用气量
+ Map monthExist = this.baseMapper.isExistDataGasFlowMonth(gasFlowMonth.getDevcode(), gasFlowMonth.getMonth());
+ if (null != monthExist) {
+ gasFlowMonth.setTotalFlowMonth(df2.format(Double.parseDouble(monthExist.get("totalFlowMonth").toString())
+ + Double.parseDouble(gasFlowDay.getTotalFlowDate())));
+ gasFlowMonth.setEndTotal(dataGasFlow.getTotalFlow());
+ gasFlowMonth.setId((Long) monthExist.get("id"));
+ dataGasFlowMonthMapper.updateById(gasFlowMonth);
+ } else {
+ gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate());
+ gasFlowMonth.setFirstTotal("0");
+ gasFlowMonth.setEndTotal(dataGasFlow.getTotalFlow());
+ dataGasFlowMonthMapper.insert(gasFlowMonth);
+ }
+ }
+ }
+
+ private void intervalManyDayGasFlow(DataGasFlowDay gasFlowDay, Calendar lastDay, Map lastDayAcc, DataGasFlowMonth gasFlowMonth, double flowAccDelta, long delhour, int dayDelta) {
+ // 间隔多天平均值
+ double avgFlowDay = flowAccDelta / delhour * 24;
+ for (int i = 0; i < dayDelta; i++) {
+ Double totalFlow = Double.parseDouble(lastDayAcc.get("totalFlow").toString()) + avgFlowDay * (i + 1);
+ gasFlowDay.setTotalFlow(df2.format(totalFlow.toString()));
+ // 当日用气量 = (当日气表读数 - 昨日气表读数) / 天数
+ gasFlowDay.setTotalFlowDate(df2.format(avgFlowDay));
+ lastDay.add(Calendar.DATE, 1);
+ gasFlowDay.setDate(sdfDate.format(lastDay.getTime()));
+ dataGasFlowDayMapper.insert(gasFlowDay);
+ gasFlowMonth.setMonth(sdfDate.format(lastDay.getTime()).substring(0, 7));
+ if (lastDay.get(Calendar.DATE) == 1) {
+ // 是每月的第一天 则新增月用气量
+ gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate());
+ gasFlowMonth.setFirstTotal(df2.format(Double.parseDouble(lastDayAcc.get("totalFlow").toString()) + avgFlowDay * i));
+ gasFlowMonth.setEndTotal(gasFlowDay.getTotalFlow());
+ dataGasFlowMonthMapper.insert(gasFlowMonth);
+ } else {
+ // 更新月用气量
+ Map monthExist = this.baseMapper.isExistDataGasFlowMonth(gasFlowMonth.getDevcode(), gasFlowMonth.getMonth());
+ if (null != monthExist) {
+ gasFlowMonth.setTotalFlowMonth(df2.format(Double.parseDouble(monthExist.get("totalFlowMonth").toString()) + avgFlowDay));
+ gasFlowMonth.setEndTotal(gasFlowDay.getTotalFlow());
+ gasFlowMonth.setId((Long) monthExist.get("id"));
+ dataGasFlowMonthMapper.updateById(gasFlowMonth);
+ } else {
+ gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate());
+ gasFlowMonth.setFirstTotal("0");
+ gasFlowMonth.setEndTotal(gasFlowDay.getTotalFlow());
+ dataGasFlowMonthMapper.insert(gasFlowMonth);
+ }
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
index 091145c..174f95f 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml
@@ -44,8 +44,8 @@
SELECT
- COUNT(*) AS alarmTimes,
- COUNT(DISTINCT wellCode) AS alarmWells
+ COUNT(1) AS alarmTimes,
+ COUNT(DISTINCT wellCode) AS alarmWells
FROM
alarm_now_view
WHERE
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
index 5e9c2e4..36c8384 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java
@@ -87,4 +87,22 @@
super.exportExcel(DeviceExportEnum.CORRODEDATA_EXPORT, list, httpServletResponse);
}
+
+ /**
+ * 统计每天每个设备的腐蚀速率变化
+ *
+ */
+ @RequestMapping("/corrRateByDevice")
+ @ResponseBody
+ public Object corrRateByDevice(String beginTime, String endTime) {
+ DataScope dataScope = permissionService.getCurrUserDataScope();
+ try {
+ List> res = corrodeDataService.corrRateByDevice(beginTime, endTime, dataScope);
+ return ResponseData.success(res);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return ResponseData.error("faliure");
+ }
+ }
+
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
index 9677abd..561ec83 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java
@@ -25,10 +25,7 @@
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* @author cz
@@ -51,18 +48,22 @@
DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public GasFlowDataController(ICommonPermissionService permissionService,
- IGasFlowService gasFlowService,IDeviceService iDeviceService) {
+ IGasFlowService gasFlowService, IDeviceService iDeviceService) {
this.permissionService = permissionService;
this.gasFlowService = gasFlowService;
- this.deviceService=iDeviceService;
+ this.deviceService = iDeviceService;
}
+ @ApiOperation(value = "获取某气体流量计数据列表")
@RequestMapping(value = "/listByDevice")
@ResponseBody
- public Object listByDevice(String devcode, String beginTime,String endTime) {
- List lists = gasFlowService.listByDevice(devcode,beginTime,endTime);
+ public Object listByDevice(String devcode, String beginTime, String endTime) {
+ Page page = new PageFactory().defaultPage();
+ List lists = gasFlowService.listByDevice(page,devcode, beginTime, endTime);
+ page.setRecords(lists);
return ResponseData.success(lists);
}
+
@ApiOperation(value = "获取气体流量计数据列表")
@RequestMapping(value = "/list")
@ResponseBody
@@ -72,56 +73,60 @@
DataScope dataScope = permissionService.getCurrUserDataScope();
List list = deviceService.selectDataScopePage(dataScope, page, "15", "", "", "", keywords, "", areaId);
String date = sdf.format(new Date());
+ List> viewList = new ArrayList<>();
list.forEach(deviceDto -> {
+ Map viewMap = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode());
+ if (viewMap == null) {
+ viewMap = new HashMap<>();
+ viewMap.put("yearCount", "0");
+ viewMap.put("upTime", sdf4.format(new Date()));
+ viewMap.put("totalFlow", "");
+ viewMap.put("instantFlow", "");
+ viewMap.put("instantVelocity", "");
+ viewMap.put("ambocetorTemperture", "");
+ viewMap.put("LogTime", sdf4.format(new Date()));
+ }
+ viewMap.put("devcode", deviceDto.getDevcode());
+ viewMap.put("wellCode", deviceDto.getWellCode());
+ viewMap.put("deviceTypeName", deviceDto.getDeviceTypeName());
// 获取日月年用水量和最近的读数
Map dayGasFlowDay = gasFlowService.selectGasFlowDay(deviceDto.getDevcode(), date);
if (dayGasFlowDay == null) {
deviceDto.setDayCount("0");
} else {
- deviceDto.setDayCount(dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString());
+ viewMap.put("dayCount", dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString());
}
-
Map monthGasFlow = gasFlowService.selectGasFlowMonth(deviceDto.getDevcode(), date.substring(0, 7));
if (monthGasFlow == null) {
deviceDto.setMonthCount("0");
} else {
- deviceDto.setMonthCount(monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString());
+ viewMap.put("monthCount", monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString());
}
-
Map gasFlowYear = gasFlowService.selectGasFlowTotal(deviceDto.getDevcode(), date.substring(0, 4));
if (gasFlowYear == null) {
deviceDto.setTotalCount("0");
} else {
- deviceDto.setTotalCount(gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString());
+ viewMap.put("yearCount", gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString());
}
-
- Map flowRec = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode());
- if (flowRec == null) {
- deviceDto.setWatchNum("0");
- deviceDto.setUptime(sdf4.format(new Date()));
- } else {
- deviceDto.setWatchNum(flowRec.get("TOTAL_FLOW") == null ? "0" : flowRec.get("TOTAL_FLOW").toString());
- deviceDto.setUptime(sdf4.format((Date) flowRec.get("UPTIME")));
- }
- deviceDto.setAreaFullName(deviceService.getAreaFullNameById(deviceDto.getArea()));
+ viewMap.put("areaFullName", deviceService.getAreaFullNameById(deviceDto.getArea()));
+ viewList.add(viewMap);
});
- page.setRecords(list);
- return new SuccessResponseData(super.packForBT(page));
+ HashMap dataMap = new HashMap<>();
+ dataMap.put("rows", viewList);
+ dataMap.put("total", page.getTotal());
+ return new SuccessResponseData(dataMap);
}
@ApiOperation(value = "导出气体设备数据列表")
@RequestMapping(value = "/data/export")
public void export(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
Page> page = new PageFactory>().defaultPage();
-
String keywords = httpServletRequest.getParameter("keywords");
String areaId = httpServletRequest.getParameter("areaId");
-
page.setLimit(maxRowsExcel);
page.setSize(maxRowsExcel);
page.setOffset(0);
page.setSearchCount(false);
-
//查询数据权限 使用默认DEPTID 字段
DataScope dataScope = permissionService.getCurrUserDataScope();
List> list = deviceService.selectDataScopePage(dataScope, page, "15", "", keywords, areaId);
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
index 4eb8abb..8fe72f2 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java
@@ -16,5 +16,5 @@
List> getCorrodelistScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page,
@Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords);
-
+ List> corrRateByDevice(@Param("date")String date);
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
index 51fdaf0..60977e3 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml
@@ -86,4 +86,13 @@
ORDER BY dg.UPTIME DESC
+
+
+ SELECT DEVCODE as devcode,CORRODE_RATE as corrodeRate
+ FROM
+ data_corrode
+ WHERE
+ DATE_FORMAT(UPTIME,'%Y-%m-%d') = #{date}
+
+
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
index 62882cb..0527ba3 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml
@@ -15,7 +15,8 @@
- ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X AS LONGITUDE, COORDINATE_Y AS LATITUDE,
+ ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X
+ AS LONGITUDE, COORDINATE_Y AS LATITUDE,
as INSTALLDATE
@@ -111,11 +112,12 @@
- and (DEVCODE LIKE
- OR wellCode LIKE )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE)
- and area IN (${areaId})
+ and area IN (${areaId})
ORDER BY INSTALLDATE DESC
@@ -129,10 +131,13 @@
and deviceType = #{devType}
- and (DEVCODE LIKE
- OR wellCode LIKE
- OR POSITION LIKE
- OR AREAFULLNAME like )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE
+
+ OR POSITION LIKE
+
+ OR AREAFULLNAME like)
@@ -957,7 +962,8 @@
- SELECT
+ SELECT
+
FROM DEVICE_VIEW
WHERE VALID = '1'
@@ -967,11 +973,12 @@
and deptid = #{deptid}
- and (DEVCODE LIKE
- OR wellCode LIKE )
+ and (DEVCODE LIKE
+
+ OR wellCode LIKE)
- and area IN (${areaId})
+ and area IN (${areaId})
ORDER BY INSTALLDATE DESC
@@ -992,7 +999,8 @@
WHERE dv.VALID = '1'
AND dv.DEVCODE = #{devcode}
AND dwm.MONTH = #{month}
-
+ ORDER BY dwm.FLOW_ACC_MONTH DESC
+ LIMIT 1
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
index 30230fc..9fffd53 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/GasFlowMapper.xml
@@ -44,7 +44,7 @@
- SELECT dw.DEVCODE, dw.TOTAL_FLOW, dw.UPTIME
+ SELECT dw.DEVCODE as devcode, dw.TOTAL_FLOW as totalFlow, dw.UPTIME as upTime,dw.INSTANT_FLOW as instantFlow,dw.INSTANTS_VELOCITY as instantVelocity,dw.AMBOCETOR_TEMPERTURE as ambocetorTemperture,dw.LOGTIME as LogTime
from data_gasflow as dw
join device_view as dv on dv.DEVCODE = dw.DEVCODE
WHERE dv.VALID = '1'
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
index 952f920..4e656a8 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/ICorrodeDataService.java
@@ -18,4 +18,6 @@
*/
List> getCorrodelistScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords);
+
+ List> corrRateByDevice(String beginTime,String endTime,DataScope dataScope);
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java
index bb56b46..f2cc0fb 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java
@@ -1,5 +1,6 @@
package com.casic.missiles.modular.system.service;
+import com.baomidou.mybatisplus.plugins.Page;
import com.casic.missiles.modular.system.dao.GasFlowMapper;
import com.casic.missiles.modular.system.model.DataGasFlow;
@@ -37,5 +38,5 @@
* @param endTime 结束时间
* @return
*/
- List listByDevice(String devcode, String beginTime, String endTime);
+ List listByDevice(Page page, String devcode, String beginTime, String endTime);
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java
index ea744b6..781e032 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/CorrodeDataServiceImpl.java
@@ -4,16 +4,14 @@
import com.baomidou.mybatisplus.plugins.Page;
import com.casic.missiles.core.common.service.ICommonPermissionService;
import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.core.util.ToolUtil;
import com.casic.missiles.modular.system.dao.CorrodeDataMapper;
import com.casic.missiles.modular.system.service.ICorrodeDataService;
+import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.text.SimpleDateFormat;
+import java.util.*;
@Service
public class CorrodeDataServiceImpl implements ICorrodeDataService {
@@ -37,5 +35,32 @@
return mapList;
}
+
+
+ @Override
+ public List> corrRateByDevice(String beginTime, String endTime, DataScope dataScope) {
+ SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
+ List> mapList = new ArrayList<>();
+ try {
+ Date beginDate = sdf1.parse(beginTime);
+ Date endDate = sdf1.parse(endTime);
+ Calendar date = Calendar.getInstance();
+ date.setTime(beginDate);
+ while (date.getTime().compareTo(endDate) <= 0) {
+ String tmp = sdf1.format(date.getTime());
+ List> List = corrodeDataMapper.corrRateByDevice(tmp);
+ Map dataMap=new HashMap<>();
+ dataMap.put("date", sdf2.format(date.getTime()));
+ dataMap.put("data",List);
+ mapList.add(dataMap);
+ date.add(Calendar.DAY_OF_MONTH, 1);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return mapList;
+ }
+
}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java
index 20d46f2..069bcfd 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java
@@ -1,6 +1,7 @@
package com.casic.missiles.modular.system.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.casic.missiles.core.util.ToolUtil;
import com.casic.missiles.modular.system.dao.GasFlowMapper;
@@ -91,13 +92,14 @@
}
@Override
- public List listByDevice(String devcode, String beginTime, String endTime) {
+ public List listByDevice(Page page, String devcode, String beginTime, String endTime) {
+ Page gasFlowPage = new Page<>(page.getCurrent(), page.getSize());
EntityWrapper query = new EntityWrapper();
query.eq("DEVCODE", devcode);
if (!ToolUtil.isAllEmpty(beginTime, endTime)) {
query.between("UPTIME", beginTime, endTime);
}
- List list = deviceService.selectList(query);
+ List list = baseMapper.selectPage(gasFlowPage, query);
return list;
}
}
diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/DataGasFlowMapper.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/DataGasFlowMapper.java
index 1762d39..9256c80 100644
--- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/DataGasFlowMapper.java
+++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/DataGasFlowMapper.java
@@ -8,15 +8,10 @@
import java.util.Map;
public interface DataGasFlowMapper extends BaseMapper {
+
DataWaterMeter selectLatestRecordByDevcode(@Param("devcode") String devcode, @Param("uptime") String uptime);
Map selectLatestDayAccByDevice(@Param("devcode") String devcode, @Param("date") String date);
Map isExistDataGasFlowMonth(@Param("devcode") String devcode, @Param("month") String month);
-
- void insertDataGasFlowDay(@Param("dataDay") Map dataDay);
-
- void insertDataGasFlowMonth(@Param("dataMonth") Map dataMonth);
-
- void updateDataGasFlowMonth(@Param("dataMonth") Map dataMonth, @Param("id") Long id);
}
diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasFlowMapper.xml b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasFlowMapper.xml
index 91a2c18..34d604d 100644
--- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasFlowMapper.xml
+++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasFlowMapper.xml
@@ -24,7 +24,8 @@
- SELECT
+ SELECT
+
FROM data_gasflow
WHERE devcode = #{devcode} and unix_timestamp(uptime) < unix_timestamp(#{uptime})
ORDER BY uptime DESC
@@ -38,30 +39,10 @@
- SELECT ID as id, WELL_CODE as wellCode, DEVCODE as devCode, FLOW_ACC_MONTH as flowAccMonth, FIRST_ACC as firstAcc, LAST_ACC as lastAcc, MONTH as month
- FROM data_watermeter_month
+ SELECT ID as id, WELL_CODE as wellCode, DEVCODE as devCode, TOTAL_FLOW_MONTH as totalFlowMonth, FIRST_TOTAL as firstAcc, END_TOTAL as lastAcc, MONTH as month
+ FROM data_gasflow_month
WHERE DEVCODE = #{devcode} and MONTH = #{month}
LIMIT 1
-
- INSERT INTO data_gasflow_day (ID,WELL_CODE, DEVCODE, TOTAL_FLOW_DATE,TOTAL_FLOW, DATE)
- VALUES (#{dataDay.id},#{dataDay.wellCode}, #{dataDay.devCode}, #{dataDay.totalFlowDate},
- #{dataDay.totalFlow}, #{dataDay.date})
-
-
-
-
- INSERT INTO data_gasflow_month (ID,WELL_CODE, DEVCODE, TOTAL_FLOW_MONTH, FIRST_TOTAL, END_TOTAL, MONTH)
- VALUES (#{dataDay.id},#{dataMonth.wellCode}, #{dataMonth.devCode}, #{dataMonth.totalFlowMonth},
- #{dataMonth.firstTotal}, #{dataMonth.endTotal}, #{dataMonth.month})
-
-
-
- UPDATE data_gasflow_month
- SET TOTAL_FLOW_MONTH = #{dataMonth.totalFlowMonth},
- END_FLOW = #{dataMonth.endTotal}
- WHERE ID = #{id}
-
-
diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/DataWaterMeter.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/DataWaterMeter.java
index 6d68b47..3c393fa 100644
--- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/DataWaterMeter.java
+++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/DataWaterMeter.java
@@ -33,13 +33,13 @@
/**
* 井编号
*/
- @NotEmpty(message="井编号不能为空")
+ @NotEmpty(message = "井编号不能为空")
@TableField("WELL_CODE")
private String wellCode;
/**
* 设备编号
*/
- @NotEmpty(message="设备编号不能为空")
+ @NotEmpty(message = "设备编号不能为空")
@TableField("DEVCODE")
private String devcode;
/**
@@ -50,7 +50,7 @@
/**
* 累计用水量
*/
- @NotEmpty(message="累计用水量不能为空")
+ @NotEmpty(message = "累计用水量不能为空")
@TableField("FLOW_ACC")
private String flowAcc;
/**
@@ -66,7 +66,7 @@
/**
* 记录时间
*/
- @NotEmpty(message="记录时间不能为空")
+ @NotEmpty(message = "记录时间不能为空")
@TableField("LOGTIME")
private Date logtime;
/**
@@ -74,6 +74,9 @@
*/
@TableField("DESCN")
private String descn;
+
+ @TableId(value = "PRESSURE")
+ private Integer pressure;
/**
* 状态
*/
diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowDataServiceImpl.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowDataServiceImpl.java
index 36c530b..850a8f0 100644
--- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowDataServiceImpl.java
+++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowDataServiceImpl.java
@@ -7,16 +7,17 @@
import com.casic.missiles.modular.system.model.DataGasFlow;
import com.casic.missiles.modular.system.model.DataGasFlowDay;
import com.casic.missiles.modular.system.model.DataGasFlowMonth;
+import com.casic.missiles.modular.system.model.DataWaterMeter;
import com.casic.missiles.modular.system.service.IGasFlowDataService;
import lombok.extern.java.Log;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
-import java.util.HashMap;
import java.util.Map;
@Service
@@ -64,83 +65,31 @@
try {
Calendar lastDay = Calendar.getInstance();
lastDay.setTime(sdfDate.parse(lastDayAcc.get("DATE").toString()));
-
// 计算间隔天数
long delta = today.getTimeInMillis() - lastDay.getTimeInMillis();
int dateDelta = (int) (delta / (3600 * 24 * 1000));
-
+ long delhour = delta / (3600 * 1000);
// 计算与上一条日用气量的差值
Double totalFlowDelta = Double.parseDouble(dataGasFlow.getTotalFlow()) - Double.parseDouble(lastDayAcc.get("totalFlow").toString());
-
+ //如果间隔为0,可能是同一天,或者是间隔一天,进行天的进一步判断
+ if (dateDelta == 0) {
+ long dayDel = today.get(Calendar.DATE) - lastDay.get(Calendar.DATE);
+ if (dayDel == 1) {
+ // 间隔一天 日用水量=差值
+ totalFlowDayRet = totalFlowDelta / delhour * 24;
+ gasFlowDay.setTotalFlowDate(df2.format(totalFlowDelta));
+ intervalOfDayGasFlow(gasFlowDay, today, lastDayAcc, gasFlowMonth, dataGasFlow);
+ }
+ }
// 时间间隔为1天
if (dateDelta == 1) {
- gasFlowDay.setTotalFlow(dataGasFlow.getTotalFlow());
- // 当日用气量 = 当日气表读数 - 昨日气表读数
- gasFlowDay.setTotalFlowDate(df2.format(totalFlowDelta));
- dataGasFlowDayMapper.insert(gasFlowDay);
-
// 间隔一天 日用气量=差值
- totalFlowDayRet = totalFlowDelta;
-
- if (today.get(Calendar.DATE) == 1) {
- // 是每月的第一天 则新增月用气量
- gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate());
- gasFlowMonth.setFirstTotal(lastDayAcc.get("totalFlow").toString());// 初始累积值为上个月的最后一个累积值
- gasFlowMonth.setEndTotal(dataGasFlow.getTotalFlow());
- dataGasFlowMonthMapper.insert(gasFlowMonth);
- } else {
- // 更新月用气量
- Map monthExist = this.baseMapper.isExistDataGasFlowMonth(gasFlowMonth.getDevcode(), gasFlowMonth.getMonth());
- if (null != monthExist) {
- gasFlowMonth.setTotalFlowMonth(df2.format(Double.parseDouble(monthExist.get("totalFlowMonth").toString())
- + Double.parseDouble(gasFlowDay.getTotalFlowDate())));
- gasFlowMonth.setEndTotal(dataGasFlow.getTotalFlow());
- gasFlowMonth.setId((Long) monthExist.get("id"));
- dataGasFlowMonthMapper.updateById(gasFlowMonth);
- } else {
- gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate());
- gasFlowMonth.setFirstTotal("0");
- gasFlowMonth.setEndTotal(dataGasFlow.getTotalFlow());
- dataGasFlowMonthMapper.insert(gasFlowMonth);
- }
- }
+ totalFlowDayRet = totalFlowDelta / delhour * 24;
+ // 当日用气量 = 当日气表读数 - 昨日气表读数
+ gasFlowDay.setTotalFlowDate(df2.format(totalFlowDayRet));
+ intervalOfDayGasFlow(gasFlowDay, today, lastDayAcc, gasFlowMonth, dataGasFlow);
} else {
- // 间隔多天
- double avgFlowDay = totalFlowDelta / dateDelta;
- // 间隔多天 日用气量=平均值
- totalFlowDayRet = avgFlowDay;
- for (int i = 0; i < dateDelta; i++) {
- Double totalFlow = Double.parseDouble(lastDayAcc.get("totalFlow").toString()) + avgFlowDay * (i + 1);
- gasFlowDay.setTotalFlow(totalFlow.toString());
- // 当日用气量 = (当日气表读数 - 昨日气表读数) / 天数
- gasFlowDay.setTotalFlowDate(df2.format(avgFlowDay));
- lastDay.add(Calendar.DATE, 1);
- gasFlowDay.setDate(sdfDate.format(lastDay.getTime()));
- dataGasFlowDayMapper.insert(gasFlowDay);
- gasFlowMonth.setMonth(sdfDate.format(lastDay.getTime()).substring(0, 7));
- if (lastDay.get(Calendar.DATE) == 1) {
- // 是每月的第一天 则新增月用气量
- gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate());
- gasFlowMonth.setFirstTotal(df2.format(Double.parseDouble(lastDayAcc.get("totalFlow").toString()) + avgFlowDay * i));
- gasFlowMonth.setEndTotal(gasFlowDay.getTotalFlow());
- dataGasFlowMonthMapper.insert(gasFlowMonth);
- } else {
- // 更新月用气量
- Map monthExist = this.baseMapper.isExistDataGasFlowMonth(gasFlowMonth.getDevcode(), gasFlowMonth.getMonth());
- if (null != monthExist) {
- gasFlowMonth.setTotalFlowMonth(df2.format(Double.parseDouble(monthExist.get("totalFlowMonth").toString()) + avgFlowDay));
- gasFlowMonth.setEndTotal(gasFlowDay.getTotalFlow());
- gasFlowMonth.setId((Long) monthExist.get("id"));
- dataGasFlowMonthMapper.updateById(gasFlowMonth);
- } else {
-
- gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate());
- gasFlowMonth.setFirstTotal("0");
- gasFlowMonth.setEndTotal(gasFlowDay.getTotalFlow());
- dataGasFlowMonthMapper.insert(gasFlowMonth);
- }
- }
- }
+ intervalManyDayGasFlow(gasFlowDay, lastDay, lastDayAcc, gasFlowMonth, totalFlowDelta, delhour, dateDelta);
}
} catch (Exception ex) {
ex.printStackTrace();
@@ -164,4 +113,69 @@
public Map selectLatestDayAccByDevice(String devcode, String date) {
return this.baseMapper.selectLatestDayAccByDevice(devcode, date);
}
+
+ private void intervalOfDayGasFlow(DataGasFlowDay gasFlowDay,
+ Calendar today, Map lastDayAcc,
+ DataGasFlowMonth gasFlowMonth, DataGasFlow dataGasFlow) {
+ gasFlowDay.setTotalFlow(dataGasFlow.getTotalFlow());
+ dataGasFlowDayMapper.insert(gasFlowDay);
+ if (today.get(Calendar.DATE) == 1) {
+ // 是每月的第一天 则新增月用气量
+ gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate());
+ gasFlowMonth.setFirstTotal(lastDayAcc.get("totalFlow").toString());// 初始累积值为上个月的最后一个累积值
+ gasFlowMonth.setEndTotal(dataGasFlow.getTotalFlow());
+ dataGasFlowMonthMapper.insert(gasFlowMonth);
+ } else {
+ // 更新月用气量
+ Map monthExist = this.baseMapper.isExistDataGasFlowMonth(gasFlowMonth.getDevcode(), gasFlowMonth.getMonth());
+ if (null != monthExist) {
+ gasFlowMonth.setTotalFlowMonth(df2.format(Double.parseDouble(monthExist.get("totalFlowMonth").toString())
+ + Double.parseDouble(gasFlowDay.getTotalFlowDate())));
+ gasFlowMonth.setEndTotal(dataGasFlow.getTotalFlow());
+ gasFlowMonth.setId((Long) monthExist.get("id"));
+ dataGasFlowMonthMapper.updateById(gasFlowMonth);
+ } else {
+ gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate());
+ gasFlowMonth.setFirstTotal("0");
+ gasFlowMonth.setEndTotal(dataGasFlow.getTotalFlow());
+ dataGasFlowMonthMapper.insert(gasFlowMonth);
+ }
+ }
+ }
+
+ private void intervalManyDayGasFlow(DataGasFlowDay gasFlowDay, Calendar lastDay, Map lastDayAcc, DataGasFlowMonth gasFlowMonth, double flowAccDelta, long delhour, int dayDelta) {
+ // 间隔多天平均值
+ double avgFlowDay = flowAccDelta / delhour * 24;
+ for (int i = 0; i < dayDelta; i++) {
+ Double totalFlow = Double.parseDouble(lastDayAcc.get("totalFlow").toString()) + avgFlowDay * (i + 1);
+ gasFlowDay.setTotalFlow(df2.format(totalFlow.toString()));
+ // 当日用气量 = (当日气表读数 - 昨日气表读数) / 天数
+ gasFlowDay.setTotalFlowDate(df2.format(avgFlowDay));
+ lastDay.add(Calendar.DATE, 1);
+ gasFlowDay.setDate(sdfDate.format(lastDay.getTime()));
+ dataGasFlowDayMapper.insert(gasFlowDay);
+ gasFlowMonth.setMonth(sdfDate.format(lastDay.getTime()).substring(0, 7));
+ if (lastDay.get(Calendar.DATE) == 1) {
+ // 是每月的第一天 则新增月用气量
+ gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate());
+ gasFlowMonth.setFirstTotal(df2.format(Double.parseDouble(lastDayAcc.get("totalFlow").toString()) + avgFlowDay * i));
+ gasFlowMonth.setEndTotal(gasFlowDay.getTotalFlow());
+ dataGasFlowMonthMapper.insert(gasFlowMonth);
+ } else {
+ // 更新月用气量
+ Map monthExist = this.baseMapper.isExistDataGasFlowMonth(gasFlowMonth.getDevcode(), gasFlowMonth.getMonth());
+ if (null != monthExist) {
+ gasFlowMonth.setTotalFlowMonth(df2.format(Double.parseDouble(monthExist.get("totalFlowMonth").toString()) + avgFlowDay));
+ gasFlowMonth.setEndTotal(gasFlowDay.getTotalFlow());
+ gasFlowMonth.setId((Long) monthExist.get("id"));
+ dataGasFlowMonthMapper.updateById(gasFlowMonth);
+ } else {
+ gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate());
+ gasFlowMonth.setFirstTotal("0");
+ gasFlowMonth.setEndTotal(gasFlowDay.getTotalFlow());
+ dataGasFlowMonthMapper.insert(gasFlowMonth);
+ }
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/WaterMeterDataServiceImpl.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/WaterMeterDataServiceImpl.java
index 1fe2cac..bc53621 100644
--- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/WaterMeterDataServiceImpl.java
+++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/WaterMeterDataServiceImpl.java
@@ -5,17 +5,20 @@
import com.casic.missiles.modular.system.model.DataWaterMeter;
import com.casic.missiles.modular.system.service.IWaterMeterDataService;
import lombok.extern.java.Log;
+import lombok.extern.log4j.Log4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
+import java.time.DateTimeException;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;
+import java.util.Random;
@Service
-@Log
+@Log4j
public class WaterMeterDataServiceImpl extends ServiceImpl implements IWaterMeterDataService {
private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -25,9 +28,10 @@
@Override
@Transactional
public double saveWaterMeterData(DataWaterMeter dataWaterMeter) {
+
+ dataWaterMeter.setPressure(new Random(System.currentTimeMillis()).nextInt(15));
// 1. 保存原始记录
this.baseMapper.insert(dataWaterMeter);
-
// 用于返回的日用水量
double flowAccDayRet = 0.0;
@@ -36,118 +40,65 @@
waterMeterDay.put("wellCode", dataWaterMeter.getWellCode());
waterMeterDay.put("devCode", dataWaterMeter.getDevcode());
waterMeterDay.put("date", sdfDate.format(dataWaterMeter.getUptime()));
-
// 月用水量
Map waterMeterMonth = new HashMap<>();
waterMeterMonth.put("wellCode", dataWaterMeter.getWellCode());
waterMeterMonth.put("devCode", dataWaterMeter.getDevcode());
waterMeterMonth.put("month", sdfDate.format(dataWaterMeter.getUptime()).substring(0, 7));
-
// 2. 查询上一个最近的日用水量记录
Map lastDayAcc = this.selectLatestDayAccByDevice(dataWaterMeter.getDevcode(), sdfDate.format(dataWaterMeter.getUptime()));
+ Calendar lastDay = Calendar.getInstance();
+ try {
+ lastDay.setTime(sdfDate.parse(lastDayAcc.get("DATE").toString()));
+ } catch (Exception ex) {
+ log.error("主题:水表列表展示,日期转换出错,异常信息{}", ex);
+ }
+ waterMeterDay.put("date", sdfDate.format(lastDay.getTime()));
+ waterMeterMonth.put("month", sdfDate.format(lastDay.getTime()).substring(0, 7));
if (null != lastDayAcc) {
Calendar today = Calendar.getInstance();
today.setTime(dataWaterMeter.getUptime());
today.set(Calendar.HOUR, 0);
today.set(Calendar.MINUTE, 0);
today.set(Calendar.SECOND, 0);
- try {
- Calendar lastDay = Calendar.getInstance();
- lastDay.setTime(sdfDate.parse(lastDayAcc.get("DATE").toString()));
-
- // 计算间隔天数
- long delta = today.getTimeInMillis() - lastDay.getTimeInMillis();
- int dateDelta = (int) (delta / (3600 * 24 * 1000));
-
- // 计算与上一条日用水量的差值
- Double flowAccDelta = Double.parseDouble(dataWaterMeter.getFlowAcc()) - Double.parseDouble(lastDayAcc.get("flowAcc").toString());
-
- // 时间间隔为1天
- if (dateDelta == 1) {
- waterMeterDay.put("flowAcc", dataWaterMeter.getFlowAcc()); // 当日水表读数
- // 当日用水量 = 当日水表读数 - 昨日水表读数
- waterMeterDay.put("flowAccDate", df2.format(flowAccDelta));
- this.baseMapper.insertDataWatermeterDay(waterMeterDay);
-
+ // 计算间隔天数
+ long delta = today.getTimeInMillis() - lastDay.getTimeInMillis();
+ int dateDelta = (int) (delta / (3600 * 24 * 1000));
+ // 计算与上一条日用水量的差值
+ Double flowAccDelta = Double.parseDouble(dataWaterMeter.getFlowAcc()) - Double.parseDouble(lastDayAcc.get("flowAcc").toString());
+ long delhour = delta / (3600 * 1000);
+ //如果间隔为0,可能是同一天,或者是间隔一天,进行天的进一步判断
+ if (dateDelta == 0) {
+ long dayDel = today.get(Calendar.DATE) - lastDay.get(Calendar.DATE);
+ if (dayDel == 1) {
// 间隔一天 日用水量=差值
- flowAccDayRet = flowAccDelta;
-
- if (today.get(Calendar.DATE) == 1) {
- // 是每月的第一天 则新增月用水量
- waterMeterMonth.put("flowAccMonth", waterMeterDay.get("flowAccDate"));
- waterMeterMonth.put("firstAcc", lastDayAcc.get("flowAcc").toString()); // 初始累积值为上个月的最后一个累积值
- waterMeterMonth.put("lastAcc", dataWaterMeter.getFlowAcc());
- this.baseMapper.insertDataWatermeterMonth(waterMeterMonth);
- } else {
- // 更新月用水量
- Map monthExist = this.baseMapper.isExistDataWatermeterMonth(waterMeterMonth.get("devCode").toString(), waterMeterMonth.get("month").toString());
- if (null != monthExist) {
- waterMeterMonth.put("flowAccMonth", df2.format(Double.parseDouble(monthExist.get("flowAccMonth").toString()) + Double.parseDouble(waterMeterDay.get("flowAccDate").toString())));
- waterMeterMonth.put("lastAcc", dataWaterMeter.getFlowAcc());
-
- this.baseMapper.updateDataWatermeterMonth(waterMeterMonth, (Long) monthExist.get("id"));
- } else {
- waterMeterMonth.put("flowAccMonth", waterMeterDay.get("flowAccDate"));
- waterMeterMonth.put("firstAcc", 0);
- waterMeterMonth.put("lastAcc", dataWaterMeter.getFlowAcc());
- this.baseMapper.insertDataWatermeterMonth(waterMeterMonth);
- }
- }
- } else {
- // 间隔多天
- double avgFlowAccDay = flowAccDelta / dateDelta;
- // 间隔多天 日用水量=平均值
- flowAccDayRet = avgFlowAccDay;
- for (int i = 0; i < dateDelta; i++) {
- waterMeterDay.put("flowAcc", df2.format(Double.parseDouble(lastDayAcc.get("flowAcc").toString()) + avgFlowAccDay * (i+1))); // 当日水表读数
- // 当日用水量 = (当日水表读数 - 昨日水表读数) / 天数
- waterMeterDay.put("flowAccDate", df2.format(avgFlowAccDay));
- lastDay.add(Calendar.DATE, 1);
- waterMeterDay.put("date", sdfDate.format(lastDay.getTime()));
- this.baseMapper.insertDataWatermeterDay(waterMeterDay);
-
- waterMeterMonth.put("month", sdfDate.format(lastDay.getTime()).substring(0, 7));
- if (lastDay.get(Calendar.DATE) == 1) {
- // 是每月的第一天 则新增月用水量
- waterMeterMonth.put("flowAccMonth", waterMeterDay.get("flowAccDate"));
- waterMeterMonth.put("firstAcc", df2.format(Double.parseDouble(lastDayAcc.get("flowAcc").toString()) + avgFlowAccDay * i));
- waterMeterMonth.put("lastAcc", waterMeterDay.get("flowAcc"));
- this.baseMapper.insertDataWatermeterMonth(waterMeterMonth);
- } else {
- // 更新月用水量
- Map monthExist = this.baseMapper.isExistDataWatermeterMonth(waterMeterMonth.get("devCode").toString(), waterMeterMonth.get("month").toString());
- if (null != monthExist) {
- waterMeterMonth.put("flowAccMonth", df2.format(Double.parseDouble(monthExist.get("flowAccMonth").toString()) + avgFlowAccDay));
- waterMeterMonth.put("lastAcc", waterMeterDay.get("flowAcc"));
-
- this.baseMapper.updateDataWatermeterMonth(waterMeterMonth, (Long) monthExist.get("id"));
- } else {
- waterMeterMonth.put("flowAccMonth", waterMeterDay.get("flowAccDate"));
- waterMeterMonth.put("firstAcc", 0);
- waterMeterMonth.put("lastAcc", waterMeterDay.get("flowAcc"));
- this.baseMapper.insertDataWatermeterMonth(waterMeterMonth);
- }
- }
- }
+ flowAccDayRet = flowAccDelta / delhour * 24;
+ waterMeterDay.put("flowAccDate", df2.format(flowAccDayRet));
+ intervalOfDayWaterMeter(waterMeterDay, lastDayAcc, waterMeterMonth, dataWaterMeter);
}
- } catch (Exception ex) {
- ex.printStackTrace();
+ }
+ // 时间间隔为1天
+ if (dateDelta == 1) {
+ // 间隔一天 日用水量=差值
+ flowAccDayRet = flowAccDelta / delhour * 24;
+ waterMeterDay.put("flowAccDate", df2.format(flowAccDayRet));
+ intervalOfDayWaterMeter(waterMeterDay, lastDayAcc, waterMeterMonth, dataWaterMeter);
+ } else {
+ intervalManyDayWaterMeter(waterMeterDay, lastDay, lastDayAcc, waterMeterMonth, flowAccDelta, delhour, dateDelta);
}
} else {
+ waterMeterDay.put("date", sdfDate.format(lastDay.getTime()));
+ waterMeterMonth.put("month", sdfDate.format(lastDay.getTime()).substring(0, 7));
// 没有找到最近的日用水量记录 则新增日及月用水量
waterMeterDay.put("flowAcc", dataWaterMeter.getFlowAcc());
waterMeterDay.put("flowAccDate", dataWaterMeter.getFlowAcc());
this.baseMapper.insertDataWatermeterDay(waterMeterDay);
-
- // 没有上一条记录 日用水量 = 当前读数
flowAccDayRet = Double.parseDouble(dataWaterMeter.getFlowAcc());
-
waterMeterMonth.put("flowAccMonth", dataWaterMeter.getFlowAcc());
waterMeterMonth.put("firstAcc", 0);
waterMeterMonth.put("lastAcc", dataWaterMeter.getFlowAcc());
this.baseMapper.insertDataWatermeterMonth(waterMeterMonth);
}
-
return flowAccDayRet;
}
@@ -155,4 +106,68 @@
public Map selectLatestDayAccByDevice(String devcode, String date) {
return this.baseMapper.selectLatestDayAccByDevice(devcode, date);
}
+
+ /**
+ * @param waterMeterDay
+ * @param lastDayAcc
+ * @param waterMeterMonth
+ * @param dataWaterMeter
+ */
+ private void intervalOfDayWaterMeter(Map waterMeterDay,
+ Map lastDayAcc,
+ Map waterMeterMonth, DataWaterMeter dataWaterMeter) {
+ waterMeterDay.put("flowAcc", dataWaterMeter.getFlowAcc()); // 当日水表读数
+ // 当日用水量 = 当日水表读数 - 昨日水表读数
+ this.baseMapper.insertDataWatermeterDay(waterMeterDay);
+ // 更新月用水量
+ Map monthExist = this.baseMapper.isExistDataWatermeterMonth(waterMeterMonth.get("devCode").toString(), waterMeterMonth.get("month").toString());
+ if (null != monthExist) {
+ waterMeterMonth.put("flowAccMonth", df2.format(Double.parseDouble(monthExist.get("flowAccMonth").toString()) + Double.parseDouble(waterMeterDay.get("flowAccDate").toString())));
+ waterMeterMonth.put("lastAcc", dataWaterMeter.getFlowAcc());
+ this.baseMapper.updateDataWatermeterMonth(waterMeterMonth, (Long) monthExist.get("id"));
+ } else {
+ waterMeterMonth.put("flowAccMonth", waterMeterDay.get("flowAccDate"));
+ waterMeterMonth.put("firstAcc", lastDayAcc.get("flowAcc").toString()); // 初始累积值为上个月的最后一个累积值
+ waterMeterMonth.put("lastAcc", dataWaterMeter.getFlowAcc());
+ this.baseMapper.insertDataWatermeterMonth(waterMeterMonth);
+ }
+ }
+
+ private void intervalManyDayWaterMeter(Map waterMeterDay,
+ Calendar lastDay, Map lastDayAcc,
+ Map waterMeterMonth, Double flowAccDelta, Long dateHour, int dayDelta) {
+ // 间隔多天平均值
+ double avgFlowAccDay = flowAccDelta / dateHour * 24;
+ for (int i = 0; i < dayDelta; i++) {
+ waterMeterDay.put("flowAcc", df2.format(Double.parseDouble(lastDayAcc.get("flowAcc").toString()) + avgFlowAccDay * (i + 1))); // 当日水表读数
+ // 当日用水量 = (当日水表读数 - 昨日水表读数) / 天数
+ waterMeterDay.put("flowAccDate", df2.format(avgFlowAccDay));
+ waterMeterDay.put("date", sdfDate.format(lastDay.getTime()));
+ lastDay.add(Calendar.DATE, 1);
+ this.baseMapper.insertDataWatermeterDay(waterMeterDay);
+ waterMeterMonth.put("month", sdfDate.format(lastDay.getTime()).substring(0, 7));
+ if (lastDay.get(Calendar.DATE) == 1) {
+ // 是每月的第一天 则新增月用水量
+ waterMeterMonth.put("flowAccMonth", waterMeterDay.get("flowAccDate"));
+ waterMeterMonth.put("firstAcc", df2.format(Double.parseDouble(lastDayAcc.get("flowAcc").toString()) + avgFlowAccDay * i));
+ waterMeterMonth.put("lastAcc", waterMeterDay.get("flowAcc"));
+ this.baseMapper.insertDataWatermeterMonth(waterMeterMonth);
+ } else {
+ // 更新月用水量
+ Map monthExist = this.baseMapper.isExistDataWatermeterMonth(waterMeterMonth.get("devCode").toString(), waterMeterMonth.get("month").toString());
+ if (null != monthExist) {
+ waterMeterMonth.put("flowAccMonth", df2.format(Double.parseDouble(monthExist.get("flowAccMonth").toString()) + avgFlowAccDay));
+ waterMeterMonth.put("lastAcc", waterMeterDay.get("flowAcc"));
+ this.baseMapper.updateDataWatermeterMonth(waterMeterMonth, (Long) monthExist.get("id"));
+ } else {
+ waterMeterMonth.put("flowAccMonth", waterMeterDay.get("flowAccDate"));
+ waterMeterMonth.put("firstAcc", 0);
+ waterMeterMonth.put("lastAcc", waterMeterDay.get("flowAcc"));
+ this.baseMapper.insertDataWatermeterMonth(waterMeterMonth);
+ }
+ }
+ }
+
+ }
+
}