diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index ae707a1..b146224 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -41,8 +41,8 @@ WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID - LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID - + LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type + and lr.DEPTID in (${deptStrs}) diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index ae707a1..b146224 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -41,8 +41,8 @@ WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID - LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID - + LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type + and lr.DEPTID in (${deptStrs}) diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java new file mode 100644 index 0000000..0147d92 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java @@ -0,0 +1,84 @@ +package com.casic.missiles.modular.device.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; +import com.casic.missiles.modular.device.service.IBusDeviceStaticsService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 产品管理 前端控制器 + *

+ * + * @author zt + * @since 2024-08-20 + */ +@Api(tags = "设备统计模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/device/statics") +public class BusDeviceStaticsController extends ExportController { + private final IBusDeviceStaticsService iBusDeviceStaticsService; + + + + @ApiOperation("设备运行情况") + @PostMapping("/status") + @ResponseBody + public ReturnDTO status() { + return ReturnUtil.success(iBusDeviceStaticsService.deviceStatus()); + } + + @ApiOperation("设备分类统计") + @PostMapping("/deviceType") + @ResponseBody + public ReturnDTO deviceType() { + + return ReturnUtil.success(iBusDeviceStaticsService.deviceType()); + } + + @ApiOperation("离线统计") + @PostMapping("/offLine") + @ResponseBody + public ReturnDTO offLine() { + + return ReturnUtil.success(iBusDeviceStaticsService.offLine()); + } + + @ApiOperation("管理单位设备统计") + @PostMapping("/company") + @ResponseBody + public ReturnDTO company() { + + return ReturnUtil.success(iBusDeviceStaticsService.company()); + } + + @ApiOperation("离线设备清单") + @PostMapping("/offLineList") + @ResponseBody + public ReturnDTO offLineList(@RequestBody OffLineRequestDTO requestDTO) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceStaticsService.offLineList(requestDTO,page))); + } + + + @ApiOperation("数据上报情况") + @PostMapping("/dataReport") + @ResponseBody + public ReturnDTO dataReport() { + return ReturnUtil.success(iBusDeviceStaticsService.dataReport()); + } +} + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index ae707a1..b146224 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -41,8 +41,8 @@ WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID - LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID - + LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type + and lr.DEPTID in (${deptStrs}) diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java new file mode 100644 index 0000000..0147d92 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java @@ -0,0 +1,84 @@ +package com.casic.missiles.modular.device.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; +import com.casic.missiles.modular.device.service.IBusDeviceStaticsService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 产品管理 前端控制器 + *

+ * + * @author zt + * @since 2024-08-20 + */ +@Api(tags = "设备统计模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/device/statics") +public class BusDeviceStaticsController extends ExportController { + private final IBusDeviceStaticsService iBusDeviceStaticsService; + + + + @ApiOperation("设备运行情况") + @PostMapping("/status") + @ResponseBody + public ReturnDTO status() { + return ReturnUtil.success(iBusDeviceStaticsService.deviceStatus()); + } + + @ApiOperation("设备分类统计") + @PostMapping("/deviceType") + @ResponseBody + public ReturnDTO deviceType() { + + return ReturnUtil.success(iBusDeviceStaticsService.deviceType()); + } + + @ApiOperation("离线统计") + @PostMapping("/offLine") + @ResponseBody + public ReturnDTO offLine() { + + return ReturnUtil.success(iBusDeviceStaticsService.offLine()); + } + + @ApiOperation("管理单位设备统计") + @PostMapping("/company") + @ResponseBody + public ReturnDTO company() { + + return ReturnUtil.success(iBusDeviceStaticsService.company()); + } + + @ApiOperation("离线设备清单") + @PostMapping("/offLineList") + @ResponseBody + public ReturnDTO offLineList(@RequestBody OffLineRequestDTO requestDTO) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceStaticsService.offLineList(requestDTO,page))); + } + + + @ApiOperation("数据上报情况") + @PostMapping("/dataReport") + @ResponseBody + public ReturnDTO dataReport() { + return ReturnUtil.success(iBusDeviceStaticsService.dataReport()); + } +} + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java new file mode 100644 index 0000000..18d7aa1 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.device.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + *

+ * 台账管理 Mapper 接口 + *

+ * + * @author zt + * @since 2024-08-20 + */ +@Mapper +public interface BusDeviceStaticsMapper extends BaseMapper { + + List deviceStatus(@Param("deptStrs") String deptStrs); + + List deviceType(@Param("deptStrs") String deptStrs); + + List offLine(@Param("deptStrs") String deptStrs); + + List company(@Param("deptStrs") String deptStrs); + + Page offLineList(@Param("deptStrs") String deptStrs, + @Param("request") OffLineRequestDTO request, + Page page); + + List dataReport(@Param("tables") List tables); + + @Select("SELECT table_name as `name`,time_field as `value` FROM `data_table_names` ") + List dataTables(); +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index ae707a1..b146224 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -41,8 +41,8 @@ WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID - LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID - + LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type + and lr.DEPTID in (${deptStrs}) diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java new file mode 100644 index 0000000..0147d92 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java @@ -0,0 +1,84 @@ +package com.casic.missiles.modular.device.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; +import com.casic.missiles.modular.device.service.IBusDeviceStaticsService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 产品管理 前端控制器 + *

+ * + * @author zt + * @since 2024-08-20 + */ +@Api(tags = "设备统计模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/device/statics") +public class BusDeviceStaticsController extends ExportController { + private final IBusDeviceStaticsService iBusDeviceStaticsService; + + + + @ApiOperation("设备运行情况") + @PostMapping("/status") + @ResponseBody + public ReturnDTO status() { + return ReturnUtil.success(iBusDeviceStaticsService.deviceStatus()); + } + + @ApiOperation("设备分类统计") + @PostMapping("/deviceType") + @ResponseBody + public ReturnDTO deviceType() { + + return ReturnUtil.success(iBusDeviceStaticsService.deviceType()); + } + + @ApiOperation("离线统计") + @PostMapping("/offLine") + @ResponseBody + public ReturnDTO offLine() { + + return ReturnUtil.success(iBusDeviceStaticsService.offLine()); + } + + @ApiOperation("管理单位设备统计") + @PostMapping("/company") + @ResponseBody + public ReturnDTO company() { + + return ReturnUtil.success(iBusDeviceStaticsService.company()); + } + + @ApiOperation("离线设备清单") + @PostMapping("/offLineList") + @ResponseBody + public ReturnDTO offLineList(@RequestBody OffLineRequestDTO requestDTO) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceStaticsService.offLineList(requestDTO,page))); + } + + + @ApiOperation("数据上报情况") + @PostMapping("/dataReport") + @ResponseBody + public ReturnDTO dataReport() { + return ReturnUtil.success(iBusDeviceStaticsService.dataReport()); + } +} + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java new file mode 100644 index 0000000..18d7aa1 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.device.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + *

+ * 台账管理 Mapper 接口 + *

