diff --git a/casic-device/pom.xml b/casic-device/pom.xml index 2f74cd0..5d11bd1 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -40,7 +40,6 @@ compile - org.springframework.boot spring-boot-starter-aop diff --git a/casic-device/pom.xml b/casic-device/pom.xml index 2f74cd0..5d11bd1 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -40,7 +40,6 @@ compile - org.springframework.boot spring-boot-starter-aop diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java index f97a3f6..b0aee21 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java @@ -5,12 +5,11 @@ import com.casic.missiles.core.common.constant.factory.PageFactory; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.QrCodeEntryTubeParam; import com.casic.missiles.modular.system.service.DeviceTubeService; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Map; /** @@ -33,7 +32,6 @@ * 获取点位列表 */ @RequestMapping(value = "/well/list") - @ResponseBody public Object tubeDeviceList() { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.deviceList(dataScope); @@ -43,7 +41,6 @@ * 获取管盯设备组列表信息 */ @RequestMapping(value = "/groups/list") - @ResponseBody public Object DevicesGroupList() { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.deviceGroupsList(dataScope); @@ -52,29 +49,7 @@ /** * 获取列表 */ - @RequestMapping(value = "/groupdevice/listpage") - @ResponseBody - public Object DeviceListPage(String wellGroupId, Integer order) { - Page> page = new PageFactory>().defaultPage(); - DataScope dataScope = permissionService.getCurrUserDataScope(); - return tubeService.groupDeviceListPage(order,page, wellGroupId, dataScope); - } - - /** - * 获取列表 - */ - @RequestMapping(value = "/groupdevice/history") - @ResponseBody - public Object DeviceHistory(String devcode, String beginTime, String endTime) { - Page> page = new PageFactory>().defaultPage(); - return tubeService.tubeDataHistory(page,devcode, beginTime, endTime); - } - - /** - * 获取列表 - */ @RequestMapping(value = "/groupdevice/list") - @ResponseBody public Object DeviceList(String wellGroupId) { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.groupDeviceList(wellGroupId, dataScope); @@ -82,11 +57,75 @@ /** + * 获取列表 + */ + @RequestMapping(value = "/groupdevice/listpage") + public Object DeviceListPage(String wellGroupId, Integer order) { + Page> page = new PageFactory>().defaultPage(); + DataScope dataScope = permissionService.getCurrUserDataScope(); + return tubeService.groupDeviceListPage(order, page, wellGroupId, dataScope); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/groupdevice/history") + public Object DeviceHistory(String devcode, String beginTime, String endTime, String wellGroupId) { + Page> page = new PageFactory>().defaultPage(); + return tubeService.tubeDataHistory(page, devcode, beginTime, endTime, wellGroupId); + } + + + /** * 获取详情信息 */ - @RequestMapping(value = "/detail/{detailId}") - @ResponseBody - public Object list(@PathVariable(name = "detailId") String tubeId) { - return tubeService.deviceDetail(tubeId); + @RequestMapping(value = "/detail") + public Object list(String devcode, String wellGroupId) { + return tubeService.deviceDetail(devcode, wellGroupId); } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/latestdata") + public Object latestData(String devcode, String wellGroupId) { + return tubeService.latestData(devcode, wellGroupId); + } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/qrcode-entry/add") + public Object excuteQrcodeEntryAdd(@RequestBody QrCodeEntryTubeParam qrCodeEntryTubeParam) { + return tubeService.excuteQrcodeEntryAdd(qrCodeEntryTubeParam); + } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/groupdict") + public Object getGroupDict() { + Long deptid = permissionService.getCurrLoginUser().getDeptId(); + return tubeService.getGroupDict(deptid); + } + + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/batch/delete") + public Object excuteBatchDelete(@RequestBody List deviceIdList) { + return tubeService.excuteBatchDelete(deviceIdList); + } + + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/group/edit") + public Object editGroupName(@RequestParam(value = "oldGroupName", required = true) String oldGroupName, + @RequestParam(value = "newGroupName", required = true) String newGroupName) { + return tubeService.editGroupName(oldGroupName, newGroupName); + } + } diff --git a/casic-device/pom.xml b/casic-device/pom.xml index 2f74cd0..5d11bd1 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -40,7 +40,6 @@ compile - org.springframework.boot spring-boot-starter-aop diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java index f97a3f6..b0aee21 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java @@ -5,12 +5,11 @@ import com.casic.missiles.core.common.constant.factory.PageFactory; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.QrCodeEntryTubeParam; import com.casic.missiles.modular.system.service.DeviceTubeService; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Map; /** @@ -33,7 +32,6 @@ * 获取点位列表 */ @RequestMapping(value = "/well/list") - @ResponseBody public Object tubeDeviceList() { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.deviceList(dataScope); @@ -43,7 +41,6 @@ * 获取管盯设备组列表信息 */ @RequestMapping(value = "/groups/list") - @ResponseBody public Object DevicesGroupList() { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.deviceGroupsList(dataScope); @@ -52,29 +49,7 @@ /** * 获取列表 */ - @RequestMapping(value = "/groupdevice/listpage") - @ResponseBody - public Object DeviceListPage(String wellGroupId, Integer order) { - Page> page = new PageFactory>().defaultPage(); - DataScope dataScope = permissionService.getCurrUserDataScope(); - return tubeService.groupDeviceListPage(order,page, wellGroupId, dataScope); - } - - /** - * 获取列表 - */ - @RequestMapping(value = "/groupdevice/history") - @ResponseBody - public Object DeviceHistory(String devcode, String beginTime, String endTime) { - Page> page = new PageFactory>().defaultPage(); - return tubeService.tubeDataHistory(page,devcode, beginTime, endTime); - } - - /** - * 获取列表 - */ @RequestMapping(value = "/groupdevice/list") - @ResponseBody public Object DeviceList(String wellGroupId) { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.groupDeviceList(wellGroupId, dataScope); @@ -82,11 +57,75 @@ /** + * 获取列表 + */ + @RequestMapping(value = "/groupdevice/listpage") + public Object DeviceListPage(String wellGroupId, Integer order) { + Page> page = new PageFactory>().defaultPage(); + DataScope dataScope = permissionService.getCurrUserDataScope(); + return tubeService.groupDeviceListPage(order, page, wellGroupId, dataScope); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/groupdevice/history") + public Object DeviceHistory(String devcode, String beginTime, String endTime, String wellGroupId) { + Page> page = new PageFactory>().defaultPage(); + return tubeService.tubeDataHistory(page, devcode, beginTime, endTime, wellGroupId); + } + + + /** * 获取详情信息 */ - @RequestMapping(value = "/detail/{detailId}") - @ResponseBody - public Object list(@PathVariable(name = "detailId") String tubeId) { - return tubeService.deviceDetail(tubeId); + @RequestMapping(value = "/detail") + public Object list(String devcode, String wellGroupId) { + return tubeService.deviceDetail(devcode, wellGroupId); } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/latestdata") + public Object latestData(String devcode, String wellGroupId) { + return tubeService.latestData(devcode, wellGroupId); + } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/qrcode-entry/add") + public Object excuteQrcodeEntryAdd(@RequestBody QrCodeEntryTubeParam qrCodeEntryTubeParam) { + return tubeService.excuteQrcodeEntryAdd(qrCodeEntryTubeParam); + } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/groupdict") + public Object getGroupDict() { + Long deptid = permissionService.getCurrLoginUser().getDeptId(); + return tubeService.getGroupDict(deptid); + } + + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/batch/delete") + public Object excuteBatchDelete(@RequestBody List deviceIdList) { + return tubeService.excuteBatchDelete(deviceIdList); + } + + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/group/edit") + public Object editGroupName(@RequestParam(value = "oldGroupName", required = true) String oldGroupName, + @RequestParam(value = "newGroupName", required = true) String newGroupName) { + return tubeService.editGroupName(oldGroupName, newGroupName); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java index e55ef62..617eddf 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java @@ -15,17 +15,48 @@ List> deviceGroupsList(@Param("scope") DataScope dataScope); - List> groupDeviceListPage(@Param("page")Page> page, @Param("wellGroupId") String wellGroupId, - @Param("scope") DataScope dataScope); + List> groupDeviceListPage(@Param("page") Page> page, @Param("wellGroupId") String wellGroupId, + @Param("scope") DataScope dataScope, @Param("dataOrder") String dataOrder); - Map dataTubeByDevcode(@Param("devcode")String devcode); - - List> tubeDataHistory(@Param("page") Page> page,@Param("devcode") String devcode, - @Param("endTime") String endTime,@Param("beginTime") String beginTime); - + List> tubeDataHistory(@Param("page") Page> page, @Param("devcode") String devcode, + @Param("beginTime") String beginTime, @Param("endTime") String endTime, + @Param("wellGroupId") String wellGroupId); List> groupDeviceList(@Param("wellGroupId") String wellGroupId, @Param("scope") DataScope dataScope); - Map deviceDetail(@Param("id") Long id); + Map deviceDetail(@Param("devcode") String devcode, @Param("wellGroupId") String wellGroupId); + + Map latestData(@Param("devcode") String devcode, @Param("wellGroupId") String wellGroupId); + + String existsDevice(@Param("devcode") String devcode); + + List getGroupDict(@Param("deptid") Long deptid); + + void addDeviceWell(@Param("wellId") Long wellId, @Param("deviceId") Long deviceId); + + Long getWellId(@Param("deviceId") Long deviceId); + + void deleteWell(@Param("deviceId") Long deviceId); + + void loseValidDeviceWell(@Param("deviceId") Long deviceId); + + void deleteDeviceById(@Param("deviceId") Long deviceId); + + void loseValidDevice(@Param("deviceId") Long deviceId); + + void deleteWellById(@Param("wellId") Long wellId); + + void loseValidWell(@Param("wellId") Long wellId); + + void deleteDataTube(@Param("devcode")String devcode,@Param("wellCode") String wellCode); + + void deleteBusConfig(@Param("deviceId") Long deviceId); + + String getDevcodeById(@Param("deviceId") Long deviceId); + + String getWellCodeById(@Param("wellId") Long wellId); + + void editGroupName(@Param("oldGroupName")String oldGroupName,@Param("newGroupName")String newGroupName); + } diff --git a/casic-device/pom.xml b/casic-device/pom.xml index 2f74cd0..5d11bd1 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -40,7 +40,6 @@ compile - org.springframework.boot spring-boot-starter-aop diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java index f97a3f6..b0aee21 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java @@ -5,12 +5,11 @@ import com.casic.missiles.core.common.constant.factory.PageFactory; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.QrCodeEntryTubeParam; import com.casic.missiles.modular.system.service.DeviceTubeService; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Map; /** @@ -33,7 +32,6 @@ * 获取点位列表 */ @RequestMapping(value = "/well/list") - @ResponseBody public Object tubeDeviceList() { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.deviceList(dataScope); @@ -43,7 +41,6 @@ * 获取管盯设备组列表信息 */ @RequestMapping(value = "/groups/list") - @ResponseBody public Object DevicesGroupList() { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.deviceGroupsList(dataScope); @@ -52,29 +49,7 @@ /** * 获取列表 */ - @RequestMapping(value = "/groupdevice/listpage") - @ResponseBody - public Object DeviceListPage(String wellGroupId, Integer order) { - Page> page = new PageFactory>().defaultPage(); - DataScope dataScope = permissionService.getCurrUserDataScope(); - return tubeService.groupDeviceListPage(order,page, wellGroupId, dataScope); - } - - /** - * 获取列表 - */ - @RequestMapping(value = "/groupdevice/history") - @ResponseBody - public Object DeviceHistory(String devcode, String beginTime, String endTime) { - Page> page = new PageFactory>().defaultPage(); - return tubeService.tubeDataHistory(page,devcode, beginTime, endTime); - } - - /** - * 获取列表 - */ @RequestMapping(value = "/groupdevice/list") - @ResponseBody public Object DeviceList(String wellGroupId) { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.groupDeviceList(wellGroupId, dataScope); @@ -82,11 +57,75 @@ /** + * 获取列表 + */ + @RequestMapping(value = "/groupdevice/listpage") + public Object DeviceListPage(String wellGroupId, Integer order) { + Page> page = new PageFactory>().defaultPage(); + DataScope dataScope = permissionService.getCurrUserDataScope(); + return tubeService.groupDeviceListPage(order, page, wellGroupId, dataScope); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/groupdevice/history") + public Object DeviceHistory(String devcode, String beginTime, String endTime, String wellGroupId) { + Page> page = new PageFactory>().defaultPage(); + return tubeService.tubeDataHistory(page, devcode, beginTime, endTime, wellGroupId); + } + + + /** * 获取详情信息 */ - @RequestMapping(value = "/detail/{detailId}") - @ResponseBody - public Object list(@PathVariable(name = "detailId") String tubeId) { - return tubeService.deviceDetail(tubeId); + @RequestMapping(value = "/detail") + public Object list(String devcode, String wellGroupId) { + return tubeService.deviceDetail(devcode, wellGroupId); } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/latestdata") + public Object latestData(String devcode, String wellGroupId) { + return tubeService.latestData(devcode, wellGroupId); + } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/qrcode-entry/add") + public Object excuteQrcodeEntryAdd(@RequestBody QrCodeEntryTubeParam qrCodeEntryTubeParam) { + return tubeService.excuteQrcodeEntryAdd(qrCodeEntryTubeParam); + } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/groupdict") + public Object getGroupDict() { + Long deptid = permissionService.getCurrLoginUser().getDeptId(); + return tubeService.getGroupDict(deptid); + } + + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/batch/delete") + public Object excuteBatchDelete(@RequestBody List deviceIdList) { + return tubeService.excuteBatchDelete(deviceIdList); + } + + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/group/edit") + public Object editGroupName(@RequestParam(value = "oldGroupName", required = true) String oldGroupName, + @RequestParam(value = "newGroupName", required = true) String newGroupName) { + return tubeService.editGroupName(oldGroupName, newGroupName); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java index e55ef62..617eddf 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java @@ -15,17 +15,48 @@ List> deviceGroupsList(@Param("scope") DataScope dataScope); - List> groupDeviceListPage(@Param("page")Page> page, @Param("wellGroupId") String wellGroupId, - @Param("scope") DataScope dataScope); + List> groupDeviceListPage(@Param("page") Page> page, @Param("wellGroupId") String wellGroupId, + @Param("scope") DataScope dataScope, @Param("dataOrder") String dataOrder); - Map dataTubeByDevcode(@Param("devcode")String devcode); - - List> tubeDataHistory(@Param("page") Page> page,@Param("devcode") String devcode, - @Param("endTime") String endTime,@Param("beginTime") String beginTime); - + List> tubeDataHistory(@Param("page") Page> page, @Param("devcode") String devcode, + @Param("beginTime") String beginTime, @Param("endTime") String endTime, + @Param("wellGroupId") String wellGroupId); List> groupDeviceList(@Param("wellGroupId") String wellGroupId, @Param("scope") DataScope dataScope); - Map deviceDetail(@Param("id") Long id); + Map deviceDetail(@Param("devcode") String devcode, @Param("wellGroupId") String wellGroupId); + + Map latestData(@Param("devcode") String devcode, @Param("wellGroupId") String wellGroupId); + + String existsDevice(@Param("devcode") String devcode); + + List getGroupDict(@Param("deptid") Long deptid); + + void addDeviceWell(@Param("wellId") Long wellId, @Param("deviceId") Long deviceId); + + Long getWellId(@Param("deviceId") Long deviceId); + + void deleteWell(@Param("deviceId") Long deviceId); + + void loseValidDeviceWell(@Param("deviceId") Long deviceId); + + void deleteDeviceById(@Param("deviceId") Long deviceId); + + void loseValidDevice(@Param("deviceId") Long deviceId); + + void deleteWellById(@Param("wellId") Long wellId); + + void loseValidWell(@Param("wellId") Long wellId); + + void deleteDataTube(@Param("devcode")String devcode,@Param("wellCode") String wellCode); + + void deleteBusConfig(@Param("deviceId") Long deviceId); + + String getDevcodeById(@Param("deviceId") Long deviceId); + + String getWellCodeById(@Param("wellId") Long wellId); + + void editGroupName(@Param("oldGroupName")String oldGroupName,@Param("newGroupName")String newGroupName); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml index 42cae85..2d228bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml @@ -27,101 +27,223 @@ - - - - - + + + + + + + + INSERT INTO bus_device_well + VALUES(#{deviceId},#{wellId},now(),'1') + + + + + + DELETE + FROM bus_device + WHERE id=#{deviceId} + + + + UPDATE bus_device + SET VALID='0' + WHERE id=#{deviceId} + + + + DELETE + FROM bus_device_well + WHERE DEVICE_ID=#{deviceId} + + + + UPDATE bus_device_well + SET VALID='0' + WHERE DEVICE_ID=#{deviceId} + + + + delete + FROM bus_well_info + WHERE id=#{wellId} + + + + + UPDATE bus_well_info + SET valid='0' + WHERE id=#{wellId} + + + + DELETE + FROM data_tube + WHERE DEVCODE=#{devcode} + AND WELL_CODE=#{wellCode} + + + + DELETE + FROM bus_config + WHERE DEVICE_ID=#{deviceId} + + + + + + + + UPDATE bus_well_info + SET WELL_FLAG_1=#{newGroupName} + WHERE WELL_FLAG_1=#{oldGroupName} + + \ No newline at end of file diff --git a/casic-device/pom.xml b/casic-device/pom.xml index 2f74cd0..5d11bd1 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -40,7 +40,6 @@ compile - org.springframework.boot spring-boot-starter-aop diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java index f97a3f6..b0aee21 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java @@ -5,12 +5,11 @@ import com.casic.missiles.core.common.constant.factory.PageFactory; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.QrCodeEntryTubeParam; import com.casic.missiles.modular.system.service.DeviceTubeService; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Map; /** @@ -33,7 +32,6 @@ * 获取点位列表 */ @RequestMapping(value = "/well/list") - @ResponseBody public Object tubeDeviceList() { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.deviceList(dataScope); @@ -43,7 +41,6 @@ * 获取管盯设备组列表信息 */ @RequestMapping(value = "/groups/list") - @ResponseBody public Object DevicesGroupList() { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.deviceGroupsList(dataScope); @@ -52,29 +49,7 @@ /** * 获取列表 */ - @RequestMapping(value = "/groupdevice/listpage") - @ResponseBody - public Object DeviceListPage(String wellGroupId, Integer order) { - Page> page = new PageFactory>().defaultPage(); - DataScope dataScope = permissionService.getCurrUserDataScope(); - return tubeService.groupDeviceListPage(order,page, wellGroupId, dataScope); - } - - /** - * 获取列表 - */ - @RequestMapping(value = "/groupdevice/history") - @ResponseBody - public Object DeviceHistory(String devcode, String beginTime, String endTime) { - Page> page = new PageFactory>().defaultPage(); - return tubeService.tubeDataHistory(page,devcode, beginTime, endTime); - } - - /** - * 获取列表 - */ @RequestMapping(value = "/groupdevice/list") - @ResponseBody public Object DeviceList(String wellGroupId) { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.groupDeviceList(wellGroupId, dataScope); @@ -82,11 +57,75 @@ /** + * 获取列表 + */ + @RequestMapping(value = "/groupdevice/listpage") + public Object DeviceListPage(String wellGroupId, Integer order) { + Page> page = new PageFactory>().defaultPage(); + DataScope dataScope = permissionService.getCurrUserDataScope(); + return tubeService.groupDeviceListPage(order, page, wellGroupId, dataScope); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/groupdevice/history") + public Object DeviceHistory(String devcode, String beginTime, String endTime, String wellGroupId) { + Page> page = new PageFactory>().defaultPage(); + return tubeService.tubeDataHistory(page, devcode, beginTime, endTime, wellGroupId); + } + + + /** * 获取详情信息 */ - @RequestMapping(value = "/detail/{detailId}") - @ResponseBody - public Object list(@PathVariable(name = "detailId") String tubeId) { - return tubeService.deviceDetail(tubeId); + @RequestMapping(value = "/detail") + public Object list(String devcode, String wellGroupId) { + return tubeService.deviceDetail(devcode, wellGroupId); } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/latestdata") + public Object latestData(String devcode, String wellGroupId) { + return tubeService.latestData(devcode, wellGroupId); + } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/qrcode-entry/add") + public Object excuteQrcodeEntryAdd(@RequestBody QrCodeEntryTubeParam qrCodeEntryTubeParam) { + return tubeService.excuteQrcodeEntryAdd(qrCodeEntryTubeParam); + } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/groupdict") + public Object getGroupDict() { + Long deptid = permissionService.getCurrLoginUser().getDeptId(); + return tubeService.getGroupDict(deptid); + } + + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/batch/delete") + public Object excuteBatchDelete(@RequestBody List deviceIdList) { + return tubeService.excuteBatchDelete(deviceIdList); + } + + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/group/edit") + public Object editGroupName(@RequestParam(value = "oldGroupName", required = true) String oldGroupName, + @RequestParam(value = "newGroupName", required = true) String newGroupName) { + return tubeService.editGroupName(oldGroupName, newGroupName); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java index e55ef62..617eddf 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java @@ -15,17 +15,48 @@ List> deviceGroupsList(@Param("scope") DataScope dataScope); - List> groupDeviceListPage(@Param("page")Page> page, @Param("wellGroupId") String wellGroupId, - @Param("scope") DataScope dataScope); + List> groupDeviceListPage(@Param("page") Page> page, @Param("wellGroupId") String wellGroupId, + @Param("scope") DataScope dataScope, @Param("dataOrder") String dataOrder); - Map dataTubeByDevcode(@Param("devcode")String devcode); - - List> tubeDataHistory(@Param("page") Page> page,@Param("devcode") String devcode, - @Param("endTime") String endTime,@Param("beginTime") String beginTime); - + List> tubeDataHistory(@Param("page") Page> page, @Param("devcode") String devcode, + @Param("beginTime") String beginTime, @Param("endTime") String endTime, + @Param("wellGroupId") String wellGroupId); List> groupDeviceList(@Param("wellGroupId") String wellGroupId, @Param("scope") DataScope dataScope); - Map deviceDetail(@Param("id") Long id); + Map deviceDetail(@Param("devcode") String devcode, @Param("wellGroupId") String wellGroupId); + + Map latestData(@Param("devcode") String devcode, @Param("wellGroupId") String wellGroupId); + + String existsDevice(@Param("devcode") String devcode); + + List getGroupDict(@Param("deptid") Long deptid); + + void addDeviceWell(@Param("wellId") Long wellId, @Param("deviceId") Long deviceId); + + Long getWellId(@Param("deviceId") Long deviceId); + + void deleteWell(@Param("deviceId") Long deviceId); + + void loseValidDeviceWell(@Param("deviceId") Long deviceId); + + void deleteDeviceById(@Param("deviceId") Long deviceId); + + void loseValidDevice(@Param("deviceId") Long deviceId); + + void deleteWellById(@Param("wellId") Long wellId); + + void loseValidWell(@Param("wellId") Long wellId); + + void deleteDataTube(@Param("devcode")String devcode,@Param("wellCode") String wellCode); + + void deleteBusConfig(@Param("deviceId") Long deviceId); + + String getDevcodeById(@Param("deviceId") Long deviceId); + + String getWellCodeById(@Param("wellId") Long wellId); + + void editGroupName(@Param("oldGroupName")String oldGroupName,@Param("newGroupName")String newGroupName); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml index 42cae85..2d228bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml @@ -27,101 +27,223 @@ - - - - - + + + + + + + + INSERT INTO bus_device_well + VALUES(#{deviceId},#{wellId},now(),'1') + + + + + + DELETE + FROM bus_device + WHERE id=#{deviceId} + + + + UPDATE bus_device + SET VALID='0' + WHERE id=#{deviceId} + + + + DELETE + FROM bus_device_well + WHERE DEVICE_ID=#{deviceId} + + + + UPDATE bus_device_well + SET VALID='0' + WHERE DEVICE_ID=#{deviceId} + + + + delete + FROM bus_well_info + WHERE id=#{wellId} + + + + + UPDATE bus_well_info + SET valid='0' + WHERE id=#{wellId} + + + + DELETE + FROM data_tube + WHERE DEVCODE=#{devcode} + AND WELL_CODE=#{wellCode} + + + + DELETE + FROM bus_config + WHERE DEVICE_ID=#{deviceId} + + + + + + + + UPDATE bus_well_info + SET WELL_FLAG_1=#{newGroupName} + WHERE WELL_FLAG_1=#{oldGroupName} + + \ No newline at end of file diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/model/QrCodeEntryTubeParam.java b/casic-device/src/main/java/com/casic/missiles/modular/system/model/QrCodeEntryTubeParam.java new file mode 100644 index 0000000..8f33f66 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/model/QrCodeEntryTubeParam.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.model; + +import lombok.Data; + +/** + * @author cz + * @date 2022-8-15 + */ +@Data +public class QrCodeEntryTubeParam { + private String deviceCode; + private String deviceName; + private String projectName; + //采集频率 + private String frequency; + private String lng; + private String lat; + /** + * 现场图片 + */ + private String image; + private String description; + private String createTime; + private String deptId; + private String ownerId; + private String version; +} diff --git a/casic-device/pom.xml b/casic-device/pom.xml index 2f74cd0..5d11bd1 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -40,7 +40,6 @@ compile - org.springframework.boot spring-boot-starter-aop diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java index f97a3f6..b0aee21 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java @@ -5,12 +5,11 @@ import com.casic.missiles.core.common.constant.factory.PageFactory; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.QrCodeEntryTubeParam; import com.casic.missiles.modular.system.service.DeviceTubeService; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Map; /** @@ -33,7 +32,6 @@ * 获取点位列表 */ @RequestMapping(value = "/well/list") - @ResponseBody public Object tubeDeviceList() { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.deviceList(dataScope); @@ -43,7 +41,6 @@ * 获取管盯设备组列表信息 */ @RequestMapping(value = "/groups/list") - @ResponseBody public Object DevicesGroupList() { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.deviceGroupsList(dataScope); @@ -52,29 +49,7 @@ /** * 获取列表 */ - @RequestMapping(value = "/groupdevice/listpage") - @ResponseBody - public Object DeviceListPage(String wellGroupId, Integer order) { - Page> page = new PageFactory>().defaultPage(); - DataScope dataScope = permissionService.getCurrUserDataScope(); - return tubeService.groupDeviceListPage(order,page, wellGroupId, dataScope); - } - - /** - * 获取列表 - */ - @RequestMapping(value = "/groupdevice/history") - @ResponseBody - public Object DeviceHistory(String devcode, String beginTime, String endTime) { - Page> page = new PageFactory>().defaultPage(); - return tubeService.tubeDataHistory(page,devcode, beginTime, endTime); - } - - /** - * 获取列表 - */ @RequestMapping(value = "/groupdevice/list") - @ResponseBody public Object DeviceList(String wellGroupId) { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.groupDeviceList(wellGroupId, dataScope); @@ -82,11 +57,75 @@ /** + * 获取列表 + */ + @RequestMapping(value = "/groupdevice/listpage") + public Object DeviceListPage(String wellGroupId, Integer order) { + Page> page = new PageFactory>().defaultPage(); + DataScope dataScope = permissionService.getCurrUserDataScope(); + return tubeService.groupDeviceListPage(order, page, wellGroupId, dataScope); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/groupdevice/history") + public Object DeviceHistory(String devcode, String beginTime, String endTime, String wellGroupId) { + Page> page = new PageFactory>().defaultPage(); + return tubeService.tubeDataHistory(page, devcode, beginTime, endTime, wellGroupId); + } + + + /** * 获取详情信息 */ - @RequestMapping(value = "/detail/{detailId}") - @ResponseBody - public Object list(@PathVariable(name = "detailId") String tubeId) { - return tubeService.deviceDetail(tubeId); + @RequestMapping(value = "/detail") + public Object list(String devcode, String wellGroupId) { + return tubeService.deviceDetail(devcode, wellGroupId); } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/latestdata") + public Object latestData(String devcode, String wellGroupId) { + return tubeService.latestData(devcode, wellGroupId); + } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/qrcode-entry/add") + public Object excuteQrcodeEntryAdd(@RequestBody QrCodeEntryTubeParam qrCodeEntryTubeParam) { + return tubeService.excuteQrcodeEntryAdd(qrCodeEntryTubeParam); + } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/groupdict") + public Object getGroupDict() { + Long deptid = permissionService.getCurrLoginUser().getDeptId(); + return tubeService.getGroupDict(deptid); + } + + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/batch/delete") + public Object excuteBatchDelete(@RequestBody List deviceIdList) { + return tubeService.excuteBatchDelete(deviceIdList); + } + + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/group/edit") + public Object editGroupName(@RequestParam(value = "oldGroupName", required = true) String oldGroupName, + @RequestParam(value = "newGroupName", required = true) String newGroupName) { + return tubeService.editGroupName(oldGroupName, newGroupName); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java index e55ef62..617eddf 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java @@ -15,17 +15,48 @@ List> deviceGroupsList(@Param("scope") DataScope dataScope); - List> groupDeviceListPage(@Param("page")Page> page, @Param("wellGroupId") String wellGroupId, - @Param("scope") DataScope dataScope); + List> groupDeviceListPage(@Param("page") Page> page, @Param("wellGroupId") String wellGroupId, + @Param("scope") DataScope dataScope, @Param("dataOrder") String dataOrder); - Map dataTubeByDevcode(@Param("devcode")String devcode); - - List> tubeDataHistory(@Param("page") Page> page,@Param("devcode") String devcode, - @Param("endTime") String endTime,@Param("beginTime") String beginTime); - + List> tubeDataHistory(@Param("page") Page> page, @Param("devcode") String devcode, + @Param("beginTime") String beginTime, @Param("endTime") String endTime, + @Param("wellGroupId") String wellGroupId); List> groupDeviceList(@Param("wellGroupId") String wellGroupId, @Param("scope") DataScope dataScope); - Map deviceDetail(@Param("id") Long id); + Map deviceDetail(@Param("devcode") String devcode, @Param("wellGroupId") String wellGroupId); + + Map latestData(@Param("devcode") String devcode, @Param("wellGroupId") String wellGroupId); + + String existsDevice(@Param("devcode") String devcode); + + List getGroupDict(@Param("deptid") Long deptid); + + void addDeviceWell(@Param("wellId") Long wellId, @Param("deviceId") Long deviceId); + + Long getWellId(@Param("deviceId") Long deviceId); + + void deleteWell(@Param("deviceId") Long deviceId); + + void loseValidDeviceWell(@Param("deviceId") Long deviceId); + + void deleteDeviceById(@Param("deviceId") Long deviceId); + + void loseValidDevice(@Param("deviceId") Long deviceId); + + void deleteWellById(@Param("wellId") Long wellId); + + void loseValidWell(@Param("wellId") Long wellId); + + void deleteDataTube(@Param("devcode")String devcode,@Param("wellCode") String wellCode); + + void deleteBusConfig(@Param("deviceId") Long deviceId); + + String getDevcodeById(@Param("deviceId") Long deviceId); + + String getWellCodeById(@Param("wellId") Long wellId); + + void editGroupName(@Param("oldGroupName")String oldGroupName,@Param("newGroupName")String newGroupName); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml index 42cae85..2d228bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml @@ -27,101 +27,223 @@ - - - - - + + + + + + + + INSERT INTO bus_device_well + VALUES(#{deviceId},#{wellId},now(),'1') + + + + + + DELETE + FROM bus_device + WHERE id=#{deviceId} + + + + UPDATE bus_device + SET VALID='0' + WHERE id=#{deviceId} + + + + DELETE + FROM bus_device_well + WHERE DEVICE_ID=#{deviceId} + + + + UPDATE bus_device_well + SET VALID='0' + WHERE DEVICE_ID=#{deviceId} + + + + delete + FROM bus_well_info + WHERE id=#{wellId} + + + + + UPDATE bus_well_info + SET valid='0' + WHERE id=#{wellId} + + + + DELETE + FROM data_tube + WHERE DEVCODE=#{devcode} + AND WELL_CODE=#{wellCode} + + + + DELETE + FROM bus_config + WHERE DEVICE_ID=#{deviceId} + + + + + + + + UPDATE bus_well_info + SET WELL_FLAG_1=#{newGroupName} + WHERE WELL_FLAG_1=#{oldGroupName} + + \ No newline at end of file diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/model/QrCodeEntryTubeParam.java b/casic-device/src/main/java/com/casic/missiles/modular/system/model/QrCodeEntryTubeParam.java new file mode 100644 index 0000000..8f33f66 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/model/QrCodeEntryTubeParam.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.model; + +import lombok.Data; + +/** + * @author cz + * @date 2022-8-15 + */ +@Data +public class QrCodeEntryTubeParam { + private String deviceCode; + private String deviceName; + private String projectName; + //采集频率 + private String frequency; + private String lng; + private String lat; + /** + * 现场图片 + */ + private String image; + private String description; + private String createTime; + private String deptId; + private String ownerId; + private String version; +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/DeviceTubeService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/DeviceTubeService.java index 0bf5970..ebcfbcd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/DeviceTubeService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/DeviceTubeService.java @@ -2,7 +2,9 @@ import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.QrCodeEntryTubeParam; +import java.util.List; import java.util.Map; public interface DeviceTubeService { @@ -31,7 +33,7 @@ */ Object groupDeviceListPage(Integer oreder, Page> page, String wellGroupId, DataScope dataScope); - Object tubeDataHistory( Page> page,String DEVCOE, String beginTime, String endTime); + Object tubeDataHistory(Page> page, String DEVCOE, String beginTime, String endTime, String wellGroupId); /** @@ -45,6 +47,19 @@ /** * 获取详情信息 */ - Object deviceDetail(String id); + Object deviceDetail(String id, String wellGroupId); + + /** + * 获取设备最新数据信息 + */ + Object latestData(String devcode,String wellGroupId); + + Object excuteQrcodeEntryAdd(QrCodeEntryTubeParam qrCodeEntryTubeParam); + + Object getGroupDict(Long deptid); + + Object excuteBatchDelete(List deviceIdList); + + Object editGroupName(String oldGroupName,String newGroupName); } diff --git a/casic-device/pom.xml b/casic-device/pom.xml index 2f74cd0..5d11bd1 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -40,7 +40,6 @@ compile - org.springframework.boot spring-boot-starter-aop diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java index f97a3f6..b0aee21 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java @@ -5,12 +5,11 @@ import com.casic.missiles.core.common.constant.factory.PageFactory; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.QrCodeEntryTubeParam; import com.casic.missiles.modular.system.service.DeviceTubeService; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Map; /** @@ -33,7 +32,6 @@ * 获取点位列表 */ @RequestMapping(value = "/well/list") - @ResponseBody public Object tubeDeviceList() { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.deviceList(dataScope); @@ -43,7 +41,6 @@ * 获取管盯设备组列表信息 */ @RequestMapping(value = "/groups/list") - @ResponseBody public Object DevicesGroupList() { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.deviceGroupsList(dataScope); @@ -52,29 +49,7 @@ /** * 获取列表 */ - @RequestMapping(value = "/groupdevice/listpage") - @ResponseBody - public Object DeviceListPage(String wellGroupId, Integer order) { - Page> page = new PageFactory>().defaultPage(); - DataScope dataScope = permissionService.getCurrUserDataScope(); - return tubeService.groupDeviceListPage(order,page, wellGroupId, dataScope); - } - - /** - * 获取列表 - */ - @RequestMapping(value = "/groupdevice/history") - @ResponseBody - public Object DeviceHistory(String devcode, String beginTime, String endTime) { - Page> page = new PageFactory>().defaultPage(); - return tubeService.tubeDataHistory(page,devcode, beginTime, endTime); - } - - /** - * 获取列表 - */ @RequestMapping(value = "/groupdevice/list") - @ResponseBody public Object DeviceList(String wellGroupId) { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.groupDeviceList(wellGroupId, dataScope); @@ -82,11 +57,75 @@ /** + * 获取列表 + */ + @RequestMapping(value = "/groupdevice/listpage") + public Object DeviceListPage(String wellGroupId, Integer order) { + Page> page = new PageFactory>().defaultPage(); + DataScope dataScope = permissionService.getCurrUserDataScope(); + return tubeService.groupDeviceListPage(order, page, wellGroupId, dataScope); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/groupdevice/history") + public Object DeviceHistory(String devcode, String beginTime, String endTime, String wellGroupId) { + Page> page = new PageFactory>().defaultPage(); + return tubeService.tubeDataHistory(page, devcode, beginTime, endTime, wellGroupId); + } + + + /** * 获取详情信息 */ - @RequestMapping(value = "/detail/{detailId}") - @ResponseBody - public Object list(@PathVariable(name = "detailId") String tubeId) { - return tubeService.deviceDetail(tubeId); + @RequestMapping(value = "/detail") + public Object list(String devcode, String wellGroupId) { + return tubeService.deviceDetail(devcode, wellGroupId); } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/latestdata") + public Object latestData(String devcode, String wellGroupId) { + return tubeService.latestData(devcode, wellGroupId); + } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/qrcode-entry/add") + public Object excuteQrcodeEntryAdd(@RequestBody QrCodeEntryTubeParam qrCodeEntryTubeParam) { + return tubeService.excuteQrcodeEntryAdd(qrCodeEntryTubeParam); + } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/groupdict") + public Object getGroupDict() { + Long deptid = permissionService.getCurrLoginUser().getDeptId(); + return tubeService.getGroupDict(deptid); + } + + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/batch/delete") + public Object excuteBatchDelete(@RequestBody List deviceIdList) { + return tubeService.excuteBatchDelete(deviceIdList); + } + + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/group/edit") + public Object editGroupName(@RequestParam(value = "oldGroupName", required = true) String oldGroupName, + @RequestParam(value = "newGroupName", required = true) String newGroupName) { + return tubeService.editGroupName(oldGroupName, newGroupName); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java index e55ef62..617eddf 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java @@ -15,17 +15,48 @@ List> deviceGroupsList(@Param("scope") DataScope dataScope); - List> groupDeviceListPage(@Param("page")Page> page, @Param("wellGroupId") String wellGroupId, - @Param("scope") DataScope dataScope); + List> groupDeviceListPage(@Param("page") Page> page, @Param("wellGroupId") String wellGroupId, + @Param("scope") DataScope dataScope, @Param("dataOrder") String dataOrder); - Map dataTubeByDevcode(@Param("devcode")String devcode); - - List> tubeDataHistory(@Param("page") Page> page,@Param("devcode") String devcode, - @Param("endTime") String endTime,@Param("beginTime") String beginTime); - + List> tubeDataHistory(@Param("page") Page> page, @Param("devcode") String devcode, + @Param("beginTime") String beginTime, @Param("endTime") String endTime, + @Param("wellGroupId") String wellGroupId); List> groupDeviceList(@Param("wellGroupId") String wellGroupId, @Param("scope") DataScope dataScope); - Map deviceDetail(@Param("id") Long id); + Map deviceDetail(@Param("devcode") String devcode, @Param("wellGroupId") String wellGroupId); + + Map latestData(@Param("devcode") String devcode, @Param("wellGroupId") String wellGroupId); + + String existsDevice(@Param("devcode") String devcode); + + List getGroupDict(@Param("deptid") Long deptid); + + void addDeviceWell(@Param("wellId") Long wellId, @Param("deviceId") Long deviceId); + + Long getWellId(@Param("deviceId") Long deviceId); + + void deleteWell(@Param("deviceId") Long deviceId); + + void loseValidDeviceWell(@Param("deviceId") Long deviceId); + + void deleteDeviceById(@Param("deviceId") Long deviceId); + + void loseValidDevice(@Param("deviceId") Long deviceId); + + void deleteWellById(@Param("wellId") Long wellId); + + void loseValidWell(@Param("wellId") Long wellId); + + void deleteDataTube(@Param("devcode")String devcode,@Param("wellCode") String wellCode); + + void deleteBusConfig(@Param("deviceId") Long deviceId); + + String getDevcodeById(@Param("deviceId") Long deviceId); + + String getWellCodeById(@Param("wellId") Long wellId); + + void editGroupName(@Param("oldGroupName")String oldGroupName,@Param("newGroupName")String newGroupName); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml index 42cae85..2d228bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml @@ -27,101 +27,223 @@ - - - - - + + + + + + + + INSERT INTO bus_device_well + VALUES(#{deviceId},#{wellId},now(),'1') + + + + + + DELETE + FROM bus_device + WHERE id=#{deviceId} + + + + UPDATE bus_device + SET VALID='0' + WHERE id=#{deviceId} + + + + DELETE + FROM bus_device_well + WHERE DEVICE_ID=#{deviceId} + + + + UPDATE bus_device_well + SET VALID='0' + WHERE DEVICE_ID=#{deviceId} + + + + delete + FROM bus_well_info + WHERE id=#{wellId} + + + + + UPDATE bus_well_info + SET valid='0' + WHERE id=#{wellId} + + + + DELETE + FROM data_tube + WHERE DEVCODE=#{devcode} + AND WELL_CODE=#{wellCode} + + + + DELETE + FROM bus_config + WHERE DEVICE_ID=#{deviceId} + + + + + + + + UPDATE bus_well_info + SET WELL_FLAG_1=#{newGroupName} + WHERE WELL_FLAG_1=#{oldGroupName} + + \ No newline at end of file diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/model/QrCodeEntryTubeParam.java b/casic-device/src/main/java/com/casic/missiles/modular/system/model/QrCodeEntryTubeParam.java new file mode 100644 index 0000000..8f33f66 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/model/QrCodeEntryTubeParam.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.model; + +import lombok.Data; + +/** + * @author cz + * @date 2022-8-15 + */ +@Data +public class QrCodeEntryTubeParam { + private String deviceCode; + private String deviceName; + private String projectName; + //采集频率 + private String frequency; + private String lng; + private String lat; + /** + * 现场图片 + */ + private String image; + private String description; + private String createTime; + private String deptId; + private String ownerId; + private String version; +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/DeviceTubeService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/DeviceTubeService.java index 0bf5970..ebcfbcd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/DeviceTubeService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/DeviceTubeService.java @@ -2,7 +2,9 @@ import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.QrCodeEntryTubeParam; +import java.util.List; import java.util.Map; public interface DeviceTubeService { @@ -31,7 +33,7 @@ */ Object groupDeviceListPage(Integer oreder, Page> page, String wellGroupId, DataScope dataScope); - Object tubeDataHistory( Page> page,String DEVCOE, String beginTime, String endTime); + Object tubeDataHistory(Page> page, String DEVCOE, String beginTime, String endTime, String wellGroupId); /** @@ -45,6 +47,19 @@ /** * 获取详情信息 */ - Object deviceDetail(String id); + Object deviceDetail(String id, String wellGroupId); + + /** + * 获取设备最新数据信息 + */ + Object latestData(String devcode,String wellGroupId); + + Object excuteQrcodeEntryAdd(QrCodeEntryTubeParam qrCodeEntryTubeParam); + + Object getGroupDict(Long deptid); + + Object excuteBatchDelete(List deviceIdList); + + Object editGroupName(String oldGroupName,String newGroupName); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTubeServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTubeServiceImpl.java index 0d47b3f..a332560 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTubeServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTubeServiceImpl.java @@ -4,14 +4,15 @@ import com.casic.missiles.core.base.response.ResponseData; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dao.DeviceTubeMapper; +import com.casic.missiles.modular.system.model.QrCodeEntryTubeParam; import com.casic.missiles.modular.system.service.DeviceTubeService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Service; -import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.util.*; -import java.util.stream.Collectors; @Service @Slf4j @@ -19,8 +20,11 @@ private final DeviceTubeMapper deviceTubeMapper; - public DeviceTubeServiceImpl(DeviceTubeMapper deviceTubeMapper) { + private final TubeQrCreateDevice tubeQrCreateDevice; + + public DeviceTubeServiceImpl(DeviceTubeMapper deviceTubeMapper, TubeQrCreateDevice tubeQrCreateDevice) { this.deviceTubeMapper = deviceTubeMapper; + this.tubeQrCreateDevice = tubeQrCreateDevice; } /** @@ -69,32 +73,17 @@ /** * 分页获取点位信息 * - * @param oreder + * @param order * @param page * @param wellGroupId * @param dataScope * @return */ - public Object groupDeviceListPage(Integer oreder, Page> page, String wellGroupId, DataScope dataScope) { + public Object groupDeviceListPage(Integer order, Page> page, String wellGroupId, DataScope dataScope) { ResponseData responseData = new ResponseData(); try { - List> tubeDeviceList = deviceTubeMapper.groupDeviceListPage(page, wellGroupId, dataScope); - List> tubeDataDeviceList = new ArrayList<>(); - tubeDeviceList.forEach(tubeDevice -> { - Map tubeDeviceData = deviceTubeMapper.dataTubeByDevcode(tubeDevice.get("DEVCODE").toString()); - if (tubeDeviceData == null) { - tubeDeviceData = new HashMap<>(); - initTubeDeviceData(tubeDeviceData, tubeDevice.get("DEVCODE")); - } - tubeDeviceData.put("deviceName", tubeDevice.get("DEVICE_NAME")); - tubeDataDeviceList.add(tubeDeviceData); - } - ); - if (oreder != null && oreder == 0) { - resvertSortStrength(tubeDataDeviceList); - } else { - sortStrength(tubeDataDeviceList); - } + String dataOrder = order == 1 ? "ASC" : "DESC"; + List> tubeDataDeviceList = deviceTubeMapper.groupDeviceListPage(page, wellGroupId, dataScope, dataOrder); responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); responseData.setMessage(ResponseData.DEFAULT_SUCCESS_MESSAGE); responseData.setData(tubeDataDeviceList); @@ -116,10 +105,10 @@ * @param endTime * @return */ - public Object tubeDataHistory(Page> page, String devcode, String beginTime, String endTime) { + public Object tubeDataHistory(Page> page, String devcode, String beginTime, String endTime, String wellGroupId) { ResponseData responseData = new ResponseData(); try { - List> tubeDeviceList = deviceTubeMapper.tubeDataHistory(page, devcode, beginTime, endTime); + List> tubeDeviceList = deviceTubeMapper.tubeDataHistory(page, devcode, beginTime, endTime, wellGroupId); responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); responseData.setMessage(ResponseData.DEFAULT_SUCCESS_MESSAGE); responseData.setData(tubeDeviceList); @@ -142,6 +131,18 @@ ResponseData responseData = new ResponseData(); try { List> tubeDeviceList = deviceTubeMapper.groupDeviceList(wellGroupId, dataScope); +// List> tubeDeviceDataList = new ArrayList<>(); +// tubeDeviceList.forEach( +// tubeDevice -> { +// List> tubeDataList = deviceTubeMapper.groupDeviceDataList(tubeDevice.get("DEVCODE").toString()); +// tubeDataList.forEach( +// tubeData -> { +// tubeData.putAll(tubeDevice); +// } +// ); +// tubeDeviceDataList.addAll(tubeDataList); +// } +// ); responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); responseData.setMessage(ResponseData.DEFAULT_SUCCESS_MESSAGE); responseData.setData(tubeDeviceList); @@ -157,10 +158,10 @@ /** * 获取详情信息 */ - public Object deviceDetail(String id) { + public Object deviceDetail(String devcode, String wellGroupId) { ResponseData responseData = new ResponseData(); try { - Map tubeDeviceData = deviceTubeMapper.deviceDetail(Long.valueOf(id)); + Map tubeDeviceData = deviceTubeMapper.deviceDetail(devcode, wellGroupId); responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); responseData.setMessage(ResponseData.DEFAULT_SUCCESS_MESSAGE); responseData.setData(tubeDeviceData); @@ -173,6 +174,98 @@ return responseData; } + /** + * 获取设备最新数据信息 + */ + public Object latestData(String devcode, String wellGroupId) { + ResponseData responseData = new ResponseData(); + try { + Map tubeDeviceData = deviceTubeMapper.latestData(devcode, wellGroupId); + if (tubeDeviceData != null) { + responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); + responseData.setMessage(ResponseData.DEFAULT_SUCCESS_MESSAGE); + responseData.setData(tubeDeviceData); + } else { + responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); + responseData.setMessage("请求数据为空"); + responseData.setSuccess(true); + } + } catch (DataAccessException sqlex) { + responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); + responseData.setMessage("请求数据异常"); + responseData.setSuccess(true); + log.error("主题:设备最新数据查询异常,异常信息为{}", sqlex); + } + return responseData; + } + + + public Object excuteQrcodeEntryAdd(QrCodeEntryTubeParam qrCodeEntryTubeParam) { + ResponseData responseData = new ResponseData(); + try { + String deviceId = deviceTubeMapper.existsDevice(qrCodeEntryTubeParam.getDeviceCode()); + if (!StringUtils.isEmpty(deviceId)) { + tubeQrCreateDevice.loseValidObserver(Long.valueOf(deviceId)); + } + tubeQrCreateDevice.addDeviceObserver(qrCodeEntryTubeParam); + responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); + responseData.setMessage("新增成功"); + responseData.setSuccess(true); + } catch (DataAccessException sqlex) { + responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); + responseData.setMessage("请求数据异常"); + log.error("主题:设备最新数据查询异常,异常信息为{}", sqlex); + } + return responseData; + } + + public Object getGroupDict(Long deptid) { + ResponseData responseData = new ResponseData(); + try { + List groupDictList = deviceTubeMapper.getGroupDict(deptid); + responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); + responseData.setData(groupDictList); + responseData.setMessage("查询成功"); + responseData.setSuccess(true); + } catch (DataAccessException sqlex) { + responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); + responseData.setMessage("请求数据异常"); + log.error("主题:组字典列表查询异常,异常信息为{}", sqlex); + } + return responseData; + } + + public Object excuteBatchDelete(List deviceIdList) { + ResponseData responseData = new ResponseData(); + try { + deviceIdList.forEach( + deviceId -> tubeQrCreateDevice.deleteDeviceObserver(deviceId) + ); + responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); + responseData.setMessage("删除成功"); + responseData.setSuccess(true); + } catch (DataAccessException sqlex) { + responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); + responseData.setMessage("删除设备异常"); + log.error("主题:组字典列表查询异常,异常信息为{}", sqlex); + } + return responseData; + } + + public Object editGroupName(String oldGroupName,String newGroupName) { + ResponseData responseData = new ResponseData(); + try { + deviceTubeMapper.editGroupName(oldGroupName,newGroupName); + responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); + responseData.setMessage("修改成功"); + responseData.setSuccess(true); + } catch (DataAccessException sqlex) { + responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); + responseData.setMessage("修改组名异常"); + log.error("主题:组字典列表查询异常,异常信息为{}", sqlex); + } + return responseData; + } private void sortStrength(List> lstMap) { Collections.sort(lstMap, new Comparator>() { @@ -182,16 +275,17 @@ }); } + private void initTubeDeviceData(Map tubeDeviceData, Object devcode) { tubeDeviceData.put("deviceCode", devcode); tubeDeviceData.put("strength", -1); - tubeDeviceData.put("uptime", new Date()); + tubeDeviceData.put("uptime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); tubeDeviceData.put("strength", -1); tubeDeviceData.put("pci", ""); tubeDeviceData.put("rsrp", ""); tubeDeviceData.put("snr", ""); tubeDeviceData.put("cell", ""); - tubeDeviceData.put("id", ""); + tubeDeviceData.put("tubeId", ""); } private void resvertSortStrength(List> lstMap) { @@ -201,4 +295,5 @@ } }); } + } diff --git a/casic-device/pom.xml b/casic-device/pom.xml index 2f74cd0..5d11bd1 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -40,7 +40,6 @@ compile - org.springframework.boot spring-boot-starter-aop diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java index f97a3f6..b0aee21 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java @@ -5,12 +5,11 @@ import com.casic.missiles.core.common.constant.factory.PageFactory; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.QrCodeEntryTubeParam; import com.casic.missiles.modular.system.service.DeviceTubeService; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Map; /** @@ -33,7 +32,6 @@ * 获取点位列表 */ @RequestMapping(value = "/well/list") - @ResponseBody public Object tubeDeviceList() { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.deviceList(dataScope); @@ -43,7 +41,6 @@ * 获取管盯设备组列表信息 */ @RequestMapping(value = "/groups/list") - @ResponseBody public Object DevicesGroupList() { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.deviceGroupsList(dataScope); @@ -52,29 +49,7 @@ /** * 获取列表 */ - @RequestMapping(value = "/groupdevice/listpage") - @ResponseBody - public Object DeviceListPage(String wellGroupId, Integer order) { - Page> page = new PageFactory>().defaultPage(); - DataScope dataScope = permissionService.getCurrUserDataScope(); - return tubeService.groupDeviceListPage(order,page, wellGroupId, dataScope); - } - - /** - * 获取列表 - */ - @RequestMapping(value = "/groupdevice/history") - @ResponseBody - public Object DeviceHistory(String devcode, String beginTime, String endTime) { - Page> page = new PageFactory>().defaultPage(); - return tubeService.tubeDataHistory(page,devcode, beginTime, endTime); - } - - /** - * 获取列表 - */ @RequestMapping(value = "/groupdevice/list") - @ResponseBody public Object DeviceList(String wellGroupId) { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.groupDeviceList(wellGroupId, dataScope); @@ -82,11 +57,75 @@ /** + * 获取列表 + */ + @RequestMapping(value = "/groupdevice/listpage") + public Object DeviceListPage(String wellGroupId, Integer order) { + Page> page = new PageFactory>().defaultPage(); + DataScope dataScope = permissionService.getCurrUserDataScope(); + return tubeService.groupDeviceListPage(order, page, wellGroupId, dataScope); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/groupdevice/history") + public Object DeviceHistory(String devcode, String beginTime, String endTime, String wellGroupId) { + Page> page = new PageFactory>().defaultPage(); + return tubeService.tubeDataHistory(page, devcode, beginTime, endTime, wellGroupId); + } + + + /** * 获取详情信息 */ - @RequestMapping(value = "/detail/{detailId}") - @ResponseBody - public Object list(@PathVariable(name = "detailId") String tubeId) { - return tubeService.deviceDetail(tubeId); + @RequestMapping(value = "/detail") + public Object list(String devcode, String wellGroupId) { + return tubeService.deviceDetail(devcode, wellGroupId); } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/latestdata") + public Object latestData(String devcode, String wellGroupId) { + return tubeService.latestData(devcode, wellGroupId); + } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/qrcode-entry/add") + public Object excuteQrcodeEntryAdd(@RequestBody QrCodeEntryTubeParam qrCodeEntryTubeParam) { + return tubeService.excuteQrcodeEntryAdd(qrCodeEntryTubeParam); + } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/groupdict") + public Object getGroupDict() { + Long deptid = permissionService.getCurrLoginUser().getDeptId(); + return tubeService.getGroupDict(deptid); + } + + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/batch/delete") + public Object excuteBatchDelete(@RequestBody List deviceIdList) { + return tubeService.excuteBatchDelete(deviceIdList); + } + + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/group/edit") + public Object editGroupName(@RequestParam(value = "oldGroupName", required = true) String oldGroupName, + @RequestParam(value = "newGroupName", required = true) String newGroupName) { + return tubeService.editGroupName(oldGroupName, newGroupName); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java index e55ef62..617eddf 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java @@ -15,17 +15,48 @@ List> deviceGroupsList(@Param("scope") DataScope dataScope); - List> groupDeviceListPage(@Param("page")Page> page, @Param("wellGroupId") String wellGroupId, - @Param("scope") DataScope dataScope); + List> groupDeviceListPage(@Param("page") Page> page, @Param("wellGroupId") String wellGroupId, + @Param("scope") DataScope dataScope, @Param("dataOrder") String dataOrder); - Map dataTubeByDevcode(@Param("devcode")String devcode); - - List> tubeDataHistory(@Param("page") Page> page,@Param("devcode") String devcode, - @Param("endTime") String endTime,@Param("beginTime") String beginTime); - + List> tubeDataHistory(@Param("page") Page> page, @Param("devcode") String devcode, + @Param("beginTime") String beginTime, @Param("endTime") String endTime, + @Param("wellGroupId") String wellGroupId); List> groupDeviceList(@Param("wellGroupId") String wellGroupId, @Param("scope") DataScope dataScope); - Map deviceDetail(@Param("id") Long id); + Map deviceDetail(@Param("devcode") String devcode, @Param("wellGroupId") String wellGroupId); + + Map latestData(@Param("devcode") String devcode, @Param("wellGroupId") String wellGroupId); + + String existsDevice(@Param("devcode") String devcode); + + List getGroupDict(@Param("deptid") Long deptid); + + void addDeviceWell(@Param("wellId") Long wellId, @Param("deviceId") Long deviceId); + + Long getWellId(@Param("deviceId") Long deviceId); + + void deleteWell(@Param("deviceId") Long deviceId); + + void loseValidDeviceWell(@Param("deviceId") Long deviceId); + + void deleteDeviceById(@Param("deviceId") Long deviceId); + + void loseValidDevice(@Param("deviceId") Long deviceId); + + void deleteWellById(@Param("wellId") Long wellId); + + void loseValidWell(@Param("wellId") Long wellId); + + void deleteDataTube(@Param("devcode")String devcode,@Param("wellCode") String wellCode); + + void deleteBusConfig(@Param("deviceId") Long deviceId); + + String getDevcodeById(@Param("deviceId") Long deviceId); + + String getWellCodeById(@Param("wellId") Long wellId); + + void editGroupName(@Param("oldGroupName")String oldGroupName,@Param("newGroupName")String newGroupName); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml index 42cae85..2d228bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml @@ -27,101 +27,223 @@ - - - - - + + + + + + + + INSERT INTO bus_device_well + VALUES(#{deviceId},#{wellId},now(),'1') + + + + + + DELETE + FROM bus_device + WHERE id=#{deviceId} + + + + UPDATE bus_device + SET VALID='0' + WHERE id=#{deviceId} + + + + DELETE + FROM bus_device_well + WHERE DEVICE_ID=#{deviceId} + + + + UPDATE bus_device_well + SET VALID='0' + WHERE DEVICE_ID=#{deviceId} + + + + delete + FROM bus_well_info + WHERE id=#{wellId} + + + + + UPDATE bus_well_info + SET valid='0' + WHERE id=#{wellId} + + + + DELETE + FROM data_tube + WHERE DEVCODE=#{devcode} + AND WELL_CODE=#{wellCode} + + + + DELETE + FROM bus_config + WHERE DEVICE_ID=#{deviceId} + + + + + + + + UPDATE bus_well_info + SET WELL_FLAG_1=#{newGroupName} + WHERE WELL_FLAG_1=#{oldGroupName} + + \ No newline at end of file diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/model/QrCodeEntryTubeParam.java b/casic-device/src/main/java/com/casic/missiles/modular/system/model/QrCodeEntryTubeParam.java new file mode 100644 index 0000000..8f33f66 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/model/QrCodeEntryTubeParam.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.model; + +import lombok.Data; + +/** + * @author cz + * @date 2022-8-15 + */ +@Data +public class QrCodeEntryTubeParam { + private String deviceCode; + private String deviceName; + private String projectName; + //采集频率 + private String frequency; + private String lng; + private String lat; + /** + * 现场图片 + */ + private String image; + private String description; + private String createTime; + private String deptId; + private String ownerId; + private String version; +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/DeviceTubeService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/DeviceTubeService.java index 0bf5970..ebcfbcd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/DeviceTubeService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/DeviceTubeService.java @@ -2,7 +2,9 @@ import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.QrCodeEntryTubeParam; +import java.util.List; import java.util.Map; public interface DeviceTubeService { @@ -31,7 +33,7 @@ */ Object groupDeviceListPage(Integer oreder, Page> page, String wellGroupId, DataScope dataScope); - Object tubeDataHistory( Page> page,String DEVCOE, String beginTime, String endTime); + Object tubeDataHistory(Page> page, String DEVCOE, String beginTime, String endTime, String wellGroupId); /** @@ -45,6 +47,19 @@ /** * 获取详情信息 */ - Object deviceDetail(String id); + Object deviceDetail(String id, String wellGroupId); + + /** + * 获取设备最新数据信息 + */ + Object latestData(String devcode,String wellGroupId); + + Object excuteQrcodeEntryAdd(QrCodeEntryTubeParam qrCodeEntryTubeParam); + + Object getGroupDict(Long deptid); + + Object excuteBatchDelete(List deviceIdList); + + Object editGroupName(String oldGroupName,String newGroupName); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTubeServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTubeServiceImpl.java index 0d47b3f..a332560 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTubeServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTubeServiceImpl.java @@ -4,14 +4,15 @@ import com.casic.missiles.core.base.response.ResponseData; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dao.DeviceTubeMapper; +import com.casic.missiles.modular.system.model.QrCodeEntryTubeParam; import com.casic.missiles.modular.system.service.DeviceTubeService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Service; -import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.util.*; -import java.util.stream.Collectors; @Service @Slf4j @@ -19,8 +20,11 @@ private final DeviceTubeMapper deviceTubeMapper; - public DeviceTubeServiceImpl(DeviceTubeMapper deviceTubeMapper) { + private final TubeQrCreateDevice tubeQrCreateDevice; + + public DeviceTubeServiceImpl(DeviceTubeMapper deviceTubeMapper, TubeQrCreateDevice tubeQrCreateDevice) { this.deviceTubeMapper = deviceTubeMapper; + this.tubeQrCreateDevice = tubeQrCreateDevice; } /** @@ -69,32 +73,17 @@ /** * 分页获取点位信息 * - * @param oreder + * @param order * @param page * @param wellGroupId * @param dataScope * @return */ - public Object groupDeviceListPage(Integer oreder, Page> page, String wellGroupId, DataScope dataScope) { + public Object groupDeviceListPage(Integer order, Page> page, String wellGroupId, DataScope dataScope) { ResponseData responseData = new ResponseData(); try { - List> tubeDeviceList = deviceTubeMapper.groupDeviceListPage(page, wellGroupId, dataScope); - List> tubeDataDeviceList = new ArrayList<>(); - tubeDeviceList.forEach(tubeDevice -> { - Map tubeDeviceData = deviceTubeMapper.dataTubeByDevcode(tubeDevice.get("DEVCODE").toString()); - if (tubeDeviceData == null) { - tubeDeviceData = new HashMap<>(); - initTubeDeviceData(tubeDeviceData, tubeDevice.get("DEVCODE")); - } - tubeDeviceData.put("deviceName", tubeDevice.get("DEVICE_NAME")); - tubeDataDeviceList.add(tubeDeviceData); - } - ); - if (oreder != null && oreder == 0) { - resvertSortStrength(tubeDataDeviceList); - } else { - sortStrength(tubeDataDeviceList); - } + String dataOrder = order == 1 ? "ASC" : "DESC"; + List> tubeDataDeviceList = deviceTubeMapper.groupDeviceListPage(page, wellGroupId, dataScope, dataOrder); responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); responseData.setMessage(ResponseData.DEFAULT_SUCCESS_MESSAGE); responseData.setData(tubeDataDeviceList); @@ -116,10 +105,10 @@ * @param endTime * @return */ - public Object tubeDataHistory(Page> page, String devcode, String beginTime, String endTime) { + public Object tubeDataHistory(Page> page, String devcode, String beginTime, String endTime, String wellGroupId) { ResponseData responseData = new ResponseData(); try { - List> tubeDeviceList = deviceTubeMapper.tubeDataHistory(page, devcode, beginTime, endTime); + List> tubeDeviceList = deviceTubeMapper.tubeDataHistory(page, devcode, beginTime, endTime, wellGroupId); responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); responseData.setMessage(ResponseData.DEFAULT_SUCCESS_MESSAGE); responseData.setData(tubeDeviceList); @@ -142,6 +131,18 @@ ResponseData responseData = new ResponseData(); try { List> tubeDeviceList = deviceTubeMapper.groupDeviceList(wellGroupId, dataScope); +// List> tubeDeviceDataList = new ArrayList<>(); +// tubeDeviceList.forEach( +// tubeDevice -> { +// List> tubeDataList = deviceTubeMapper.groupDeviceDataList(tubeDevice.get("DEVCODE").toString()); +// tubeDataList.forEach( +// tubeData -> { +// tubeData.putAll(tubeDevice); +// } +// ); +// tubeDeviceDataList.addAll(tubeDataList); +// } +// ); responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); responseData.setMessage(ResponseData.DEFAULT_SUCCESS_MESSAGE); responseData.setData(tubeDeviceList); @@ -157,10 +158,10 @@ /** * 获取详情信息 */ - public Object deviceDetail(String id) { + public Object deviceDetail(String devcode, String wellGroupId) { ResponseData responseData = new ResponseData(); try { - Map tubeDeviceData = deviceTubeMapper.deviceDetail(Long.valueOf(id)); + Map tubeDeviceData = deviceTubeMapper.deviceDetail(devcode, wellGroupId); responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); responseData.setMessage(ResponseData.DEFAULT_SUCCESS_MESSAGE); responseData.setData(tubeDeviceData); @@ -173,6 +174,98 @@ return responseData; } + /** + * 获取设备最新数据信息 + */ + public Object latestData(String devcode, String wellGroupId) { + ResponseData responseData = new ResponseData(); + try { + Map tubeDeviceData = deviceTubeMapper.latestData(devcode, wellGroupId); + if (tubeDeviceData != null) { + responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); + responseData.setMessage(ResponseData.DEFAULT_SUCCESS_MESSAGE); + responseData.setData(tubeDeviceData); + } else { + responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); + responseData.setMessage("请求数据为空"); + responseData.setSuccess(true); + } + } catch (DataAccessException sqlex) { + responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); + responseData.setMessage("请求数据异常"); + responseData.setSuccess(true); + log.error("主题:设备最新数据查询异常,异常信息为{}", sqlex); + } + return responseData; + } + + + public Object excuteQrcodeEntryAdd(QrCodeEntryTubeParam qrCodeEntryTubeParam) { + ResponseData responseData = new ResponseData(); + try { + String deviceId = deviceTubeMapper.existsDevice(qrCodeEntryTubeParam.getDeviceCode()); + if (!StringUtils.isEmpty(deviceId)) { + tubeQrCreateDevice.loseValidObserver(Long.valueOf(deviceId)); + } + tubeQrCreateDevice.addDeviceObserver(qrCodeEntryTubeParam); + responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); + responseData.setMessage("新增成功"); + responseData.setSuccess(true); + } catch (DataAccessException sqlex) { + responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); + responseData.setMessage("请求数据异常"); + log.error("主题:设备最新数据查询异常,异常信息为{}", sqlex); + } + return responseData; + } + + public Object getGroupDict(Long deptid) { + ResponseData responseData = new ResponseData(); + try { + List groupDictList = deviceTubeMapper.getGroupDict(deptid); + responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); + responseData.setData(groupDictList); + responseData.setMessage("查询成功"); + responseData.setSuccess(true); + } catch (DataAccessException sqlex) { + responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); + responseData.setMessage("请求数据异常"); + log.error("主题:组字典列表查询异常,异常信息为{}", sqlex); + } + return responseData; + } + + public Object excuteBatchDelete(List deviceIdList) { + ResponseData responseData = new ResponseData(); + try { + deviceIdList.forEach( + deviceId -> tubeQrCreateDevice.deleteDeviceObserver(deviceId) + ); + responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); + responseData.setMessage("删除成功"); + responseData.setSuccess(true); + } catch (DataAccessException sqlex) { + responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); + responseData.setMessage("删除设备异常"); + log.error("主题:组字典列表查询异常,异常信息为{}", sqlex); + } + return responseData; + } + + public Object editGroupName(String oldGroupName,String newGroupName) { + ResponseData responseData = new ResponseData(); + try { + deviceTubeMapper.editGroupName(oldGroupName,newGroupName); + responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); + responseData.setMessage("修改成功"); + responseData.setSuccess(true); + } catch (DataAccessException sqlex) { + responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); + responseData.setMessage("修改组名异常"); + log.error("主题:组字典列表查询异常,异常信息为{}", sqlex); + } + return responseData; + } private void sortStrength(List> lstMap) { Collections.sort(lstMap, new Comparator>() { @@ -182,16 +275,17 @@ }); } + private void initTubeDeviceData(Map tubeDeviceData, Object devcode) { tubeDeviceData.put("deviceCode", devcode); tubeDeviceData.put("strength", -1); - tubeDeviceData.put("uptime", new Date()); + tubeDeviceData.put("uptime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); tubeDeviceData.put("strength", -1); tubeDeviceData.put("pci", ""); tubeDeviceData.put("rsrp", ""); tubeDeviceData.put("snr", ""); tubeDeviceData.put("cell", ""); - tubeDeviceData.put("id", ""); + tubeDeviceData.put("tubeId", ""); } private void resvertSortStrength(List> lstMap) { @@ -201,4 +295,5 @@ } }); } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/TubeQrCreateDevice.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/TubeQrCreateDevice.java new file mode 100644 index 0000000..4cb5e86 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/TubeQrCreateDevice.java @@ -0,0 +1,146 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.casic.missiles.core.util.DateUtil; +import com.casic.missiles.modular.system.dao.DeviceMapper; +import com.casic.missiles.modular.system.dao.DeviceTubeMapper; +import com.casic.missiles.modular.system.model.*; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; +import com.casic.missiles.modular.system.service.IDeviceService; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import javax.management.Query; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +@Component +public class TubeQrCreateDevice { + + @Autowired + private DeviceMapper deviceMapper; + @Autowired + private IBusWellInfoService busWellInfoService; + @Qualifier("busConfigServiceImpl") + @Autowired + private IBusConfigService busConfigService; + @Autowired + private DeviceTubeMapper deviceTubeMapper; + + @Transactional + public void loseValidObserver(Long deviceId) { + loseValidDevice(deviceId); + Long wellId = loseValidDeviceWell(deviceId); + loseValidWell(wellId); + deleteBusConfig(deviceId); + } + + private void loseValidDevice(Long deviceId) { + deviceTubeMapper.loseValidDevice(deviceId); + } + + private Long loseValidDeviceWell(Long deviceId) { + Long wellId = deviceTubeMapper.getWellId(deviceId); + deviceTubeMapper.loseValidDeviceWell(deviceId); + return wellId; + } + + private void loseValidWell(Long wellId) { + deviceTubeMapper.loseValidWell(wellId); + } + + private void deleteBusConfig(Long deviceId) { + deviceTubeMapper.deleteBusConfig(deviceId); + } + + public void addDeviceObserver(QrCodeEntryTubeParam qrCodeEntryTubeParam) { + Long deviceId = createDevice(qrCodeEntryTubeParam); + Long wellId = createWell(qrCodeEntryTubeParam); + createDeviceWell(wellId, deviceId); + createBusConfig(qrCodeEntryTubeParam.getFrequency(), deviceId); + } + + private Long createDevice(QrCodeEntryTubeParam qcep) { + Device device = new Device(); + device.setDeviceName(qcep.getDeviceName()); + device.setDevcode(qcep.getDeviceCode()); + device.setLogtime(new Date()); + String installDate = StringUtils.substring(qcep.getCreateTime(), 0, 10); + device.setInstallDate(DateUtil.parse(installDate, "yyyy-MM-dd")); + device.setModelId(Long.valueOf(qcep.getVersion() == null ? "0" : qcep.getVersion())); + device.setOnlineState("1"); + device.setDeviceType(Long.valueOf(12)); + device.setValid("1"); + deviceMapper.insert(device); + return device.getId(); + } + + private Long createWell(QrCodeEntryTubeParam qcep) { + BusWellInfo wellInfo = new BusWellInfo(); + wellInfo.setWellCode("Tb-" + qcep.getDeviceCode()); + wellInfo.setWellFlag1(qcep.getProjectName()); + wellInfo.setLngGaode(qcep.getLng()); + wellInfo.setLatGaode(qcep.getLat()); + wellInfo.setPhotos(qcep.getImage()); + wellInfo.setNotes(qcep.getDescription()); + wellInfo.setValid("1"); + wellInfo.setTs(DateUtil.parse(qcep.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); + wellInfo.setDeptid(qcep.getDeptId()); + wellInfo.setStaff(qcep.getOwnerId()); + busWellInfoService.insert(wellInfo); + return wellInfo.getId(); + } + + private void createDeviceWell(Long wellId, Long deviceId) { + deviceTubeMapper.addDeviceWell(wellId, deviceId); + } + + private void createBusConfig(String frequency, Long deviceId) { + BusConfig busConfig = new BusConfig(); + busConfig.setDeviceId(deviceId); + busConfig.setSensorid("000044"); + busConfig.setAttemptsmax(3); + busConfig.setStatus("0"); + busConfig.setAttemptscurrent(0); + busConfig.setWritetime(new Date()); + busConfig.setFramecontent("3," + frequency + "," + frequency + ",,,"); + busConfigService.insert(busConfig); + } + + @Transactional + public void deleteDeviceObserver(Long deviceId) { + String devcode= deleteDevice(deviceId); + Long wellId = deleteDeviceWell(deviceId); + String wellCode=deleteWell(wellId); + deleteDataTube(devcode,wellCode); + } + + private String deleteDevice(Long deviceId) { + String devcode=deviceTubeMapper.getDevcodeById(deviceId); + deviceTubeMapper.deleteDeviceById(deviceId); + return devcode; + } + + private Long deleteDeviceWell(Long deviceId) { + Long wellId = deviceTubeMapper.getWellId(deviceId); + deviceTubeMapper.deleteWell(deviceId); + return wellId; + } + + private String deleteWell(Long wellId) { + String wellCode=deviceTubeMapper.getWellCodeById(wellId); + deviceTubeMapper.deleteWellById(wellId); + return wellCode; + } + + private void deleteDataTube(String devcode,String wellCode) { + deviceTubeMapper.deleteDataTube(devcode,wellCode); + } + +} diff --git a/casic-device/pom.xml b/casic-device/pom.xml index 2f74cd0..5d11bd1 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -40,7 +40,6 @@ compile - org.springframework.boot spring-boot-starter-aop diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java index f97a3f6..b0aee21 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java @@ -5,12 +5,11 @@ import com.casic.missiles.core.common.constant.factory.PageFactory; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.QrCodeEntryTubeParam; import com.casic.missiles.modular.system.service.DeviceTubeService; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Map; /** @@ -33,7 +32,6 @@ * 获取点位列表 */ @RequestMapping(value = "/well/list") - @ResponseBody public Object tubeDeviceList() { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.deviceList(dataScope); @@ -43,7 +41,6 @@ * 获取管盯设备组列表信息 */ @RequestMapping(value = "/groups/list") - @ResponseBody public Object DevicesGroupList() { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.deviceGroupsList(dataScope); @@ -52,29 +49,7 @@ /** * 获取列表 */ - @RequestMapping(value = "/groupdevice/listpage") - @ResponseBody - public Object DeviceListPage(String wellGroupId, Integer order) { - Page> page = new PageFactory>().defaultPage(); - DataScope dataScope = permissionService.getCurrUserDataScope(); - return tubeService.groupDeviceListPage(order,page, wellGroupId, dataScope); - } - - /** - * 获取列表 - */ - @RequestMapping(value = "/groupdevice/history") - @ResponseBody - public Object DeviceHistory(String devcode, String beginTime, String endTime) { - Page> page = new PageFactory>().defaultPage(); - return tubeService.tubeDataHistory(page,devcode, beginTime, endTime); - } - - /** - * 获取列表 - */ @RequestMapping(value = "/groupdevice/list") - @ResponseBody public Object DeviceList(String wellGroupId) { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.groupDeviceList(wellGroupId, dataScope); @@ -82,11 +57,75 @@ /** + * 获取列表 + */ + @RequestMapping(value = "/groupdevice/listpage") + public Object DeviceListPage(String wellGroupId, Integer order) { + Page> page = new PageFactory>().defaultPage(); + DataScope dataScope = permissionService.getCurrUserDataScope(); + return tubeService.groupDeviceListPage(order, page, wellGroupId, dataScope); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/groupdevice/history") + public Object DeviceHistory(String devcode, String beginTime, String endTime, String wellGroupId) { + Page> page = new PageFactory>().defaultPage(); + return tubeService.tubeDataHistory(page, devcode, beginTime, endTime, wellGroupId); + } + + + /** * 获取详情信息 */ - @RequestMapping(value = "/detail/{detailId}") - @ResponseBody - public Object list(@PathVariable(name = "detailId") String tubeId) { - return tubeService.deviceDetail(tubeId); + @RequestMapping(value = "/detail") + public Object list(String devcode, String wellGroupId) { + return tubeService.deviceDetail(devcode, wellGroupId); } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/latestdata") + public Object latestData(String devcode, String wellGroupId) { + return tubeService.latestData(devcode, wellGroupId); + } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/qrcode-entry/add") + public Object excuteQrcodeEntryAdd(@RequestBody QrCodeEntryTubeParam qrCodeEntryTubeParam) { + return tubeService.excuteQrcodeEntryAdd(qrCodeEntryTubeParam); + } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/groupdict") + public Object getGroupDict() { + Long deptid = permissionService.getCurrLoginUser().getDeptId(); + return tubeService.getGroupDict(deptid); + } + + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/batch/delete") + public Object excuteBatchDelete(@RequestBody List deviceIdList) { + return tubeService.excuteBatchDelete(deviceIdList); + } + + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/group/edit") + public Object editGroupName(@RequestParam(value = "oldGroupName", required = true) String oldGroupName, + @RequestParam(value = "newGroupName", required = true) String newGroupName) { + return tubeService.editGroupName(oldGroupName, newGroupName); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java index e55ef62..617eddf 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java @@ -15,17 +15,48 @@ List> deviceGroupsList(@Param("scope") DataScope dataScope); - List> groupDeviceListPage(@Param("page")Page> page, @Param("wellGroupId") String wellGroupId, - @Param("scope") DataScope dataScope); + List> groupDeviceListPage(@Param("page") Page> page, @Param("wellGroupId") String wellGroupId, + @Param("scope") DataScope dataScope, @Param("dataOrder") String dataOrder); - Map dataTubeByDevcode(@Param("devcode")String devcode); - - List> tubeDataHistory(@Param("page") Page> page,@Param("devcode") String devcode, - @Param("endTime") String endTime,@Param("beginTime") String beginTime); - + List> tubeDataHistory(@Param("page") Page> page, @Param("devcode") String devcode, + @Param("beginTime") String beginTime, @Param("endTime") String endTime, + @Param("wellGroupId") String wellGroupId); List> groupDeviceList(@Param("wellGroupId") String wellGroupId, @Param("scope") DataScope dataScope); - Map deviceDetail(@Param("id") Long id); + Map deviceDetail(@Param("devcode") String devcode, @Param("wellGroupId") String wellGroupId); + + Map latestData(@Param("devcode") String devcode, @Param("wellGroupId") String wellGroupId); + + String existsDevice(@Param("devcode") String devcode); + + List getGroupDict(@Param("deptid") Long deptid); + + void addDeviceWell(@Param("wellId") Long wellId, @Param("deviceId") Long deviceId); + + Long getWellId(@Param("deviceId") Long deviceId); + + void deleteWell(@Param("deviceId") Long deviceId); + + void loseValidDeviceWell(@Param("deviceId") Long deviceId); + + void deleteDeviceById(@Param("deviceId") Long deviceId); + + void loseValidDevice(@Param("deviceId") Long deviceId); + + void deleteWellById(@Param("wellId") Long wellId); + + void loseValidWell(@Param("wellId") Long wellId); + + void deleteDataTube(@Param("devcode")String devcode,@Param("wellCode") String wellCode); + + void deleteBusConfig(@Param("deviceId") Long deviceId); + + String getDevcodeById(@Param("deviceId") Long deviceId); + + String getWellCodeById(@Param("wellId") Long wellId); + + void editGroupName(@Param("oldGroupName")String oldGroupName,@Param("newGroupName")String newGroupName); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml index 42cae85..2d228bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml @@ -27,101 +27,223 @@ - - - - - + + + + + + + + INSERT INTO bus_device_well + VALUES(#{deviceId},#{wellId},now(),'1') + + + + + + DELETE + FROM bus_device + WHERE id=#{deviceId} + + + + UPDATE bus_device + SET VALID='0' + WHERE id=#{deviceId} + + + + DELETE + FROM bus_device_well + WHERE DEVICE_ID=#{deviceId} + + + + UPDATE bus_device_well + SET VALID='0' + WHERE DEVICE_ID=#{deviceId} + + + + delete + FROM bus_well_info + WHERE id=#{wellId} + + + + + UPDATE bus_well_info + SET valid='0' + WHERE id=#{wellId} + + + + DELETE + FROM data_tube + WHERE DEVCODE=#{devcode} + AND WELL_CODE=#{wellCode} + + + + DELETE + FROM bus_config + WHERE DEVICE_ID=#{deviceId} + + + + + + + + UPDATE bus_well_info + SET WELL_FLAG_1=#{newGroupName} + WHERE WELL_FLAG_1=#{oldGroupName} + + \ No newline at end of file diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/model/QrCodeEntryTubeParam.java b/casic-device/src/main/java/com/casic/missiles/modular/system/model/QrCodeEntryTubeParam.java new file mode 100644 index 0000000..8f33f66 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/model/QrCodeEntryTubeParam.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.model; + +import lombok.Data; + +/** + * @author cz + * @date 2022-8-15 + */ +@Data +public class QrCodeEntryTubeParam { + private String deviceCode; + private String deviceName; + private String projectName; + //采集频率 + private String frequency; + private String lng; + private String lat; + /** + * 现场图片 + */ + private String image; + private String description; + private String createTime; + private String deptId; + private String ownerId; + private String version; +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/DeviceTubeService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/DeviceTubeService.java index 0bf5970..ebcfbcd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/DeviceTubeService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/DeviceTubeService.java @@ -2,7 +2,9 @@ import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.QrCodeEntryTubeParam; +import java.util.List; import java.util.Map; public interface DeviceTubeService { @@ -31,7 +33,7 @@ */ Object groupDeviceListPage(Integer oreder, Page> page, String wellGroupId, DataScope dataScope); - Object tubeDataHistory( Page> page,String DEVCOE, String beginTime, String endTime); + Object tubeDataHistory(Page> page, String DEVCOE, String beginTime, String endTime, String wellGroupId); /** @@ -45,6 +47,19 @@ /** * 获取详情信息 */ - Object deviceDetail(String id); + Object deviceDetail(String id, String wellGroupId); + + /** + * 获取设备最新数据信息 + */ + Object latestData(String devcode,String wellGroupId); + + Object excuteQrcodeEntryAdd(QrCodeEntryTubeParam qrCodeEntryTubeParam); + + Object getGroupDict(Long deptid); + + Object excuteBatchDelete(List deviceIdList); + + Object editGroupName(String oldGroupName,String newGroupName); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTubeServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTubeServiceImpl.java index 0d47b3f..a332560 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTubeServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTubeServiceImpl.java @@ -4,14 +4,15 @@ import com.casic.missiles.core.base.response.ResponseData; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dao.DeviceTubeMapper; +import com.casic.missiles.modular.system.model.QrCodeEntryTubeParam; import com.casic.missiles.modular.system.service.DeviceTubeService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Service; -import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.util.*; -import java.util.stream.Collectors; @Service @Slf4j @@ -19,8 +20,11 @@ private final DeviceTubeMapper deviceTubeMapper; - public DeviceTubeServiceImpl(DeviceTubeMapper deviceTubeMapper) { + private final TubeQrCreateDevice tubeQrCreateDevice; + + public DeviceTubeServiceImpl(DeviceTubeMapper deviceTubeMapper, TubeQrCreateDevice tubeQrCreateDevice) { this.deviceTubeMapper = deviceTubeMapper; + this.tubeQrCreateDevice = tubeQrCreateDevice; } /** @@ -69,32 +73,17 @@ /** * 分页获取点位信息 * - * @param oreder + * @param order * @param page * @param wellGroupId * @param dataScope * @return */ - public Object groupDeviceListPage(Integer oreder, Page> page, String wellGroupId, DataScope dataScope) { + public Object groupDeviceListPage(Integer order, Page> page, String wellGroupId, DataScope dataScope) { ResponseData responseData = new ResponseData(); try { - List> tubeDeviceList = deviceTubeMapper.groupDeviceListPage(page, wellGroupId, dataScope); - List> tubeDataDeviceList = new ArrayList<>(); - tubeDeviceList.forEach(tubeDevice -> { - Map tubeDeviceData = deviceTubeMapper.dataTubeByDevcode(tubeDevice.get("DEVCODE").toString()); - if (tubeDeviceData == null) { - tubeDeviceData = new HashMap<>(); - initTubeDeviceData(tubeDeviceData, tubeDevice.get("DEVCODE")); - } - tubeDeviceData.put("deviceName", tubeDevice.get("DEVICE_NAME")); - tubeDataDeviceList.add(tubeDeviceData); - } - ); - if (oreder != null && oreder == 0) { - resvertSortStrength(tubeDataDeviceList); - } else { - sortStrength(tubeDataDeviceList); - } + String dataOrder = order == 1 ? "ASC" : "DESC"; + List> tubeDataDeviceList = deviceTubeMapper.groupDeviceListPage(page, wellGroupId, dataScope, dataOrder); responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); responseData.setMessage(ResponseData.DEFAULT_SUCCESS_MESSAGE); responseData.setData(tubeDataDeviceList); @@ -116,10 +105,10 @@ * @param endTime * @return */ - public Object tubeDataHistory(Page> page, String devcode, String beginTime, String endTime) { + public Object tubeDataHistory(Page> page, String devcode, String beginTime, String endTime, String wellGroupId) { ResponseData responseData = new ResponseData(); try { - List> tubeDeviceList = deviceTubeMapper.tubeDataHistory(page, devcode, beginTime, endTime); + List> tubeDeviceList = deviceTubeMapper.tubeDataHistory(page, devcode, beginTime, endTime, wellGroupId); responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); responseData.setMessage(ResponseData.DEFAULT_SUCCESS_MESSAGE); responseData.setData(tubeDeviceList); @@ -142,6 +131,18 @@ ResponseData responseData = new ResponseData(); try { List> tubeDeviceList = deviceTubeMapper.groupDeviceList(wellGroupId, dataScope); +// List> tubeDeviceDataList = new ArrayList<>(); +// tubeDeviceList.forEach( +// tubeDevice -> { +// List> tubeDataList = deviceTubeMapper.groupDeviceDataList(tubeDevice.get("DEVCODE").toString()); +// tubeDataList.forEach( +// tubeData -> { +// tubeData.putAll(tubeDevice); +// } +// ); +// tubeDeviceDataList.addAll(tubeDataList); +// } +// ); responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); responseData.setMessage(ResponseData.DEFAULT_SUCCESS_MESSAGE); responseData.setData(tubeDeviceList); @@ -157,10 +158,10 @@ /** * 获取详情信息 */ - public Object deviceDetail(String id) { + public Object deviceDetail(String devcode, String wellGroupId) { ResponseData responseData = new ResponseData(); try { - Map tubeDeviceData = deviceTubeMapper.deviceDetail(Long.valueOf(id)); + Map tubeDeviceData = deviceTubeMapper.deviceDetail(devcode, wellGroupId); responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); responseData.setMessage(ResponseData.DEFAULT_SUCCESS_MESSAGE); responseData.setData(tubeDeviceData); @@ -173,6 +174,98 @@ return responseData; } + /** + * 获取设备最新数据信息 + */ + public Object latestData(String devcode, String wellGroupId) { + ResponseData responseData = new ResponseData(); + try { + Map tubeDeviceData = deviceTubeMapper.latestData(devcode, wellGroupId); + if (tubeDeviceData != null) { + responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); + responseData.setMessage(ResponseData.DEFAULT_SUCCESS_MESSAGE); + responseData.setData(tubeDeviceData); + } else { + responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); + responseData.setMessage("请求数据为空"); + responseData.setSuccess(true); + } + } catch (DataAccessException sqlex) { + responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); + responseData.setMessage("请求数据异常"); + responseData.setSuccess(true); + log.error("主题:设备最新数据查询异常,异常信息为{}", sqlex); + } + return responseData; + } + + + public Object excuteQrcodeEntryAdd(QrCodeEntryTubeParam qrCodeEntryTubeParam) { + ResponseData responseData = new ResponseData(); + try { + String deviceId = deviceTubeMapper.existsDevice(qrCodeEntryTubeParam.getDeviceCode()); + if (!StringUtils.isEmpty(deviceId)) { + tubeQrCreateDevice.loseValidObserver(Long.valueOf(deviceId)); + } + tubeQrCreateDevice.addDeviceObserver(qrCodeEntryTubeParam); + responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); + responseData.setMessage("新增成功"); + responseData.setSuccess(true); + } catch (DataAccessException sqlex) { + responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); + responseData.setMessage("请求数据异常"); + log.error("主题:设备最新数据查询异常,异常信息为{}", sqlex); + } + return responseData; + } + + public Object getGroupDict(Long deptid) { + ResponseData responseData = new ResponseData(); + try { + List groupDictList = deviceTubeMapper.getGroupDict(deptid); + responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); + responseData.setData(groupDictList); + responseData.setMessage("查询成功"); + responseData.setSuccess(true); + } catch (DataAccessException sqlex) { + responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); + responseData.setMessage("请求数据异常"); + log.error("主题:组字典列表查询异常,异常信息为{}", sqlex); + } + return responseData; + } + + public Object excuteBatchDelete(List deviceIdList) { + ResponseData responseData = new ResponseData(); + try { + deviceIdList.forEach( + deviceId -> tubeQrCreateDevice.deleteDeviceObserver(deviceId) + ); + responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); + responseData.setMessage("删除成功"); + responseData.setSuccess(true); + } catch (DataAccessException sqlex) { + responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); + responseData.setMessage("删除设备异常"); + log.error("主题:组字典列表查询异常,异常信息为{}", sqlex); + } + return responseData; + } + + public Object editGroupName(String oldGroupName,String newGroupName) { + ResponseData responseData = new ResponseData(); + try { + deviceTubeMapper.editGroupName(oldGroupName,newGroupName); + responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); + responseData.setMessage("修改成功"); + responseData.setSuccess(true); + } catch (DataAccessException sqlex) { + responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); + responseData.setMessage("修改组名异常"); + log.error("主题:组字典列表查询异常,异常信息为{}", sqlex); + } + return responseData; + } private void sortStrength(List> lstMap) { Collections.sort(lstMap, new Comparator>() { @@ -182,16 +275,17 @@ }); } + private void initTubeDeviceData(Map tubeDeviceData, Object devcode) { tubeDeviceData.put("deviceCode", devcode); tubeDeviceData.put("strength", -1); - tubeDeviceData.put("uptime", new Date()); + tubeDeviceData.put("uptime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); tubeDeviceData.put("strength", -1); tubeDeviceData.put("pci", ""); tubeDeviceData.put("rsrp", ""); tubeDeviceData.put("snr", ""); tubeDeviceData.put("cell", ""); - tubeDeviceData.put("id", ""); + tubeDeviceData.put("tubeId", ""); } private void resvertSortStrength(List> lstMap) { @@ -201,4 +295,5 @@ } }); } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/TubeQrCreateDevice.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/TubeQrCreateDevice.java new file mode 100644 index 0000000..4cb5e86 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/TubeQrCreateDevice.java @@ -0,0 +1,146 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.casic.missiles.core.util.DateUtil; +import com.casic.missiles.modular.system.dao.DeviceMapper; +import com.casic.missiles.modular.system.dao.DeviceTubeMapper; +import com.casic.missiles.modular.system.model.*; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; +import com.casic.missiles.modular.system.service.IDeviceService; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import javax.management.Query; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +@Component +public class TubeQrCreateDevice { + + @Autowired + private DeviceMapper deviceMapper; + @Autowired + private IBusWellInfoService busWellInfoService; + @Qualifier("busConfigServiceImpl") + @Autowired + private IBusConfigService busConfigService; + @Autowired + private DeviceTubeMapper deviceTubeMapper; + + @Transactional + public void loseValidObserver(Long deviceId) { + loseValidDevice(deviceId); + Long wellId = loseValidDeviceWell(deviceId); + loseValidWell(wellId); + deleteBusConfig(deviceId); + } + + private void loseValidDevice(Long deviceId) { + deviceTubeMapper.loseValidDevice(deviceId); + } + + private Long loseValidDeviceWell(Long deviceId) { + Long wellId = deviceTubeMapper.getWellId(deviceId); + deviceTubeMapper.loseValidDeviceWell(deviceId); + return wellId; + } + + private void loseValidWell(Long wellId) { + deviceTubeMapper.loseValidWell(wellId); + } + + private void deleteBusConfig(Long deviceId) { + deviceTubeMapper.deleteBusConfig(deviceId); + } + + public void addDeviceObserver(QrCodeEntryTubeParam qrCodeEntryTubeParam) { + Long deviceId = createDevice(qrCodeEntryTubeParam); + Long wellId = createWell(qrCodeEntryTubeParam); + createDeviceWell(wellId, deviceId); + createBusConfig(qrCodeEntryTubeParam.getFrequency(), deviceId); + } + + private Long createDevice(QrCodeEntryTubeParam qcep) { + Device device = new Device(); + device.setDeviceName(qcep.getDeviceName()); + device.setDevcode(qcep.getDeviceCode()); + device.setLogtime(new Date()); + String installDate = StringUtils.substring(qcep.getCreateTime(), 0, 10); + device.setInstallDate(DateUtil.parse(installDate, "yyyy-MM-dd")); + device.setModelId(Long.valueOf(qcep.getVersion() == null ? "0" : qcep.getVersion())); + device.setOnlineState("1"); + device.setDeviceType(Long.valueOf(12)); + device.setValid("1"); + deviceMapper.insert(device); + return device.getId(); + } + + private Long createWell(QrCodeEntryTubeParam qcep) { + BusWellInfo wellInfo = new BusWellInfo(); + wellInfo.setWellCode("Tb-" + qcep.getDeviceCode()); + wellInfo.setWellFlag1(qcep.getProjectName()); + wellInfo.setLngGaode(qcep.getLng()); + wellInfo.setLatGaode(qcep.getLat()); + wellInfo.setPhotos(qcep.getImage()); + wellInfo.setNotes(qcep.getDescription()); + wellInfo.setValid("1"); + wellInfo.setTs(DateUtil.parse(qcep.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); + wellInfo.setDeptid(qcep.getDeptId()); + wellInfo.setStaff(qcep.getOwnerId()); + busWellInfoService.insert(wellInfo); + return wellInfo.getId(); + } + + private void createDeviceWell(Long wellId, Long deviceId) { + deviceTubeMapper.addDeviceWell(wellId, deviceId); + } + + private void createBusConfig(String frequency, Long deviceId) { + BusConfig busConfig = new BusConfig(); + busConfig.setDeviceId(deviceId); + busConfig.setSensorid("000044"); + busConfig.setAttemptsmax(3); + busConfig.setStatus("0"); + busConfig.setAttemptscurrent(0); + busConfig.setWritetime(new Date()); + busConfig.setFramecontent("3," + frequency + "," + frequency + ",,,"); + busConfigService.insert(busConfig); + } + + @Transactional + public void deleteDeviceObserver(Long deviceId) { + String devcode= deleteDevice(deviceId); + Long wellId = deleteDeviceWell(deviceId); + String wellCode=deleteWell(wellId); + deleteDataTube(devcode,wellCode); + } + + private String deleteDevice(Long deviceId) { + String devcode=deviceTubeMapper.getDevcodeById(deviceId); + deviceTubeMapper.deleteDeviceById(deviceId); + return devcode; + } + + private Long deleteDeviceWell(Long deviceId) { + Long wellId = deviceTubeMapper.getWellId(deviceId); + deviceTubeMapper.deleteWell(deviceId); + return wellId; + } + + private String deleteWell(Long wellId) { + String wellCode=deviceTubeMapper.getWellCodeById(wellId); + deviceTubeMapper.deleteWellById(wellId); + return wellCode; + } + + private void deleteDataTube(String devcode,String wellCode) { + deviceTubeMapper.deleteDataTube(devcode,wellCode); + } + +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index a6adc54..d7badf7 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -156,6 +156,10 @@ @TableField("BFZT") private String bfzt; + @TableField("STAFF") + private String staff; + + /** * 权属单位名称 */ diff --git a/casic-device/pom.xml b/casic-device/pom.xml index 2f74cd0..5d11bd1 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -40,7 +40,6 @@ compile - org.springframework.boot spring-boot-starter-aop diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java index f97a3f6..b0aee21 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceTubeController.java @@ -5,12 +5,11 @@ import com.casic.missiles.core.common.constant.factory.PageFactory; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.QrCodeEntryTubeParam; import com.casic.missiles.modular.system.service.DeviceTubeService; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Map; /** @@ -33,7 +32,6 @@ * 获取点位列表 */ @RequestMapping(value = "/well/list") - @ResponseBody public Object tubeDeviceList() { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.deviceList(dataScope); @@ -43,7 +41,6 @@ * 获取管盯设备组列表信息 */ @RequestMapping(value = "/groups/list") - @ResponseBody public Object DevicesGroupList() { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.deviceGroupsList(dataScope); @@ -52,29 +49,7 @@ /** * 获取列表 */ - @RequestMapping(value = "/groupdevice/listpage") - @ResponseBody - public Object DeviceListPage(String wellGroupId, Integer order) { - Page> page = new PageFactory>().defaultPage(); - DataScope dataScope = permissionService.getCurrUserDataScope(); - return tubeService.groupDeviceListPage(order,page, wellGroupId, dataScope); - } - - /** - * 获取列表 - */ - @RequestMapping(value = "/groupdevice/history") - @ResponseBody - public Object DeviceHistory(String devcode, String beginTime, String endTime) { - Page> page = new PageFactory>().defaultPage(); - return tubeService.tubeDataHistory(page,devcode, beginTime, endTime); - } - - /** - * 获取列表 - */ @RequestMapping(value = "/groupdevice/list") - @ResponseBody public Object DeviceList(String wellGroupId) { DataScope dataScope = permissionService.getCurrUserDataScope(); return tubeService.groupDeviceList(wellGroupId, dataScope); @@ -82,11 +57,75 @@ /** + * 获取列表 + */ + @RequestMapping(value = "/groupdevice/listpage") + public Object DeviceListPage(String wellGroupId, Integer order) { + Page> page = new PageFactory>().defaultPage(); + DataScope dataScope = permissionService.getCurrUserDataScope(); + return tubeService.groupDeviceListPage(order, page, wellGroupId, dataScope); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/groupdevice/history") + public Object DeviceHistory(String devcode, String beginTime, String endTime, String wellGroupId) { + Page> page = new PageFactory>().defaultPage(); + return tubeService.tubeDataHistory(page, devcode, beginTime, endTime, wellGroupId); + } + + + /** * 获取详情信息 */ - @RequestMapping(value = "/detail/{detailId}") - @ResponseBody - public Object list(@PathVariable(name = "detailId") String tubeId) { - return tubeService.deviceDetail(tubeId); + @RequestMapping(value = "/detail") + public Object list(String devcode, String wellGroupId) { + return tubeService.deviceDetail(devcode, wellGroupId); } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/latestdata") + public Object latestData(String devcode, String wellGroupId) { + return tubeService.latestData(devcode, wellGroupId); + } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/qrcode-entry/add") + public Object excuteQrcodeEntryAdd(@RequestBody QrCodeEntryTubeParam qrCodeEntryTubeParam) { + return tubeService.excuteQrcodeEntryAdd(qrCodeEntryTubeParam); + } + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/groupdict") + public Object getGroupDict() { + Long deptid = permissionService.getCurrLoginUser().getDeptId(); + return tubeService.getGroupDict(deptid); + } + + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/batch/delete") + public Object excuteBatchDelete(@RequestBody List deviceIdList) { + return tubeService.excuteBatchDelete(deviceIdList); + } + + + /** + * 获取管盯设备最新数据信息 + */ + @RequestMapping(value = "/group/edit") + public Object editGroupName(@RequestParam(value = "oldGroupName", required = true) String oldGroupName, + @RequestParam(value = "newGroupName", required = true) String newGroupName) { + return tubeService.editGroupName(oldGroupName, newGroupName); + } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java index e55ef62..617eddf 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceTubeMapper.java @@ -15,17 +15,48 @@ List> deviceGroupsList(@Param("scope") DataScope dataScope); - List> groupDeviceListPage(@Param("page")Page> page, @Param("wellGroupId") String wellGroupId, - @Param("scope") DataScope dataScope); + List> groupDeviceListPage(@Param("page") Page> page, @Param("wellGroupId") String wellGroupId, + @Param("scope") DataScope dataScope, @Param("dataOrder") String dataOrder); - Map dataTubeByDevcode(@Param("devcode")String devcode); - - List> tubeDataHistory(@Param("page") Page> page,@Param("devcode") String devcode, - @Param("endTime") String endTime,@Param("beginTime") String beginTime); - + List> tubeDataHistory(@Param("page") Page> page, @Param("devcode") String devcode, + @Param("beginTime") String beginTime, @Param("endTime") String endTime, + @Param("wellGroupId") String wellGroupId); List> groupDeviceList(@Param("wellGroupId") String wellGroupId, @Param("scope") DataScope dataScope); - Map deviceDetail(@Param("id") Long id); + Map deviceDetail(@Param("devcode") String devcode, @Param("wellGroupId") String wellGroupId); + + Map latestData(@Param("devcode") String devcode, @Param("wellGroupId") String wellGroupId); + + String existsDevice(@Param("devcode") String devcode); + + List getGroupDict(@Param("deptid") Long deptid); + + void addDeviceWell(@Param("wellId") Long wellId, @Param("deviceId") Long deviceId); + + Long getWellId(@Param("deviceId") Long deviceId); + + void deleteWell(@Param("deviceId") Long deviceId); + + void loseValidDeviceWell(@Param("deviceId") Long deviceId); + + void deleteDeviceById(@Param("deviceId") Long deviceId); + + void loseValidDevice(@Param("deviceId") Long deviceId); + + void deleteWellById(@Param("wellId") Long wellId); + + void loseValidWell(@Param("wellId") Long wellId); + + void deleteDataTube(@Param("devcode")String devcode,@Param("wellCode") String wellCode); + + void deleteBusConfig(@Param("deviceId") Long deviceId); + + String getDevcodeById(@Param("deviceId") Long deviceId); + + String getWellCodeById(@Param("wellId") Long wellId); + + void editGroupName(@Param("oldGroupName")String oldGroupName,@Param("newGroupName")String newGroupName); + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml index 42cae85..2d228bd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceTubeMapper.xml @@ -27,101 +27,223 @@ - - - - - + + + + + + + + INSERT INTO bus_device_well + VALUES(#{deviceId},#{wellId},now(),'1') + + + + + + DELETE + FROM bus_device + WHERE id=#{deviceId} + + + + UPDATE bus_device + SET VALID='0' + WHERE id=#{deviceId} + + + + DELETE + FROM bus_device_well + WHERE DEVICE_ID=#{deviceId} + + + + UPDATE bus_device_well + SET VALID='0' + WHERE DEVICE_ID=#{deviceId} + + + + delete + FROM bus_well_info + WHERE id=#{wellId} + + + + + UPDATE bus_well_info + SET valid='0' + WHERE id=#{wellId} + + + + DELETE + FROM data_tube + WHERE DEVCODE=#{devcode} + AND WELL_CODE=#{wellCode} + + + + DELETE + FROM bus_config + WHERE DEVICE_ID=#{deviceId} + + + + + + + + UPDATE bus_well_info + SET WELL_FLAG_1=#{newGroupName} + WHERE WELL_FLAG_1=#{oldGroupName} + + \ No newline at end of file diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/model/QrCodeEntryTubeParam.java b/casic-device/src/main/java/com/casic/missiles/modular/system/model/QrCodeEntryTubeParam.java new file mode 100644 index 0000000..8f33f66 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/model/QrCodeEntryTubeParam.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.system.model; + +import lombok.Data; + +/** + * @author cz + * @date 2022-8-15 + */ +@Data +public class QrCodeEntryTubeParam { + private String deviceCode; + private String deviceName; + private String projectName; + //采集频率 + private String frequency; + private String lng; + private String lat; + /** + * 现场图片 + */ + private String image; + private String description; + private String createTime; + private String deptId; + private String ownerId; + private String version; +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/DeviceTubeService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/DeviceTubeService.java index 0bf5970..ebcfbcd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/DeviceTubeService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/DeviceTubeService.java @@ -2,7 +2,9 @@ import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.QrCodeEntryTubeParam; +import java.util.List; import java.util.Map; public interface DeviceTubeService { @@ -31,7 +33,7 @@ */ Object groupDeviceListPage(Integer oreder, Page> page, String wellGroupId, DataScope dataScope); - Object tubeDataHistory( Page> page,String DEVCOE, String beginTime, String endTime); + Object tubeDataHistory(Page> page, String DEVCOE, String beginTime, String endTime, String wellGroupId); /** @@ -45,6 +47,19 @@ /** * 获取详情信息 */ - Object deviceDetail(String id); + Object deviceDetail(String id, String wellGroupId); + + /** + * 获取设备最新数据信息 + */ + Object latestData(String devcode,String wellGroupId); + + Object excuteQrcodeEntryAdd(QrCodeEntryTubeParam qrCodeEntryTubeParam); + + Object getGroupDict(Long deptid); + + Object excuteBatchDelete(List deviceIdList); + + Object editGroupName(String oldGroupName,String newGroupName); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTubeServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTubeServiceImpl.java index 0d47b3f..a332560 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTubeServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceTubeServiceImpl.java @@ -4,14 +4,15 @@ import com.casic.missiles.core.base.response.ResponseData; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dao.DeviceTubeMapper; +import com.casic.missiles.modular.system.model.QrCodeEntryTubeParam; import com.casic.missiles.modular.system.service.DeviceTubeService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Service; -import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.util.*; -import java.util.stream.Collectors; @Service @Slf4j @@ -19,8 +20,11 @@ private final DeviceTubeMapper deviceTubeMapper; - public DeviceTubeServiceImpl(DeviceTubeMapper deviceTubeMapper) { + private final TubeQrCreateDevice tubeQrCreateDevice; + + public DeviceTubeServiceImpl(DeviceTubeMapper deviceTubeMapper, TubeQrCreateDevice tubeQrCreateDevice) { this.deviceTubeMapper = deviceTubeMapper; + this.tubeQrCreateDevice = tubeQrCreateDevice; } /** @@ -69,32 +73,17 @@ /** * 分页获取点位信息 * - * @param oreder + * @param order * @param page * @param wellGroupId * @param dataScope * @return */ - public Object groupDeviceListPage(Integer oreder, Page> page, String wellGroupId, DataScope dataScope) { + public Object groupDeviceListPage(Integer order, Page> page, String wellGroupId, DataScope dataScope) { ResponseData responseData = new ResponseData(); try { - List> tubeDeviceList = deviceTubeMapper.groupDeviceListPage(page, wellGroupId, dataScope); - List> tubeDataDeviceList = new ArrayList<>(); - tubeDeviceList.forEach(tubeDevice -> { - Map tubeDeviceData = deviceTubeMapper.dataTubeByDevcode(tubeDevice.get("DEVCODE").toString()); - if (tubeDeviceData == null) { - tubeDeviceData = new HashMap<>(); - initTubeDeviceData(tubeDeviceData, tubeDevice.get("DEVCODE")); - } - tubeDeviceData.put("deviceName", tubeDevice.get("DEVICE_NAME")); - tubeDataDeviceList.add(tubeDeviceData); - } - ); - if (oreder != null && oreder == 0) { - resvertSortStrength(tubeDataDeviceList); - } else { - sortStrength(tubeDataDeviceList); - } + String dataOrder = order == 1 ? "ASC" : "DESC"; + List> tubeDataDeviceList = deviceTubeMapper.groupDeviceListPage(page, wellGroupId, dataScope, dataOrder); responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); responseData.setMessage(ResponseData.DEFAULT_SUCCESS_MESSAGE); responseData.setData(tubeDataDeviceList); @@ -116,10 +105,10 @@ * @param endTime * @return */ - public Object tubeDataHistory(Page> page, String devcode, String beginTime, String endTime) { + public Object tubeDataHistory(Page> page, String devcode, String beginTime, String endTime, String wellGroupId) { ResponseData responseData = new ResponseData(); try { - List> tubeDeviceList = deviceTubeMapper.tubeDataHistory(page, devcode, beginTime, endTime); + List> tubeDeviceList = deviceTubeMapper.tubeDataHistory(page, devcode, beginTime, endTime, wellGroupId); responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); responseData.setMessage(ResponseData.DEFAULT_SUCCESS_MESSAGE); responseData.setData(tubeDeviceList); @@ -142,6 +131,18 @@ ResponseData responseData = new ResponseData(); try { List> tubeDeviceList = deviceTubeMapper.groupDeviceList(wellGroupId, dataScope); +// List> tubeDeviceDataList = new ArrayList<>(); +// tubeDeviceList.forEach( +// tubeDevice -> { +// List> tubeDataList = deviceTubeMapper.groupDeviceDataList(tubeDevice.get("DEVCODE").toString()); +// tubeDataList.forEach( +// tubeData -> { +// tubeData.putAll(tubeDevice); +// } +// ); +// tubeDeviceDataList.addAll(tubeDataList); +// } +// ); responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); responseData.setMessage(ResponseData.DEFAULT_SUCCESS_MESSAGE); responseData.setData(tubeDeviceList); @@ -157,10 +158,10 @@ /** * 获取详情信息 */ - public Object deviceDetail(String id) { + public Object deviceDetail(String devcode, String wellGroupId) { ResponseData responseData = new ResponseData(); try { - Map tubeDeviceData = deviceTubeMapper.deviceDetail(Long.valueOf(id)); + Map tubeDeviceData = deviceTubeMapper.deviceDetail(devcode, wellGroupId); responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); responseData.setMessage(ResponseData.DEFAULT_SUCCESS_MESSAGE); responseData.setData(tubeDeviceData); @@ -173,6 +174,98 @@ return responseData; } + /** + * 获取设备最新数据信息 + */ + public Object latestData(String devcode, String wellGroupId) { + ResponseData responseData = new ResponseData(); + try { + Map tubeDeviceData = deviceTubeMapper.latestData(devcode, wellGroupId); + if (tubeDeviceData != null) { + responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); + responseData.setMessage(ResponseData.DEFAULT_SUCCESS_MESSAGE); + responseData.setData(tubeDeviceData); + } else { + responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); + responseData.setMessage("请求数据为空"); + responseData.setSuccess(true); + } + } catch (DataAccessException sqlex) { + responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); + responseData.setMessage("请求数据异常"); + responseData.setSuccess(true); + log.error("主题:设备最新数据查询异常,异常信息为{}", sqlex); + } + return responseData; + } + + + public Object excuteQrcodeEntryAdd(QrCodeEntryTubeParam qrCodeEntryTubeParam) { + ResponseData responseData = new ResponseData(); + try { + String deviceId = deviceTubeMapper.existsDevice(qrCodeEntryTubeParam.getDeviceCode()); + if (!StringUtils.isEmpty(deviceId)) { + tubeQrCreateDevice.loseValidObserver(Long.valueOf(deviceId)); + } + tubeQrCreateDevice.addDeviceObserver(qrCodeEntryTubeParam); + responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); + responseData.setMessage("新增成功"); + responseData.setSuccess(true); + } catch (DataAccessException sqlex) { + responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); + responseData.setMessage("请求数据异常"); + log.error("主题:设备最新数据查询异常,异常信息为{}", sqlex); + } + return responseData; + } + + public Object getGroupDict(Long deptid) { + ResponseData responseData = new ResponseData(); + try { + List groupDictList = deviceTubeMapper.getGroupDict(deptid); + responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); + responseData.setData(groupDictList); + responseData.setMessage("查询成功"); + responseData.setSuccess(true); + } catch (DataAccessException sqlex) { + responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); + responseData.setMessage("请求数据异常"); + log.error("主题:组字典列表查询异常,异常信息为{}", sqlex); + } + return responseData; + } + + public Object excuteBatchDelete(List deviceIdList) { + ResponseData responseData = new ResponseData(); + try { + deviceIdList.forEach( + deviceId -> tubeQrCreateDevice.deleteDeviceObserver(deviceId) + ); + responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); + responseData.setMessage("删除成功"); + responseData.setSuccess(true); + } catch (DataAccessException sqlex) { + responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); + responseData.setMessage("删除设备异常"); + log.error("主题:组字典列表查询异常,异常信息为{}", sqlex); + } + return responseData; + } + + public Object editGroupName(String oldGroupName,String newGroupName) { + ResponseData responseData = new ResponseData(); + try { + deviceTubeMapper.editGroupName(oldGroupName,newGroupName); + responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); + responseData.setMessage("修改成功"); + responseData.setSuccess(true); + } catch (DataAccessException sqlex) { + responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); + responseData.setMessage("修改组名异常"); + log.error("主题:组字典列表查询异常,异常信息为{}", sqlex); + } + return responseData; + } private void sortStrength(List> lstMap) { Collections.sort(lstMap, new Comparator>() { @@ -182,16 +275,17 @@ }); } + private void initTubeDeviceData(Map tubeDeviceData, Object devcode) { tubeDeviceData.put("deviceCode", devcode); tubeDeviceData.put("strength", -1); - tubeDeviceData.put("uptime", new Date()); + tubeDeviceData.put("uptime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); tubeDeviceData.put("strength", -1); tubeDeviceData.put("pci", ""); tubeDeviceData.put("rsrp", ""); tubeDeviceData.put("snr", ""); tubeDeviceData.put("cell", ""); - tubeDeviceData.put("id", ""); + tubeDeviceData.put("tubeId", ""); } private void resvertSortStrength(List> lstMap) { @@ -201,4 +295,5 @@ } }); } + } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/TubeQrCreateDevice.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/TubeQrCreateDevice.java new file mode 100644 index 0000000..4cb5e86 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/TubeQrCreateDevice.java @@ -0,0 +1,146 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.casic.missiles.core.util.DateUtil; +import com.casic.missiles.modular.system.dao.DeviceMapper; +import com.casic.missiles.modular.system.dao.DeviceTubeMapper; +import com.casic.missiles.modular.system.model.*; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusWellInfoService; +import com.casic.missiles.modular.system.service.IDeviceService; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import javax.management.Query; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +@Component +public class TubeQrCreateDevice { + + @Autowired + private DeviceMapper deviceMapper; + @Autowired + private IBusWellInfoService busWellInfoService; + @Qualifier("busConfigServiceImpl") + @Autowired + private IBusConfigService busConfigService; + @Autowired + private DeviceTubeMapper deviceTubeMapper; + + @Transactional + public void loseValidObserver(Long deviceId) { + loseValidDevice(deviceId); + Long wellId = loseValidDeviceWell(deviceId); + loseValidWell(wellId); + deleteBusConfig(deviceId); + } + + private void loseValidDevice(Long deviceId) { + deviceTubeMapper.loseValidDevice(deviceId); + } + + private Long loseValidDeviceWell(Long deviceId) { + Long wellId = deviceTubeMapper.getWellId(deviceId); + deviceTubeMapper.loseValidDeviceWell(deviceId); + return wellId; + } + + private void loseValidWell(Long wellId) { + deviceTubeMapper.loseValidWell(wellId); + } + + private void deleteBusConfig(Long deviceId) { + deviceTubeMapper.deleteBusConfig(deviceId); + } + + public void addDeviceObserver(QrCodeEntryTubeParam qrCodeEntryTubeParam) { + Long deviceId = createDevice(qrCodeEntryTubeParam); + Long wellId = createWell(qrCodeEntryTubeParam); + createDeviceWell(wellId, deviceId); + createBusConfig(qrCodeEntryTubeParam.getFrequency(), deviceId); + } + + private Long createDevice(QrCodeEntryTubeParam qcep) { + Device device = new Device(); + device.setDeviceName(qcep.getDeviceName()); + device.setDevcode(qcep.getDeviceCode()); + device.setLogtime(new Date()); + String installDate = StringUtils.substring(qcep.getCreateTime(), 0, 10); + device.setInstallDate(DateUtil.parse(installDate, "yyyy-MM-dd")); + device.setModelId(Long.valueOf(qcep.getVersion() == null ? "0" : qcep.getVersion())); + device.setOnlineState("1"); + device.setDeviceType(Long.valueOf(12)); + device.setValid("1"); + deviceMapper.insert(device); + return device.getId(); + } + + private Long createWell(QrCodeEntryTubeParam qcep) { + BusWellInfo wellInfo = new BusWellInfo(); + wellInfo.setWellCode("Tb-" + qcep.getDeviceCode()); + wellInfo.setWellFlag1(qcep.getProjectName()); + wellInfo.setLngGaode(qcep.getLng()); + wellInfo.setLatGaode(qcep.getLat()); + wellInfo.setPhotos(qcep.getImage()); + wellInfo.setNotes(qcep.getDescription()); + wellInfo.setValid("1"); + wellInfo.setTs(DateUtil.parse(qcep.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); + wellInfo.setDeptid(qcep.getDeptId()); + wellInfo.setStaff(qcep.getOwnerId()); + busWellInfoService.insert(wellInfo); + return wellInfo.getId(); + } + + private void createDeviceWell(Long wellId, Long deviceId) { + deviceTubeMapper.addDeviceWell(wellId, deviceId); + } + + private void createBusConfig(String frequency, Long deviceId) { + BusConfig busConfig = new BusConfig(); + busConfig.setDeviceId(deviceId); + busConfig.setSensorid("000044"); + busConfig.setAttemptsmax(3); + busConfig.setStatus("0"); + busConfig.setAttemptscurrent(0); + busConfig.setWritetime(new Date()); + busConfig.setFramecontent("3," + frequency + "," + frequency + ",,,"); + busConfigService.insert(busConfig); + } + + @Transactional + public void deleteDeviceObserver(Long deviceId) { + String devcode= deleteDevice(deviceId); + Long wellId = deleteDeviceWell(deviceId); + String wellCode=deleteWell(wellId); + deleteDataTube(devcode,wellCode); + } + + private String deleteDevice(Long deviceId) { + String devcode=deviceTubeMapper.getDevcodeById(deviceId); + deviceTubeMapper.deleteDeviceById(deviceId); + return devcode; + } + + private Long deleteDeviceWell(Long deviceId) { + Long wellId = deviceTubeMapper.getWellId(deviceId); + deviceTubeMapper.deleteWell(deviceId); + return wellId; + } + + private String deleteWell(Long wellId) { + String wellCode=deviceTubeMapper.getWellCodeById(wellId); + deviceTubeMapper.deleteWellById(wellId); + return wellCode; + } + + private void deleteDataTube(String devcode,String wellCode) { + deviceTubeMapper.deleteDataTube(devcode,wellCode); + } + +} diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java index a6adc54..d7badf7 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/BusWellInfo.java @@ -156,6 +156,10 @@ @TableField("BFZT") private String bfzt; + @TableField("STAFF") + private String staff; + + /** * 权属单位名称 */ diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java index d417209..77ace6b 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java @@ -70,7 +70,6 @@ well.setDeptName(service.getDeptName(well.getDeptid())); well.setBfztName(service.getDictNameByCode(BusWellConst.BFZT_TEMP, well.getBfzt())); // well.setDeviceCount(this.getDeviceCountData(well.getId())); - well.setQu(this.getAreaPid(well.getArea())); well.setResponsibleDeptName(service.getDeptName(well.getResponsibleDept())); });