diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/ScreenDataController.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/ScreenDataController.java new file mode 100644 index 0000000..968d222 --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/ScreenDataController.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractAuthService; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.service.ScreenDataService; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class ScreenDataController { + private final ScreenDataService screenDataService; + private final AbstractPermissionContext permissionService; + + public ScreenDataController(ScreenDataService screenDataService, AbstractPermissionContext permissionService) { + this.screenDataService = screenDataService; + this.permissionService = permissionService; + } + + @RequestMapping("/statistics/installed-device") + public Object getInstalledDevice(String beginTime, String endTime) { + return screenDataService.getInstalledDevice(beginTime, endTime); + } +} diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/ScreenDataController.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/ScreenDataController.java new file mode 100644 index 0000000..968d222 --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/ScreenDataController.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractAuthService; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.service.ScreenDataService; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class ScreenDataController { + private final ScreenDataService screenDataService; + private final AbstractPermissionContext permissionService; + + public ScreenDataController(ScreenDataService screenDataService, AbstractPermissionContext permissionService) { + this.screenDataService = screenDataService; + this.permissionService = permissionService; + } + + @RequestMapping("/statistics/installed-device") + public Object getInstalledDevice(String beginTime, String endTime) { + return screenDataService.getInstalledDevice(beginTime, endTime); + } +} diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java new file mode 100644 index 0000000..394b21f --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + +@Component +public interface ScreenDataServiceMapper { + + List> countDeviceByType(); + + String getDeviceTypeById(@Param("deptid") Long deptId); + +} diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/ScreenDataController.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/ScreenDataController.java new file mode 100644 index 0000000..968d222 --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/ScreenDataController.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractAuthService; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.service.ScreenDataService; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class ScreenDataController { + private final ScreenDataService screenDataService; + private final AbstractPermissionContext permissionService; + + public ScreenDataController(ScreenDataService screenDataService, AbstractPermissionContext permissionService) { + this.screenDataService = screenDataService; + this.permissionService = permissionService; + } + + @RequestMapping("/statistics/installed-device") + public Object getInstalledDevice(String beginTime, String endTime) { + return screenDataService.getInstalledDevice(beginTime, endTime); + } +} diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java new file mode 100644 index 0000000..394b21f --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + +@Component +public interface ScreenDataServiceMapper { + + List> countDeviceByType(); + + String getDeviceTypeById(@Param("deptid") Long deptId); + +} diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml new file mode 100644 index 0000000..20b1df2 --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml @@ -0,0 +1,54 @@ + + + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-MM-dd HH24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-MM-dd HH24:mi:ss') + + + + ${paramStr} + + + + TO_DATE(${paramStr},'yyyy-MM-dd HH24:mi:ss') + + + + TO_DATE(${paramStr},'yyyy-MM-dd HH24:mi:ss') + + + + '%' || #{keywords}|| '%' + + + CONCAT('%',#{keywords},'%') + + + CONCAT('%',#{keywords},'%') + + + + + + + + + + \ No newline at end of file diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/ScreenDataController.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/ScreenDataController.java new file mode 100644 index 0000000..968d222 --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/ScreenDataController.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractAuthService; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.service.ScreenDataService; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class ScreenDataController { + private final ScreenDataService screenDataService; + private final AbstractPermissionContext permissionService; + + public ScreenDataController(ScreenDataService screenDataService, AbstractPermissionContext permissionService) { + this.screenDataService = screenDataService; + this.permissionService = permissionService; + } + + @RequestMapping("/statistics/installed-device") + public Object getInstalledDevice(String beginTime, String endTime) { + return screenDataService.getInstalledDevice(beginTime, endTime); + } +} diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java new file mode 100644 index 0000000..394b21f --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + +@Component +public interface ScreenDataServiceMapper { + + List> countDeviceByType(); + + String getDeviceTypeById(@Param("deptid") Long deptId); + +} diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml new file mode 100644 index 0000000..20b1df2 --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml @@ -0,0 +1,54 @@ + + + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-MM-dd HH24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-MM-dd HH24:mi:ss') + + + + ${paramStr} + + + + TO_DATE(${paramStr},'yyyy-MM-dd HH24:mi:ss') + + + + TO_DATE(${paramStr},'yyyy-MM-dd HH24:mi:ss') + + + + '%' || #{keywords}|| '%' + + + CONCAT('%',#{keywords},'%') + + + CONCAT('%',#{keywords},'%') + + + + + + + + + + \ No newline at end of file diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/ScreenDataService.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/ScreenDataService.java new file mode 100644 index 0000000..8469cc1 --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/ScreenDataService.java @@ -0,0 +1,7 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.model.response.ResponseData; + +public interface ScreenDataService { + ResponseData getInstalledDevice(String beginTime, String endTime); +} diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/ScreenDataController.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/ScreenDataController.java new file mode 100644 index 0000000..968d222 --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/ScreenDataController.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractAuthService; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.service.ScreenDataService; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class ScreenDataController { + private final ScreenDataService screenDataService; + private final AbstractPermissionContext permissionService; + + public ScreenDataController(ScreenDataService screenDataService, AbstractPermissionContext permissionService) { + this.screenDataService = screenDataService; + this.permissionService = permissionService; + } + + @RequestMapping("/statistics/installed-device") + public Object getInstalledDevice(String beginTime, String endTime) { + return screenDataService.getInstalledDevice(beginTime, endTime); + } +} diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java new file mode 100644 index 0000000..394b21f --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + +@Component +public interface ScreenDataServiceMapper { + + List> countDeviceByType(); + + String getDeviceTypeById(@Param("deptid") Long deptId); + +} diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml new file mode 100644 index 0000000..20b1df2 --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml @@ -0,0 +1,54 @@ + + + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-MM-dd HH24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-MM-dd HH24:mi:ss') + + + + ${paramStr} + + + + TO_DATE(${paramStr},'yyyy-MM-dd HH24:mi:ss') + + + + TO_DATE(${paramStr},'yyyy-MM-dd HH24:mi:ss') + + + + '%' || #{keywords}|| '%' + + + CONCAT('%',#{keywords},'%') + + + CONCAT('%',#{keywords},'%') + + + + + + + + + + \ No newline at end of file diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/ScreenDataService.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/ScreenDataService.java new file mode 100644 index 0000000..8469cc1 --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/ScreenDataService.java @@ -0,0 +1,7 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.model.response.ResponseData; + +public interface ScreenDataService { + ResponseData getInstalledDevice(String beginTime, String endTime); +} diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java index a35dde1..b2d0984 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java @@ -1,20 +1,16 @@ package com.casic.missiles.modular.system.service.impl; -import cn.hutool.core.convert.Convert; -import cn.hutool.core.util.StrUtil; + import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.system.dao.DeviceDataListMapper; -import com.casic.missiles.modular.system.dto.ExcelModel.*; import com.casic.missiles.modular.system.dto.statistic.*; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.service.DeviceDataListService; import com.casic.missiles.modular.system.service.IBusDeviceSupportService; import lombok.extern.slf4j.Slf4j; -import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Component; import javax.annotation.Resource; diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/ScreenDataController.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/ScreenDataController.java new file mode 100644 index 0000000..968d222 --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/ScreenDataController.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractAuthService; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.service.ScreenDataService; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class ScreenDataController { + private final ScreenDataService screenDataService; + private final AbstractPermissionContext permissionService; + + public ScreenDataController(ScreenDataService screenDataService, AbstractPermissionContext permissionService) { + this.screenDataService = screenDataService; + this.permissionService = permissionService; + } + + @RequestMapping("/statistics/installed-device") + public Object getInstalledDevice(String beginTime, String endTime) { + return screenDataService.getInstalledDevice(beginTime, endTime); + } +} diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java new file mode 100644 index 0000000..394b21f --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + +@Component +public interface ScreenDataServiceMapper { + + List> countDeviceByType(); + + String getDeviceTypeById(@Param("deptid") Long deptId); + +} diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml new file mode 100644 index 0000000..20b1df2 --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml @@ -0,0 +1,54 @@ + + + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-MM-dd HH24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-MM-dd HH24:mi:ss') + + + + ${paramStr} + + + + TO_DATE(${paramStr},'yyyy-MM-dd HH24:mi:ss') + + + + TO_DATE(${paramStr},'yyyy-MM-dd HH24:mi:ss') + + + + '%' || #{keywords}|| '%' + + + CONCAT('%',#{keywords},'%') + + + CONCAT('%',#{keywords},'%') + + + + + + + + + + \ No newline at end of file diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/ScreenDataService.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/ScreenDataService.java new file mode 100644 index 0000000..8469cc1 --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/ScreenDataService.java @@ -0,0 +1,7 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.model.response.ResponseData; + +public interface ScreenDataService { + ResponseData getInstalledDevice(String beginTime, String endTime); +} diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java index a35dde1..b2d0984 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java @@ -1,20 +1,16 @@ package com.casic.missiles.modular.system.service.impl; -import cn.hutool.core.convert.Convert; -import cn.hutool.core.util.StrUtil; + import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.system.dao.DeviceDataListMapper; -import com.casic.missiles.modular.system.dto.ExcelModel.*; import com.casic.missiles.modular.system.dto.statistic.*; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.service.DeviceDataListService; import com.casic.missiles.modular.system.service.IBusDeviceSupportService; import lombok.extern.slf4j.Slf4j; -import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Component; import javax.annotation.Resource; diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/ScreenDataServiceImpl.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/ScreenDataServiceImpl.java new file mode 100644 index 0000000..24d139c --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/ScreenDataServiceImpl.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.alibaba.fastjson.JSON; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dao.ScreenDataServiceMapper; +import com.casic.missiles.modular.system.enums.DeviceDataTableEnum; +import com.casic.missiles.modular.system.service.ScreenDataService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.dao.DataAccessException; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Slf4j +@Service +public class ScreenDataServiceImpl implements ScreenDataService { + + + private final ScreenDataServiceMapper screenDataServiceMapper; + + private final AbstractPermissionContext permissionService; + + public ScreenDataServiceImpl(ScreenDataServiceMapper screenDataServiceMapper, AbstractPermissionContext permissionService) { + this.screenDataServiceMapper = screenDataServiceMapper; + this.permissionService = permissionService; + } + + public ResponseData getInstalledDevice(String beginTime, String endTime) { + ResponseData responseData = new ResponseData(); + try { + List> installedDeviceList = initInstalledDevice(); + responseData.setData(installedDeviceList); + responseData.setMessage("查询成功"); + responseData.setCode(200); + } catch (DataAccessException dex) { + log.error("主题:查询燃气探测仪设备数据出现数据异常,开始时间{},结束时间{},异常信息{}", beginTime, endTime, dex); + responseData.setMessage("查询异常"); + responseData.setCode(500); + } + return responseData; + } + + private List> initInstalledDevice() { + Long deptId = permissionService.getAuthService().getLoginUser().getDeptId();//根绝当前角色获取所在部门 + String deviceTypes = screenDataServiceMapper.getDeviceTypeById(deptId); + List> installedDeviceList = new ArrayList<>(); + List> deviceCountList = screenDataServiceMapper.countDeviceByType(); + Map deviceCountMap = deviceCountList.stream().collect( + Collectors.toMap(e -> String.valueOf(e.get("deviceType")), e -> String.valueOf(e.get("count")))); + for (Object deviceType : JSON.parseObject(deviceTypes, List.class)) { + Map installedDeviceMap = new HashMap<>(); + installedDeviceMap.put("count", deviceCountMap.get(deviceType)); + installedDeviceMap.put("typeName", DeviceDataTableEnum.DEVICE_TYPE_TABLE.getTableNameMap(). + get(Integer.valueOf(deviceType.toString())).getTypeName()); + installedDeviceList.add(installedDeviceMap); + } + return installedDeviceList; + } + +} diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/ScreenDataController.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/ScreenDataController.java new file mode 100644 index 0000000..968d222 --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/ScreenDataController.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractAuthService; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.service.ScreenDataService; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class ScreenDataController { + private final ScreenDataService screenDataService; + private final AbstractPermissionContext permissionService; + + public ScreenDataController(ScreenDataService screenDataService, AbstractPermissionContext permissionService) { + this.screenDataService = screenDataService; + this.permissionService = permissionService; + } + + @RequestMapping("/statistics/installed-device") + public Object getInstalledDevice(String beginTime, String endTime) { + return screenDataService.getInstalledDevice(beginTime, endTime); + } +} diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java new file mode 100644 index 0000000..394b21f --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + +@Component +public interface ScreenDataServiceMapper { + + List> countDeviceByType(); + + String getDeviceTypeById(@Param("deptid") Long deptId); + +} diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml new file mode 100644 index 0000000..20b1df2 --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml @@ -0,0 +1,54 @@ + + + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-MM-dd HH24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-MM-dd HH24:mi:ss') + + + + ${paramStr} + + + + TO_DATE(${paramStr},'yyyy-MM-dd HH24:mi:ss') + + + + TO_DATE(${paramStr},'yyyy-MM-dd HH24:mi:ss') + + + + '%' || #{keywords}|| '%' + + + CONCAT('%',#{keywords},'%') + + + CONCAT('%',#{keywords},'%') + + + + + + + + + + \ No newline at end of file diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/ScreenDataService.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/ScreenDataService.java new file mode 100644 index 0000000..8469cc1 --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/ScreenDataService.java @@ -0,0 +1,7 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.model.response.ResponseData; + +public interface ScreenDataService { + ResponseData getInstalledDevice(String beginTime, String endTime); +} diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java index a35dde1..b2d0984 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceDataListServiceImpl.java @@ -1,20 +1,16 @@ package com.casic.missiles.modular.system.service.impl; -import cn.hutool.core.convert.Convert; -import cn.hutool.core.util.StrUtil; + import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.system.dao.DeviceDataListMapper; -import com.casic.missiles.modular.system.dto.ExcelModel.*; import com.casic.missiles.modular.system.dto.statistic.*; import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.service.DeviceDataListService; import com.casic.missiles.modular.system.service.IBusDeviceSupportService; import lombok.extern.slf4j.Slf4j; -import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Component; import javax.annotation.Resource; diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/ScreenDataServiceImpl.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/ScreenDataServiceImpl.java new file mode 100644 index 0000000..24d139c --- /dev/null +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/ScreenDataServiceImpl.java @@ -0,0 +1,65 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.alibaba.fastjson.JSON; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dao.ScreenDataServiceMapper; +import com.casic.missiles.modular.system.enums.DeviceDataTableEnum; +import com.casic.missiles.modular.system.service.ScreenDataService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.dao.DataAccessException; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Slf4j +@Service +public class ScreenDataServiceImpl implements ScreenDataService { + + + private final ScreenDataServiceMapper screenDataServiceMapper; + + private final AbstractPermissionContext permissionService; + + public ScreenDataServiceImpl(ScreenDataServiceMapper screenDataServiceMapper, AbstractPermissionContext permissionService) { + this.screenDataServiceMapper = screenDataServiceMapper; + this.permissionService = permissionService; + } + + public ResponseData getInstalledDevice(String beginTime, String endTime) { + ResponseData responseData = new ResponseData(); + try { + List> installedDeviceList = initInstalledDevice(); + responseData.setData(installedDeviceList); + responseData.setMessage("查询成功"); + responseData.setCode(200); + } catch (DataAccessException dex) { + log.error("主题:查询燃气探测仪设备数据出现数据异常,开始时间{},结束时间{},异常信息{}", beginTime, endTime, dex); + responseData.setMessage("查询异常"); + responseData.setCode(500); + } + return responseData; + } + + private List> initInstalledDevice() { + Long deptId = permissionService.getAuthService().getLoginUser().getDeptId();//根绝当前角色获取所在部门 + String deviceTypes = screenDataServiceMapper.getDeviceTypeById(deptId); + List> installedDeviceList = new ArrayList<>(); + List> deviceCountList = screenDataServiceMapper.countDeviceByType(); + Map deviceCountMap = deviceCountList.stream().collect( + Collectors.toMap(e -> String.valueOf(e.get("deviceType")), e -> String.valueOf(e.get("count")))); + for (Object deviceType : JSON.parseObject(deviceTypes, List.class)) { + Map installedDeviceMap = new HashMap<>(); + installedDeviceMap.put("count", deviceCountMap.get(deviceType)); + installedDeviceMap.put("typeName", DeviceDataTableEnum.DEVICE_TYPE_TABLE.getTableNameMap(). + get(Integer.valueOf(deviceType.toString())).getTypeName()); + installedDeviceList.add(installedDeviceMap); + } + return installedDeviceList; + } + +} diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/ThirdPartyDataServiceImpl.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/ThirdPartyDataServiceImpl.java index 03a164e..7870e5b 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/ThirdPartyDataServiceImpl.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/ThirdPartyDataServiceImpl.java @@ -114,7 +114,7 @@ // //转化为列表类型 // for (Object deviceType : JSON.parseObject(deviceTypes, List.class)) { // deviceList.add(deviceType.toString()); -// } +// } int num = thirdPartyMapper.countRecordsToday(dataScope, endTime, beginTime); // responseData.setData(num); responseData.setMessage("查询成功");