+ * + * @author zt + * @since 2024-08-20 + */ +@Mapper +public interface BusDeviceStaticsMapper extends BaseMapper { + + List deviceStatus(@Param("deptStrs") String deptStrs); + + List deviceType(@Param("deptStrs") String deptStrs); + + List offLine(@Param("deptStrs") String deptStrs); + + List company(@Param("deptStrs") String deptStrs); + + Page offLineList(@Param("deptStrs") String deptStrs, + @Param("request") OffLineRequestDTO request, + Page page); + + List dataReport(@Param("tables") List tables); + + @Select("SELECT table_name as `name`,time_field as `value` FROM `data_table_names` ") + List dataTables(); +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml new file mode 100644 index 0000000..54a4b0a --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + ID + , DEVCODE, DEVICE_NAME, ONLINE_STATE, DEVICE_TYPE, PRODUCT_ID, VALID, INSTALL_DATE, LOGTIME, CELL, NB_DEVICE_ID, NB_PRODUCT_ID + + + + + + + + + + + + + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index ae707a1..b146224 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -41,8 +41,8 @@ WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID - LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID - + LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type + and lr.DEPTID in (${deptStrs}) diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java new file mode 100644 index 0000000..0147d92 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java @@ -0,0 +1,84 @@ +package com.casic.missiles.modular.device.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; +import com.casic.missiles.modular.device.service.IBusDeviceStaticsService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 产品管理 前端控制器 + *

+ * + * @author zt + * @since 2024-08-20 + */ +@Api(tags = "设备统计模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/device/statics") +public class BusDeviceStaticsController extends ExportController { + private final IBusDeviceStaticsService iBusDeviceStaticsService; + + + + @ApiOperation("设备运行情况") + @PostMapping("/status") + @ResponseBody + public ReturnDTO status() { + return ReturnUtil.success(iBusDeviceStaticsService.deviceStatus()); + } + + @ApiOperation("设备分类统计") + @PostMapping("/deviceType") + @ResponseBody + public ReturnDTO deviceType() { + + return ReturnUtil.success(iBusDeviceStaticsService.deviceType()); + } + + @ApiOperation("离线统计") + @PostMapping("/offLine") + @ResponseBody + public ReturnDTO offLine() { + + return ReturnUtil.success(iBusDeviceStaticsService.offLine()); + } + + @ApiOperation("管理单位设备统计") + @PostMapping("/company") + @ResponseBody + public ReturnDTO company() { + + return ReturnUtil.success(iBusDeviceStaticsService.company()); + } + + @ApiOperation("离线设备清单") + @PostMapping("/offLineList") + @ResponseBody + public ReturnDTO offLineList(@RequestBody OffLineRequestDTO requestDTO) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceStaticsService.offLineList(requestDTO,page))); + } + + + @ApiOperation("数据上报情况") + @PostMapping("/dataReport") + @ResponseBody + public ReturnDTO dataReport() { + return ReturnUtil.success(iBusDeviceStaticsService.dataReport()); + } +} + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java new file mode 100644 index 0000000..18d7aa1 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.device.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + *

+ * 台账管理 Mapper 接口 + *

+ * + * @author zt + * @since 2024-08-20 + */ +@Mapper +public interface BusDeviceStaticsMapper extends BaseMapper { + + List deviceStatus(@Param("deptStrs") String deptStrs); + + List deviceType(@Param("deptStrs") String deptStrs); + + List offLine(@Param("deptStrs") String deptStrs); + + List company(@Param("deptStrs") String deptStrs); + + Page offLineList(@Param("deptStrs") String deptStrs, + @Param("request") OffLineRequestDTO request, + Page page); + + List dataReport(@Param("tables") List tables); + + @Select("SELECT table_name as `name`,time_field as `value` FROM `data_table_names` ") + List dataTables(); +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml new file mode 100644 index 0000000..54a4b0a --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + ID + , DEVCODE, DEVICE_NAME, ONLINE_STATE, DEVICE_TYPE, PRODUCT_ID, VALID, INSTALL_DATE, LOGTIME, CELL, NB_DEVICE_ID, NB_PRODUCT_ID + + + + + + + + + + + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java new file mode 100644 index 0000000..e769ec3 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceStatusDTO { + + @ApiModelProperty("名称设备运行情况,1:在线,0:离线,2:维修,3:备用") + private String name; + + @ApiModelProperty("值") + private String value; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index ae707a1..b146224 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -41,8 +41,8 @@ WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID - LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID - + LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type + and lr.DEPTID in (${deptStrs}) diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java new file mode 100644 index 0000000..0147d92 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java @@ -0,0 +1,84 @@ +package com.casic.missiles.modular.device.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; +import com.casic.missiles.modular.device.service.IBusDeviceStaticsService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 产品管理 前端控制器 + *

+ * + * @author zt + * @since 2024-08-20 + */ +@Api(tags = "设备统计模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/device/statics") +public class BusDeviceStaticsController extends ExportController { + private final IBusDeviceStaticsService iBusDeviceStaticsService; + + + + @ApiOperation("设备运行情况") + @PostMapping("/status") + @ResponseBody + public ReturnDTO status() { + return ReturnUtil.success(iBusDeviceStaticsService.deviceStatus()); + } + + @ApiOperation("设备分类统计") + @PostMapping("/deviceType") + @ResponseBody + public ReturnDTO deviceType() { + + return ReturnUtil.success(iBusDeviceStaticsService.deviceType()); + } + + @ApiOperation("离线统计") + @PostMapping("/offLine") + @ResponseBody + public ReturnDTO offLine() { + + return ReturnUtil.success(iBusDeviceStaticsService.offLine()); + } + + @ApiOperation("管理单位设备统计") + @PostMapping("/company") + @ResponseBody + public ReturnDTO company() { + + return ReturnUtil.success(iBusDeviceStaticsService.company()); + } + + @ApiOperation("离线设备清单") + @PostMapping("/offLineList") + @ResponseBody + public ReturnDTO offLineList(@RequestBody OffLineRequestDTO requestDTO) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceStaticsService.offLineList(requestDTO,page))); + } + + + @ApiOperation("数据上报情况") + @PostMapping("/dataReport") + @ResponseBody + public ReturnDTO dataReport() { + return ReturnUtil.success(iBusDeviceStaticsService.dataReport()); + } +} + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java new file mode 100644 index 0000000..18d7aa1 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.device.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + *

+ * 台账管理 Mapper 接口 + *

+ * + * @author zt + * @since 2024-08-20 + */ +@Mapper +public interface BusDeviceStaticsMapper extends BaseMapper { + + List deviceStatus(@Param("deptStrs") String deptStrs); + + List deviceType(@Param("deptStrs") String deptStrs); + + List offLine(@Param("deptStrs") String deptStrs); + + List company(@Param("deptStrs") String deptStrs); + + Page offLineList(@Param("deptStrs") String deptStrs, + @Param("request") OffLineRequestDTO request, + Page page); + + List dataReport(@Param("tables") List tables); + + @Select("SELECT table_name as `name`,time_field as `value` FROM `data_table_names` ") + List dataTables(); +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml new file mode 100644 index 0000000..54a4b0a --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + ID + , DEVCODE, DEVICE_NAME, ONLINE_STATE, DEVICE_TYPE, PRODUCT_ID, VALID, INSTALL_DATE, LOGTIME, CELL, NB_DEVICE_ID, NB_PRODUCT_ID + + + + + + + + + + + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java new file mode 100644 index 0000000..e769ec3 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceStatusDTO { + + @ApiModelProperty("名称设备运行情况,1:在线,0:离线,2:维修,3:备用") + private String name; + + @ApiModelProperty("值") + private String value; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java new file mode 100644 index 0000000..86014da --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class OffLineRequestDTO { + + @ApiModelProperty("设备编号") + private String devcode; + + @ApiModelProperty("设备类型id") + private Long devTypeId; + + @ApiModelProperty("离线原因(1:电量低,2:信号差、3:故障、4:其他)") + private String reasons; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index ae707a1..b146224 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -41,8 +41,8 @@ WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID - LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID - + LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type + and lr.DEPTID in (${deptStrs}) diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java new file mode 100644 index 0000000..0147d92 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java @@ -0,0 +1,84 @@ +package com.casic.missiles.modular.device.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; +import com.casic.missiles.modular.device.service.IBusDeviceStaticsService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 产品管理 前端控制器 + *

+ * + * @author zt + * @since 2024-08-20 + */ +@Api(tags = "设备统计模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/device/statics") +public class BusDeviceStaticsController extends ExportController { + private final IBusDeviceStaticsService iBusDeviceStaticsService; + + + + @ApiOperation("设备运行情况") + @PostMapping("/status") + @ResponseBody + public ReturnDTO status() { + return ReturnUtil.success(iBusDeviceStaticsService.deviceStatus()); + } + + @ApiOperation("设备分类统计") + @PostMapping("/deviceType") + @ResponseBody + public ReturnDTO deviceType() { + + return ReturnUtil.success(iBusDeviceStaticsService.deviceType()); + } + + @ApiOperation("离线统计") + @PostMapping("/offLine") + @ResponseBody + public ReturnDTO offLine() { + + return ReturnUtil.success(iBusDeviceStaticsService.offLine()); + } + + @ApiOperation("管理单位设备统计") + @PostMapping("/company") + @ResponseBody + public ReturnDTO company() { + + return ReturnUtil.success(iBusDeviceStaticsService.company()); + } + + @ApiOperation("离线设备清单") + @PostMapping("/offLineList") + @ResponseBody + public ReturnDTO offLineList(@RequestBody OffLineRequestDTO requestDTO) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceStaticsService.offLineList(requestDTO,page))); + } + + + @ApiOperation("数据上报情况") + @PostMapping("/dataReport") + @ResponseBody + public ReturnDTO dataReport() { + return ReturnUtil.success(iBusDeviceStaticsService.dataReport()); + } +} + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java new file mode 100644 index 0000000..18d7aa1 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.device.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + *

+ * 台账管理 Mapper 接口 + *

+ * + * @author zt + * @since 2024-08-20 + */ +@Mapper +public interface BusDeviceStaticsMapper extends BaseMapper { + + List deviceStatus(@Param("deptStrs") String deptStrs); + + List deviceType(@Param("deptStrs") String deptStrs); + + List offLine(@Param("deptStrs") String deptStrs); + + List company(@Param("deptStrs") String deptStrs); + + Page offLineList(@Param("deptStrs") String deptStrs, + @Param("request") OffLineRequestDTO request, + Page page); + + List dataReport(@Param("tables") List tables); + + @Select("SELECT table_name as `name`,time_field as `value` FROM `data_table_names` ") + List dataTables(); +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml new file mode 100644 index 0000000..54a4b0a --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + ID + , DEVCODE, DEVICE_NAME, ONLINE_STATE, DEVICE_TYPE, PRODUCT_ID, VALID, INSTALL_DATE, LOGTIME, CELL, NB_DEVICE_ID, NB_PRODUCT_ID + + + + + + + + + + + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java new file mode 100644 index 0000000..e769ec3 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceStatusDTO { + + @ApiModelProperty("名称设备运行情况,1:在线,0:离线,2:维修,3:备用") + private String name; + + @ApiModelProperty("值") + private String value; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java new file mode 100644 index 0000000..86014da --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class OffLineRequestDTO { + + @ApiModelProperty("设备编号") + private String devcode; + + @ApiModelProperty("设备类型id") + private Long devTypeId; + + @ApiModelProperty("离线原因(1:电量低,2:信号差、3:故障、4:其他)") + private String reasons; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineResponseDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineResponseDTO.java new file mode 100644 index 0000000..5443ade --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineResponseDTO.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class OffLineResponseDTO { + + @ApiModelProperty("设备编号") + private String devcode; + + @ApiModelProperty("设备类型名称") + private String devTypeName; + + @ApiModelProperty("安装位号") + private String tagNumber; + + @ApiModelProperty("最新上传时间") + private String lastTime; + + @ApiModelProperty("离线天数") + private String offDays; + + @ApiModelProperty("离线原因(1:电量低,2:信号差、3:故障、4:其他)") + private String reasons; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index ae707a1..b146224 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -41,8 +41,8 @@ WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID - LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID - + LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type + and lr.DEPTID in (${deptStrs}) diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java new file mode 100644 index 0000000..0147d92 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java @@ -0,0 +1,84 @@ +package com.casic.missiles.modular.device.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; +import com.casic.missiles.modular.device.service.IBusDeviceStaticsService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 产品管理 前端控制器 + *

+ * + * @author zt + * @since 2024-08-20 + */ +@Api(tags = "设备统计模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/device/statics") +public class BusDeviceStaticsController extends ExportController { + private final IBusDeviceStaticsService iBusDeviceStaticsService; + + + + @ApiOperation("设备运行情况") + @PostMapping("/status") + @ResponseBody + public ReturnDTO status() { + return ReturnUtil.success(iBusDeviceStaticsService.deviceStatus()); + } + + @ApiOperation("设备分类统计") + @PostMapping("/deviceType") + @ResponseBody + public ReturnDTO deviceType() { + + return ReturnUtil.success(iBusDeviceStaticsService.deviceType()); + } + + @ApiOperation("离线统计") + @PostMapping("/offLine") + @ResponseBody + public ReturnDTO offLine() { + + return ReturnUtil.success(iBusDeviceStaticsService.offLine()); + } + + @ApiOperation("管理单位设备统计") + @PostMapping("/company") + @ResponseBody + public ReturnDTO company() { + + return ReturnUtil.success(iBusDeviceStaticsService.company()); + } + + @ApiOperation("离线设备清单") + @PostMapping("/offLineList") + @ResponseBody + public ReturnDTO offLineList(@RequestBody OffLineRequestDTO requestDTO) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceStaticsService.offLineList(requestDTO,page))); + } + + + @ApiOperation("数据上报情况") + @PostMapping("/dataReport") + @ResponseBody + public ReturnDTO dataReport() { + return ReturnUtil.success(iBusDeviceStaticsService.dataReport()); + } +} + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java new file mode 100644 index 0000000..18d7aa1 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.device.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + *

+ * 台账管理 Mapper 接口 + *

+ * + * @author zt + * @since 2024-08-20 + */ +@Mapper +public interface BusDeviceStaticsMapper extends BaseMapper { + + List deviceStatus(@Param("deptStrs") String deptStrs); + + List deviceType(@Param("deptStrs") String deptStrs); + + List offLine(@Param("deptStrs") String deptStrs); + + List company(@Param("deptStrs") String deptStrs); + + Page offLineList(@Param("deptStrs") String deptStrs, + @Param("request") OffLineRequestDTO request, + Page page); + + List dataReport(@Param("tables") List tables); + + @Select("SELECT table_name as `name`,time_field as `value` FROM `data_table_names` ") + List dataTables(); +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml new file mode 100644 index 0000000..54a4b0a --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + ID + , DEVCODE, DEVICE_NAME, ONLINE_STATE, DEVICE_TYPE, PRODUCT_ID, VALID, INSTALL_DATE, LOGTIME, CELL, NB_DEVICE_ID, NB_PRODUCT_ID + + + + + + + + + + + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java new file mode 100644 index 0000000..e769ec3 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceStatusDTO { + + @ApiModelProperty("名称设备运行情况,1:在线,0:离线,2:维修,3:备用") + private String name; + + @ApiModelProperty("值") + private String value; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java new file mode 100644 index 0000000..86014da --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class OffLineRequestDTO { + + @ApiModelProperty("设备编号") + private String devcode; + + @ApiModelProperty("设备类型id") + private Long devTypeId; + + @ApiModelProperty("离线原因(1:电量低,2:信号差、3:故障、4:其他)") + private String reasons; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineResponseDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineResponseDTO.java new file mode 100644 index 0000000..5443ade --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineResponseDTO.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class OffLineResponseDTO { + + @ApiModelProperty("设备编号") + private String devcode; + + @ApiModelProperty("设备类型名称") + private String devTypeName; + + @ApiModelProperty("安装位号") + private String tagNumber; + + @ApiModelProperty("最新上传时间") + private String lastTime; + + @ApiModelProperty("离线天数") + private String offDays; + + @ApiModelProperty("离线原因(1:电量低,2:信号差、3:故障、4:其他)") + private String reasons; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/ResultDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/ResultDTO.java new file mode 100644 index 0000000..4a65ec8 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/ResultDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class ResultDTO { + + @ApiModelProperty("名称") + private String name; + + @ApiModelProperty("值") + private String value; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index ae707a1..b146224 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -41,8 +41,8 @@ WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID - LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID - + LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type + and lr.DEPTID in (${deptStrs}) diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java new file mode 100644 index 0000000..0147d92 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java @@ -0,0 +1,84 @@ +package com.casic.missiles.modular.device.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; +import com.casic.missiles.modular.device.service.IBusDeviceStaticsService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 产品管理 前端控制器 + *

+ * + * @author zt + * @since 2024-08-20 + */ +@Api(tags = "设备统计模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/device/statics") +public class BusDeviceStaticsController extends ExportController { + private final IBusDeviceStaticsService iBusDeviceStaticsService; + + + + @ApiOperation("设备运行情况") + @PostMapping("/status") + @ResponseBody + public ReturnDTO status() { + return ReturnUtil.success(iBusDeviceStaticsService.deviceStatus()); + } + + @ApiOperation("设备分类统计") + @PostMapping("/deviceType") + @ResponseBody + public ReturnDTO deviceType() { + + return ReturnUtil.success(iBusDeviceStaticsService.deviceType()); + } + + @ApiOperation("离线统计") + @PostMapping("/offLine") + @ResponseBody + public ReturnDTO offLine() { + + return ReturnUtil.success(iBusDeviceStaticsService.offLine()); + } + + @ApiOperation("管理单位设备统计") + @PostMapping("/company") + @ResponseBody + public ReturnDTO company() { + + return ReturnUtil.success(iBusDeviceStaticsService.company()); + } + + @ApiOperation("离线设备清单") + @PostMapping("/offLineList") + @ResponseBody + public ReturnDTO offLineList(@RequestBody OffLineRequestDTO requestDTO) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceStaticsService.offLineList(requestDTO,page))); + } + + + @ApiOperation("数据上报情况") + @PostMapping("/dataReport") + @ResponseBody + public ReturnDTO dataReport() { + return ReturnUtil.success(iBusDeviceStaticsService.dataReport()); + } +} + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java new file mode 100644 index 0000000..18d7aa1 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.device.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + *

+ * 台账管理 Mapper 接口 + *

+ * + * @author zt + * @since 2024-08-20 + */ +@Mapper +public interface BusDeviceStaticsMapper extends BaseMapper { + + List deviceStatus(@Param("deptStrs") String deptStrs); + + List deviceType(@Param("deptStrs") String deptStrs); + + List offLine(@Param("deptStrs") String deptStrs); + + List company(@Param("deptStrs") String deptStrs); + + Page offLineList(@Param("deptStrs") String deptStrs, + @Param("request") OffLineRequestDTO request, + Page page); + + List dataReport(@Param("tables") List tables); + + @Select("SELECT table_name as `name`,time_field as `value` FROM `data_table_names` ") + List dataTables(); +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml new file mode 100644 index 0000000..54a4b0a --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + ID + , DEVCODE, DEVICE_NAME, ONLINE_STATE, DEVICE_TYPE, PRODUCT_ID, VALID, INSTALL_DATE, LOGTIME, CELL, NB_DEVICE_ID, NB_PRODUCT_ID + + + + + + + + + + + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java new file mode 100644 index 0000000..e769ec3 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceStatusDTO { + + @ApiModelProperty("名称设备运行情况,1:在线,0:离线,2:维修,3:备用") + private String name; + + @ApiModelProperty("值") + private String value; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java new file mode 100644 index 0000000..86014da --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class OffLineRequestDTO { + + @ApiModelProperty("设备编号") + private String devcode; + + @ApiModelProperty("设备类型id") + private Long devTypeId; + + @ApiModelProperty("离线原因(1:电量低,2:信号差、3:故障、4:其他)") + private String reasons; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineResponseDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineResponseDTO.java new file mode 100644 index 0000000..5443ade --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineResponseDTO.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class OffLineResponseDTO { + + @ApiModelProperty("设备编号") + private String devcode; + + @ApiModelProperty("设备类型名称") + private String devTypeName; + + @ApiModelProperty("安装位号") + private String tagNumber; + + @ApiModelProperty("最新上传时间") + private String lastTime; + + @ApiModelProperty("离线天数") + private String offDays; + + @ApiModelProperty("离线原因(1:电量低,2:信号差、3:故障、4:其他)") + private String reasons; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/ResultDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/ResultDTO.java new file mode 100644 index 0000000..4a65ec8 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/ResultDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class ResultDTO { + + @ApiModelProperty("名称") + private String name; + + @ApiModelProperty("值") + private String value; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLedger.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLedger.java index f864126..44e57a9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLedger.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLedger.java @@ -42,6 +42,10 @@ @TableField("VALID") private String valid; + @ApiModelProperty("台账类型(1:闸井,2:场站,3:管线)") + @TableField("`TYPE`") + private String type; + @ApiModelProperty("更新时间") @TableField("UPTIME") private Date uptime; @@ -50,9 +54,10 @@ public BusDeviceLedger() { } - public BusDeviceLedger(Long deviceId, Long ledgerId) { + public BusDeviceLedger(Long deviceId, Long ledgerId,String type) { this.deviceId = deviceId; this.ledgerId = ledgerId; + this.type = type; this.valid ="1"; } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index ae707a1..b146224 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -41,8 +41,8 @@ WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID - LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID - + LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type + and lr.DEPTID in (${deptStrs}) diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java new file mode 100644 index 0000000..0147d92 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java @@ -0,0 +1,84 @@ +package com.casic.missiles.modular.device.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; +import com.casic.missiles.modular.device.service.IBusDeviceStaticsService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 产品管理 前端控制器 + *

+ * + * @author zt + * @since 2024-08-20 + */ +@Api(tags = "设备统计模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/device/statics") +public class BusDeviceStaticsController extends ExportController { + private final IBusDeviceStaticsService iBusDeviceStaticsService; + + + + @ApiOperation("设备运行情况") + @PostMapping("/status") + @ResponseBody + public ReturnDTO status() { + return ReturnUtil.success(iBusDeviceStaticsService.deviceStatus()); + } + + @ApiOperation("设备分类统计") + @PostMapping("/deviceType") + @ResponseBody + public ReturnDTO deviceType() { + + return ReturnUtil.success(iBusDeviceStaticsService.deviceType()); + } + + @ApiOperation("离线统计") + @PostMapping("/offLine") + @ResponseBody + public ReturnDTO offLine() { + + return ReturnUtil.success(iBusDeviceStaticsService.offLine()); + } + + @ApiOperation("管理单位设备统计") + @PostMapping("/company") + @ResponseBody + public ReturnDTO company() { + + return ReturnUtil.success(iBusDeviceStaticsService.company()); + } + + @ApiOperation("离线设备清单") + @PostMapping("/offLineList") + @ResponseBody + public ReturnDTO offLineList(@RequestBody OffLineRequestDTO requestDTO) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceStaticsService.offLineList(requestDTO,page))); + } + + + @ApiOperation("数据上报情况") + @PostMapping("/dataReport") + @ResponseBody + public ReturnDTO dataReport() { + return ReturnUtil.success(iBusDeviceStaticsService.dataReport()); + } +} + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java new file mode 100644 index 0000000..18d7aa1 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.device.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + *

+ * 台账管理 Mapper 接口 + *

+ * + * @author zt + * @since 2024-08-20 + */ +@Mapper +public interface BusDeviceStaticsMapper extends BaseMapper { + + List deviceStatus(@Param("deptStrs") String deptStrs); + + List deviceType(@Param("deptStrs") String deptStrs); + + List offLine(@Param("deptStrs") String deptStrs); + + List company(@Param("deptStrs") String deptStrs); + + Page offLineList(@Param("deptStrs") String deptStrs, + @Param("request") OffLineRequestDTO request, + Page page); + + List dataReport(@Param("tables") List tables); + + @Select("SELECT table_name as `name`,time_field as `value` FROM `data_table_names` ") + List dataTables(); +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml new file mode 100644 index 0000000..54a4b0a --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + ID + , DEVCODE, DEVICE_NAME, ONLINE_STATE, DEVICE_TYPE, PRODUCT_ID, VALID, INSTALL_DATE, LOGTIME, CELL, NB_DEVICE_ID, NB_PRODUCT_ID + + + + + + + + + + + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java new file mode 100644 index 0000000..e769ec3 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceStatusDTO { + + @ApiModelProperty("名称设备运行情况,1:在线,0:离线,2:维修,3:备用") + private String name; + + @ApiModelProperty("值") + private String value; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java new file mode 100644 index 0000000..86014da --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class OffLineRequestDTO { + + @ApiModelProperty("设备编号") + private String devcode; + + @ApiModelProperty("设备类型id") + private Long devTypeId; + + @ApiModelProperty("离线原因(1:电量低,2:信号差、3:故障、4:其他)") + private String reasons; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineResponseDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineResponseDTO.java new file mode 100644 index 0000000..5443ade --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineResponseDTO.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class OffLineResponseDTO { + + @ApiModelProperty("设备编号") + private String devcode; + + @ApiModelProperty("设备类型名称") + private String devTypeName; + + @ApiModelProperty("安装位号") + private String tagNumber; + + @ApiModelProperty("最新上传时间") + private String lastTime; + + @ApiModelProperty("离线天数") + private String offDays; + + @ApiModelProperty("离线原因(1:电量低,2:信号差、3:故障、4:其他)") + private String reasons; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/ResultDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/ResultDTO.java new file mode 100644 index 0000000..4a65ec8 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/ResultDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class ResultDTO { + + @ApiModelProperty("名称") + private String name; + + @ApiModelProperty("值") + private String value; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLedger.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLedger.java index f864126..44e57a9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLedger.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLedger.java @@ -42,6 +42,10 @@ @TableField("VALID") private String valid; + @ApiModelProperty("台账类型(1:闸井,2:场站,3:管线)") + @TableField("`TYPE`") + private String type; + @ApiModelProperty("更新时间") @TableField("UPTIME") private Date uptime; @@ -50,9 +54,10 @@ public BusDeviceLedger() { } - public BusDeviceLedger(Long deviceId, Long ledgerId) { + public BusDeviceLedger(Long deviceId, Long ledgerId,String type) { this.deviceId = deviceId; this.ledgerId = ledgerId; + this.type = type; this.valid ="1"; } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java index f48117a..386ee6b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java @@ -15,8 +15,8 @@ */ public interface IBusDeviceLedgerService extends IService { - boolean saveDeviceLedger(Long deviceID, List ledgerIds); + boolean saveDeviceLedger(Long deviceID, List ledgerIds,String type); - void busDeviceLedgerService(List deviceIds); + void deleteDeviceLedgers(List deviceIds); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index ae707a1..b146224 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -41,8 +41,8 @@ WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID - LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID - + LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type + and lr.DEPTID in (${deptStrs}) diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java new file mode 100644 index 0000000..0147d92 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java @@ -0,0 +1,84 @@ +package com.casic.missiles.modular.device.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; +import com.casic.missiles.modular.device.service.IBusDeviceStaticsService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 产品管理 前端控制器 + *

+ * + * @author zt + * @since 2024-08-20 + */ +@Api(tags = "设备统计模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/device/statics") +public class BusDeviceStaticsController extends ExportController { + private final IBusDeviceStaticsService iBusDeviceStaticsService; + + + + @ApiOperation("设备运行情况") + @PostMapping("/status") + @ResponseBody + public ReturnDTO status() { + return ReturnUtil.success(iBusDeviceStaticsService.deviceStatus()); + } + + @ApiOperation("设备分类统计") + @PostMapping("/deviceType") + @ResponseBody + public ReturnDTO deviceType() { + + return ReturnUtil.success(iBusDeviceStaticsService.deviceType()); + } + + @ApiOperation("离线统计") + @PostMapping("/offLine") + @ResponseBody + public ReturnDTO offLine() { + + return ReturnUtil.success(iBusDeviceStaticsService.offLine()); + } + + @ApiOperation("管理单位设备统计") + @PostMapping("/company") + @ResponseBody + public ReturnDTO company() { + + return ReturnUtil.success(iBusDeviceStaticsService.company()); + } + + @ApiOperation("离线设备清单") + @PostMapping("/offLineList") + @ResponseBody + public ReturnDTO offLineList(@RequestBody OffLineRequestDTO requestDTO) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceStaticsService.offLineList(requestDTO,page))); + } + + + @ApiOperation("数据上报情况") + @PostMapping("/dataReport") + @ResponseBody + public ReturnDTO dataReport() { + return ReturnUtil.success(iBusDeviceStaticsService.dataReport()); + } +} + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java new file mode 100644 index 0000000..18d7aa1 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.device.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + *

+ * 台账管理 Mapper 接口 + *

+ * + * @author zt + * @since 2024-08-20 + */ +@Mapper +public interface BusDeviceStaticsMapper extends BaseMapper { + + List deviceStatus(@Param("deptStrs") String deptStrs); + + List deviceType(@Param("deptStrs") String deptStrs); + + List offLine(@Param("deptStrs") String deptStrs); + + List company(@Param("deptStrs") String deptStrs); + + Page offLineList(@Param("deptStrs") String deptStrs, + @Param("request") OffLineRequestDTO request, + Page page); + + List dataReport(@Param("tables") List tables); + + @Select("SELECT table_name as `name`,time_field as `value` FROM `data_table_names` ") + List dataTables(); +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml new file mode 100644 index 0000000..54a4b0a --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + ID + , DEVCODE, DEVICE_NAME, ONLINE_STATE, DEVICE_TYPE, PRODUCT_ID, VALID, INSTALL_DATE, LOGTIME, CELL, NB_DEVICE_ID, NB_PRODUCT_ID + + + + + + + + + + + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java new file mode 100644 index 0000000..e769ec3 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceStatusDTO { + + @ApiModelProperty("名称设备运行情况,1:在线,0:离线,2:维修,3:备用") + private String name; + + @ApiModelProperty("值") + private String value; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java new file mode 100644 index 0000000..86014da --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class OffLineRequestDTO { + + @ApiModelProperty("设备编号") + private String devcode; + + @ApiModelProperty("设备类型id") + private Long devTypeId; + + @ApiModelProperty("离线原因(1:电量低,2:信号差、3:故障、4:其他)") + private String reasons; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineResponseDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineResponseDTO.java new file mode 100644 index 0000000..5443ade --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineResponseDTO.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class OffLineResponseDTO { + + @ApiModelProperty("设备编号") + private String devcode; + + @ApiModelProperty("设备类型名称") + private String devTypeName; + + @ApiModelProperty("安装位号") + private String tagNumber; + + @ApiModelProperty("最新上传时间") + private String lastTime; + + @ApiModelProperty("离线天数") + private String offDays; + + @ApiModelProperty("离线原因(1:电量低,2:信号差、3:故障、4:其他)") + private String reasons; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/ResultDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/ResultDTO.java new file mode 100644 index 0000000..4a65ec8 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/ResultDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class ResultDTO { + + @ApiModelProperty("名称") + private String name; + + @ApiModelProperty("值") + private String value; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLedger.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLedger.java index f864126..44e57a9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLedger.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLedger.java @@ -42,6 +42,10 @@ @TableField("VALID") private String valid; + @ApiModelProperty("台账类型(1:闸井,2:场站,3:管线)") + @TableField("`TYPE`") + private String type; + @ApiModelProperty("更新时间") @TableField("UPTIME") private Date uptime; @@ -50,9 +54,10 @@ public BusDeviceLedger() { } - public BusDeviceLedger(Long deviceId, Long ledgerId) { + public BusDeviceLedger(Long deviceId, Long ledgerId,String type) { this.deviceId = deviceId; this.ledgerId = ledgerId; + this.type = type; this.valid ="1"; } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java index f48117a..386ee6b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java @@ -15,8 +15,8 @@ */ public interface IBusDeviceLedgerService extends IService { - boolean saveDeviceLedger(Long deviceID, List ledgerIds); + boolean saveDeviceLedger(Long deviceID, List ledgerIds,String type); - void busDeviceLedgerService(List deviceIds); + void deleteDeviceLedgers(List deviceIds); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceStaticsService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceStaticsService.java new file mode 100644 index 0000000..ee90853 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceStaticsService.java @@ -0,0 +1,33 @@ +package com.casic.missiles.modular.device.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; + +import java.util.List; + +/** + *

+ * 闸井监测 服务类 + *

+ * + * @author zt + * @since 2024-07-16 + */ +public interface IBusDeviceStaticsService extends IService { + List deviceStatus(); + + List deviceType(); + + List offLine(); + + List company(); + + Page offLineList(OffLineRequestDTO requestDTO, Page page); + + List dataReport(); +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index ae707a1..b146224 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -41,8 +41,8 @@ WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID - LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID - + LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type + and lr.DEPTID in (${deptStrs}) diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java new file mode 100644 index 0000000..0147d92 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java @@ -0,0 +1,84 @@ +package com.casic.missiles.modular.device.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; +import com.casic.missiles.modular.device.service.IBusDeviceStaticsService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 产品管理 前端控制器 + *

+ * + * @author zt + * @since 2024-08-20 + */ +@Api(tags = "设备统计模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/device/statics") +public class BusDeviceStaticsController extends ExportController { + private final IBusDeviceStaticsService iBusDeviceStaticsService; + + + + @ApiOperation("设备运行情况") + @PostMapping("/status") + @ResponseBody + public ReturnDTO status() { + return ReturnUtil.success(iBusDeviceStaticsService.deviceStatus()); + } + + @ApiOperation("设备分类统计") + @PostMapping("/deviceType") + @ResponseBody + public ReturnDTO deviceType() { + + return ReturnUtil.success(iBusDeviceStaticsService.deviceType()); + } + + @ApiOperation("离线统计") + @PostMapping("/offLine") + @ResponseBody + public ReturnDTO offLine() { + + return ReturnUtil.success(iBusDeviceStaticsService.offLine()); + } + + @ApiOperation("管理单位设备统计") + @PostMapping("/company") + @ResponseBody + public ReturnDTO company() { + + return ReturnUtil.success(iBusDeviceStaticsService.company()); + } + + @ApiOperation("离线设备清单") + @PostMapping("/offLineList") + @ResponseBody + public ReturnDTO offLineList(@RequestBody OffLineRequestDTO requestDTO) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceStaticsService.offLineList(requestDTO,page))); + } + + + @ApiOperation("数据上报情况") + @PostMapping("/dataReport") + @ResponseBody + public ReturnDTO dataReport() { + return ReturnUtil.success(iBusDeviceStaticsService.dataReport()); + } +} + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java new file mode 100644 index 0000000..18d7aa1 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.device.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + *

+ * 台账管理 Mapper 接口 + *

+ * + * @author zt + * @since 2024-08-20 + */ +@Mapper +public interface BusDeviceStaticsMapper extends BaseMapper { + + List deviceStatus(@Param("deptStrs") String deptStrs); + + List deviceType(@Param("deptStrs") String deptStrs); + + List offLine(@Param("deptStrs") String deptStrs); + + List company(@Param("deptStrs") String deptStrs); + + Page offLineList(@Param("deptStrs") String deptStrs, + @Param("request") OffLineRequestDTO request, + Page page); + + List dataReport(@Param("tables") List tables); + + @Select("SELECT table_name as `name`,time_field as `value` FROM `data_table_names` ") + List dataTables(); +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml new file mode 100644 index 0000000..54a4b0a --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + ID + , DEVCODE, DEVICE_NAME, ONLINE_STATE, DEVICE_TYPE, PRODUCT_ID, VALID, INSTALL_DATE, LOGTIME, CELL, NB_DEVICE_ID, NB_PRODUCT_ID + + + + + + + + + + + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java new file mode 100644 index 0000000..e769ec3 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceStatusDTO { + + @ApiModelProperty("名称设备运行情况,1:在线,0:离线,2:维修,3:备用") + private String name; + + @ApiModelProperty("值") + private String value; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java new file mode 100644 index 0000000..86014da --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class OffLineRequestDTO { + + @ApiModelProperty("设备编号") + private String devcode; + + @ApiModelProperty("设备类型id") + private Long devTypeId; + + @ApiModelProperty("离线原因(1:电量低,2:信号差、3:故障、4:其他)") + private String reasons; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineResponseDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineResponseDTO.java new file mode 100644 index 0000000..5443ade --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineResponseDTO.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class OffLineResponseDTO { + + @ApiModelProperty("设备编号") + private String devcode; + + @ApiModelProperty("设备类型名称") + private String devTypeName; + + @ApiModelProperty("安装位号") + private String tagNumber; + + @ApiModelProperty("最新上传时间") + private String lastTime; + + @ApiModelProperty("离线天数") + private String offDays; + + @ApiModelProperty("离线原因(1:电量低,2:信号差、3:故障、4:其他)") + private String reasons; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/ResultDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/ResultDTO.java new file mode 100644 index 0000000..4a65ec8 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/ResultDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class ResultDTO { + + @ApiModelProperty("名称") + private String name; + + @ApiModelProperty("值") + private String value; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLedger.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLedger.java index f864126..44e57a9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLedger.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLedger.java @@ -42,6 +42,10 @@ @TableField("VALID") private String valid; + @ApiModelProperty("台账类型(1:闸井,2:场站,3:管线)") + @TableField("`TYPE`") + private String type; + @ApiModelProperty("更新时间") @TableField("UPTIME") private Date uptime; @@ -50,9 +54,10 @@ public BusDeviceLedger() { } - public BusDeviceLedger(Long deviceId, Long ledgerId) { + public BusDeviceLedger(Long deviceId, Long ledgerId,String type) { this.deviceId = deviceId; this.ledgerId = ledgerId; + this.type = type; this.valid ="1"; } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java index f48117a..386ee6b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java @@ -15,8 +15,8 @@ */ public interface IBusDeviceLedgerService extends IService { - boolean saveDeviceLedger(Long deviceID, List ledgerIds); + boolean saveDeviceLedger(Long deviceID, List ledgerIds,String type); - void busDeviceLedgerService(List deviceIds); + void deleteDeviceLedgers(List deviceIds); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceStaticsService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceStaticsService.java new file mode 100644 index 0000000..ee90853 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceStaticsService.java @@ -0,0 +1,33 @@ +package com.casic.missiles.modular.device.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; + +import java.util.List; + +/** + *

+ * 闸井监测 服务类 + *

+ * + * @author zt + * @since 2024-07-16 + */ +public interface IBusDeviceStaticsService extends IService { + List deviceStatus(); + + List deviceType(); + + List offLine(); + + List company(); + + Page offLineList(OffLineRequestDTO requestDTO, Page page); + + List dataReport(); +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceLedgerServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceLedgerServiceImpl.java index ef2012e..acc29b3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceLedgerServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceLedgerServiceImpl.java @@ -23,18 +23,18 @@ public class BusDeviceLedgerServiceImpl extends ServiceImpl implements IBusDeviceLedgerService { @Override - public boolean saveDeviceLedger(Long deviceID, List ledgerIds) { + public boolean saveDeviceLedger(Long deviceID, List ledgerIds,String type) { //先删除绑定关系 - this.busDeviceLedgerService(Arrays.asList(deviceID)); + this.deleteDeviceLedgers(Arrays.asList(deviceID)); List busDeviceLedgers = new ArrayList<>(); ledgerIds.forEach(ledgerId->{ - busDeviceLedgers.add(new BusDeviceLedger(deviceID,ledgerId)); + busDeviceLedgers.add(new BusDeviceLedger(deviceID,ledgerId,type)); }); return this.saveBatch(busDeviceLedgers); } @Override - public void busDeviceLedgerService(List deviceIds) { + public void deleteDeviceLedgers(List deviceIds) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in("DEVICE_ID",deviceIds); this.baseMapper.delete(queryWrapper); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index ae707a1..b146224 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -41,8 +41,8 @@ WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID - LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID - + LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type + and lr.DEPTID in (${deptStrs}) diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java new file mode 100644 index 0000000..0147d92 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java @@ -0,0 +1,84 @@ +package com.casic.missiles.modular.device.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; +import com.casic.missiles.modular.device.service.IBusDeviceStaticsService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 产品管理 前端控制器 + *

+ * + * @author zt + * @since 2024-08-20 + */ +@Api(tags = "设备统计模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/device/statics") +public class BusDeviceStaticsController extends ExportController { + private final IBusDeviceStaticsService iBusDeviceStaticsService; + + + + @ApiOperation("设备运行情况") + @PostMapping("/status") + @ResponseBody + public ReturnDTO status() { + return ReturnUtil.success(iBusDeviceStaticsService.deviceStatus()); + } + + @ApiOperation("设备分类统计") + @PostMapping("/deviceType") + @ResponseBody + public ReturnDTO deviceType() { + + return ReturnUtil.success(iBusDeviceStaticsService.deviceType()); + } + + @ApiOperation("离线统计") + @PostMapping("/offLine") + @ResponseBody + public ReturnDTO offLine() { + + return ReturnUtil.success(iBusDeviceStaticsService.offLine()); + } + + @ApiOperation("管理单位设备统计") + @PostMapping("/company") + @ResponseBody + public ReturnDTO company() { + + return ReturnUtil.success(iBusDeviceStaticsService.company()); + } + + @ApiOperation("离线设备清单") + @PostMapping("/offLineList") + @ResponseBody + public ReturnDTO offLineList(@RequestBody OffLineRequestDTO requestDTO) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceStaticsService.offLineList(requestDTO,page))); + } + + + @ApiOperation("数据上报情况") + @PostMapping("/dataReport") + @ResponseBody + public ReturnDTO dataReport() { + return ReturnUtil.success(iBusDeviceStaticsService.dataReport()); + } +} + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java new file mode 100644 index 0000000..18d7aa1 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.device.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + *

+ * 台账管理 Mapper 接口 + *

+ * + * @author zt + * @since 2024-08-20 + */ +@Mapper +public interface BusDeviceStaticsMapper extends BaseMapper { + + List deviceStatus(@Param("deptStrs") String deptStrs); + + List deviceType(@Param("deptStrs") String deptStrs); + + List offLine(@Param("deptStrs") String deptStrs); + + List company(@Param("deptStrs") String deptStrs); + + Page offLineList(@Param("deptStrs") String deptStrs, + @Param("request") OffLineRequestDTO request, + Page page); + + List dataReport(@Param("tables") List tables); + + @Select("SELECT table_name as `name`,time_field as `value` FROM `data_table_names` ") + List dataTables(); +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml new file mode 100644 index 0000000..54a4b0a --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + ID + , DEVCODE, DEVICE_NAME, ONLINE_STATE, DEVICE_TYPE, PRODUCT_ID, VALID, INSTALL_DATE, LOGTIME, CELL, NB_DEVICE_ID, NB_PRODUCT_ID + + + + + + + + + + + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java new file mode 100644 index 0000000..e769ec3 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceStatusDTO { + + @ApiModelProperty("名称设备运行情况,1:在线,0:离线,2:维修,3:备用") + private String name; + + @ApiModelProperty("值") + private String value; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java new file mode 100644 index 0000000..86014da --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class OffLineRequestDTO { + + @ApiModelProperty("设备编号") + private String devcode; + + @ApiModelProperty("设备类型id") + private Long devTypeId; + + @ApiModelProperty("离线原因(1:电量低,2:信号差、3:故障、4:其他)") + private String reasons; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineResponseDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineResponseDTO.java new file mode 100644 index 0000000..5443ade --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineResponseDTO.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class OffLineResponseDTO { + + @ApiModelProperty("设备编号") + private String devcode; + + @ApiModelProperty("设备类型名称") + private String devTypeName; + + @ApiModelProperty("安装位号") + private String tagNumber; + + @ApiModelProperty("最新上传时间") + private String lastTime; + + @ApiModelProperty("离线天数") + private String offDays; + + @ApiModelProperty("离线原因(1:电量低,2:信号差、3:故障、4:其他)") + private String reasons; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/ResultDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/ResultDTO.java new file mode 100644 index 0000000..4a65ec8 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/ResultDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class ResultDTO { + + @ApiModelProperty("名称") + private String name; + + @ApiModelProperty("值") + private String value; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLedger.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLedger.java index f864126..44e57a9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLedger.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLedger.java @@ -42,6 +42,10 @@ @TableField("VALID") private String valid; + @ApiModelProperty("台账类型(1:闸井,2:场站,3:管线)") + @TableField("`TYPE`") + private String type; + @ApiModelProperty("更新时间") @TableField("UPTIME") private Date uptime; @@ -50,9 +54,10 @@ public BusDeviceLedger() { } - public BusDeviceLedger(Long deviceId, Long ledgerId) { + public BusDeviceLedger(Long deviceId, Long ledgerId,String type) { this.deviceId = deviceId; this.ledgerId = ledgerId; + this.type = type; this.valid ="1"; } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java index f48117a..386ee6b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java @@ -15,8 +15,8 @@ */ public interface IBusDeviceLedgerService extends IService { - boolean saveDeviceLedger(Long deviceID, List ledgerIds); + boolean saveDeviceLedger(Long deviceID, List ledgerIds,String type); - void busDeviceLedgerService(List deviceIds); + void deleteDeviceLedgers(List deviceIds); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceStaticsService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceStaticsService.java new file mode 100644 index 0000000..ee90853 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceStaticsService.java @@ -0,0 +1,33 @@ +package com.casic.missiles.modular.device.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; + +import java.util.List; + +/** + *

+ * 闸井监测 服务类 + *

+ * + * @author zt + * @since 2024-07-16 + */ +public interface IBusDeviceStaticsService extends IService { + List deviceStatus(); + + List deviceType(); + + List offLine(); + + List company(); + + Page offLineList(OffLineRequestDTO requestDTO, Page page); + + List dataReport(); +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceLedgerServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceLedgerServiceImpl.java index ef2012e..acc29b3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceLedgerServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceLedgerServiceImpl.java @@ -23,18 +23,18 @@ public class BusDeviceLedgerServiceImpl extends ServiceImpl implements IBusDeviceLedgerService { @Override - public boolean saveDeviceLedger(Long deviceID, List ledgerIds) { + public boolean saveDeviceLedger(Long deviceID, List ledgerIds,String type) { //先删除绑定关系 - this.busDeviceLedgerService(Arrays.asList(deviceID)); + this.deleteDeviceLedgers(Arrays.asList(deviceID)); List busDeviceLedgers = new ArrayList<>(); ledgerIds.forEach(ledgerId->{ - busDeviceLedgers.add(new BusDeviceLedger(deviceID,ledgerId)); + busDeviceLedgers.add(new BusDeviceLedger(deviceID,ledgerId,type)); }); return this.saveBatch(busDeviceLedgers); } @Override - public void busDeviceLedgerService(List deviceIds) { + public void deleteDeviceLedgers(List deviceIds) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in("DEVICE_ID",deviceIds); this.baseMapper.delete(queryWrapper); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceServiceImpl.java index 474a31b..ce491f9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceServiceImpl.java @@ -46,7 +46,7 @@ this.baseMapper.insert(busDevice); //存储绑定关系 if (ObjectUtil.isNotEmpty(busDevice.getLedgerIds())) { - busDeviceLedgerService.saveDeviceLedger(busDevice.getId(), busDevice.getLedgerIds()); + busDeviceLedgerService.saveDeviceLedger(busDevice.getId(), busDevice.getLedgerIds(),busDevice.getWatchObject()); } //添加设备操作日志 iBusDeviceLogService.saveBusDeviceLog(busDevice.getDevcode(), "1", busDevice.getTagNumber()); @@ -75,7 +75,7 @@ @Override public boolean batchDeleteDevice(List ids) { //先删除绑定关系 - busDeviceLedgerService.busDeviceLedgerService(ids); + busDeviceLedgerService.deleteDeviceLedgers(ids); //删除设备表设备数据 this.baseMapper.deleteBatchIds(ids); //添加删除日志 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index ae707a1..b146224 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -41,8 +41,8 @@ WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID - LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID - + LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type + and lr.DEPTID in (${deptStrs}) diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java new file mode 100644 index 0000000..0147d92 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/controller/BusDeviceStaticsController.java @@ -0,0 +1,84 @@ +package com.casic.missiles.modular.device.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; +import com.casic.missiles.modular.device.service.IBusDeviceStaticsService; +import com.casic.missiles.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 产品管理 前端控制器 + *

+ * + * @author zt + * @since 2024-08-20 + */ +@Api(tags = "设备统计模块") +@RequiredArgsConstructor +@RestController +@RequestMapping("/device/statics") +public class BusDeviceStaticsController extends ExportController { + private final IBusDeviceStaticsService iBusDeviceStaticsService; + + + + @ApiOperation("设备运行情况") + @PostMapping("/status") + @ResponseBody + public ReturnDTO status() { + return ReturnUtil.success(iBusDeviceStaticsService.deviceStatus()); + } + + @ApiOperation("设备分类统计") + @PostMapping("/deviceType") + @ResponseBody + public ReturnDTO deviceType() { + + return ReturnUtil.success(iBusDeviceStaticsService.deviceType()); + } + + @ApiOperation("离线统计") + @PostMapping("/offLine") + @ResponseBody + public ReturnDTO offLine() { + + return ReturnUtil.success(iBusDeviceStaticsService.offLine()); + } + + @ApiOperation("管理单位设备统计") + @PostMapping("/company") + @ResponseBody + public ReturnDTO company() { + + return ReturnUtil.success(iBusDeviceStaticsService.company()); + } + + @ApiOperation("离线设备清单") + @PostMapping("/offLineList") + @ResponseBody + public ReturnDTO offLineList(@RequestBody OffLineRequestDTO requestDTO) { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(iBusDeviceStaticsService.offLineList(requestDTO,page))); + } + + + @ApiOperation("数据上报情况") + @PostMapping("/dataReport") + @ResponseBody + public ReturnDTO dataReport() { + return ReturnUtil.success(iBusDeviceStaticsService.dataReport()); + } +} + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java new file mode 100644 index 0000000..18d7aa1 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/BusDeviceStaticsMapper.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.device.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + *

+ * 台账管理 Mapper 接口 + *

+ * + * @author zt + * @since 2024-08-20 + */ +@Mapper +public interface BusDeviceStaticsMapper extends BaseMapper { + + List deviceStatus(@Param("deptStrs") String deptStrs); + + List deviceType(@Param("deptStrs") String deptStrs); + + List offLine(@Param("deptStrs") String deptStrs); + + List company(@Param("deptStrs") String deptStrs); + + Page offLineList(@Param("deptStrs") String deptStrs, + @Param("request") OffLineRequestDTO request, + Page page); + + List dataReport(@Param("tables") List tables); + + @Select("SELECT table_name as `name`,time_field as `value` FROM `data_table_names` ") + List dataTables(); +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml new file mode 100644 index 0000000..54a4b0a --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusDeviceStaticsMapper.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + ID + , DEVCODE, DEVICE_NAME, ONLINE_STATE, DEVICE_TYPE, PRODUCT_ID, VALID, INSTALL_DATE, LOGTIME, CELL, NB_DEVICE_ID, NB_PRODUCT_ID + + + + + + + + + + + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java new file mode 100644 index 0000000..e769ec3 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/DeviceStatusDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceStatusDTO { + + @ApiModelProperty("名称设备运行情况,1:在线,0:离线,2:维修,3:备用") + private String name; + + @ApiModelProperty("值") + private String value; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java new file mode 100644 index 0000000..86014da --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineRequestDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class OffLineRequestDTO { + + @ApiModelProperty("设备编号") + private String devcode; + + @ApiModelProperty("设备类型id") + private Long devTypeId; + + @ApiModelProperty("离线原因(1:电量低,2:信号差、3:故障、4:其他)") + private String reasons; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineResponseDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineResponseDTO.java new file mode 100644 index 0000000..5443ade --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/OffLineResponseDTO.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class OffLineResponseDTO { + + @ApiModelProperty("设备编号") + private String devcode; + + @ApiModelProperty("设备类型名称") + private String devTypeName; + + @ApiModelProperty("安装位号") + private String tagNumber; + + @ApiModelProperty("最新上传时间") + private String lastTime; + + @ApiModelProperty("离线天数") + private String offDays; + + @ApiModelProperty("离线原因(1:电量低,2:信号差、3:故障、4:其他)") + private String reasons; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/ResultDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/ResultDTO.java new file mode 100644 index 0000000..4a65ec8 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/ResultDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.device.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class ResultDTO { + + @ApiModelProperty("名称") + private String name; + + @ApiModelProperty("值") + private String value; + +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLedger.java b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLedger.java index f864126..44e57a9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLedger.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/entity/BusDeviceLedger.java @@ -42,6 +42,10 @@ @TableField("VALID") private String valid; + @ApiModelProperty("台账类型(1:闸井,2:场站,3:管线)") + @TableField("`TYPE`") + private String type; + @ApiModelProperty("更新时间") @TableField("UPTIME") private Date uptime; @@ -50,9 +54,10 @@ public BusDeviceLedger() { } - public BusDeviceLedger(Long deviceId, Long ledgerId) { + public BusDeviceLedger(Long deviceId, Long ledgerId,String type) { this.deviceId = deviceId; this.ledgerId = ledgerId; + this.type = type; this.valid ="1"; } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java index f48117a..386ee6b 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceLedgerService.java @@ -15,8 +15,8 @@ */ public interface IBusDeviceLedgerService extends IService { - boolean saveDeviceLedger(Long deviceID, List ledgerIds); + boolean saveDeviceLedger(Long deviceID, List ledgerIds,String type); - void busDeviceLedgerService(List deviceIds); + void deleteDeviceLedgers(List deviceIds); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceStaticsService.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceStaticsService.java new file mode 100644 index 0000000..ee90853 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/IBusDeviceStaticsService.java @@ -0,0 +1,33 @@ +package com.casic.missiles.modular.device.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; + +import java.util.List; + +/** + *

+ * 闸井监测 服务类 + *

+ * + * @author zt + * @since 2024-07-16 + */ +public interface IBusDeviceStaticsService extends IService { + List deviceStatus(); + + List deviceType(); + + List offLine(); + + List company(); + + Page offLineList(OffLineRequestDTO requestDTO, Page page); + + List dataReport(); +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceLedgerServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceLedgerServiceImpl.java index ef2012e..acc29b3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceLedgerServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceLedgerServiceImpl.java @@ -23,18 +23,18 @@ public class BusDeviceLedgerServiceImpl extends ServiceImpl implements IBusDeviceLedgerService { @Override - public boolean saveDeviceLedger(Long deviceID, List ledgerIds) { + public boolean saveDeviceLedger(Long deviceID, List ledgerIds,String type) { //先删除绑定关系 - this.busDeviceLedgerService(Arrays.asList(deviceID)); + this.deleteDeviceLedgers(Arrays.asList(deviceID)); List busDeviceLedgers = new ArrayList<>(); ledgerIds.forEach(ledgerId->{ - busDeviceLedgers.add(new BusDeviceLedger(deviceID,ledgerId)); + busDeviceLedgers.add(new BusDeviceLedger(deviceID,ledgerId,type)); }); return this.saveBatch(busDeviceLedgers); } @Override - public void busDeviceLedgerService(List deviceIds) { + public void deleteDeviceLedgers(List deviceIds) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in("DEVICE_ID",deviceIds); this.baseMapper.delete(queryWrapper); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceServiceImpl.java index 474a31b..ce491f9 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceServiceImpl.java @@ -46,7 +46,7 @@ this.baseMapper.insert(busDevice); //存储绑定关系 if (ObjectUtil.isNotEmpty(busDevice.getLedgerIds())) { - busDeviceLedgerService.saveDeviceLedger(busDevice.getId(), busDevice.getLedgerIds()); + busDeviceLedgerService.saveDeviceLedger(busDevice.getId(), busDevice.getLedgerIds(),busDevice.getWatchObject()); } //添加设备操作日志 iBusDeviceLogService.saveBusDeviceLog(busDevice.getDevcode(), "1", busDevice.getTagNumber()); @@ -75,7 +75,7 @@ @Override public boolean batchDeleteDevice(List ids) { //先删除绑定关系 - busDeviceLedgerService.busDeviceLedgerService(ids); + busDeviceLedgerService.deleteDeviceLedgers(ids); //删除设备表设备数据 this.baseMapper.deleteBatchIds(ids); //添加删除日志 diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceStaticsServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceStaticsServiceImpl.java new file mode 100644 index 0000000..c4edc15 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/service/impl/BusDeviceStaticsServiceImpl.java @@ -0,0 +1,85 @@ +package com.casic.missiles.modular.device.service.impl; + +import cn.hutool.core.convert.Convert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.device.dao.BusDeviceStaticsMapper; +import com.casic.missiles.modular.device.dto.DeviceStatusDTO; +import com.casic.missiles.modular.device.dto.OffLineRequestDTO; +import com.casic.missiles.modular.device.dto.OffLineResponseDTO; +import com.casic.missiles.modular.device.dto.ResultDTO; +import com.casic.missiles.modular.device.entity.BusDevice; +import com.casic.missiles.modular.device.service.IBusDeviceStaticsService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + *

+ * 台账管理 服务实现类 + *

+ * + * @author zt + * @since 2024-07-16 + */ +@RequiredArgsConstructor +@Service +public class BusDeviceStaticsServiceImpl extends ServiceImpl implements IBusDeviceStaticsService { + + private final AbstractPermissionContext permissionContext; + + @Override + public List deviceStatus() { + return this.baseMapper.deviceStatus(getDeptIds()); + } + + + @Override + public List deviceType() { + return this.baseMapper.deviceType(getDeptIds()); + } + + + @Override + public List offLine() { + return this.baseMapper.offLine(getDeptIds()); + } + + @Override + public List company() { + return this.baseMapper.company(getDeptIds()); + } + + @Override + public Page offLineList(OffLineRequestDTO requestDTO, Page page) { + Page responseDTOPage = this.baseMapper.offLineList(getDeptIds(),requestDTO,page); + return responseDTOPage; + } + + @Override + public List dataReport() { + List resultDTOList = new ArrayList<>(); + List tables = this.baseMapper.dataTables(); + if (ObjectUtil.isNotEmpty(tables)) { + resultDTOList = this.baseMapper.dataReport(tables); + } + return resultDTOList; + } + + public String getDeptIds() { + String deptIdStr = ""; + //获取登录权限 + DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); + if (!"ALL_TYPE".equals(dataScope.getScopeEnums().name())) { + permissionContext.getAuthService().getLoginUserDataScope().getDeptIds() + .stream().map(id -> Convert.toStr(id)).collect(Collectors.joining(",")); + } + return deptIdStr; + } +}