From 354d3c82a2f86de191be5d72f1f12b09e81d1d6d Mon Sep 17 00:00:00 2001 From: wanghao Date: Wed, 26 Nov 2025 17:44:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E7=96=86aed=E8=BF=81=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/sql/xj_emergency修补aed数据.sql | 244 ++++++++ db/sql/xj_emergency新增aed表.sql | 202 ++++++ .../emergency/bean/response/SrcInfo.java | 16 + .../emergency/entity/AedEquipmentManger.java | 435 +++++++++++++ .../renkang/emergency/aed/common/Dept.java | 28 + .../emergency/aed/constant/AedEnumUtil.java | 40 ++ .../emergency/aed/constant/Constants.java | 22 + .../AedEquipmentCertificateController.java | 164 +++++ .../AedEquipmentMaintainController.java | 159 +++++ .../AedEquipmentMangerController.java | 329 ++++++++++ .../AedEquipmentRetrainController.java | 163 +++++ .../AedEquipmentTrainController.java | 177 ++++++ .../controller/AedLatestNewController.java | 154 +++++ .../controller/AedUseRecordNewController.java | 164 +++++ .../controller/AedWarnInfoNewController.java | 83 +++ .../aed/entity/AedEquipmentCertificate.java | 125 ++++ .../aed/entity/AedEquipmentMaintain.java | 181 ++++++ .../aed/entity/AedEquipmentRetrain.java | 117 ++++ .../aed/entity/AedEquipmentTrain.java | 150 +++++ .../emergency/aed/entity/AedLatest.java | 211 +++++++ .../emergency/aed/entity/AedLatestGd.java | 33 + .../aed/entity/AedLocationEquipment.java | 151 +++++ .../emergency/aed/entity/AedMessage.java | 57 ++ .../emergency/aed/entity/AedUseRecord.java | 139 +++++ .../emergency/aed/entity/AedWarnInfo.java | 147 +++++ .../aed/manage/AedCacheNewManager.java | 127 ++++ .../emergency/aed/manage/AedManagerNew.java | 153 +++++ .../aed/manage/WebSocketClientManagerNew.java | 174 ++++++ .../mapper/AedEquipmentCertificateMapper.java | 16 + .../mapper/AedEquipmentMaintainMapper.java | 42 ++ .../aed/mapper/AedEquipmentMangerMapper.java | 63 ++ .../aed/mapper/AedEquipmentRetrainMapper.java | 16 + .../aed/mapper/AedEquipmentTrainMapper.java | 38 ++ .../aed/mapper/AedLatestNewMapper.java | 16 + .../aed/mapper/AedUseRecordNewMapper.java | 29 + .../aed/mapper/AedWarnInfoNewMapper.java | 14 + .../xml/AedEquipmentCertificateMapper.xml | 5 + .../mapper/xml/AedEquipmentMaintainMapper.xml | 107 ++++ .../mapper/xml/AedEquipmentMangerMapper.xml | 124 ++++ .../mapper/xml/AedEquipmentRetrainMapper.xml | 5 + .../mapper/xml/AedEquipmentTrainMapper.xml | 75 +++ .../aed/mapper/xml/AedUseRecordNewMapper.xml | 44 ++ .../IAedEquipmentCertificateService.java | 16 + .../service/IAedEquipmentMaintainService.java | 47 ++ .../service/IAedEquipmentMangerService.java | 135 ++++ .../service/IAedEquipmentRetrainService.java | 17 + .../service/IAedEquipmentTrainService.java | 29 + .../aed/service/IAedLatestNewService.java | 16 + .../aed/service/IAedUseRecordNewService.java | 27 + .../aed/service/IAedWarnInfoNewService.java | 18 + .../AedEquipmentCertificateServiceImpl.java | 138 +++++ .../impl/AedEquipmentMaintainServiceImpl.java | 202 ++++++ .../impl/AedEquipmentMangerServiceImpl.java | 582 ++++++++++++++++++ .../impl/AedEquipmentRetrainServiceImpl.java | 136 ++++ .../impl/AedEquipmentTrainServiceImpl.java | 175 ++++++ .../service/impl/AedLatestNewServiceImpl.java | 141 +++++ .../impl/AedUseRecordNewServiceImpl.java | 52 ++ .../impl/AedWarnInfoNewServiceImpl.java | 123 ++++ .../renkang/emergency/aed/util/AEDUtils.java | 41 ++ .../renkang/emergency/aed/util/DateUtils.java | 164 +++++ .../renkang/emergency/aed/util/OrgUtils.java | 77 +++ .../emergency/aed/util/ResourceUtils.java | 43 ++ .../aed/vo/req/AedCertificateExport.java | 44 ++ .../aed/vo/req/AedEquipmentMaintainReq.java | 172 ++++++ .../emergency/aed/vo/req/AedExport.java | 47 ++ .../aed/vo/req/AedMaintainExport.java | 65 ++ .../aed/vo/req/AedPublishExport.java | 45 ++ .../aed/vo/req/AedRetrainExport.java | 30 + .../emergency/aed/vo/req/AedTrainExport.java | 47 ++ .../req/maintain/AedEquipmentMaintainReq.java | 141 +++++ .../vo/req/manager/AEDManagerInsertReq.java | 245 ++++++++ .../req/manager/AEDPublishEquipmentReq.java | 94 +++ .../res/maintain/AedEquipmentMaintainRes.java | 167 +++++ .../aed/vo/res/manager/AEDManagerPageRes.java | 253 ++++++++ .../aed/vo/res/manager/AEDPublishPageRes.java | 179 ++++++ .../emergency/aed/vo/res/manager/AedGeo.java | 81 +++ .../vo/res/record/AEDUserRecordPageRes.java | 153 +++++ .../aed/vo/res/train/AEDTrainPageRes.java | 143 +++++ .../impl/EmergencyResourceApiServiceImpl.java | 6 +- .../largeScreen/entity/vo/LargeScreenMap.java | 19 +- .../service/impl/LargeScreenServiceImpl.java | 11 +- 81 files changed, 8843 insertions(+), 17 deletions(-) create mode 100644 db/sql/xj_emergency修补aed数据.sql create mode 100644 db/sql/xj_emergency新增aed表.sql create mode 100644 health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/bean/response/SrcInfo.java create mode 100644 health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/AedEquipmentManger.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/common/Dept.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/constant/AedEnumUtil.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/constant/Constants.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedEquipmentCertificateController.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedEquipmentMaintainController.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedEquipmentMangerController.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedEquipmentRetrainController.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedEquipmentTrainController.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedLatestNewController.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedUseRecordNewController.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedWarnInfoNewController.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedEquipmentCertificate.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedEquipmentMaintain.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedEquipmentRetrain.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedEquipmentTrain.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedLatest.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedLatestGd.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedLocationEquipment.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedMessage.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedUseRecord.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedWarnInfo.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/manage/AedCacheNewManager.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/manage/AedManagerNew.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/manage/WebSocketClientManagerNew.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedEquipmentCertificateMapper.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedEquipmentMaintainMapper.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedEquipmentMangerMapper.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedEquipmentRetrainMapper.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedEquipmentTrainMapper.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedLatestNewMapper.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedUseRecordNewMapper.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedWarnInfoNewMapper.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/xml/AedEquipmentCertificateMapper.xml create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/xml/AedEquipmentMaintainMapper.xml create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/xml/AedEquipmentMangerMapper.xml create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/xml/AedEquipmentRetrainMapper.xml create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/xml/AedEquipmentTrainMapper.xml create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/xml/AedUseRecordNewMapper.xml create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedEquipmentCertificateService.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedEquipmentMaintainService.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedEquipmentMangerService.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedEquipmentRetrainService.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedEquipmentTrainService.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedLatestNewService.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedUseRecordNewService.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedWarnInfoNewService.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedEquipmentCertificateServiceImpl.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedEquipmentMaintainServiceImpl.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedEquipmentMangerServiceImpl.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedEquipmentRetrainServiceImpl.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedEquipmentTrainServiceImpl.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedLatestNewServiceImpl.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedUseRecordNewServiceImpl.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedWarnInfoNewServiceImpl.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/util/AEDUtils.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/util/DateUtils.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/util/OrgUtils.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/util/ResourceUtils.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedCertificateExport.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedEquipmentMaintainReq.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedExport.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedMaintainExport.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedPublishExport.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedRetrainExport.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedTrainExport.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/maintain/AedEquipmentMaintainReq.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/manager/AEDManagerInsertReq.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/manager/AEDPublishEquipmentReq.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/res/maintain/AedEquipmentMaintainRes.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/res/manager/AEDManagerPageRes.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/res/manager/AEDPublishPageRes.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/res/manager/AedGeo.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/res/record/AEDUserRecordPageRes.java create mode 100644 health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/res/train/AEDTrainPageRes.java diff --git a/db/sql/xj_emergency修补aed数据.sql b/db/sql/xj_emergency修补aed数据.sql new file mode 100644 index 0000000..f909ee7 --- /dev/null +++ b/db/sql/xj_emergency修补aed数据.sql @@ -0,0 +1,244 @@ +---------------------------xj_aed表 先删除后插入 + +DELETE FROM xj_aed; + +--------------------------- + +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214849', '自动体外除颤仪', '公司机关机关机关楼一楼524房间', 84.892962, 45.571915, NULL, NULL, 'A01A18', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214850', '自动体外除颤仪', '乌鲁木齐明园服务中心无明园服务中心综合办公楼四层会议室门口', 87.597842, 43.818145, NULL, NULL, 'A01A38', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214851', '自动体外除颤仪', '西部原油销售中心无明园服务中心综合办公楼四层会议室门口', 87.597842, 43.818145, NULL, NULL, 'A01A19', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214852', '自动体外除颤仪', '玛湖勘探开发项目部项目部机关(油田公司机关2#楼7楼、8楼)油田公司机关2#楼1楼大厅', 84.886853, 45.578863, NULL, NULL, 'A01A26', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214853', '自动体外除颤仪', '玛湖勘探开发项目部项目部基地项目部基地2#办公楼1楼墙面', 85.413101, 45.911086, NULL, NULL, 'A01A26', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214854', '自动体外除颤仪', '监督中心机关、各监督站油田公司机关2#楼1楼大厅', 84.886853, 45.578863, NULL, NULL, 'A01A16', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214855', '自动体外除颤仪', '监督中心计量监督检测中心、质量安全环保研究所公共事务中心大院5号楼1楼', 84.873536, 45.599149, NULL, NULL, 'A01A16', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214856', '自动体外除颤仪', '监督中心油田化学剂产品质量监督检验站勘探开发研究院大院6号楼一楼', 84.901295, 45.604129, NULL, NULL, 'A01A16', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214857', '自动体外除颤仪', '监督中心环境监测站勘探开发研究院大院2号楼一楼', 84.899350, 45.604129, NULL, NULL, 'A01A16', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214858', '自动体外除颤仪', '新疆油田储气库有限公司机关机关二楼健康小屋内', 86.888887, 44.174855, NULL, NULL, 'A01A32', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214859', '自动体外除颤仪', '新疆油田储气库有限公司集注站集注站中控', 87.029069, 44.129586, NULL, NULL, 'A01A32', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214860', '自动体外除颤仪', '风城油田作业区乌尔禾机关机关楼一楼大厅', 85.679373, 46.090483, NULL, NULL, 'A01A08', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214861', '自动体外除颤仪', '风城油田作业区乌尔禾A栋办公楼B栋房务中心', 85.676867, 46.089368, NULL, NULL, 'A01A08', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214862', '自动体外除颤仪', '风城油田作业区乌尔禾B栋宿舍B栋房务中心', 85.676867, 46.089368, NULL, NULL, 'A01A08', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214863', '自动体外除颤仪', '风城油田作业区乌尔禾C栋宿舍C栋房务中心', 85.681600, 46.089099, NULL, NULL, 'A01A08', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214864', '自动体外除颤仪', '风城油田作业区乌尔禾D栋宿舍D栋房务中心', 85.683271, 46.089658, NULL, NULL, 'A01A08', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214865', '自动体外除颤仪', '风城油田作业区乌尔禾E栋宿舍E栋房务中心', 85.684106, 46.089659, NULL, NULL, 'A01A08', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214866', '自动体外除颤仪', '开发公司机关石油大厦B座23楼电梯前室', 84.903242, 45.673281, NULL, NULL, 'A01A25', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214867', '自动体外除颤仪', '开发公司第一项目经理部第一项目部基地112房间', 85.067125, 45.673073, NULL, NULL, 'A01A25', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214868', '自动体外除颤仪', '开发公司第二项目经理部第二项目部基地安全办', 86.853424, 45.429250, NULL, NULL, 'A01A25', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214869', '自动体外除颤仪', '采气一厂机关机关楼一楼大厅', 84.869098, 45.599154, NULL, NULL, 'A01A06', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214870', '自动体外除颤仪', '采气一厂机关机关楼一楼大厅', 84.869098, 45.599154, NULL, NULL, 'A01A06', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214871', '自动体外除颤仪', '采气一厂呼图壁采气作业区石油公寓2楼218', 86.901390, 44.191784, NULL, NULL, 'A01A06', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214872', '自动体外除颤仪', '采气一厂克75采气作业区中控室', 85.193392, 45.182159, NULL, NULL, 'A01A06', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214873', '自动体外除颤仪', '采气一厂克75采气作业区中控室', 85.193392, 45.182159, NULL, NULL, 'A01A06', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214874', '自动体外除颤仪', '采气一厂试采维修抢险中心前院办公室中控室', 85.055415, 45.480862, NULL, NULL, 'A01A06', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214875', '自动体外除颤仪', '采气一厂试采维修抢险中心前院办公室中控室', 85.055415, 45.480862, NULL, NULL, 'A01A06', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214876', '自动体外除颤仪', '采气一厂克拉美丽采气作业区健康小屋', 87.613755, 45.243382, NULL, NULL, 'A01A06', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214877', '自动体外除颤仪', '采气一厂盆5采气作业区公寓医护值班室', 86.203756, 44.950184, NULL, NULL, 'A01A06', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214878', '自动体外除颤仪', '采气一厂玛河作业区公寓一楼南103医护值班室', 86.056411, 44.283982, NULL, NULL, 'A01A06', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214879', '自动体外除颤仪', '采气一厂玛河作业区公寓一楼南103医护值班室', 86.056411, 44.283982, NULL, NULL, 'A01A06', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214880', '自动体外除颤仪', '采油二厂机关机关楼一楼大厅', NULL, NULL, NULL, NULL, 'A01A05', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214881', '自动体外除颤仪', '采油二厂第一采油作业区7821中心站', NULL, NULL, NULL, NULL, 'A01A05', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214882', '自动体外除颤仪', '采油二厂第二采油作业区7109中心站', NULL, NULL, NULL, NULL, 'A01A05', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214883', '自动体外除颤仪', '采油二厂第三采油作业区7830中心站', NULL, NULL, NULL, NULL, 'A01A05', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214884', '自动体外除颤仪', '采油二厂第五采油作业区5320中心站', NULL, NULL, NULL, NULL, 'A01A05', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214885', '自动体外除颤仪', '采油二厂运行维护一中心8562中心站', NULL, NULL, NULL, NULL, 'A01A05', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214886', '自动体外除颤仪', '采油二厂运行维护一中心8513中心站', NULL, NULL, NULL, NULL, 'A01A05', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214887', '自动体外除颤仪', '采油二厂第七采油作业区5203中心站', NULL, NULL, NULL, NULL, 'A01A05', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214888', '自动体外除颤仪', '采油二厂第八采油作业区5115中心站', NULL, NULL, NULL, NULL, 'A01A05', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214889', '自动体外除颤仪', '采油二厂第九采油作业区玛湖生活基地', NULL, NULL, NULL, NULL, 'A01A05', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214890', '自动体外除颤仪', '采油二厂联合注入站七东1号注聚站', NULL, NULL, NULL, NULL, 'A01A05', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819723214891', '自动体外除颤仪', '采油二厂联合处理一站81#联合处理站应急材料室', NULL, NULL, NULL, NULL, 'A01A05', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352193', '自动体外除颤仪', '采油二厂联合处理二站51#联合处理站', NULL, NULL, NULL, NULL, 'A01A05', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352194', '自动体外除颤仪', '采油二厂天然气处理站深冷中控室', NULL, NULL, NULL, NULL, 'A01A05', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352195', '自动体外除颤仪', '采油二厂联合办公楼克拉玛依市6+1大楼B座2楼212室', NULL, NULL, NULL, NULL, 'A01A05', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352196', '自动体外除颤仪', '采油二厂综合体育馆白碱滩区综合体育馆大厅', NULL, NULL, NULL, NULL, 'A01A05', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352197', '自动体外除颤仪', '石西油田作业区石西公寓石西公寓大食堂门口', 86.857307, 45.428411, NULL, NULL, 'A01A12', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352198', '自动体外除颤仪', '石西油田作业区石西公寓石西公寓大食堂门口', 86.857307, 45.428411, NULL, NULL, 'A01A12', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352199', '自动体外除颤仪', '石西油田作业区石南4联合站石南4联合站办公区中控室内', 86.737987, 45.623245, NULL, NULL, 'A01A12', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352200', '自动体外除颤仪', '石西油田作业区石南4联合站石南4联合站办公区中控室内', 86.737987, 45.623245, NULL, NULL, 'A01A12', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352201', '自动体外除颤仪', '石西油田作业区莫北转油站莫北转油站办公区大门进门左手墙上', 86.769374, 45.223810, NULL, NULL, 'A01A12', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352202', '自动体外除颤仪', '石西油田作业区莫北转油站莫北转油站办公区大门进门左手墙上', 86.769374, 45.223810, NULL, NULL, 'A01A12', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352203', '自动体外除颤仪', '石西油田作业区莫109转输处理站莫109转输站办公区中控室内', 86.606250, 45.114165, NULL, NULL, 'A01A12', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352204', '自动体外除颤仪', '石西油田作业区莫109转输处理站莫109转输站办公区中控室内', 86.606250, 45.114165, NULL, NULL, 'A01A12', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352205', '自动体外除颤仪', '石西油田作业区石204混输泵站石204混输泵站采油食堂进门左手处', 86.838465, 45.701458, NULL, NULL, 'A01A12', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352206', '自动体外除颤仪', '石西油田作业区石204混输泵站石204混输泵站采油食堂进门左手处', 86.838465, 45.701458, NULL, NULL, 'A01A12', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352207', '自动体外除颤仪', '石西油田作业区石南31联合站采油休息办公室石南31联合站采油办公室车库进门右手处', 86.950727, 45.614508, NULL, NULL, 'A01A12', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352208', '自动体外除颤仪', '石西油田作业区石南31联合站采油休息办公室石南31联合站采油办公室车库进门右手处', 86.950727, 45.614508, NULL, NULL, 'A01A12', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352209', '自动体外除颤仪', '吉庆油田作业区机关综合楼一楼大厅', 89.220063, 44.003277, NULL, NULL, 'A01A29', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352210', '自动体外除颤仪', '吉庆油田作业区吉7运行维护中心公寓A座2楼222室', 89.277552, 44.105983, NULL, NULL, 'A01A29', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352211', '自动体外除颤仪', '吉庆油田作业区页岩油运行维护中心红旗大饭店4楼412室', 89.111967, 44.236072, NULL, NULL, 'A01A29', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352212', '自动体外除颤仪', '油田技术服务分公司机关科研生产办公楼A座机关楼五楼茶水间(503-2对面)', 84.900460, 45.571913, NULL, NULL, 'A01A36', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352213', '自动体外除颤仪', '油田技术服务分公司机关科研生产办公楼A座机关楼五楼茶水间(503-2对面)', 84.900460, 45.571913, NULL, NULL, 'A01A36', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352214', '自动体外除颤仪', '百口泉采油厂市区机关3楼羽毛球场', 84.896294, 45.576635, NULL, NULL, 'A01A03', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352215', '自动体外除颤仪', '百口泉采油厂百口泉基地体育馆', 85.415878, 45.912751, NULL, NULL, 'A01A03', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352216', '自动体外除颤仪', '百口泉采油厂百21采油作业区百21作业区113室', 85.414490, 45.913029, NULL, NULL, 'A01A03', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352217', '自动体外除颤仪', '百口泉采油厂检188采油作业区检188作业区调度室', 85.414490, 45.913029, NULL, NULL, 'A01A03', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352218', '自动体外除颤仪', '百口泉采油厂玛湖第一采油作业区玛一作业区调度室', 85.937222, 45.964626, NULL, NULL, 'A01A03', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352219', '自动体外除颤仪', '百口泉采油厂玛湖第二采油作业区玛二作业区资料组办公室', 86.006614, 46.073928, NULL, NULL, 'A01A03', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352220', '自动体外除颤仪', '百口泉采油厂玛湖第三采油作业区基地会议室', 85.765285, 45.814277, NULL, NULL, 'A01A03', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352221', '自动体外除颤仪', '百口泉采油厂玛湖第三采油作业区玛中4基地会议室', 85.761668, 45.642106, NULL, NULL, 'A01A03', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352222', '自动体外除颤仪', '百口泉采油厂注输联合站玛18转油站会议室', 85.765285, 45.814277, NULL, NULL, 'A01A03', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352223', '自动体外除颤仪', '百口泉采油厂注输联合站玛131转油站会议室', 86.006614, 46.073928, NULL, NULL, 'A01A03', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352224', '自动体外除颤仪', '百口泉采油厂注输联合站注输联合站小会议室', 85.478225, 45.921806, NULL, NULL, 'A01A03', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352225', '自动体外除颤仪', '百口泉采油厂员工培训站员工培训中心会议室', 85.414212, 45.905810, NULL, NULL, 'A01A03', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352226', '自动体外除颤仪', '电力公司机关机关楼一楼大厅', 85.124667, 45.692528, NULL, NULL, 'A01A07', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352227', '自动体外除颤仪', '电力公司发电机关楼一楼大厅', 85.124667, 45.692528, NULL, NULL, 'A01A07', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352228', '自动体外除颤仪', '咨询中心机关、各业务部室油田公司机关2#楼1楼大厅', 84.886974, 45.578946, NULL, NULL, 'A01A27', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352229', '自动体外除颤仪', '咨询中心机关、各业务部室油田公司机关2#楼1楼大厅', 84.886974, 45.578946, NULL, NULL, 'A01A27', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352230', '自动体外除颤仪', '准东采油厂机关机关楼一楼大厅', 87.886688, 44.143790, NULL, NULL, 'A01A17', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352231', '自动体外除颤仪', '准东采油厂机关机关食堂', 87.884192, 44.147956, NULL, NULL, 'A01A17', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352232', '自动体外除颤仪', '准东采油厂甘泉河作业区甘泉河健康小屋内', 88.744436, 44.104291, NULL, NULL, 'A01A17', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352233', '自动体外除颤仪', '准东采油厂甘泉河作业区甘泉河员工餐厅', 88.742768, 44.102903, NULL, NULL, 'A01A17', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352234', '自动体外除颤仪', '准东采油厂甘泉河作业区甘泉河办公楼一楼', 88.746102, 44.103181, NULL, NULL, 'A01A17', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352235', '自动体外除颤仪', '准东采油厂沙南作业区沙南健康小屋内', 88.716637, 44.349966, NULL, NULL, 'A01A17', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352236', '自动体外除颤仪', '准东采油厂沙南作业区沙南北联站', 88.719143, 44.367462, NULL, NULL, 'A01A17', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352237', '自动体外除颤仪', '准东采油厂沙南作业区沙南西泉1区', 88.606412, 44.323148, NULL, NULL, 'A01A17', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352238', '自动体外除颤仪', '准东采油厂沙南作业区沙南沙联站', 88.700499, 44.479339, NULL, NULL, 'A01A17', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352239', '自动体外除颤仪', '准东采油厂吉庆运维项目部红旗大酒店4楼健康小屋', 89.108922, 44.398218, NULL, NULL, 'A01A17', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352240', '自动体外除颤仪', '准东采油厂吉庆运维项目部红旗大酒店4楼健康小屋', 89.108922, 44.398218, NULL, NULL, 'A01A17', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352241', '自动体外除颤仪', '准东采油厂南疆(哈得)项目部跃满公寓一楼西头', 82.995713, 40.787383, NULL, NULL, 'A01A17', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352242', '自动体外除颤仪', '准东采油厂水务公司水务公司水二泵站', 88.974941, 44.691779, NULL, NULL, 'A01A17', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352243', '自动体外除颤仪', '准东采油厂勘探开发研究所基地勘探开发研究所基地办公楼', 87.093713, 44.151348, NULL, NULL, 'A01A17', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352244', '自动体外除颤仪', '准东采油厂勘探开发研究所明园勘探开发研究所明园办公楼', 87.595343, 43.817591, NULL, NULL, 'A01A17', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352245', '自动体外除颤仪', '准东采油厂火烧山作业区火烧山公寓健康小屋', 89.002570, 44.920211, NULL, NULL, 'A01A17', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352246', '自动体外除颤仪', '准东采油厂火烧山作业区火烧山新公寓一楼', 89.002012, 44.919654, NULL, NULL, 'A01A17', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352247', '自动体外除颤仪', '准东采油厂彩南作业区1号公寓健康小屋', 88.367529, 44.987863, NULL, NULL, 'A01A17', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819769352248', '自动体外除颤仪', '准东采油厂彩南作业区滴12生活点会议室', 88.820803, 45.508526, NULL, NULL, 'A01A17', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266753', '自动体外除颤仪', '准东采油厂彩南作业区集中处理站党员服务室', 88.362798, 44.978688, NULL, NULL, 'A01A17', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266754', '自动体外除颤仪', '准东采油厂彩南作业区彩参二班组', 88.405333, 44.975112, NULL, NULL, 'A01A17', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266755', '自动体外除颤仪', '准东采油厂工程技术服务公司工程技术服务公司沙南驻地走廊西侧', 88.726932, 44.351088, NULL, NULL, 'A01A17', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266756', '自动体外除颤仪', '准东采油厂工程技术服务公司工程技术服务公司吉7驻地餐厅', 89.277552, 44.102652, NULL, NULL, 'A01A17', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266757', '自动体外除颤仪', '准东采油厂供电(新能源)公司火烧山110kV变电所', 89.030746, 44.948075, NULL, NULL, 'A01A17', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266758', '自动体外除颤仪', '准东采油厂油田保障中心体育馆一楼大厅', 87.893901, 44.145174, NULL, NULL, 'A01A17', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266759', '自动体外除颤仪', '准东采油厂油田公寓服务中心准东宾馆总台', 87.886966, 44.149065, NULL, NULL, 'A01A17', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266760', '自动体外除颤仪', '重油开发公司机关机关楼一楼大厅', 84.860503, 45.618329, NULL, NULL, 'A01A15', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266761', '自动体外除颤仪', '重油开发公司采油作业一区采油一区三班', 84.864939, 45.618601, NULL, NULL, 'A01A15', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266762', '自动体外除颤仪', '重油开发公司采油作业二区采油二区大班房', 85.251688, 45.775667, NULL, NULL, 'A01A15', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266763', '自动体外除颤仪', '重油开发公司采油作业三区采油三区大班房', 85.463515, 45.120264, NULL, NULL, 'A01A15', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266764', '自动体外除颤仪', '重油开发公司采油作业四区采油三班基地会议室', 85.200055, 45.392445, NULL, NULL, 'A01A15', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266765', '自动体外除颤仪', '重油开发公司采油作业五区采油五区大班房', 85.181779, 45.714932, NULL, NULL, 'A01A15', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266766', '自动体外除颤仪', '重油开发公司采油作业六区五区南班组基地', 85.214494, 45.793743, NULL, NULL, 'A01A15', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266767', '自动体外除颤仪', '重油开发公司集输污水联合站金龙2转油站', 85.241668, 45.357122, NULL, NULL, 'A01A15', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266768', '自动体外除颤仪', '应急抢险救援中心中心机关中心机关楼四楼公共展厅', 84.835834, 45.573936, NULL, NULL, 'A01A13', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266769', '自动体外除颤仪', '应急抢险救援中心中心机关中心机关楼四楼公共展厅', 84.835834, 45.573936, NULL, NULL, 'A01A13', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266770', '自动体外除颤仪', '应急抢险救援中心研究所中心机关楼四楼公共展厅', 84.835834, 45.573936, NULL, NULL, 'A01A13', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266771', '自动体外除颤仪', '应急抢险救援中心技术监督中心中心机关楼四楼公共展厅', 84.835834, 45.573936, NULL, NULL, 'A01A13', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266772', '自动体外除颤仪', '应急抢险救援中心技术监督中心井控技术分公司一楼过道', 84.875754, 45.591647, NULL, NULL, 'A01A13', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266773', '自动体外除颤仪', '应急抢险救援中心井控培训中心教学楼A-B区走廊', 84.873814, 45.606370, NULL, NULL, 'A01A13', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266774', '自动体外除颤仪', '应急抢险救援中心储层作业分公司分公司机关二楼大厅', 85.111481, 45.678892, NULL, NULL, 'A01A13', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266775', '自动体外除颤仪', '应急抢险救援中心酸压作业分公司酸压作业分公司机关楼二楼', 85.052636, 45.627502, NULL, NULL, 'A01A13', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266776', '自动体外除颤仪', '应急抢险救援中心零散气作业分公司零散气作业分公司机关楼二楼', 85.052636, 45.627502, NULL, NULL, 'A01A13', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266777', '自动体外除颤仪', '应急抢险救援中心井筒作业分公司共用井控技术分公司一楼过道', 84.875754, 45.591647, NULL, NULL, 'A01A13', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266778', '自动体外除颤仪', '应急抢险救援中心井筒作业分公司陆梁基地会议室', 86.896466, 45.860501, NULL, NULL, 'A01A13', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266779', '自动体外除颤仪', '应急抢险救援中心机械设备制造分公司机关大厅', 85.084933, 45.599498, NULL, NULL, 'A01A13', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266780', '自动体外除颤仪', '应急抢险救援中心井控技术分公司井控技术分公司一楼过道', 84.875754, 45.591647, NULL, NULL, 'A01A13', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266781', '自动体外除颤仪', '应急抢险救援中心带压作业分公司带压作业分公司一楼过道', 85.116617, 45.680038, NULL, NULL, 'A01A13', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266782', '自动体外除颤仪', '应急抢险救援中心连管作业分公司带压作业分公司一楼过道', 85.116617, 45.680038, NULL, NULL, 'A01A13', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266783', '自动体外除颤仪', '应急抢险救援中心特车分公司特车分公司机关楼', 85.050406, 45.627220, NULL, NULL, 'A01A13', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819832266784', '自动体外除颤仪', '应急抢险救援中心综合服务站共用井控技术分公司一楼过道', 84.875754, 45.591647, NULL, NULL, 'A01A13', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375617', '自动体外除颤仪', '应急抢险救援中心准东消防大队准东消防大队一楼大厅', 87.881141, 44.152678, NULL, NULL, 'A01A13', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375618', '自动体外除颤仪', '应急抢险救援中心白碱滩消防大队健身房', 85.122446, 45.685865, NULL, NULL, 'A01A13', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375619', '自动体外除颤仪', '应急抢险救援中心沙漠腹部消防大队石西作业区公寓1#食堂门口', 86.857307, 45.428689, NULL, NULL, 'A01A13', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375620', '自动体外除颤仪', '应急抢险救援中心陆梁作业区公寓2#食堂门口', 86.891187, 45.858004, NULL, NULL, 'A01A13', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375621', '自动体外除颤仪', '应急抢险救援中心百口泉消防大队百口泉消防大队一楼大厅', 84.886854, 45.603024, NULL, NULL, 'A01A13', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375622', '自动体外除颤仪', '应急抢险救援中心风城油田消防中队风城油田消防中队执勤楼一楼大厅', 85.675196, 46.092419, NULL, NULL, 'A01A13', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375623', '自动体外除颤仪', '新能源事业部机关机关2号楼656办公室', 84.883523, 45.577753, NULL, NULL, 'A01A24', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375624', '自动体外除颤仪', '新能源事业部煤电项目部煤电项目部一楼大厅', 85.016096, 45.547144, NULL, NULL, 'A01A24', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375625', '自动体外除颤仪', '红山公司机关科研生产办公楼A座机关楼七楼茶水间', 84.896905, 45.570603, NULL, NULL, NULL, 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375626', '自动体外除颤仪', '红山公司运行维护二中心(办公室)运行维护二中心坡下基地调度值班室', 84.816239, 45.367030, NULL, NULL, NULL, 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375627', '自动体外除颤仪', '红山公司运行维护二中心(办公室)运行维护二中心7号中心站对面值班室', 84.817236, 45.353428, NULL, NULL, NULL, 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375628', '自动体外除颤仪', '红山公司运行维护三中心(办公室)运行维护三中心处理站仪控室', 84.823821, 45.368316, NULL, NULL, NULL, 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375629', '自动体外除颤仪', '油气储运公司克区机关楼209室', 84.981774, 45.574815, NULL, NULL, 'A01A14', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375630', '自动体外除颤仪', '油气储运公司昌吉机关楼421室', 87.302532, 43.991870, NULL, NULL, 'A01A14', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375631', '自动体外除颤仪', '油气储运公司石西站石西站公寓大门口', 86.869512, 45.428671, NULL, NULL, 'A01A14', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375632', '自动体外除颤仪', '油气储运公司北三台站油库北三台站油库', 88.710788, 44.243344, NULL, NULL, 'A01A14', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375633', '自动体外除颤仪', '油气储运公司北三台站彩南交接点北三台站彩南交接点', 88.363077, 44.976466, NULL, NULL, 'A01A14', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375634', '自动体外除颤仪', '油气储运公司北三台站火烧山交油点北三台站火烧山交油点', 89.028515, 44.948347, NULL, NULL, 'A01A14', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375635', '自动体外除颤仪', '油气储运公司706站706站经济员办公室', 86.966269, 44.077771, NULL, NULL, 'A01A14', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375636', '自动体外除颤仪', '油气储运公司706站705站点705站点技术员办公室', 86.527177, 44.300162, NULL, NULL, 'A01A14', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375637', '自动体外除颤仪', '油气储运公司四泵站办公楼二楼党员之家办公室', 84.768154, 44.916483, NULL, NULL, 'A01A14', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375638', '自动体外除颤仪', '油气储运公司六泵站六泵站会议室', 84.859622, 44.442485, NULL, NULL, 'A01A14', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375639', '自动体外除颤仪', '油气储运公司704站704站技术员办公室', 85.498086, 44.830121, NULL, NULL, 'A01A14', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375640', '自动体外除颤仪', '油气储运公司704站703站703站点经济员办公室', 85.498086, 44.830121, NULL, NULL, 'A01A14', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375641', '自动体外除颤仪', '油气储运公司风城中心站夏子街增压站夏子街增压站', 86.084328, 46.150461, NULL, NULL, 'A01A14', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375642', '自动体外除颤仪', '油气储运公司交油队百克站百克站生产值班室', 85.433080, 45.913570, NULL, NULL, 'A01A14', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375643', '自动体外除颤仪', '油气储运公司王家沟油气储运中心站王家沟油气储运中心武警楼健康小屋', 87.366044, 43.880664, NULL, NULL, 'A01A14', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375644', '自动体外除颤仪', '新疆培训中心克拉玛依校区新疆培训中心C1教学楼1楼大厅', 84.928628, 45.548118, NULL, NULL, 'A01A37', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375645', '自动体外除颤仪', '新疆培训中心克拉玛依校区新疆培训中心K2公寓1楼大厅', 84.929947, 45.545808, NULL, NULL, 'A01A37', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375646', '自动体外除颤仪', '数智技术公司全体部门技术信息楼一楼大厅', 83.897238, 45.576331, NULL, NULL, 'A01A20', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375647', '自动体外除颤仪', '数智技术公司全体部门雅典娜办公楼一楼大厅', 84.878820, 45.904886, NULL, NULL, 'A01A20', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375648', '自动体外除颤仪', '数智技术公司全体部门数据中心二楼东面大厅', 84.880193, 45.576369, NULL, NULL, 'A01A20', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375649', '自动体外除颤仪', '数智技术公司全体部门乌鲁木齐明园办公大楼一楼大厅', 87.599231, 43.814259, NULL, NULL, 'A01A20', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819899375650', '自动体外除颤仪', '采油一厂机关机关楼一楼大厅', 84.882969, 45.596639, NULL, NULL, 'A01A06', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819983261697', '自动体外除颤仪', '采油一厂机关体育馆西北角', 84.880194, 45.594698, NULL, NULL, 'A01A06', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819983261698', '自动体外除颤仪', '采油一厂黑油山综合管理部黑油山综合管理部一楼大厅', 84.900184, 45.604407, NULL, NULL, 'A01A06', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819983261699', '自动体外除颤仪', '采油一厂黑油山综合管理部黑油山综合管理部一楼大厅', 84.900184, 45.604407, NULL, NULL, 'A01A06', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819983261700', '自动体外除颤仪', '采油一厂第三采油作业区车89处理站中控室', 84.827494, 44.958074, NULL, NULL, 'A01A06', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819983261701', '自动体外除颤仪', '采油一厂第三采油作业区车89处理站中控室', 84.827494, 44.958074, NULL, NULL, 'A01A06', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819983261702', '自动体外除颤仪', '物资供应公司机关体育馆门口右侧', 85.879435, 45.588894, NULL, NULL, 'A01A35', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819983261703', '自动体外除颤仪', '陆梁油田作业区综合管理办公室机关楼1039房间\n体育馆休息室门口\n食堂门口', 86.889520, 45.856062, NULL, NULL, 'A01A11', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819983261704', '自动体外除颤仪', '陆梁油田作业区综合管理办公室机关楼1039房间\n体育馆休息室门口\n食堂门口', 86.889520, 45.856062, NULL, NULL, 'A01A11', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819983261705', '自动体外除颤仪', '陆梁油田作业区经营管理办公室机关楼1039房间\n体育馆休息室门口\n食堂门口', 86.889520, 45.856062, NULL, NULL, 'A01A11', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819983261706', '自动体外除颤仪', '陆梁油田作业区质量健康安全环保办公室机关楼1039房间\n体育馆休息室门口\n食堂门口', 86.889520, 45.856062, NULL, NULL, 'A01A11', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819983261707', '自动体外除颤仪', '陆梁油田作业区党群维稳办公室机关楼1039房间\n体育馆休息室门口\n食堂门口', 86.889520, 45.856062, NULL, NULL, 'A01A11', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819983261708', '自动体外除颤仪', '陆梁油田作业区地质研究中心机关楼1039房间\n体育馆休息室门口\n食堂门口', 86.889520, 45.856062, NULL, NULL, 'A01A11', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819983261709', '自动体外除颤仪', '陆梁油田作业区生产指挥中心机关楼1039房间\n体育馆休息室门口\n食堂门口', 86.889520, 45.856062, NULL, NULL, 'A01A11', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819983261710', '自动体外除颤仪', '陆梁油田作业区工程技术中心机关楼1039房间\n体育馆休息室门口\n食堂门口', 86.889520, 45.856062, NULL, NULL, 'A01A11', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819983261711', '自动体外除颤仪', '陆梁油田作业区陆梁运行维护中心办公区机关楼1039房间\n体育馆休息室门口\n食堂门口', 86.889520, 45.856062, NULL, NULL, 'A01A11', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819983261712', '自动体外除颤仪', '陆梁油田作业区石南运行维护中心办公区机关楼1039房间\n体育馆休息室门口\n食堂门口', 86.889520, 45.856062, NULL, NULL, 'A01A11', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819983261713', '自动体外除颤仪', '陆梁油田作业区玛东运行维护中心办公区机关楼1039房间\n体育馆休息室门口\n食堂门口', 86.889520, 45.856062, NULL, NULL, 'A01A11', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819983261714', '自动体外除颤仪', '陆梁油田作业区陆梁运行维护中心现场陆梁集中处理站值班室', 86.941263, 45.858865, NULL, NULL, 'A01A11', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819983261715', '自动体外除颤仪', '陆梁油田作业区石南运行维护中心现场石南集中处理站值班室', 86.894790, 45.693332, NULL, NULL, 'A01A11', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819983261716', '自动体外除颤仪', '陆梁油田作业区玛东运行维护中心现场玛东集中处理站值班室', 86.549398, 45.862491, NULL, NULL, 'A01A11', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819983261717', '自动体外除颤仪', '新港公司机关公司七楼健康自助服务站', 84.897960, 45.570525, NULL, NULL, 'A01A31', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819983261718', '自动体外除颤仪', '新港公司采油作业一区采油作业一区值班室', 85.237800, 45.744015, NULL, NULL, 'A01A31', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210819983261719', '自动体外除颤仪', '新港公司采油作业二区采油作业二区一班值班室', 85.258357, 45.762062, NULL, NULL, 'A01A31', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399041', '自动体外除颤仪', '新港公司采油作业三区采油作业三区值班室', 85.273371, 45.749851, NULL, NULL, 'A01A31', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399042', '自动体外除颤仪', '新港公司供汽作业区供汽作业区软化水站值班室', 85.246686, 45.744012, NULL, NULL, 'A01A31', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399043', '自动体外除颤仪', '新港公司供汽作业区供汽作业区2#站值班室', 85.232247, 45.745684, NULL, NULL, 'A01A31', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399044', '自动体外除颤仪', '新港公司集输作业区集输作业区91处理站值班室', 85.233358, 45.739574, NULL, NULL, 'A01A31', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399045', '自动体外除颤仪', '新港公司运行保障中心运行保障中心值班室', 85.253632, 45.759840, NULL, NULL, 'A01A31', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399046', '自动体外除颤仪', '公共事务中心(离退休人员管理中心)机关行政事务管理部机关楼一楼303房间', 84.892962, 45.571915, NULL, NULL, 'A01A09', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399047', '自动体外除颤仪', '公共事务中心(离退休人员管理中心)造林减排作业区作业区办公楼一楼大厅', 85.008600, 45.274316, NULL, NULL, 'A01A09', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399048', '自动体外除颤仪', '公共事务中心(离退休人员管理中心)离退休管理部原退管办公楼一楼门岗', 84.864609, 45.596429, NULL, NULL, 'A01A09', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399049', '自动体外除颤仪', '公共事务中心(离退休人员管理中心)克拉玛依离退休服务东站东站一楼大厅', 84.882587, 45.593484, NULL, NULL, 'A01A09', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399050', '自动体外除颤仪', '公共事务中心(离退休人员管理中心)白碱滩离退休服务站二楼202房间', NULL, NULL, NULL, NULL, 'A01A09', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399051', '自动体外除颤仪', '社会保险管理中心综合管理部6+1联合办公楼A座1楼大厅', 84.870207, 45.588322, NULL, NULL, 'A01A39', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399052', '自动体外除颤仪', '社会保险管理中心综合管理部6+1联合办公楼A座1楼大厅', 84.870207, 45.588322, NULL, NULL, 'A01A39', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399053', '自动体外除颤仪', '社会保险管理中心财务管理部6+1联合办公楼A座1楼大厅', 84.870207, 45.588322, NULL, NULL, 'A01A39', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399054', '自动体外除颤仪', '社会保险管理中心财务管理部6+1联合办公楼A座1楼大厅', 84.870207, 45.588322, NULL, NULL, 'A01A39', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399055', '自动体外除颤仪', '社会保险管理中心基金管理部6+1联合办公楼A座1楼大厅', 84.870207, 45.588322, NULL, NULL, 'A01A39', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399056', '自动体外除颤仪', '社会保险管理中心基金管理部6+1联合办公楼A座1楼大厅', 84.870207, 45.588322, NULL, NULL, 'A01A39', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399057', '自动体外除颤仪', '社会保险管理中心内控稽核管理部6+1联合办公楼A座1楼大厅', 84.870207, 45.588322, NULL, NULL, 'A01A39', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399058', '自动体外除颤仪', '社会保险管理中心内控稽核管理部6+1联合办公楼A座1楼大厅', 84.870207, 45.588322, NULL, NULL, 'A01A39', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399059', '自动体外除颤仪', '社会保险管理中心社保管理部6+1联合办公楼A座1楼大厅', 84.870207, 45.588322, NULL, NULL, 'A01A39', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399060', '自动体外除颤仪', '社会保险管理中心社保管理部6+1联合办公楼A座1楼大厅', 84.870207, 45.588322, NULL, NULL, 'A01A39', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399061', '自动体外除颤仪', '社会保险管理中心企业医保管理部6+1联合办公楼A座1楼大厅', 84.870207, 45.588322, NULL, NULL, 'A01A39', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399062', '自动体外除颤仪', '社会保险管理中心企业医保管理部6+1联合办公楼A座1楼大厅', 84.870207, 45.588322, NULL, NULL, 'A01A39', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399063', '自动体外除颤仪', '社会保险管理中心信息档案管理站6+1联合办公楼A座1楼大厅', 84.870207, 45.588322, NULL, NULL, 'A01A39', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399064', '自动体外除颤仪', '社会保险管理中心信息档案管理站6+1联合办公楼A座1楼大厅', 84.870207, 45.588322, NULL, NULL, 'A01A39', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399065', '自动体外除颤仪', '社会保险管理中心社保事务所6+1联合办公楼A座1楼大厅', 84.870207, 45.588322, NULL, NULL, 'A01A39', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399066', '自动体外除颤仪', '社会保险管理中心社保事务所6+1联合办公楼A座1楼大厅', 84.870207, 45.588322, NULL, NULL, 'A01A39', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399067', '自动体外除颤仪', '社会保险管理中心企业医保事务所6+1联合办公楼A座1楼大厅', 84.870207, 45.588322, NULL, NULL, 'A01A39', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399068', '自动体外除颤仪', '社会保险管理中心企业医保事务所6+1联合办公楼A座1楼大厅', 84.870207, 45.588322, NULL, NULL, 'A01A39', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399069', '自动体外除颤仪', '勘探开发研究院机关机关一楼大厅', 84.895462, 45.604686, NULL, NULL, 'A01A10', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399070', '自动体外除颤仪', '勘探开发研究院技术服务中心计信楼二楼215房间', 84.895462, 45.604686, NULL, NULL, 'A01A10', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399071', '自动体外除颤仪', '勘探开发研究院技术服务中心体育馆大厅', 84.895462, 45.604686, NULL, NULL, 'A01A10', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399072', '自动体外除颤仪', '勘探开发研究院油气战略规划研究所规划楼一楼中间楼梯边过道', 84.895462, 45.604686, NULL, NULL, 'A01A10', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399073', '自动体外除颤仪', '勘探开发研究院开发实验中心地质岩心库大厅', 84.895462, 45.604686, NULL, NULL, 'A01A10', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399074', '自动体外除颤仪', '勘探开发研究院开发实验中心提采楼西段1楼正门处', 84.895462, 45.604686, NULL, NULL, 'A01A10', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399075', '自动体外除颤仪', '勘探开发研究院稀油开发研究所开发楼一楼大厅', 84.895462, 45.604686, NULL, NULL, 'A01A10', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399076', '自动体外除颤仪', '勘探开发研究院非常规研究所科研楼1楼咖啡间', 84.895462, 45.604686, NULL, NULL, 'A01A10', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399077', '自动体外除颤仪', '勘探开发研究院档案中心档案中心一楼圆厅', 84.895462, 45.604686, NULL, NULL, 'A01A10', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399078', '自动体外除颤仪', '勘探开发研究院中亚油气研究所数据公司信息楼五楼大厅(512门口)', 84.899349, 45.577190, NULL, NULL, 'A01A10', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399079', '自动体外除颤仪', '勘探开发研究院地球物理研究所3号楼3楼西侧走廊', 87.545160, 43.899830, NULL, NULL, 'A01A10', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399080', '自动体外除颤仪', '勘探开发研究院地球物理研究所2号楼2楼西侧', 87.545160, 43.899830, NULL, NULL, 'A01A10', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399081', '自动体外除颤仪', '宇澄热力股份有限公司机关机关楼一楼健身房间', 84.894073, 45.592467, NULL, NULL, 'A01A47', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399082', '自动体外除颤仪', '宇澄热力股份有限公司机关机关楼一楼健身房间', 84.894073, 45.592467, NULL, NULL, 'A01A47', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399083', '自动体外除颤仪', '宇澄热力股份有限公司风城供汽中心1#站风城供汽中心1#站中控室', 85.774179, 46.133604, NULL, NULL, 'A01A47', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399084', '自动体外除颤仪', '宇澄热力股份有限公司风城供汽中心2#站风城供汽中心2#站中控室', 85.806331, 46.129121, NULL, NULL, 'A01A47', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399085', '自动体外除颤仪', '宇澄热力股份有限公司红山供汽中心红山供汽中心中控室', 84.797023, 45.329293, NULL, NULL, 'A01A47', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399086', '自动体外除颤仪', '采油工艺研究院(监理公司)采油工艺研究所老机关楼1楼大厅', 84.888243, 45.612189, NULL, NULL, 'A01A33', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399087', '自动体外除颤仪', '采油工艺研究院(监理公司)采油工艺实验中心物业楼二楼楼道内东头', 84.884635, 45.614135, NULL, NULL, 'A01A33', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399088', '自动体外除颤仪', '采油工艺研究院(监理公司)设备设施完整性检验检测中心管柱楼办公楼1楼道内', 84.887966, 45.612744, NULL, NULL, 'A01A33', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399089', '自动体外除颤仪', '采油工艺研究院(监理公司)节能监测中心勘探院南院6号楼1楼大厅', 84.907686, 45.610239, NULL, NULL, 'A01A33', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); +INSERT INTO `xj_emergency`.`xj_aed` (`id`, `name`, `address`, `longitude`, `latitude`, `manage_name`, `manage_phone`, `org_code`, `del_flag`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES ('1968210820029399090', '自动体外除颤仪', '采油工艺研究院(监理公司)体育馆院体育馆大厅内', 84.885468, 45.613301, NULL, NULL, 'A01A33', 0, '2025-09-17 15:10:02', 'admin', NULL, NULL); diff --git a/db/sql/xj_emergency新增aed表.sql b/db/sql/xj_emergency新增aed表.sql new file mode 100644 index 0000000..fc34427 --- /dev/null +++ b/db/sql/xj_emergency新增aed表.sql @@ -0,0 +1,202 @@ +------------------------- +------------------------- +------------------------- +CREATE TABLE `aed_equipment_certificate` ( + `id` bigint NOT NULL COMMENT '主键', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '姓名', + `sex` int DEFAULT NULL COMMENT '性别', + `birthday` datetime DEFAULT NULL COMMENT '出生年月', + `unit` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '单位', + `dept` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '部门', + `certificate_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '证书编号', + `del_flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '删除状态(0-正常,1-已删除)', + `create_by` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='aed取证人员列表'; +------------------------- +------------------------- +------------------------- +CREATE TABLE `aed_equipment_maintain` ( + `id` bigint NOT NULL COMMENT '主键', + `equipment_id` bigint DEFAULT NULL COMMENT '设备id', + `maintain_date` date DEFAULT NULL COMMENT '维护日期', + `maintain_user` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '维护人', + `maintain_user_tel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '维护人电话', + `maintain_unit` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '维护方', + `appearance` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '外观是否完好', + `switch_flag` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '按钮开关是否正常工作', + `battery` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '电池电量情况', + `battery_flag` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '电池是否完好', + `electrode_validity` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '电极片是否在有效期内', + `consumable` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '耗材是否无损', + `siren` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '警报器是否完好', + `battery_validity` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '电池是否再有效期内', + `electrode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '电极片是否完好', + `identification` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '标志标识清晰或模糊', + `del_flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '删除状态(0-正常,1-已删除)', + `create_by` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='aed设备维护表'; +------------------------- +------------------------- +------------------------- +CREATE TABLE `aed_equipment_manger` ( + `id` bigint NOT NULL COMMENT '主键', + `name` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '名称', + `longitude` decimal(10,6) DEFAULT NULL COMMENT '经度', + `latitude` decimal(10,6) DEFAULT NULL COMMENT '纬度', + `depart_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '部门编码', + `host_model` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '主机型号', + `host_serial_num` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '主机序列号(编号)', + `electrode_sheet_valid_time` date DEFAULT NULL COMMENT '电极片有效期', + `router_model` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '路由器型号', + `router_serial_num` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '路由器序列号', + `battery_model` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '电池型号', + `battery_voltage` double(5,2) DEFAULT NULL COMMENT '电池电压', + `warranty_start_date` date DEFAULT NULL COMMENT '质保开始时间', + `warranty_end_date` date DEFAULT NULL COMMENT '质保结束时间', + `aed_img` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '设备图片 多个","分隔', + `mfrs_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '制造商名称', + `mfrs_mobile` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '制造商联系电话', + `install_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '安装位置', + `install_address_img` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '位置图片 多个","分隔', + `manage_user_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '管理人员id', + `manage_user_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '管理人员', + `manage_user_mobile` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '管理人员电话', + `check_status` tinyint(1) DEFAULT '-1' COMMENT '自检查状态', + `electrode_sheet_status` tinyint(1) DEFAULT '-1' COMMENT '电极片状态', + `battery_status` tinyint(1) DEFAULT '-1' COMMENT '电池状态', + `router_status` tinyint(1) DEFAULT '-1' COMMENT '路由状态', + `electrode_is_ok` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '电极片是否完好(0:否 1:是)', + `manage_depart_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '管理部门code', + `manage_depart_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '管理部门名', + `charge_first` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '负责人1', + `charge_first_mobile` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '负责人1电话', + `charge_second` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '负责人2', + `charge_second_mobile` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '负责人2电话', + `annex` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '附件', + `video_handle` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '视频操作', + `handle_explain` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '操作说明', + `aed_annex_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '设备附件状态', + `install_time` date DEFAULT NULL COMMENT '安装时间', + `cover_user_num` int DEFAULT NULL COMMENT '覆盖人数', + `del_flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '删除状态(0-正常,1-已删除)', + `create_by` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `memo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '覆盖人数', + `operate_instruction` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '操作图片(文件路径)此处向下为新增的字段', + `operate_video` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '操作视频(文件路径)', + `disclaimer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '免责说明(文件路径)', + `brand` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '品牌', + `type` int DEFAULT NULL COMMENT '来源字典 设备类型 1:立式 ,2:挂式,3:车载', + `in_storage_date` date DEFAULT NULL COMMENT '入库日期', + `out_factory_date` datetime DEFAULT NULL COMMENT '出厂日期', + `battery_life` datetime DEFAULT NULL COMMENT '电池有效期', + `model` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '型号', + `control_org_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '管理部门名称', + `publish_flag` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '是否已布点1:是,0:否', + `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '编号', + `electric_quantity` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '电量', + `status` int DEFAULT NULL COMMENT '设备状态 1:正常中,2:维护中', + `self_check_update_time` datetime DEFAULT NULL COMMENT '自检信息更新时间', + `camera_num` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '摄像头序列号', + `camera_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '摄像头验证码', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='应急资源表'; +------------------------- +------------------------- +------------------------- +CREATE TABLE `aed_equipment_retrain` ( + `id` bigint NOT NULL COMMENT '主键', + `train_id` bigint DEFAULT NULL COMMENT '培训id', + `train_date` datetime DEFAULT NULL COMMENT '培训日期', + `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '培训地点', + `user_nums` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '参训人数', + `re_train_status` tinyint(1) DEFAULT NULL COMMENT '复训效果(1:优,2:良,3:中,4:差)', + `site_pic` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '现场图片', + `site_video` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '现场视频', + `del_flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '删除状态(0-正常,1-已删除)', + `create_by` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='aed复训记录表'; +------------------------- +------------------------- +------------------------- +CREATE TABLE `aed_equipment_train` ( + `id` bigint NOT NULL COMMENT '主键', + `flag` int DEFAULT NULL COMMENT '类型 1:现场培训 ,2:现场演练', + `equipment_id` bigint NOT NULL COMMENT '设备id', + `train_date` date DEFAULT NULL COMMENT '培训日期/演练日期', + `join_nums` int DEFAULT NULL COMMENT '参加人数', + `qualified_nums` int DEFAULT NULL COMMENT '合格人数', + `charge_user1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '负责人1', + `charge_user2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '负责人1', + `site_sign_sheet` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '现场签到表(文件路径)', + `site_pic` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '现场图片(文件路径)', + `site_video` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '现场视频(文件路径)', + `site_profile` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '培演资料(文件路径)', + `effect` int DEFAULT NULL COMMENT '培演效果 1:优,2:良,3:中,4:差', + `del_flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '删除状态(0-正常,1-已删除)', + `create_by` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='aed设备现场培训、演练表'; +------------------------- +------------------------- +------------------------- +CREATE TABLE `aed_location_equipment` ( + `id` bigint NOT NULL COMMENT '主键', + `equipment_id` bigint DEFAULT NULL COMMENT '设备id', + `pick_date` date DEFAULT NULL COMMENT '布点日期', + `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '布点位置', + `longitude` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '经度', + `latitude` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '纬度', + `cover_nums` int DEFAULT NULL COMMENT '覆盖人数', + `first_charge` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '责任人1', + `first_charge_tel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '责任人1电话', + `second_charge` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '责任人2', + `second_charge_tel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '责任人2电话', + `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态(1-正常,2-冻结)', + `del_flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '删除状态(0-正常,1-已删除)', + `create_by` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='aed设备布点位置表'; +------------------------- +------------------------- +------------------------- +CREATE TABLE `aed_use_record` ( + `id` bigint NOT NULL COMMENT '主键', + `equipment_id` bigint DEFAULT NULL COMMENT '设备id', + `used_time` datetime DEFAULT NULL COMMENT '使用时间', + `salved_person` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '被救助人', + `heart_flag` int DEFAULT NULL COMMENT '症状1 来源字典(1:有呼吸,2:无呼吸)', + `consciousness_flag` int DEFAULT NULL COMMENT '症状2来源字典(1:有意识,2:无意识)', + `use_user` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '使用人', + `use_instruction` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '使用过程说明', + `start_nums` int DEFAULT NULL COMMENT '启动次数', + `success_rate` double(10,2) DEFAULT NULL COMMENT '成功除颤率', + `fail_rate` double(10,2) DEFAULT NULL COMMENT '故障率', + `use_result` int DEFAULT NULL COMMENT '应用结果(1:救治成功,2:救治失败)', + `del_flag` tinyint(1) NOT NULL DEFAULT '0' COMMENT '删除状态(0-正常,1-已删除)', + `create_by` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='aed应用记录表'; \ No newline at end of file diff --git a/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/bean/response/SrcInfo.java b/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/bean/response/SrcInfo.java new file mode 100644 index 0000000..c30759e --- /dev/null +++ b/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/bean/response/SrcInfo.java @@ -0,0 +1,16 @@ +package com.renkang.emergency.bean.response; + +import lombok.Getter; +import lombok.Setter; + +/** + * @author stan + * @since 2025-08-27 + */ +@Getter +@Setter +public class SrcInfo { + private String url; + private String accessToken; + private String appendBaseUrl; +} diff --git a/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/AedEquipmentManger.java b/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/AedEquipmentManger.java new file mode 100644 index 0000000..5d52d14 --- /dev/null +++ b/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/AedEquipmentManger.java @@ -0,0 +1,435 @@ +package com.renkang.emergency.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * @Description: aed_equipment_manger + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +@Data +@TableName("aed_equipment_manger") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@Schema(title = "aed_equipment_manger对象", description = "aed_equipment_manger") +public class AedEquipmentManger implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(type = IdType.ASSIGN_ID) + @Schema(title = "主键") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long id; + /** + * 资源名称 + */ + @Excel(name = "资源名称", width = 15) + @Schema(title = "资源名称") + private String name; + /** + * 经度 + */ + @Excel(name = "经度", width = 15) + @Schema(title = "经度") + private BigDecimal longitude; + /** + * 纬度 + */ + @Excel(name = "纬度", width = 15) + @Schema(title = "纬度") + private BigDecimal latitude; + /** + * 部门编码 + */ + @Excel(name = "部门编码", width = 15) + @Schema(title = "部门编码") + private String departCode; + /** + * 主机型号 + */ + @Excel(name = "主机型号", width = 15) + @Schema(title = "主机型号") + private String hostModel; + /** + * 主机序列号 + */ + @Excel(name = "主机序列号", width = 15) + @Schema(title = "主机序列号") + private String hostSerialNum; + /** + * 电极片有效期 + */ + @Excel(name = "电极片有效期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "电极片有效期") + private Date electrodeSheetValidTime; + /** + * 电极片是否完好 + */ + private String electrodeIsOk; + /** + * 路由器型号 + */ + @Excel(name = "路由器型号", width = 15) + @Schema(title = "路由器型号") + private String routerModel; + /** + * 路由器序列号 + */ + @Excel(name = "路由器序列号", width = 15) + @Schema(title = "路由器序列号") + private String routerSerialNum; + /** + * 电池型号 + */ + @Excel(name = "电池型号", width = 15) + @Schema(title = "电池型号") + private String batteryModel; + /** + * 电池电压 + */ + @Excel(name = "电池电压", width = 15) + @Schema(title = "电池电压") + private Double batteryVoltage; + /** + * 质保开始时间 + */ + @Excel(name = "质保开始时间", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "质保开始时间") + private Date warrantyStartDate; + /** + * 质保结束时间 + */ + @Excel(name = "质保结束时间", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "质保结束时间") + private Date warrantyEndDate; + /** + * 设备图片 多个","分隔 + */ + @Excel(name = "设备图片 多个,分隔", width = 15) + @Schema(title = "设备图片 多个,分隔") + private String aedImg; + /** + * 制造商名称 + */ + @Excel(name = "制造商名称",dicCode = "aed_mfrs", width = 15) + @Schema(title = "制造商名称") + @Dict(dicCode = "aed_mfrs") + private String mfrsName; + /** + * 制造商联系电话 + */ + @Excel(name = "制造商联系电话", width = 15) + @Schema(title = "制造商联系电话") + private String mfrsMobile; + /** + * 安装位置 + */ + @Excel(name = "安装位置", width = 15) + @Schema(title = "安装位置") + private String installAddress; + /** + * 位置图片 多个","分隔 + */ + @Excel(name = "位置图片 多个,分隔", width = 15) + @Schema(title = "位置图片 多个,分隔") + private String installAddressImg; + /** + * 管理人员id + */ + @Excel(name = "管理人员id", width = 15) + @Schema(title = "管理人员id") + private String manageUserId; + /** + * 管理人员 + */ + @Excel(name = "管理人员", width = 15) + @Schema(title = "管理人员") + private String manageUserName; + /** + * 管理人员电话 + */ + @Excel(name = "管理人员电话", width = 15) + @Schema(title = "管理人员电话") + private String manageUserMobile; + + /** + * 自检查状态 + */ + @Excel(name = "自检查状态", width = 15) + @Schema(title = "自检查状态") + @Dict(dicCode = "aed_check_status") + private Integer checkStatus; + + /** + * 自检查状态 + */ + @TableField(exist = false) + private String checkStatusDesc; + /** + * 电极片状态 + */ + @Excel(name = "电极片状态", width = 15) + @Schema(title = "电极片状态") + @Dict(dicCode = "aed_electrode_sheet_status") + private Integer electrodeSheetStatus; + /** + * 电池状态 + */ + @Excel(name = "电池状态", width = 15) + @Schema(title = "电池状态") + @Dict(dicCode = "aed_battery_status") + private Integer batteryStatus; + /** + * 路由状态 + */ + @Excel(name = "路由状态", width = 15) + @Schema(title = "路由状态") + @Dict(dicCode = "aed_router_status") + private Integer routerStatus; + + /** + * 单位名称 + */ + @TableField(exist = false) + @Excel(name = "单位名", width = 15) + @Schema(title = "单位名") + private String secondDepart; + + /** + * 部门名 + */ + @TableField(exist = false) + @Excel(name = "部门名", width = 15) + @Schema(title = "部门名") + private String departName; + /** + * 部门名 + */ + @TableField(exist = false) + @Excel(name = "部门名", width = 15) + @Schema(title = "部门名") + private String orgName; + /** + * 单位名 + */ + @TableField(exist = false) + @Excel(name = "单位名", width = 15) + @Schema(title = "单位名") + private String secondDepartName; + /** + * 管理部门名 + */ + private String manageDepartName; + + + @Excel(name = "管理部门", width = 15) + private String manageDepartCode; + @Excel(name = "负责人1", width = 15) + private String chargeFirst; + @Excel(name = "负责人1电话", width = 15) + private String chargeFirstMobile; + @Excel(name = "负责人2", width = 15) + private String chargeSecond; + @Excel(name = "负责人2电话", width = 15) + private String chargeSecondMobile; + @Excel(name = "附件", width = 15) + private String annex; + @Excel(name = "视频操作", width = 15) + private String videoHandle; + @Excel(name = "操作说明", width = 15) + private String handleExplain; + @Excel(name = "设备附件状态", width = 15) + private String aedAnnexStatus; + @Excel(name = "安装时间", width = 15) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date installTime; + @Excel(name = "覆盖人数", width = 15) + private Integer coverUserNum; + + /** + * 删除(0:否 1:是) + */ + private Integer delFlag; + /** + * 创建者 + */ + private String createBy; + /** + * 创建时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date createTime; + /** + * 更新者 + */ + private String updateBy; + /** + * 更新时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date updateTime; + /** + * 备注 + */ + @Excel(name = "备注", width = 15) + private String memo; + + /** + * 操作图片(文件路径) + */ + @Excel(name = "操作图片(文件路径)", width = 15) + @Schema(title = "操作图片(文件路径)") + @NotBlank(message = "请上传操作图片,操作图片不能为空") + private String operateInstruction; + + /** + * 操作视频(文件路径) + */ + @Excel(name = "操作视频(文件路径)", width = 15) + @Schema(title = "操作视频(文件路径)") + @NotBlank(message = "请上传操作视频,操作视频不能为空") + private String operateVideo; + /** + * 免责说明(文件路径) + */ + @Excel(name = "免责说明(文件路径)", width = 15) + @NotBlank(message = "请上传免责说明,免责说明不能为空") + @Schema(title = "免责说明(文件路径)") + private String disclaimer; + + + /** + * 品牌 + */ + @Excel(name = "品牌", width = 15) + @Schema(title = "品牌") + private String brand; + /** + * 型号 + */ + @Excel(name = "型号", width = 15) + @Schema(title = "型号") + private String model; + /** + * 来源字典 设备类型 1:立式 ,2:挂式,3:车载 + */ + @Excel(name = "来源字典 设备类型 1:立式 ,2:挂式,3:车载", width = 15) + @NotNull(message = "请选择设备类型,设备类型不能为空") + @Schema(title = "来源字典 设备类型 1:立式 ,2:挂式,3:车载") + @Dict(dicCode = "intervene_aed_type") + private Integer type; + /** + * 入库日期 + */ + @Excel(name = "入库日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "入库日期") + @NotNull(message = "请选择入库日期,入库日期不能为空") + private Date inStorageDate; + + /** + * /** + * 出厂日期 + */ + @Excel(name = "出厂日期", width = 20, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "出厂日期") + @NotNull(message = "请选择出厂日期,出厂日期不能为空") + private Date outFactoryDate; + + /** + * 电池有效期 + */ + @Excel(name = "电池有效期", width = 20, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "电池有效期") + @NotNull(message = "请选择电池有效期,电池有效期不能为空") + private Date batteryLife; + + + /** + * 电量 + */ + @Excel(name = "电量", width = 15) + @Schema(title = "电量") + @NotBlank(message = "请输入电量,电量不能为空") + private String electricQuantity; + + /** + * 设备编号 + */ + @Excel(name = "设备编号", width = 15) + @Schema(title = "设备编号") + private String code; + + /** + * 状态(1-正常,2-冻结) + */ + @Excel(name = "状态(1-正常,2-维护中)", width = 15) + @Schema(title = "状态(1-正常,2-维护中)") + @NotNull(message = "请选择状态,状态不能为空") + @Dict(dicCode = "intervene_aed_status") + private Integer status; + + @Excel(name = "自检更新时间", width = 20, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "自检更新时间") + private Date selfCheckUpdateTime; + + // 摄像头序列号 + private String cameraNum; + // 摄像头验证码 + private String cameraCode; + + @TableField(exist = false) + private String aedStatus; + + /** + * 是否已布点,1:是,0:否 + */ + @Excel(name = "是否已布点,1:是,0:否", width = 15) + @Schema(title = "是否已布点,1:是,0:否") + private Integer publishFlag; + + + /** + * 管理部门名称,应急就医AED组网管理部门为下拉选择的code,新系统中为输入,为避免后期数据无法迁移,两项都存在,暂时冗余code + */ + private String controlOrgName; + + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/common/Dept.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/common/Dept.java new file mode 100644 index 0000000..f241634 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/common/Dept.java @@ -0,0 +1,28 @@ +package com.renkang.emergency.aed.common; + +import lombok.Data; + +/** + * 部门名称 + */ +@Data +public class Dept { + + /** + * 单位编码 + */ + private String orgCode; + /** + * 部门编码 + */ + private String deptCode; + /** + * 单位名称 + */ + private String orgName; + + /** + * 单位名称 + */ + private String deptName; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/constant/AedEnumUtil.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/constant/AedEnumUtil.java new file mode 100644 index 0000000..59bd7f7 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/constant/AedEnumUtil.java @@ -0,0 +1,40 @@ +package com.renkang.emergency.aed.constant; + +/** + * @author Junqiang Zhu + * @date 2023-12-13 09:45 + */ +public class AedEnumUtil { + + public enum WarnTypeEnum { + BATTERY, // 电池 + ROUTER, // 路由 + EXPIRED, // 过期时间 + CHECK // 自检 + } + + public enum BatteryPowerEnum { + OK, // 正常 + LOW, // 电量低 + CHANGE // 需要更换 + } + + public enum RouterPowerEnum { + OK, // 正常 + LOW, // 电量低 + } + + public enum ExpiredPowerEnum { + OK, // 正常 + APPROACH, // 快过期 + EXPIRED // 已过期 + } + + public enum CheckEnum { + OK, // 正常 + CANNOT_FIND, // 没有找到 + CANNOT_CONNECT, // 无法连接 + CANNOT_GET// 无法获取 + } + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/constant/Constants.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/constant/Constants.java new file mode 100644 index 0000000..14b1693 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/constant/Constants.java @@ -0,0 +1,22 @@ +package com.renkang.emergency.aed.constant; + +import java.math.BigDecimal; + +/** + * @author Junqiang Zhu + * @date 2023-04-26 10:11 + */ +public interface Constants { + /** + * redis 缓存aed key + */ + String AED_REDIS_KEY = "intervene:aed"; + + // 中国 经纬度 范围 + BigDecimal LONGITUDE_START = BigDecimal.valueOf(73); + BigDecimal LONGITUDE_END = BigDecimal.valueOf(136); + BigDecimal LATITUDE_START = BigDecimal.valueOf(3); + BigDecimal LATITUDE_END = BigDecimal.valueOf(54); + + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedEquipmentCertificateController.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedEquipmentCertificateController.java new file mode 100644 index 0000000..e4bd602 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedEquipmentCertificateController.java @@ -0,0 +1,164 @@ +package com.renkang.emergency.aed.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.renkang.emergency.aed.entity.AedEquipmentCertificate; +import com.renkang.emergency.aed.service.IAedEquipmentCertificateService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.system.query.QueryGenerator; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; + +/** + * 取证人员controller + * + * @Description: aed_equipment_certificate + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +@Tag(name = "aed_equipment_certificate") +@RestController +@RequestMapping("/intervene/v2/aedEquipmentCertificate") +@Slf4j +public class AedEquipmentCertificateController extends JeecgController { + @Autowired + private IAedEquipmentCertificateService aedEquipmentCertificateService; + + /** + * 取证人员分页列表查询 + * + * @param aedEquipmentCertificate + * @param pageNo 分页参数 + * @param pageSize 分页参数 + * @param req + * @return 取证人员分页列表 + */ + //@AutoLog(value = "aed_equipment_certificate-分页列表查询") + @Operation(summary = "aed_equipment_certificate-分页列表查询", description = "aed_equipment_certificate-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(AedEquipmentCertificate aedEquipmentCertificate, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(aedEquipmentCertificate, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = aedEquipmentCertificateService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加取证人员 + * + * @param aedEquipmentCertificate 请求body + * @return 成功、失败 + */ + @AutoLog(value = "aed_equipment_certificate-添加") + @Operation(summary = "aed_equipment_certificate-添加", description = "aed_equipment_certificate-添加") +// @RequiresPermissions("intervene:aed_equipment_certificate:add") + @PostMapping(value = "/add") + public Result add(@RequestBody AedEquipmentCertificate aedEquipmentCertificate) { + if (aedEquipmentCertificateService.save(aedEquipmentCertificate)) { + return Result.OK("添加成功!"); + } + return Result.error("添加失败!"); + } + + /** + * 编辑取证人员 + * + * @param aedEquipmentCertificate 请求body + * @return 成功、失败 + */ + @AutoLog(value = "aed_equipment_certificate-编辑") + @Operation(summary = "aed_equipment_certificate-编辑", description = "aed_equipment_certificate-编辑") +// @RequiresPermissions("intervene:aed_equipment_certificate:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result edit(@RequestBody AedEquipmentCertificate aedEquipmentCertificate) { + aedEquipmentCertificateService.updateById(aedEquipmentCertificate); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "aed_equipment_certificate-通过id删除") + @Operation(summary = "aed_equipment_certificate-通过id删除", description = "aed_equipment_certificate-通过id删除") +// @RequiresPermissions("intervene:aed_equipment_certificate:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name = "id", required = true) String id) { + aedEquipmentCertificateService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "aed_equipment_certificate-批量删除") + @Operation(summary = "aed_equipment_certificate-批量删除", description = "aed_equipment_certificate-批量删除") +// @RequiresPermissions("intervene:aed_equipment_certificate:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.aedEquipmentCertificateService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "aed_equipment_certificate-通过id查询") + @Operation(summary = "aed_equipment_certificate-通过id查询", description = "aed_equipment_certificate-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + AedEquipmentCertificate aedEquipmentCertificate = aedEquipmentCertificateService.getById(id); + if (aedEquipmentCertificate == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(aedEquipmentCertificate); + } + + /** + * 导出excel + */ + @RequiresPermissions("intervene:aed_equipment_certificate:exportXls") + @RequestMapping(value = "/exportXls") + public Result exportXls(@RequestParam(required = false) String name, + @RequestParam(required = false) String sex) { + aedEquipmentCertificateService.customExport(name, sex); + return Result.ok("请到导出记录查看结果"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequiresPermissions("intervene:aed_equipment_certificate:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, AedEquipmentCertificate.class); + } + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedEquipmentMaintainController.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedEquipmentMaintainController.java new file mode 100644 index 0000000..f235787 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedEquipmentMaintainController.java @@ -0,0 +1,159 @@ +package com.renkang.emergency.aed.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.renkang.emergency.aed.entity.AedEquipmentMaintain; +import com.renkang.emergency.aed.service.IAedEquipmentMaintainService; +import com.renkang.emergency.aed.vo.req.AedEquipmentMaintainReq; +import com.renkang.emergency.aed.vo.res.maintain.AedEquipmentMaintainRes; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; + +/** + * @Description: aed_equipment_maintain + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +@Tag(name = "aed_equipment_maintain") +@RestController +@RequestMapping("/intervene/v2/aedEquipmentMaintain") +@Slf4j +public class AedEquipmentMaintainController extends JeecgController { + @Autowired + private IAedEquipmentMaintainService aedEquipmentMaintainService; + + /** + * 设备布点列表 + * + * @param pageNo 分页参数 + * @param pageSize 分页参数 + * @param name 设备名称 + * @param type 设备类型 + * @param orgCode 所属部门 + * @return 设备布点列表 + */ + @Operation(summary = "aed_location_equipment-分页列表查询", description = "aed_location_equipment-分页列表查询") + @GetMapping(value = "/list") + public Result> getPage(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + String name, + Integer type, + String orgCode) { + IPage page = aedEquipmentMaintainService.getPage(pageNo, pageSize, name, type, orgCode); + return Result.OK(page); + } + + + /** + * 添加 日常维护,维护的状态STATUS 为主表中的STATUS + * + * @param req + * @return + */ + @AutoLog(value = "aed_equipment_maintain-添加") + @Operation(summary = "aed_equipment_maintain-添加", description = "aed_equipment_maintain-添加") +// @RequiresPermissions("intervene:aed_equipment_maintain:add") + @PostMapping(value = "/add") + public Result add(@RequestBody @Validated AedEquipmentMaintainReq req) { + if (aedEquipmentMaintainService.add(req) > 0) { + return Result.OK("添加成功!"); + } + return Result.error("添加失败!"); + } + + /** + * 编辑 + * + * @param aedEquipmentMaintain + * @return + */ + @AutoLog(value = "aed_equipment_maintain-编辑") + @Operation(summary = "aed_equipment_maintain-编辑", description = "aed_equipment_maintain-编辑") +// @RequiresPermissions("intervene:aed_equipment_maintain:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result edit(@RequestBody AedEquipmentMaintain aedEquipmentMaintain) { + aedEquipmentMaintainService.updateById(aedEquipmentMaintain); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "aed_equipment_maintain-通过id删除") + @Operation(summary = "aed_equipment_maintain-通过id删除", description = "aed_equipment_maintain-通过id删除") +// @RequiresPermissions("intervene:aed_equipment_maintain:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name = "id", required = true) String id) { + aedEquipmentMaintainService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "aed_equipment_maintain-批量删除") + @Operation(summary = "aed_equipment_maintain-批量删除", description = "aed_equipment_maintain-批量删除") +// @RequiresPermissions("intervene:aed_equipment_maintain:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.aedEquipmentMaintainService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id 设备维护id + * @return 维护详情 + */ + //@AutoLog(value = "aed_equipment_maintain-通过id查询") + @Operation(summary = "aed_equipment_maintain-通过id查询", description = "aed_equipment_maintain-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) Long id) { + return Result.ok(aedEquipmentMaintainService.getById(id)); + } + + /** + * 导出excel + */ + @RequiresPermissions("intervene:aed_equipment_maintain:exportXls") + @RequestMapping(value = "/exportXls") + public Result exportXls(@RequestParam(required = false) String name, + @RequestParam(required = false) String type, + @RequestParam(required = false) String departCode) { + aedEquipmentMaintainService.customExport(name, type, departCode); + return Result.ok("请到导出记录查看结果"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequiresPermissions("intervene:aed_equipment_maintain:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, AedEquipmentMaintain.class); + } + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedEquipmentMangerController.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedEquipmentMangerController.java new file mode 100644 index 0000000..ea07e7e --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedEquipmentMangerController.java @@ -0,0 +1,329 @@ +package com.renkang.emergency.aed.controller; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.renkang.emergency.aed.constant.Constants; +import com.renkang.emergency.aed.service.IAedEquipmentMangerService; +import com.renkang.emergency.aed.vo.req.manager.AEDManagerInsertReq; +import com.renkang.emergency.aed.vo.req.manager.AEDPublishEquipmentReq; +import com.renkang.emergency.aed.vo.res.manager.AEDManagerPageRes; +import com.renkang.emergency.aed.vo.res.manager.AEDPublishPageRes; +import com.renkang.emergency.aed.vo.res.manager.AedGeo; +import com.renkang.emergency.bean.response.SrcInfo; +import com.renkang.emergency.entity.AedEquipmentManger; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.math.BigDecimal; +import java.util.Arrays; +import java.util.List; + +/** + * 设备管理、布点管理 + * + * @Description: aed_equipment_manger + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +@Tag(name = "aed_equipment_manger") +@RestController +@RequestMapping("/intervene/v2/aedEquipmentManger") +@Slf4j +public class AedEquipmentMangerController extends JeecgController { + @Autowired + private IAedEquipmentMangerService aedEquipmentMangerService; + + + /** + * 获取视频播放的路径 + * + * @return + */ + @GetMapping(value = "getSrc") + public Result getSrc() { + return Result.ok(aedEquipmentMangerService.getSrc()); + } + + + /** + * 设备管理分页列表查询 + * + * @param pageNo 分页参数 + * @param pageSize 分页参数 + * @param name 设备名称 + * @param type 设备类型 + * @param orgCode 部门编码 + * @return 设备管理分页列表 + */ + //@AutoLog(value = "aed_equipment_manger-分页列表查询") + @Operation(summary = "设备管理分页列表查询", description = "设备管理分页列表查询") + @GetMapping(value = "/queryManagerPage") + public Result> queryManagerPage( + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + String name, + Integer type, + String orgCode, + String mfrs, String model,String hostSerialNum + + ) { + IPage page = aedEquipmentMangerService.queryManagerPageList(pageNo, pageSize, name, type, orgCode, mfrs, model, hostSerialNum); + + return Result.OK(page); + } + + /** + * 布点设备分页列表查询 + * + * @param pageNo 分页参数 + * @param pageSize 分页参数 + * @param name 设备名称 + * @param type 设备类型 + * @param orgCode 部门编码 + * @param mfrs 厂家 + * @param model 型号 + * @return 布点设备分页列表 + */ + //@AutoLog(value = "aed_equipment_manger-分页列表查询") + @Operation(summary = "布点设备分页列表查询", description = "布点设备分页列表查询") + @GetMapping(value = "/queryPublishPage") + public Result> queryPublishPage( + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + String name, + Integer type, + String orgCode, + String mfrs, String model,String hostSerialNum + ) { + IPage page = aedEquipmentMangerService.queryPublishPage(pageNo, pageSize, name, type, orgCode, mfrs, model,hostSerialNum); + return Result.OK(page); + } + + + /** + * 附近的aed + * + * @param longitude 经度 + * @param latitude 维度 + * @param radiusRange 半径范围 + * @return result + */ + @GetMapping("nearbyAed") + public Result> nearbyAed(@RequestParam(required = false) BigDecimal longitude, + @RequestParam(required = false) BigDecimal latitude, + @RequestParam(defaultValue = "100000") Double radiusRange, + @RequestParam(required = false) Integer aedNum) { + + List aedGeos = aedEquipmentMangerService.nearbyAed(longitude, latitude, radiusRange, aedNum); + if (CollectionUtil.isEmpty(aedGeos)) { + return Result.OK("该位置附近暂无设备", null); + } + + return Result.ok(aedGeos); + } + + /** + * 获取未布点设备和已布点设备,用于布点设备下拉选择 + * + * @param publishFlag 0:未布点,1:已布点 + * publishFlag为0 + * @return 未布点设备列表 + */ + @GetMapping(value = "/getUnPublishEquipment") + public Result> getUnPublishEquipment(@RequestParam Integer publishFlag, + @RequestParam(required = false) String name, + @RequestParam(required = false) String hostModel, + @RequestParam(required = false) String orgCode) { + List result = aedEquipmentMangerService.getUnPublishEquipment(publishFlag, name, hostModel, orgCode); + return Result.OK(result); + } + + /** + * 设备管理新增 + * + * @param req 请求body + * @return 新增结果 + */ + @AutoLog(value = "aed_equipment_manger-添加") + @Operation(summary = "aed_equipment_manger-添加", description = "aed_equipment_manger-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody @Validated AEDManagerInsertReq req) { + if (aedEquipmentMangerService.add(req) > 0) { + return Result.OK("添加成功!"); + } + return Result.error("添加失败!"); + } + + /** + * 布点设备新增 + * + * @param req 请求body + * @return 新增结果 + */ + @PostMapping(value = "/insertPublishEquipment") + public Result insertPublishEquipment(@RequestBody @Validated AEDPublishEquipmentReq req) { + if (ObjectUtil.isNotNull(req.getLongitude())) { + BigDecimal latitude = BigDecimal.valueOf(req.getLongitude()); + if (latitude.compareTo(Constants.LONGITUDE_START) < 0 + || latitude.compareTo(Constants.LONGITUDE_END) > 0) { + return Result.error("经度范围正常值为:" + Constants.LONGITUDE_START + "--" + Constants.LONGITUDE_END); + } + } + if (ObjectUtil.isNotNull(req.getLatitude())) { + BigDecimal latitude = BigDecimal.valueOf(req.getLatitude()); + if (latitude.compareTo(Constants.LATITUDE_START) < 0 + || latitude.compareTo(Constants.LATITUDE_END) > 0) { + return Result.error("纬度范围正常值为:" + Constants.LATITUDE_START + "--" + Constants.LATITUDE_END); + } + } + if (aedEquipmentMangerService.insertPublishEquipment(req) > 0) { + return Result.OK("添加成功!"); + } + return Result.error("添加失败!"); + } + + + /** + * 编辑布点设备 + * 编辑分为两种情况 + * 1:编辑原布点设备时只需更新相关信息, + * 2:选择新的布点设备时,要把原布点设备的布点信息置空 + * + * @param req 布点信息 + * @return 成功、失败 + */ + @AutoLog(value = "aed_equipment_manger-编辑") + @Operation(summary = "aed_equipment_manger-编辑", description = "aed_equipment_manger-编辑") +// @RequiresPermissions("intervene:aed_equipment_manger:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result edit(@RequestBody @Validated AEDPublishEquipmentReq req) { + if (ObjectUtil.isNotNull(req.getLongitude())) { + BigDecimal latitude = BigDecimal.valueOf(req.getLongitude()); + if (latitude.compareTo(Constants.LONGITUDE_START) < 0 + || latitude.compareTo(Constants.LONGITUDE_END) > 0) { + return Result.error("经度范围正常值为:" + Constants.LONGITUDE_START + "--" + Constants.LONGITUDE_END); + } + } + if (ObjectUtil.isNotNull(req.getLatitude())) { + BigDecimal latitude = BigDecimal.valueOf(req.getLatitude()); + if (latitude.compareTo(Constants.LATITUDE_START) < 0 + || latitude.compareTo(Constants.LATITUDE_END) > 0) { + return Result.error("纬度范围正常值为:" + Constants.LATITUDE_START + "--" + Constants.LATITUDE_END); + } + } + if (aedEquipmentMangerService.edit(req) > 0) { + return Result.OK("编辑成功!"); + } + return Result.error("编辑失败!"); + } + + + /** + * 编辑设备管理 + * + * @param req 设备管理 + * @return 成功、失败 + */ + @AutoLog(value = "aed_equipment_manger-编辑") + @Operation(summary = "aed_equipment_manger-编辑", description = "aed_equipment_manger-编辑") +// @RequiresPermissions("intervene:aed_equipment_manger:edit") + @RequestMapping(value = "/updateManager", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result updateManager(@RequestBody @Validated AEDManagerInsertReq req) { + if (aedEquipmentMangerService.updateManager(req) > 0) { + return Result.OK("编辑成功!"); + } + return Result.error("编辑失败!"); + } + + /** + * 批量删除设备信息 + * + * @param ids ids + * @return 批量成功、失败 + */ + @AutoLog(value = "aed_equipment_manger-批量删除") + @Operation(summary = "aed_equipment_manger-批量删除", description = "aed_equipment_manger-批量删除") +// @RequiresPermissions("intervene:aed_equipment_manger:deleteBatch") + @DeleteMapping(value = "/deleteBatchManager") + public Result deleteBatchManager(@RequestParam(name = "ids", required = true) String ids) { + if (aedEquipmentMangerService.deleteBatchManager(Arrays.asList(ids.split(","))) > 0) { + return Result.OK("删除成功!"); + } + return Result.error("删除失败!"); + } + + /** + * 批量删除布点信息,批量置空设备布点信息 + * + * @param ids ids + * @return 批量成功、失败 + */ + @AutoLog(value = "aed_equipment_manger-批量删除") + @Operation(summary = "aed_equipment_manger-批量删除", description = "aed_equipment_manger-批量删除") +// @RequiresPermissions("intervene:aed_equipment_manger:deleteBatch") + @DeleteMapping(value = "/deleteBatchPublish") + public Result deleteBatchPublish(@RequestParam(name = "ids", required = true) String ids) { + if (aedEquipmentMangerService.deleteBatchPublish(Arrays.asList(ids.split(",")))) { + return Result.OK("删除成功!"); + } + return Result.error("删除失败!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "aed_equipment_manger-通过id查询") + @Operation(summary = "aed_equipment_manger-通过id查询", description = "aed_equipment_manger-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + AedEquipmentManger aedEquipmentManger = aedEquipmentMangerService.getById(id); + if (aedEquipmentManger == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(aedEquipmentManger); + } + + /** + * 导出设备管理excel + * + * @param aedEquipmentManger + */ + @RequiresPermissions("intervene:aed_equipment_manger:exportXlsManager") + @RequestMapping(value = "/exportXlsManager") + public Result exportXlsManager(AedEquipmentManger aedEquipmentManger) { + aedEquipmentMangerService.exportXlsManager(aedEquipmentManger); + return Result.ok("请到导出记录查看结果"); + } + + /** + * 导出布点设备excel + * + * @param request + * @param aedEquipmentManger + */ + @RequiresPermissions("intervene:aed_equipment_manger:exportXls") + @RequestMapping(value = "/exportXlsPublish") + public Result exportXlsPublish(AedEquipmentManger aedEquipmentManger) { + aedEquipmentMangerService.exportXlsPublish(aedEquipmentManger); + return Result.ok("请到导出记录查看结果"); + } + + @GetMapping("/selectAedAllBack") + public Result> selectAedAllBack() { + return Result.ok(aedEquipmentMangerService.selectAedAllBack()); + } + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedEquipmentRetrainController.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedEquipmentRetrainController.java new file mode 100644 index 0000000..b4f0a7c --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedEquipmentRetrainController.java @@ -0,0 +1,163 @@ +package com.renkang.emergency.aed.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.renkang.emergency.aed.entity.AedEquipmentRetrain; +import com.renkang.emergency.aed.service.IAedEquipmentRetrainService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.system.query.QueryGenerator; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.format.annotation.DateTimeFormat; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; +import java.util.Date; + +/** + * @Description: aed_equipment_retrain + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +@Tag(name = "aed_equipment_retrain") +@RestController +@RequestMapping("/intervene/v2/aedEquipmentRetrain") +@Slf4j +public class AedEquipmentRetrainController extends JeecgController { + @Autowired + private IAedEquipmentRetrainService aedEquipmentRetrainService; + + /** + * 分页列表查询 + * + * @param aedEquipmentRetrain + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "aed_equipment_retrain-分页列表查询") + @Operation(summary = "aed_equipment_retrain-分页列表查询", description = "aed_equipment_retrain-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(AedEquipmentRetrain aedEquipmentRetrain, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(aedEquipmentRetrain, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = aedEquipmentRetrainService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param aedEquipmentRetrain + * @return + */ + @AutoLog(value = "aed_equipment_retrain-添加") + @Operation(summary = "aed_equipment_retrain-添加", description = "aed_equipment_retrain-添加") +// @RequiresPermissions("intervene:aed_equipment_retrain:add") + @PostMapping(value = "/add") + public Result add(@RequestBody AedEquipmentRetrain aedEquipmentRetrain) { + aedEquipmentRetrainService.save(aedEquipmentRetrain); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param aedEquipmentRetrain + * @return + */ + @AutoLog(value = "aed_equipment_retrain-编辑") + @Operation(summary = "aed_equipment_retrain-编辑", description = "aed_equipment_retrain-编辑") +// @RequiresPermissions("intervene:aed_equipment_retrain:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result edit(@RequestBody AedEquipmentRetrain aedEquipmentRetrain) { + aedEquipmentRetrainService.updateById(aedEquipmentRetrain); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "aed_equipment_retrain-通过id删除") + @Operation(summary = "aed_equipment_retrain-通过id删除", description = "aed_equipment_retrain-通过id删除") +// @RequiresPermissions("intervene:aed_equipment_retrain:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name = "id", required = true) String id) { + aedEquipmentRetrainService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "aed_equipment_retrain-批量删除") + @Operation(summary = "aed_equipment_retrain-批量删除", description = "aed_equipment_retrain-批量删除") +// @RequiresPermissions("intervene:aed_equipment_retrain:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.aedEquipmentRetrainService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "aed_equipment_retrain-通过id查询") + @Operation(summary = "aed_equipment_retrain-通过id查询", description = "aed_equipment_retrain-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + AedEquipmentRetrain aedEquipmentRetrain = aedEquipmentRetrainService.getById(id); + if (aedEquipmentRetrain == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(aedEquipmentRetrain); + } + + /** + * 导出excel + */ + @RequiresPermissions("intervene:aed_equipment_retrain:exportXls") + @RequestMapping(value = "/exportXls") + public Result exportXls(@RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date startTime, + @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime, + @RequestParam(required = false) String result) { + aedEquipmentRetrainService.customExport(startTime, endTime, result); + return Result.ok("请到导出记录查看结果"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequiresPermissions("intervene:aed_equipment_retrain:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, AedEquipmentRetrain.class); + } + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedEquipmentTrainController.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedEquipmentTrainController.java new file mode 100644 index 0000000..8e4010c --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedEquipmentTrainController.java @@ -0,0 +1,177 @@ +package com.renkang.emergency.aed.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.renkang.emergency.aed.entity.AedEquipmentTrain; +import com.renkang.emergency.aed.service.IAedEquipmentTrainService; +import com.renkang.emergency.aed.vo.res.train.AEDTrainPageRes; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; + +/** + * @Description: aed_equipment_train + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +@Tag(name = "aed_equipment_train") +@RestController +@RequestMapping("/intervene/v2/aedEquipmentTrain") +@Slf4j +public class AedEquipmentTrainController extends JeecgController { + @Autowired + private IAedEquipmentTrainService aedEquipmentTrainService; + + + /** + * 培训记录列表 + * + * @param pageNo 分页参数 + * @param pageSize 分页参数 + * @param name 设备名称 + * @param type 设备类型 + * @param orgCode 所属部门 + * @return 培训记录列表 + */ + //@AutoLog(value = "aed_equipment_train-分页列表查询") + @GetMapping(value = "/queryPageList") + public Result> queryPageList( + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + String name, + Integer type, + String orgCode, + Integer flag + ) { + Page page = new Page<>(pageNo, pageSize); + IPage pageList = aedEquipmentTrainService.queryPageList(page, name, type, orgCode, flag); + return Result.OK(pageList); + } + + + /** + * 添加 培训记录和演练记录 + * + * @param aedEquipmentTrain 培训记录和演练记录请求body + * @return 新增结果 + */ + @AutoLog(value = "aed_equipment_train-添加") + @Operation(summary = "aed_equipment_train-添加", description = "aed_equipment_train-添加") +// @RequiresPermissions("intervene:aed_equipment_train:add") + @PostMapping(value = "/add") + public Result addRehearsal(@RequestBody AedEquipmentTrain aedEquipmentTrain) { + if (aedEquipmentTrainService.save(aedEquipmentTrain)) { + return Result.OK("添加成功!"); + } + return Result.error("添加失败!"); + + } + + /** + * 编辑 + * + * @param aedEquipmentTrain + * @return + */ + @AutoLog(value = "aed_equipment_train-编辑") + @Operation(summary = "aed_equipment_train-编辑", description = "aed_equipment_train-编辑") +// @RequiresPermissions("intervene:aed_equipment_train:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result edit(@RequestBody AedEquipmentTrain aedEquipmentTrain) { + aedEquipmentTrainService.updateById(aedEquipmentTrain); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "aed_equipment_train-通过id删除") + @Operation(summary = "aed_equipment_train-通过id删除", description = "aed_equipment_train-通过id删除") +// @RequiresPermissions("intervene:aed_equipment_train:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name = "id", required = true) String id) { + aedEquipmentTrainService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "aed_equipment_train-批量删除") + @Operation(summary = "aed_equipment_train-批量删除", description = "aed_equipment_train-批量删除") +// @RequiresPermissions("intervene:aed_equipment_train:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.aedEquipmentTrainService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "aed_equipment_train-通过id查询") + @Operation(summary = "aed_equipment_train-通过id查询", description = "aed_equipment_train-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + AedEquipmentTrain aedEquipmentTrain = aedEquipmentTrainService.getById(id); + if (aedEquipmentTrain == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(aedEquipmentTrain); + } + + /** + * 导出数据 + * + * @param name 设备名称 + * @param type 设备类型 + * @param departCode 部门code + * @return + */ + @RequiresPermissions("intervene:aed_equipment_train:exportXls") + @RequestMapping(value = "/exportXls") + public Result exportXls(@RequestParam(required = false) String name, + @RequestParam(required = false) String type, + @RequestParam(required = false) String departCode, + @RequestParam String flag) { + if (!("1".equals(flag) || "2".equals(flag))) { + return Result.error("未知导出类型"); + } + aedEquipmentTrainService.customExport(name, type, departCode, flag); + return Result.ok("请到导出记录查看结果"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequiresPermissions("intervene:aed_equipment_train:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, AedEquipmentTrain.class); + } + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedLatestNewController.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedLatestNewController.java new file mode 100644 index 0000000..f503049 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedLatestNewController.java @@ -0,0 +1,154 @@ +package com.renkang.emergency.aed.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.renkang.emergency.aed.entity.AedLatest; +import com.renkang.emergency.aed.service.IAedLatestNewService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; + +/** + * @Description: aed_latest + * @Author: jeecg-boot + * @Date: 2023-12-12 + * @Version: V1.0 + */ +@Tag(name = "aed_latest") +@RestController +@RequestMapping("/aed/v2/aedLatest") +@Slf4j +public class AedLatestNewController extends JeecgController { + @Autowired + private IAedLatestNewService aedLatestService; + + /** + * 分页列表查询 + * + * @param aedLatest + * @param pageNo + * @param pageSize + * @return + */ + //@AutoLog(value = "aed_latest-分页列表查询") + @Operation(summary = "aed_latest-分页列表查询", description = "aed_latest-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(AedLatest aedLatest, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { + return Result.OK(aedLatestService.pageCustom(aedLatest, pageNo, pageSize)); + } + + /** + * 添加 + * + * @param aedLatest + * @return + */ + @AutoLog(value = "aed_latest-添加") + @Operation(summary = "aed_latest-添加", description = "aed_latest-添加") + @RequiresPermissions("emergency:aed_latest:add") + @PostMapping(value = "/add") + public Result add(@RequestBody AedLatest aedLatest) { + aedLatestService.save(aedLatest); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param aedLatest + * @return + */ + @AutoLog(value = "aed_latest-编辑") + @Operation(summary = "aed_latest-编辑", description = "aed_latest-编辑") + @RequiresPermissions("emergency:aed_latest:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result edit(@RequestBody AedLatest aedLatest) { + aedLatestService.updateById(aedLatest); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "aed_latest-通过id删除") + @Operation(summary = "aed_latest-通过id删除", description = "aed_latest-通过id删除") + @RequiresPermissions("emergency:aed_latest:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name = "id", required = true) String id) { + aedLatestService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "aed_latest-批量删除") + @Operation(summary = "aed_latest-批量删除", description = "aed_latest-批量删除") + @RequiresPermissions("emergency:aed_latest:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.aedLatestService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "aed_latest-通过id查询") + @Operation(summary = "aed_latest-通过id查询", description = "aed_latest-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + AedLatest aedLatest = aedLatestService.getById(id); + if (aedLatest == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(aedLatest); + } + + /** + * 导出excel + * + * @param request + * @param aedLatest + */ + @RequiresPermissions("emergency:aed_latest:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, AedLatest aedLatest) { + return super.exportXls(request, aedLatest, AedLatest.class, "aed_latest"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequiresPermissions("emergency:aed_latest:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, AedLatest.class); + } + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedUseRecordNewController.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedUseRecordNewController.java new file mode 100644 index 0000000..7b322b0 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedUseRecordNewController.java @@ -0,0 +1,164 @@ +package com.renkang.emergency.aed.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.renkang.emergency.aed.entity.AedUseRecord; +import com.renkang.emergency.aed.service.IAedUseRecordNewService; +import com.renkang.emergency.aed.vo.res.record.AEDUserRecordPageRes; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; + +/** + * @Description: aed_use_record + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +@Tag(name = "aed_use_record") +@RestController +@RequestMapping("/intervene/v2/aedUseRecord") +@Slf4j +public class AedUseRecordNewController extends JeecgController { + @Autowired + private IAedUseRecordNewService aedUseRecordService; + + /** + * 查村应用记录列表 + * + * @param pageNo 分页参数 + * @param pageSize 分页参数 + * @param name 设备名称 + * @param type 设备类型 + * @param orgCode 所属部门 + * @return 应用记录列表 + */ + //@AutoLog(value = "aed_use_record-分页列表查询") + @Operation(summary = "查寻应用记录列表", description = "查寻应用记录列表") + @GetMapping(value = "/queryPageList") + public Result> queryPageList(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + String name, + Integer type, + String orgCode + ) { + Page page = new Page<>(pageNo, pageSize); + IPage pageList = aedUseRecordService.queryPageList(page, name, type, orgCode); + return Result.OK(pageList); + } + + /** + * 添加应用记录 + * + * @param aedUseRecord 应用记录body + * @return + */ + @AutoLog(value = "aed_use_record-添加") + @Operation(summary = "aed_use_record-添加", description = "aed_use_record-添加") +// @RequiresPermissions("intervene:aed_use_record:add") + @PostMapping(value = "/add") + public Result add(@RequestBody AedUseRecord aedUseRecord) { + if (aedUseRecordService.save(aedUseRecord)) { + return Result.OK("添加成功!"); + } + return Result.error("添加失败!"); + } + + /** + * 编辑 + * + * @param aedUseRecord + * @return + */ + @AutoLog(value = "aed_use_record-编辑") + @Operation(summary = "aed_use_record-编辑", description = "aed_use_record-编辑") +// @RequiresPermissions("intervene:aed_use_record:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result edit(@RequestBody AedUseRecord aedUseRecord) { + aedUseRecordService.updateById(aedUseRecord); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "aed_use_record-通过id删除") + @Operation(summary = "aed_use_record-通过id删除", description = "aed_use_record-通过id删除") +// @RequiresPermissions("intervene:aed_use_record:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name = "id", required = true) String id) { + aedUseRecordService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "aed_use_record-批量删除") + @Operation(summary = "aed_use_record-批量删除", description = "aed_use_record-批量删除") +// @RequiresPermissions("intervene:aed_use_record:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.aedUseRecordService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "aed_use_record-通过id查询") + @Operation(summary = "aed_use_record-通过id查询", description = "aed_use_record-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + AedUseRecord aedUseRecord = aedUseRecordService.getById(id); + if (aedUseRecord == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(aedUseRecord); + } + + /** + * 导出excel + * + * @param request + * @param aedUseRecord + */ +// @RequiresPermissions("intervene:aed_use_record:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, AedUseRecord aedUseRecord) { + return super.exportXls(request, aedUseRecord, AedUseRecord.class, "aed_use_record"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ +// @RequiresPermissions("intervene:aed_use_record:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, AedUseRecord.class); + } + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedWarnInfoNewController.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedWarnInfoNewController.java new file mode 100644 index 0000000..a2d18da --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/controller/AedWarnInfoNewController.java @@ -0,0 +1,83 @@ +package com.renkang.emergency.aed.controller; + +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.renkang.emergency.aed.entity.AedWarnInfo; +import com.renkang.emergency.aed.service.IAedWarnInfoNewService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.global.GlobalUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description: aed_warn_info + * @Author: jeecg-boot + * @Date: 2023-12-12 + * @Version: V1.0 + */ +@Tag(name = "aed_warn_info") +@RestController +@RequestMapping("/aed/v2/aedWarnInfo") +@Slf4j +public class AedWarnInfoNewController extends JeecgController { + @Autowired + private IAedWarnInfoNewService aedWarnInfoService; + + /** + * 自定义分页列表 + * + * @param aedWarnInfo 条件 + * @param pageNo 页码 + * @param pageSize 条数 + * @return page + */ + @GetMapping(value = "/listCustom") + public Result> listCustom(AedWarnInfo aedWarnInfo, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { + return Result.OK(aedWarnInfoService.pageCustom(pageNo, pageSize, aedWarnInfo)); + } + + + /** + * 修改处理信息 + * + * @param id id + * @param warnInfo 报警信息 + * @return boolean + */ + @GetMapping(value = "/updateHandleInfo") + public Result updateHandleInfo(@RequestParam Integer id, @RequestParam String warnInfo) { + if (ObjectUtil.isNull(id) || StrUtil.isBlank(warnInfo)) { + return Result.error("参数缺失"); + } + boolean b = aedWarnInfoService.updateHandleInfo(id, warnInfo); + return GlobalUtils.getResult(b, b ? "成功" : "失败", null); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "aed_warn_info-通过id查询") + @Operation(summary = "aed_warn_info-通过id查询", description = "aed_warn_info-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + AedWarnInfo aedWarnInfo = aedWarnInfoService.getById(id); + if (aedWarnInfo == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(aedWarnInfo); + } + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedEquipmentCertificate.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedEquipmentCertificate.java new file mode 100644 index 0000000..a4f3bfd --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedEquipmentCertificate.java @@ -0,0 +1,125 @@ +package com.renkang.emergency.aed.entity; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * 取证人员实体类 + * + * @Description: aed_equipment_certificate + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +@Data +@TableName("aed_equipment_certificate") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@Schema(title = "aed_equipment_certificate对象", description = "aed_equipment_certificate") +public class AedEquipmentCertificate implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(type = IdType.ASSIGN_ID) + @Schema(title = "主键") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long id; + /** + * 姓名 + */ + @Excel(name = "姓名", width = 15) + @Schema(title = "姓名") + private String name; + /** + * 性别 + */ + @Excel(name = "性别", width = 15) + @Schema(title = "性别") + @Dict(dicCode = "sex2") + private Integer sex; + /** + * 出生年月 + */ + @Excel(name = "出生年月", width = 20, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "出生年月") + private Date birthday; + /** + * 单位 + */ + @Excel(name = "单位", width = 15) + @Schema(title = "单位") + private String unit; + + /** + * 部门 + */ + @Excel(name = "部门", width = 15) + @Schema(title = "部门") + private String dept; + /** + * 证书编号 + */ + @Excel(name = "证书编号", width = 15) + @Schema(title = "证书编号") + private String certificateNo; + /** + * 删除状态(0-正常,1-已删除) + */ + @Excel(name = "删除状态(0-正常,1-已删除)", width = 15) + @Schema(title = "删除状态(0-正常,1-已删除)") + @TableLogic + private Integer delFlag; + /** + * 创建人 + */ + @Schema(title = "创建人") + private String createBy; + /** + * 创建时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(title = "创建时间") + private Date createTime; + /** + * 更新人 + */ + @Schema(title = "更新人") + private String updateBy; + /** + * 更新时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(title = "更新时间") + private Date updateTime; + + public Integer getAge() { + if (birthday == null) { + return null; + } + try { + return DateUtil.ageOfNow(birthday); + } catch (Exception e) { + return null; + } + } +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedEquipmentMaintain.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedEquipmentMaintain.java new file mode 100644 index 0000000..b34ad9e --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedEquipmentMaintain.java @@ -0,0 +1,181 @@ +package com.renkang.emergency.aed.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; + +/** + * 日常维护表 + * + * @Description: aed_equipment_maintain + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +@Data +@TableName("aed_equipment_maintain") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@Schema(title = "aed_equipment_maintain对象", description = "aed_equipment_maintain") +public class AedEquipmentMaintain implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(type = IdType.ASSIGN_ID) + @Schema(title = "主键") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long id; + /** + * 设备id + */ + @Excel(name = "设备id", width = 15) + @Schema(title = "设备id") + @JsonFormat(shape = JsonFormat.Shape.STRING) + @NotNull(message = "请选择设备,设备不能为空") + private Long equipmentId; + /** + * 维护日期 + */ + @Excel(name = "维护日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "维护日期") + @NotNull(message = "请选择维护日期,维护日期不能为空") + private Date maintainDate; + /** + * 维护人 + */ + @Excel(name = "维护人", width = 15) + @Schema(title = "维护人") + @NotBlank(message = "请输入维护人,维护人不能为空") + private String maintainUser; + /** + * 维护人电话 + */ + @Excel(name = "维护人电话", width = 15) + @Schema(title = "维护人电话") + @NotBlank(message = "请输入维护人电话,维护人电话不能为空") + private String maintainUserTel; + /** + * 维护方 + */ + @Excel(name = "维护方", width = 15) + @Schema(title = "维护方") + @NotBlank(message = "请输入维护方,维护方不能为空") + private String maintainUnit; + + + /** + * 外观是否完好 + */ + @Excel(name = "外观是否完好", width = 15) + @Schema(title = "外观是否完好") + private String appearance; + /** + * 按钮开关是否正常工作 + */ + @Excel(name = "按钮开关是否正常工作", width = 15) + @Schema(title = "按钮开关是否正常工作") + private String switchFlag; + /** + * 电池电量是否充足 + */ + @Excel(name = "电池电量是否充足", width = 15) + @Schema(title = "电池电量是否充足") + private String battery; + /** + * 耗材是否无损 + */ + @Excel(name = "耗材是否无损", width = 15) + @Schema(title = "耗材是否无损") + private String consumable; + /** + * 电池是否再有效期内 + */ + @Excel(name = "电池是否再有效期内", width = 15) + @Schema(title = "电池是否再有效期内") + private String batteryValidity; + /** + * 标志标识清晰或模糊 + */ + @Excel(name = "标志标识清晰或模糊", width = 15) + @Schema(title = "标志标识清晰或模糊") + private String identification; + + /** + * 电极片是否完好 + */ + @Excel(name = "电极片是否完好", width = 15) + @Schema(title = "电极片是否完好") + private String electrode; + + /** + * 警报器是否完好 + */ + @Excel(name = "警报器是否完好", width = 15) + @Schema(title = "警报器是否完好") + private String siren; + + /** + * 电极片是否在有效期内 + */ + @Excel(name = "电极片是否在有效期内", width = 15) + @Schema(title = "电极片是否在有效期内") + private String electrodeValidity; + + + /** + * 电池是否完好 + */ + @Excel(name = "电池是否完好", width = 15) + @Schema(title = "电池是否完好") + private String batteryFlag; + + + /** + * 删除状态(0-正常,1-已删除) + */ + @Excel(name = "删除状态(0-正常,1-已删除)", width = 15) + @Schema(title = "删除状态(0-正常,1-已删除)") + @TableLogic + private Integer delFlag; + /** + * 创建人 + */ + @Schema(title = "创建人") + private String createBy; + /** + * 创建时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(title = "创建时间") + private Date createTime; + /** + * 更新人 + */ + @Schema(title = "更新人") + private String updateBy; + /** + * 更新时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(title = "更新时间") + private Date updateTime; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedEquipmentRetrain.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedEquipmentRetrain.java new file mode 100644 index 0000000..f007bb6 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedEquipmentRetrain.java @@ -0,0 +1,117 @@ +package com.renkang.emergency.aed.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: aed_equipment_retrain + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +@Data +@TableName("aed_equipment_retrain") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@Schema(title = "aed_equipment_retrain对象", description = "aed_equipment_retrain") +public class AedEquipmentRetrain implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(type = IdType.ASSIGN_ID) + @Schema(title = "主键") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long id; + /** + * 培训id + */ + @Excel(name = "培训id", width = 15) + @Schema(title = "培训id") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long trainId; + /** + * 培训日期 + */ + @Excel(name = "培训日期", width = 20, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "培训日期") + private Date trainDate; + /** + * 培训地点 + */ + @Excel(name = "培训地点", width = 15) + @Schema(title = "培训地点") + private String address; + /** + * 参训人数 + */ + @Excel(name = "参训人数", width = 15) + @Schema(title = "参训人数") + private String userNums; + /** + * 复训效果 + */ + @Excel(name = "复训效果", width = 15) + @Schema(title = "复训效果") + @Dict(dicCode = "aed_retrain_effect") + private Integer reTrainStatus; + /** + * 现场图片 + */ + @Excel(name = "现场图片", width = 15) + @Schema(title = "现场图片") + private String sitePic; + /** + * 现场视频 + */ + @Excel(name = "现场视频", width = 15) + @Schema(title = "现场视频") + private String siteVideo; + /** + * 删除状态(0-正常,1-已删除) + */ + @Excel(name = "删除状态(0-正常,1-已删除)", width = 15) + @Schema(title = "删除状态(0-正常,1-已删除)") + @TableLogic + private Integer delFlag; + /** + * 创建人 + */ + @Schema(title = "创建人") + private String createBy; + /** + * 创建时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(title = "创建时间") + private Date createTime; + /** + * 更新人 + */ + @Schema(title = "更新人") + private String updateBy; + /** + * 更新时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(title = "更新时间") + private Date updateTime; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedEquipmentTrain.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedEquipmentTrain.java new file mode 100644 index 0000000..70db724 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedEquipmentTrain.java @@ -0,0 +1,150 @@ +package com.renkang.emergency.aed.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * 现场培训、演练 + * + * @Description: aed_equipment_train + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +@Data +@TableName("aed_equipment_train") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@Schema(title = "aed_equipment_train对象", description = "aed_equipment_train") +public class AedEquipmentTrain implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(type = IdType.ASSIGN_ID) + @Schema(title = "主键") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long id; + /** + * 类型 1:现场培训 ,2:现场演练 + */ + @Excel(name = "类型 1:现场培训 ,2:现场演练", width = 15) + @Schema(title = "类型 1:现场培训 ,2:现场演练") + private Integer flag; + /** + * 设备id + */ + @Excel(name = "设备id", width = 15) + @Schema(title = "设备id") + @JsonFormat(shape = JsonFormat.Shape.STRING) +// @NotNull(message = "设备不能为空,请选择设备") + private Long equipmentId; + /** + * 培训日期/演练日期 + */ + @Excel(name = "培训日期/演练日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "培训日期/演练日期") + private Date trainDate; + /** + * 参加人数 + */ + @Excel(name = "参加人数", width = 15) + @Schema(title = "参加人数") + private Integer joinNums; + /** + * 合格人数 + */ + @Excel(name = "合格人数", width = 15) + @Schema(title = "合格人数") + private Integer qualifiedNums; + /** + * 负责人1 + */ + @Excel(name = "负责人1", width = 15) + @Schema(title = "负责人1") + private String chargeUser1; + /** + * 负责人1 + */ + @Excel(name = "负责人1", width = 15) + @Schema(title = "负责人1") + private String chargeUser2; + /** + * 现场签到表(文件路径) + */ + @Excel(name = "现场签到表(文件路径)", width = 15) + @Schema(title = "现场签到表(文件路径)") + private String siteSignSheet; + /** + * 现场图片(文件路径) + */ + @Excel(name = "现场图片(文件路径)", width = 15) + @Schema(title = "现场图片(文件路径)") + private String sitePic; + /** + * 现场视频(文件路径) + */ + @Excel(name = "现场视频(文件路径)", width = 15) + @Schema(title = "现场视频(文件路径)") + private String siteVideo; + /** + * 培演资料(文件路径) + */ + @Excel(name = "培演资料(文件路径)", width = 15) + @Schema(title = "培演资料(文件路径)") + private String siteProfile; + /** + * 培演效果 1:优,2:良,3:中,4:差 + */ + @Excel(name = "培演效果 1:优,2:良,3:中,4:差", width = 15) + @Schema(title = "培演效果 1:优,2:良,3:中,4:差") + @Dict(dicCode = "aed_train_result") + private Integer effect; + /** + * 删除状态(0-正常,1-已删除) + */ + @Excel(name = "删除状态(0-正常,1-已删除)", width = 15) + @Schema(title = "删除状态(0-正常,1-已删除)") + @TableLogic + private Integer delFlag; + /** + * 创建人 + */ + @Schema(title = "创建人") + private String createBy; + /** + * 创建时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(title = "创建时间") + private Date createTime; + /** + * 更新人 + */ + @Schema(title = "更新人") + private String updateBy; + /** + * 更新时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(title = "更新时间") + private Date updateTime; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedLatest.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedLatest.java new file mode 100644 index 0000000..e78b30d --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedLatest.java @@ -0,0 +1,211 @@ +package com.renkang.emergency.aed.entity; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonAlias; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: aed_latest + * @Author: jeecg-boot + * @Date: 2023-12-12 + * @Version: V1.0 + */ +@Data +@TableName("aed_latest") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@Schema(title = "aed_latest对象", description = "aed_latest") +public class AedLatest implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(type = IdType.AUTO) + @Schema(title = "主键") + private Integer id; + /** + * AED型号+序列号 + */ + @Excel(name = "AED型号+序列号", width = 15) + @Schema(title = "AED型号+序列号") + @JsonAlias("AED_ID") + private String aedId; + /** + * 状态码 + */ + @Excel(name = "状态码", width = 15) + @Schema(title = "状态码") + @JsonAlias("status") + @Dict(dicCode = "aed_check_status") + private String aedStatus; + /** + * AED型号 + */ + @Excel(name = "AED型号", width = 15) + @Schema(title = "AED型号") + @JsonAlias("aedModel") + private String aedModel; + /** + * AED序列号 + */ + @Excel(name = "AED序列号", width = 15) + @Schema(title = "AED序列号") + @JsonAlias("aedNo") + private String aedNo; + /** + * 电极片有效期 + */ + @Excel(name = "电极片有效期", width = 15, format = "yyyy-MM") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM") + @DateTimeFormat(pattern = "yyyy-MM") + @Schema(title = "电极片有效期") + @JsonAlias("Pad_Expiration") + private Date padExpiration; + + /** + * 电极片有效期 + */ + @Dict(dicCode = "aed_electrode_sheet_status") + @TableField(exist = false) + private String padExpirationStatus; + /** + * AED剩余电量状态 + */ + @TableField(exist = false) + @Dict(dicCode = "aed_battery_status") + private String batteryPowerStatus; + /** + * 电压状态 + */ + @TableField(exist = false) + @Dict(dicCode = "aed_router_status") + private String routerVoltageStatus; + + /** + * AED剩余电量 + */ + @Excel(name = "AED剩余电量", width = 15) + @Schema(title = "AED剩余电量") + @JsonAlias("Battery_Power") + private String batteryPower; + /** + * AED自检报告 + */ + @Excel(name = "AED自检报告", width = 15) + @Schema(title = "AED自检报告") + @JsonAlias("AED_SelfReport") + private String aedSelfReport; + /** + * 专用路由器型号 + */ + @Excel(name = "专用路由器型号", width = 15) + @Schema(title = "专用路由器型号") + @JsonAlias("Router_Model") + private String routerModel; + /** + * 专用路由器序列号 + */ + @Excel(name = "专用路由器序列号", width = 15) + @Schema(title = "专用路由器序列号") + @JsonAlias("Router_SerialNo") + private String routerSerialNo; + /** + * 物联卡号 + */ + @Excel(name = "物联卡号", width = 15) + @Schema(title = "物联卡号") + @JsonAlias("Router_ICCID") + private String routerIccid; + /** + * 电压 + */ + @Excel(name = "电压", width = 15) + @Schema(title = "电压") + @JsonAlias("Router_Voltage") + private String routerVoltage; + /** + * 蓝牙自检结果 + */ + @Excel(name = "蓝牙自检结果", width = 15) + @Schema(title = "蓝牙自检结果") + @JsonAlias("Router_BT") + private String routerBt; + /** + * 专用路由器通讯自检结果 + */ + @Excel(name = "专用路由器通讯自检结果", width = 15) + @Schema(title = "专用路由器通讯自检结果") + @JsonAlias("Router_selfModel") + private String routerSelfModel; + /** + * 专用路由器文件系统自检结果 + */ + @Excel(name = "专用路由器文件系统自检结果", width = 15) + @Schema(title = "专用路由器文件系统自检结果") + @JsonAlias("Router_FileSystem") + private String routerFileSystem; + /** + * 专用路由器RTC自检结果 + */ + @Excel(name = "专用路由器RTC自检结果", width = 15) + @Schema(title = "专用路由器RTC自检结果") + @JsonAlias("Router_selfRTC") + private String routerSelfRtc; + + /** + * 时间开始 + */ + @TableField(exist = false) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date timeStart; + /** + * 时间结束 + */ + @TableField(exist = false) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date timeEnd; + + /** + * 删除(0:否 1:是) + */ + @TableLogic + private Integer delFlag; + /** + * 创建者 + */ + private String createBy; + /** + * 创建时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + /** + * 更新者 + */ + private String updateBy; + /** + * 更新时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + /** + * 备注 + */ + @Excel(name = "备注", width = 15) + private String memo; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedLatestGd.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedLatestGd.java new file mode 100644 index 0000000..93f060d --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedLatestGd.java @@ -0,0 +1,33 @@ +package com.renkang.emergency.aed.entity; + +import com.fasterxml.jackson.annotation.JsonAlias; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +/** + * @author stan + */ +@Getter +@Setter +public class AedLatestGd { + //接口名称 + @JsonAlias("typejk") + private String typeJk; + // 数据类型 + @JsonAlias("msgtype") + private String msgType; + // AED信息集合 + @JsonAlias("aedmessage") + private List aedMessage; + // 固定 + @JsonAlias("data_sender") + private String dataSender; + // 数据上传日期 + @JsonAlias("data_send_dt") + private String dataSendDt; + // 数据上传条数 + @JsonAlias("rownum") + private String rowNum; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedLocationEquipment.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedLocationEquipment.java new file mode 100644 index 0000000..8f338d4 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedLocationEquipment.java @@ -0,0 +1,151 @@ +package com.renkang.emergency.aed.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: aed_location_equipment + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +@Data +@TableName("aed_location_equipment") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@Schema(title = "aed_location_equipment对象", description = "aed_location_equipment") +public class AedLocationEquipment implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(type = IdType.ASSIGN_ID) + @JsonFormat(shape = JsonFormat.Shape.STRING) + @Schema(title = "主键") + private Long id; + /** + * 设备id + */ + @Excel(name = "设备id", width = 15) + @Schema(title = "设备id") + @JsonFormat(shape = JsonFormat.Shape.STRING) + @NotBlank(message = "布点设备不能为空,请选择布点设备") + private Long equipmentId; + /** + * 布点日期 + */ + @Excel(name = "布点日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "布点日期") + @NotNull(message = "布点日期不能为空,请选择布点日期") + private Date pickDate; + /** + * 布点位置 + */ + @Excel(name = "布点位置", width = 15) + @Schema(title = "布点位置") + @NotBlank(message = "布点位置不能为空,请输入布点位置") + private String address; + /** + * 经度 + */ + @Excel(name = "经度", width = 15) + @Schema(title = "经度") + @NotBlank(message = "经度不能为空,请输入经度") + private String longitude; + /** + * 纬度 + */ + @Excel(name = "纬度", width = 15) + @Schema(title = "纬度") + @NotBlank(message = "纬度不能为空,请输入纬度") + private String latitude; + /** + * 覆盖人数 + */ + @Excel(name = "覆盖人数", width = 15) + @Schema(title = "覆盖人数") + @NotBlank(message = "纬度不能为空,请输入纬度") + private Integer coverNums; + /** + * 责任人1 + */ + @Excel(name = "责任人1", width = 15) + @Schema(title = "责任人1") + @NotBlank(message = "责任人1不能为空,请输入责任人1") + private String firstCharge; + /** + * 责任人1电话 + */ + @Excel(name = "责任人1电话", width = 15) + @Schema(title = "责任人1电话") + @NotBlank(message = "责任人1电话不能为空,请输入责任人1电话") + private String firstChargeTel; + /** + * 责任人2 + */ + @Excel(name = "责任人2", width = 15) + @Schema(title = "责任人2") + @NotBlank(message = "责任人2不能为空,请输入责任人2") + private String secondCharge; + /** + * 责任人2电话 + */ + @Excel(name = "责任人2电话", width = 15) + @Schema(title = "责任人2电话") + @NotBlank(message = "责任人2电话不能为空,请输入责任人2电话") + private String secondChargeTel; + /** + * 状态(1-正常,2-冻结) + */ + @Excel(name = "状态(1-正常,2-冻结)", width = 15) + @Schema(title = "状态(1-正常,2-冻结)") + private Integer status; + /** + * 删除状态(0-正常,1-已删除) + */ + @Excel(name = "删除状态(0-正常,1-已删除)", width = 15) + @Schema(title = "删除状态(0-正常,1-已删除)") + @TableLogic + private Integer delFlag; + /** + * 创建人 + */ + @Schema(title = "创建人") + private String createBy; + /** + * 创建时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(title = "创建时间") + private Date createTime; + /** + * 更新人 + */ + @Schema(title = "更新人") + private String updateBy; + /** + * 更新时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(title = "更新时间") + private Date updateTime; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedMessage.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedMessage.java new file mode 100644 index 0000000..f00e59b --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedMessage.java @@ -0,0 +1,57 @@ +package com.renkang.emergency.aed.entity; + +import com.fasterxml.jackson.annotation.JsonAlias; +import lombok.Getter; +import lombok.Setter; + +/** + * @author stan + */ +@Getter +@Setter +public class AedMessage { + // AED唯一标识 + @JsonAlias("aed_id") + private String aedId; + // 固定 SHANGHAI KOHDEN(AED-3100C)/ NIHON KOHDEN(其他型号AED) + @JsonAlias("aed_manufactory") + private String aedManuFactory; + // 型号 + @JsonAlias("aed_model") + private String aedModel; + // 序列号 + @JsonAlias("aed_serialno") + private String aedSerialno; + // AED自检日期 + @JsonAlias("aed_selftest_dt") +// @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm") +// @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") + private String aedSelfTestDt; + // AED自检结果 E.g:正常 / 异常 / 需检查 + @JsonAlias("aed_selftest_result") + private String aedSelfTestResult; + // AED剩余电量(%) + @JsonAlias("aed_soc") + private String aedSoc; + // 电极有效期 + @JsonAlias("valid_of_electrode") + private String validOfElectrode; + // 电池有效期 + @JsonAlias("valid_of_battery") + private String validOfBattery; + // AED所在区域 + @JsonAlias("aed_location") + private String aedLocation; + // AED的地址 + @JsonAlias("aed_address") + private String aedAddress; + // 固定 E.g:腾讯坐标 + @JsonAlias("coordinate_system") + private String coordinateSystem; + // 坐标的经度 + @JsonAlias("longitude") + private String longitude; + // 坐标的纬度 + @JsonAlias("latitude") + private String latitude; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedUseRecord.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedUseRecord.java new file mode 100644 index 0000000..9812b9e --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedUseRecord.java @@ -0,0 +1,139 @@ +package com.renkang.emergency.aed.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: aed_use_record + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +@Data +@TableName("aed_use_record") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@Schema(title = "aed_use_record对象", description = "aed_use_record") +public class AedUseRecord implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(type = IdType.ASSIGN_ID) + @JsonFormat(shape = JsonFormat.Shape.STRING) + @Schema(title = "主键") + private Long id; + /** + * 设备id + */ + @Excel(name = "设备id", width = 15) + @Schema(title = "设备id") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long equipmentId; + /** + * 使用时间 + */ + @Excel(name = "使用时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(title = "使用时间") + private Date usedTime; + /** + * 被救助人 + */ + @Excel(name = "被救助人", width = 15) + @Schema(title = "被救助人") + private String salvedPerson; + /** + * 症状1 来源字典(1:有呼吸,2:无呼吸) + */ + @Excel(name = "症状1 来源字典(1:有呼吸,2:无呼吸)", width = 15) + @Schema(title = "症状1 来源字典(1:有呼吸,2:无呼吸)") + private Integer heartFlag; + /** + * 症状2来源字典(1:有意识,2:无意识) + */ + @Excel(name = "症状2来源字典(1:有意识,2:无意识)", width = 15) + @Schema(title = "症状2来源字典(1:有意识,2:无意识)") + private Integer consciousnessFlag; + /** + * 使用人 + */ + @Excel(name = "使用人", width = 15) + @Schema(title = "使用人") + private String useUser; + /** + * 使用过程说明 + */ + @Excel(name = "使用过程说明", width = 15) + @Schema(title = "使用过程说明") + private String useInstruction; + /** + * 启动次数 + */ + @Excel(name = "启动次数", width = 15) + @Schema(title = "启动次数") + private Integer startNums; + /** + * 成功除颤率 + */ + @Excel(name = "成功除颤率", width = 15) + @Schema(title = "成功除颤率") + private Double successRate; + /** + * 故障率 + */ + @Excel(name = "故障率", width = 15) + @Schema(title = "故障率") + private Double failRate; + /** + * 应用结果(1:救治成功,2:救治失败) + */ + @Excel(name = "应用结果(1:救治成功,2:救治失败)", width = 15) + @Schema(title = "应用结果(1:救治成功,2:救治失败)") + private Integer useResult; + /** + * 删除状态(0-正常,1-已删除) + */ + @Excel(name = "删除状态(0-正常,1-已删除)", width = 15) + @Schema(title = "删除状态(0-正常,1-已删除)") + @TableLogic + private Integer delFlag; + /** + * 创建人 + */ + @Schema(title = "创建人") + private String createBy; + /** + * 创建时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(title = "创建时间") + private Date createTime; + /** + * 更新人 + */ + @Schema(title = "更新人") + private String updateBy; + /** + * 更新时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(title = "更新时间") + private Date updateTime; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedWarnInfo.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedWarnInfo.java new file mode 100644 index 0000000..9b95ce0 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/entity/AedWarnInfo.java @@ -0,0 +1,147 @@ +package com.renkang.emergency.aed.entity; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: aed_warn_info + * @Author: jeecg-boot + * @Date: 2023-12-12 + * @Version: V1.0 + */ +@Data +@TableName("aed_warn_info") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@Schema(title = "aed_warn_info对象", description = "aed_warn_info") +public class AedWarnInfo implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(type = IdType.AUTO) + @Schema(title = "主键") + private Integer id; + /** + * aed id + */ + @Excel(name = "aed id", width = 15) + @Schema(title = "aed id") + private Integer latestId; + /** + * aed型号 + */ + @Excel(name = "aed型号", width = 15) + @Schema(title = "aed型号") + private String aedModel; + /** + * aed序列号 + */ + @Excel(name = "aed序列号", width = 15) + @Schema(title = "aed序列号") + private String aedNo; + /** + * 报警模块 + */ + @Excel(name = "报警模块", width = 15) + @Schema(title = "报警模块") + @Dict(dicCode = "aed_module") + private String module; + /** + * 报警类型 + */ + @Excel(name = "报警类型", width = 15) + @Schema(title = "报警类型") + private String type; + /** + * 报警值 + */ + @Excel(name = "报警值", width = 15) + @Schema(title = "报警值") + private String value; + /** + * 报警描述 + */ + @Excel(name = "报警描述", width = 15) + @Schema(title = "报警描述") + private String warnDesc; + /** + * 报警状态(0:待处理 1:已解除) + */ + @Excel(name = "报警状态(0:待处理 1:已解除)", width = 15) + @Schema(title = "报警状态(0:待处理 1:已解除)") + @Dict(dicCode = "aed_warn_handle_type") + private String warnStatus; + /** + * 处理信息 + */ + @Excel(name = "处理信息", width = 15) + @Schema(title = "处理信息") + private String warnHandleInfo; + + + /** + * 时间开始 + */ + @TableField(exist = false) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date timeStart; + /** + * 时间结束 + */ + @TableField(exist = false) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date timeEnd; + + + /** + * 删除状态(0-正常,1-已删除) + */ + @Excel(name = "删除状态(0-正常,1-已删除)", width = 15) + @Schema(title = "删除状态(0-正常,1-已删除)") + @TableLogic + private Integer delFlag; + /** + * 创建人 + */ + @Schema(title = "创建人") + private String createBy; + /** + * 创建时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(title = "创建时间") + private Date createTime; + /** + * 更新人 + */ + @Schema(title = "更新人") + private String updateBy; + /** + * 更新时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(title = "更新时间") + private Date updateTime; + /** + * 备注 + */ + @Excel(name = "备注", width = 15) + @Schema(title = "备注") + private String memo; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/manage/AedCacheNewManager.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/manage/AedCacheNewManager.java new file mode 100644 index 0000000..349d1a1 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/manage/AedCacheNewManager.java @@ -0,0 +1,127 @@ +package com.renkang.emergency.aed.manage; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.renkang.emergency.aed.constant.Constants; +import com.renkang.emergency.aed.mapper.AedEquipmentMangerMapper; +import com.renkang.emergency.aed.vo.res.manager.AedGeo; +import com.renkang.emergency.entity.AedEquipmentManger; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.system.util.DictUtil; +import org.jeecg.common.system.vo.DictModel; +import org.jeecg.modules.manager.ISysCache; +import org.jeecg.modules.system.entity.SysDepart; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author Junqiang Zhu + * @date 2023-11-30 + */ +@Component +@Slf4j +public class AedCacheNewManager { + + @Autowired + private AedEquipmentMangerMapper equipmentMangerMapper; + @Autowired + private ISysCache sysCache; + @Autowired + private DictUtil dictUtil; + + @Cacheable(cacheNames = Constants.AED_REDIS_KEY, key = "#id", unless = "#result == null") + public AedGeo getOne(Long id) { + return get(id); + } + + @CacheEvict(cacheNames = Constants.AED_REDIS_KEY, key = "#id") + public void deleteCache(Long id) { + } + + @CacheEvict(cacheNames = Constants.AED_REDIS_KEY, allEntries = true) + public void deleteAllCaches() { + } + + + @SuppressWarnings("unchecked") + private AedGeo get(Long id) { + if (id == null) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.select(AedEquipmentManger::getLongitude, + AedEquipmentManger::getLongitude, + AedEquipmentManger::getId, + AedEquipmentManger::getLatitude, + AedEquipmentManger::getInstallAddress, + AedEquipmentManger::getInstallAddressImg, + AedEquipmentManger::getName, + AedEquipmentManger::getHostModel, + AedEquipmentManger::getHostSerialNum, + AedEquipmentManger::getCode, + AedEquipmentManger::getStatus, + AedEquipmentManger::getDepartCode, + AedEquipmentManger::getControlOrgName, + AedEquipmentManger::getManageUserName, + AedEquipmentManger::getManageUserMobile, + AedEquipmentManger::getChargeFirst, + AedEquipmentManger::getChargeFirstMobile, + AedEquipmentManger::getChargeSecond, + AedEquipmentManger::getChargeSecondMobile, + AedEquipmentManger::getCoverUserNum, + AedEquipmentManger::getDisclaimer, + AedEquipmentManger::getOperateVideo, + AedEquipmentManger::getOperateInstruction, + AedEquipmentManger::getMfrsMobile, + AedEquipmentManger::getMfrsName, + AedEquipmentManger::getBrand, + AedEquipmentManger::getCameraCode, + AedEquipmentManger::getCameraNum, + AedEquipmentManger::getElectricQuantity, + AedEquipmentManger::getCheckStatus, + AedEquipmentManger::getSelfCheckUpdateTime) + .eq(AedEquipmentManger::getId, id); + + AedEquipmentManger resource = equipmentMangerMapper.selectOne(queryWrapper); + if (resource == null) { + return null; + } + // 部门处理 + SysDepart sysDepart = sysCache.getDepartByOrgCode(resource.getDepartCode()); + if (sysDepart != null) { + resource.setDepartName(sysDepart.getDepartName()); + } + // 状态处理 + List models = dictUtil.queryDictItemListByCode("intervene_aed_status"); + if (CollectionUtil.isNotEmpty(models)) { + String status = models.stream() + .filter(f -> Integer.parseInt(f.getValue()) == resource.getStatus()) + .map(DictModel::getText) + .findFirst() + .orElse(""); + resource.setAedStatus(status); + } + + // 自检状态处理 + List checkModel = dictUtil.queryDictItemListByCode("aed_check_status"); + if (CollectionUtil.isNotEmpty(checkModel)) { + String status = checkModel.stream() + .filter(f -> Integer.parseInt(f.getValue()) == resource.getCheckStatus()) + .map(DictModel::getText) + .findFirst() + .orElse(""); + resource.setCheckStatusDesc(status); + } + + AedGeo geo = new AedGeo(); + BeanUtil.copyProperties(resource, geo); + return geo; + } + + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/manage/AedManagerNew.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/manage/AedManagerNew.java new file mode 100644 index 0000000..4b83d30 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/manage/AedManagerNew.java @@ -0,0 +1,153 @@ +package com.renkang.emergency.aed.manage; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.renkang.emergency.aed.util.ResourceUtils; +import com.renkang.emergency.aed.constant.Constants; +import com.renkang.emergency.aed.mapper.AedEquipmentMangerMapper; +import com.renkang.emergency.aed.vo.res.manager.AedGeo; +import com.renkang.emergency.entity.AedEquipmentManger; +import org.jeecg.common.constant.CommonConstant; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.geo.*; +import org.springframework.data.redis.connection.RedisGeoCommands; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author Junqiang Zhu + * @date 2023-11-30 + */ +@Component +public class AedManagerNew { + + @Autowired + private AedEquipmentMangerMapper aedMapper; + @Autowired + private RedisTemplate redisTemplate; + @Autowired + private AedCacheNewManager aedCacheNewManager; + + + @PostConstruct + public void init() { + initAedToRedisGeo(); + } + + private void initAedToRedisGeo() { + delAedRedisGeo(); + List aedList = aedList(); + if (CollectionUtil.isEmpty(aedList)) { + return; + } + aedList.forEach(this::addGeo); + } + + private void delAedRedisGeo() { + redisTemplate.delete(Constants.AED_REDIS_KEY); + aedCacheNewManager.deleteAllCaches(); + } + + @SuppressWarnings("unchecked") + private List aedList() { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.select(AedEquipmentManger::getId, + AedEquipmentManger::getLongitude, + AedEquipmentManger::getLatitude) + .eq(AedEquipmentManger::getDelFlag, CommonConstant.DEL_FLAG_0); + return aedMapper.selectList(queryWrapper); + } + + public List geoSearch(BigDecimal longitude, BigDecimal latitude, double radiusRange, Integer resourceNum, String name) { + if (longitude == null || latitude == null) { + return Collections.emptyList(); + } + + // 点 + Point point = new Point(longitude.doubleValue(), latitude.doubleValue()); + Distance distance = new Distance(radiusRange, Metrics.KILOMETERS); + Circle circle = new Circle(point, distance); + + // cache + GeoResults> radius = redisTemplate.opsForGeo().radius(Constants.AED_REDIS_KEY, circle); + if (ObjectUtil.isNull(radius)) { + return null; + } + List result = new ArrayList<>(); + + // 计算距离 + for (GeoResult> cache : radius) { + Long id = (Long) cache.getContent().getName(); + AedGeo one = aedCacheNewManager.getOne(id); + if (one == null) { + continue; + } + Point geoPoint = new Point(one.getLongitude().doubleValue(), one.getLatitude().doubleValue()); + one.setDistance(ResourceUtils.geoDistance(point, geoPoint)); + result.add(one); + } + + return aedRedisGeoLimit(result, resourceNum, name); + } + + private List aedRedisGeoLimit(List aedGeos, Integer resourceNum, String name) { + if (CollectionUtil.isEmpty(aedGeos)) { + return Collections.emptyList(); + } + + // 资源名筛选 + if (StrUtil.isNotBlank(name)) { + aedGeos = aedGeos.stream().filter(f -> f.getName().contains(name)).collect(Collectors.toList()); + if (CollectionUtil.isEmpty(aedGeos)) { + return Collections.emptyList(); + } + } + + // 排序 + aedGeos = aedGeos.stream() + .sorted((o1, o2) -> (int) (o1.getDistance() - o2.getDistance())) + .collect(Collectors.toList()); + + + // 数量截取 + if (ObjectUtil.isNotNull(resourceNum)) { + return aedGeos.stream().limit(resourceNum).collect(Collectors.toList()); + } + + // 返回 + return aedGeos; + } + + public void addGeo(AedEquipmentManger resource) { + if (resource.getLatitude() == null || resource.getLongitude() == null) { + return; + } + Point point = new Point(resource.getLongitude().doubleValue(), resource.getLatitude().doubleValue()); + redisTemplate.opsForGeo().add(Constants.AED_REDIS_KEY, point, resource.getId()); + } + + public void removeGeo(Long id) { + if (ObjectUtil.isNull(id)) { + return; + } + redisTemplate.opsForGeo().remove(Constants.AED_REDIS_KEY, id); + } + + public void updateGeo(AedEquipmentManger resource) { + if (resource == null || ObjectUtil.isNull(resource.getId())) { + return; + } + removeGeo(resource.getId()); + addGeo(resource); + } + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/manage/WebSocketClientManagerNew.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/manage/WebSocketClientManagerNew.java new file mode 100644 index 0000000..36b1fc9 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/manage/WebSocketClientManagerNew.java @@ -0,0 +1,174 @@ +package com.renkang.emergency.aed.manage; + +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.renkang.emergency.aed.mapper.AedEquipmentMangerMapper; +import com.renkang.emergency.entity.AedEquipmentManger; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import javax.websocket.*; +import java.net.URI; +import java.net.URLEncoder; +import java.util.Date; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicReference; + +/** + * @author stan + * @since 2025-08-28 + */ +@Component +@Slf4j +public class WebSocketClientManagerNew { + + @Value("${websocket.url}") + private String url; + + @Value("${websocket.username}") + private String username; + @Autowired + private AedEquipmentMangerMapper aedEquipmentMangerMapper; + + private final AtomicReference sessionRef = new AtomicReference<>(); + private volatile boolean isReconnecting = false; + private final ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(); + + @PostConstruct + public void init() { +// connect(); + } + + private void connect() { + try { + log.info("aed websocket 开始建立连接..."); + WebSocketContainer container = ContainerProvider.getWebSocketContainer(); + String fullUrl = url + URLEncoder.encode(username, "UTF-8"); + // 创建被注解的端点实例 + MyEndpoint endpoint = new MyEndpoint(); + // 建立连接 + container.connectToServer(endpoint, new URI(fullUrl)); + isReconnecting = true; + log.info("aed websocket 连接成功..."); + } catch (Exception e) { + log.error("aed websocket 连接失败...", e); + scheduleReconnect(); + } + } + +// @ClientEndpoint + private class MyEndpoint extends Endpoint { + @Override + public void onOpen(Session session, EndpointConfig config) { + sessionRef.set(session); + try { + session.addMessageHandler(new MessageHandler.Whole() { + @Override + public void onMessage(String message) { + handleMessage(message); + } + }); + } catch (Exception ignore) { + log.error("Failed to add message handler"); + } + } + + @Override + public void onClose(Session session, CloseReason closeReason) { + log.info("Connection closed: {}", closeReason); + scheduleReconnect(); + } + + @Override + public void onError(Session session, Throwable thr) { + log.error("WebSocket error", thr); + scheduleReconnect(); + } + } + + private void scheduleReconnect() { + if (isReconnecting) { + return; + } + isReconnecting = true; + scheduler.schedule(() -> { + try { + connect(); + } catch (Exception e) { + log.error("aed webSocket 连接失败...", e); + } finally { + isReconnecting = false; + } + }, 20, TimeUnit.SECONDS); + } + + private void handleMessage(String message) { + if (StrUtil.isBlank(message)) { + return; + } + try { + JSONObject jsonObject = JSONObject.parseObject(message); + // 电池电量 + String battery = jsonObject.getString("batterycapacity"); + // 电池有效期 + Date batteryEndTime = jsonObject.getDate("batteryendtime"); + // 电极片有效期 + Date esEndTime = jsonObject.getDate("esendtime"); + // sn编码 + String sn = jsonObject.getString("sn"); + // 状态 + String state = jsonObject.getString("state"); + + String batteryPower = convert(battery); + + // 消息处理 + handleMessage(batteryPower, sn, state); + + } catch (Exception ignore) { + log.error("json消息解析失败:{}", message); + } + } + + private String convert(String data) { + switch (data) { + case "0": + return "0"; + case "1": + return "20"; + case "2": + return "45"; + case "3": + return "70"; + case "4": + return "100"; + default: + log.error("未知设备电量{}", data); + return null; + } + } + + private void handleMessage(String batteryPower, String sn, String state) { + if (StrUtil.isBlank(sn)) { + return; + } + Date now = new Date(); + // 只更新 状态 电量 时间 + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AedEquipmentManger::getHostSerialNum, sn); + + updateWrapper.set(StrUtil.isNotBlank(batteryPower), + AedEquipmentManger::getElectricQuantity, batteryPower); + + updateWrapper.set(StrUtil.isNotBlank(state), + AedEquipmentManger::getCheckStatus, state); + + updateWrapper.set(AedEquipmentManger::getSelfCheckUpdateTime, now); + aedEquipmentMangerMapper.update(updateWrapper); + } +} \ No newline at end of file diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedEquipmentCertificateMapper.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedEquipmentCertificateMapper.java new file mode 100644 index 0000000..3979048 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedEquipmentCertificateMapper.java @@ -0,0 +1,16 @@ +package com.renkang.emergency.aed.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.renkang.emergency.aed.entity.AedEquipmentCertificate; +import org.apache.ibatis.annotations.Mapper; + +/** + * @Description: aed_equipment_certificate + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +@Mapper +public interface AedEquipmentCertificateMapper extends BaseMapper { + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedEquipmentMaintainMapper.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedEquipmentMaintainMapper.java new file mode 100644 index 0000000..fbf9aa3 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedEquipmentMaintainMapper.java @@ -0,0 +1,42 @@ +package com.renkang.emergency.aed.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.renkang.emergency.aed.entity.AedEquipmentMaintain; +import com.renkang.emergency.aed.vo.req.AedMaintainExport; +import com.renkang.emergency.aed.vo.res.maintain.AedEquipmentMaintainRes; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @Description: aed_equipment_maintain + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +@Mapper +public interface AedEquipmentMaintainMapper extends BaseMapper { + + /** + * 维护记录列表 + * + * @param page 分页参数 + * @param name 设备名称 + * @param type 设备分类 + * @param orgCode 部门编码 + * @return 维护记录列表 + */ + IPage getPage(IPage page, @Param("name") String name, @Param("type") Integer type, @Param("orgCode") String orgCode); + + /** + * 设备维护详情 + * + * @param id 维护id + * @return 设备详情 + */ + AedEquipmentMaintainRes queryById(Long id); + + List maintainInfo(@Param("name") String name, @Param("type") String type, @Param("departCode") String departCode); +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedEquipmentMangerMapper.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedEquipmentMangerMapper.java new file mode 100644 index 0000000..53dff1b --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedEquipmentMangerMapper.java @@ -0,0 +1,63 @@ +package com.renkang.emergency.aed.mapper; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.renkang.emergency.entity.AedEquipmentManger; +import com.renkang.emergency.aed.vo.res.manager.AEDManagerPageRes; +import com.renkang.emergency.aed.vo.res.manager.AEDPublishPageRes; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @Description: aed_equipment_manger + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +@Mapper +public interface AedEquipmentMangerMapper extends BaseMapper { + + + /** + * 布点设备分页列表查询 + * + * @param page 分页参数 + * @param name 设备名称 + * @param type 设备类型 + * @param orgCode 部门编码 + * @param hostSerialNum 设备编码 + * @param mfrs 厂家 + * @param model 型号 + * @return 布点设备分页列表 + */ + IPage queryManagerPageList(IPage page, @Param("name") String name, + @Param("type") Integer type, @Param("orgCode") String orgCode, @Param("hostSerialNum") String hostSerialNum, + @Param("mfrs") String mfrs,@Param("model") String model); + + /** + * 布点设备分页列表查询 + * + * @param page 分页参数 + * @param name 设备名称 + * @param type 设备类型 + * @param orgCode 部门编码 + * @param mfrs 厂家 + * @param model 型号 + * @return 布点设备分页列表 + */ + IPage queryPublishPage(IPage page, @Param("name") String name, @Param("type") Integer type, @Param("orgCode") String orgCode, + @Param("mfrs") String mfrs, + @Param("model") String model, + @Param("hostSerialNum") String hostSerialNum); + + /** + * 按单位统计aed设备数量 + * @return 统计数据 + */ + @Select(value = "SELECT LEFT(depart_code,6) as orgCode, count(1) as aedCount FROM `aed_equipment_manger` where del_flag = 0 GROUP BY LEFT(depart_code,6)") + List statisticAedByOrgCode(); +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedEquipmentRetrainMapper.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedEquipmentRetrainMapper.java new file mode 100644 index 0000000..2c94356 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedEquipmentRetrainMapper.java @@ -0,0 +1,16 @@ +package com.renkang.emergency.aed.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.renkang.emergency.aed.entity.AedEquipmentRetrain; +import org.apache.ibatis.annotations.Mapper; + +/** + * @Description: aed_equipment_retrain + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +@Mapper +public interface AedEquipmentRetrainMapper extends BaseMapper { + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedEquipmentTrainMapper.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedEquipmentTrainMapper.java new file mode 100644 index 0000000..3ccb1a0 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedEquipmentTrainMapper.java @@ -0,0 +1,38 @@ +package com.renkang.emergency.aed.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.renkang.emergency.aed.entity.AedEquipmentTrain; +import com.renkang.emergency.aed.vo.req.AedTrainExport; +import com.renkang.emergency.aed.vo.res.train.AEDTrainPageRes; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @Description: aed_equipment_train + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +@Mapper +public interface AedEquipmentTrainMapper extends BaseMapper { + + /** + * 培训记录列表 + * + * @param page 分页参数 + * @param name 设备名称 + * @param type 设备类型 + * @param orgCode 所属部门 + * @return 培训记录列表 + */ + IPage queryPageList(Page page, @Param("name") String name, @Param("type") Integer type, @Param("orgCode") String orgCode, @Param("flag") Integer flag); + + List trainInfo(@Param("name") String name, + @Param("type") String type, + @Param("departCode") String departCode, + @Param("trainType") String trainType); +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedLatestNewMapper.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedLatestNewMapper.java new file mode 100644 index 0000000..caf7d0f --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedLatestNewMapper.java @@ -0,0 +1,16 @@ +package com.renkang.emergency.aed.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.renkang.emergency.aed.entity.AedLatest; +import org.apache.ibatis.annotations.Mapper; + +/** + * @Description: aed_latest + * @Author: jeecg-boot + * @Date: 2023-12-12 + * @Version: V1.0 + */ +@Mapper +public interface AedLatestNewMapper extends BaseMapper { + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedUseRecordNewMapper.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedUseRecordNewMapper.java new file mode 100644 index 0000000..9589753 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedUseRecordNewMapper.java @@ -0,0 +1,29 @@ +package com.renkang.emergency.aed.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.renkang.emergency.aed.entity.AedUseRecord; +import com.renkang.emergency.aed.vo.res.record.AEDUserRecordPageRes; +import org.apache.ibatis.annotations.Param; + +/** + * @Description: aed_use_record + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +public interface AedUseRecordNewMapper extends BaseMapper { + + + /** + * 查村应用记录列表 + * + * @param page 分页参数 + * @param name 设备名称 + * @param type 设备类型 + * @param orgCode 所属部门 + * @return 应用记录列表 + */ + IPage queryPageList(Page page, @Param("name") String name, @Param("type") Integer type, @Param("orgCode") String orgCode); +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedWarnInfoNewMapper.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedWarnInfoNewMapper.java new file mode 100644 index 0000000..fa37115 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedWarnInfoNewMapper.java @@ -0,0 +1,14 @@ +package com.renkang.emergency.aed.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.renkang.emergency.aed.entity.AedWarnInfo; + +/** + * @Description: aed_warn_info + * @Author: jeecg-boot + * @Date: 2023-12-12 + * @Version: V1.0 + */ +public interface AedWarnInfoNewMapper extends BaseMapper { + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/xml/AedEquipmentCertificateMapper.xml b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/xml/AedEquipmentCertificateMapper.xml new file mode 100644 index 0000000..dbf7049 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/xml/AedEquipmentCertificateMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/xml/AedEquipmentMaintainMapper.xml b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/xml/AedEquipmentMaintainMapper.xml new file mode 100644 index 0000000..185f934 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/xml/AedEquipmentMaintainMapper.xml @@ -0,0 +1,107 @@ + + + + + + + + + + + diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/xml/AedEquipmentMangerMapper.xml b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/xml/AedEquipmentMangerMapper.xml new file mode 100644 index 0000000..e984440 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/xml/AedEquipmentMangerMapper.xml @@ -0,0 +1,124 @@ + + + + + + + + diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/xml/AedEquipmentRetrainMapper.xml b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/xml/AedEquipmentRetrainMapper.xml new file mode 100644 index 0000000..489ad94 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/xml/AedEquipmentRetrainMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/xml/AedEquipmentTrainMapper.xml b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/xml/AedEquipmentTrainMapper.xml new file mode 100644 index 0000000..0213ba8 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/xml/AedEquipmentTrainMapper.xml @@ -0,0 +1,75 @@ + + + + + + + + + diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/xml/AedUseRecordNewMapper.xml b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/xml/AedUseRecordNewMapper.xml new file mode 100644 index 0000000..86e85f1 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/xml/AedUseRecordNewMapper.xml @@ -0,0 +1,44 @@ + + + + + + diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedEquipmentCertificateService.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedEquipmentCertificateService.java new file mode 100644 index 0000000..3af79e7 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedEquipmentCertificateService.java @@ -0,0 +1,16 @@ +package com.renkang.emergency.aed.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.renkang.emergency.aed.entity.AedEquipmentCertificate; + +/** + * @Description: aed_equipment_certificate + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +public interface IAedEquipmentCertificateService extends IService { + + void customExport(String name, String sex); +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedEquipmentMaintainService.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedEquipmentMaintainService.java new file mode 100644 index 0000000..fc022ab --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedEquipmentMaintainService.java @@ -0,0 +1,47 @@ +package com.renkang.emergency.aed.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.renkang.emergency.aed.entity.AedEquipmentMaintain; +import com.renkang.emergency.aed.vo.req.AedEquipmentMaintainReq; +import com.renkang.emergency.aed.vo.res.maintain.AedEquipmentMaintainRes; + +/** + * @Description: aed_equipment_maintain + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +public interface IAedEquipmentMaintainService extends IService { + + /** + * 新增日常维护 + * + * @param req 日常维护body + * @return 新增结果 + */ + int add(AedEquipmentMaintainReq req); + + /** + * 设备维护列表 + * + * @param pageNo 分页参数 + * @param pageSize 分页参数 + * @param name 设备名称 + * @param type 设备类型 + * @param orgCode 所属部门 + * @return 设备维护列表 + */ + IPage getPage(Integer pageNo, Integer pageSize, String name, Integer type, String orgCode); + + /** + * 维护设备详情 + * + * @param id 维护id + * @return 维护设备详情 + */ + AedEquipmentMaintainRes queryById(Long id); + + void customExport(String name, String type, String departCode); + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedEquipmentMangerService.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedEquipmentMangerService.java new file mode 100644 index 0000000..72f9395 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedEquipmentMangerService.java @@ -0,0 +1,135 @@ +package com.renkang.emergency.aed.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.renkang.emergency.aed.vo.req.manager.AEDManagerInsertReq; +import com.renkang.emergency.aed.vo.req.manager.AEDPublishEquipmentReq; +import com.renkang.emergency.aed.vo.res.manager.AEDManagerPageRes; +import com.renkang.emergency.aed.vo.res.manager.AEDPublishPageRes; +import com.renkang.emergency.aed.vo.res.manager.AedGeo; +import com.renkang.emergency.bean.response.SrcInfo; +import com.renkang.emergency.entity.AedEquipmentManger; + +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; + +/** + * @Description: aed_equipment_manger + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +public interface IAedEquipmentMangerService extends IService { + + /** + * 获取未布点设备,用于布点设备下拉选择 + * + * @return 未布点设备列表 + */ + List getUnPublishEquipment(Integer publishFlag, String name, String hostModel, String orgCode); + + /** + * 设备管理新增 + * + * @param req 设备管理请求body + * @return 设备管理新增 结果 + */ + int add(AEDManagerInsertReq req); + + /** + * 设备布点新增 + * + * @param req + * @return + */ + int insertPublishEquipment(AEDPublishEquipmentReq req); + + /** + * 编辑 + * 编辑分为两种情况 + * 1:编辑原布点设备时只需更新相关信息, + * 2:选择新的布点设备时,要把原布点设备的布点信息置空 + * + * @param req 布点信息 + * @return 成功、失败 + */ + int edit(AEDPublishEquipmentReq req); + + /** + * 批量删除,置空布点信息 + * + * @param list ids + * @return 删除结果 + */ + boolean deleteBatchPublish(List list); + + /** + * 批量删除设备信息 + * + * @param list 设备ids + * @return 删除结果 + */ + int deleteBatchManager(List list); + + /** + * 编辑设备 + * + * @param req 设备请求body + * @return 编辑结果 + */ + int updateManager(AEDManagerInsertReq req); + + /** + * 设备管理分页列表查询 + * + * @param pageNo 分页参数 + * @param pageSize 分页参数 + * @param name 设备名称 + * @param type 设备类型 + * @param orgCOde 部门编码 + * @param hostSerialNum 设备序列号 + * @return 设备管理分页列表 + */ + IPage queryManagerPageList(Integer pageNo, Integer pageSize, String name, Integer type, String orgCOde, + String mfrs, String model,String hostSerialNum); + + /** + * 设备管理分页列表查询 + * + * @param pageNo 分页参数 + * @param pageSize 分页参数 + * @param name 设备名称 + * @param type 设备类型 + * @param orgCode 部门编码 + * @return 设备管理分页列表 + */ + IPage queryPublishPage(Integer pageNo, Integer pageSize, String name, Integer type, String orgCode, String mfrs, String model,String hostSerialNum); + + /** + * 附近的aed设备列表 + * + * @param longitude 经度 + * @param latitude 纬度 + * @param radiusRange 范围 + * @param aedNum 显示的数量 + * @return 附近的aed设备 + */ + List nearbyAed(BigDecimal longitude, BigDecimal latitude, Double radiusRange, Integer aedNum); + + void exportXlsManager(AedEquipmentManger aedEquipmentManger); + + void exportXlsPublish(AedEquipmentManger aedEquipmentManger); + + /** + * 统计各单位AED设备数量 + * @return <'单位code','AED数量'> + * + * PS:目前此方法急救联动中在使用, 统计维度是单位,并非部门 + */ + Map statisticAedByOrgCode(); + + SrcInfo getSrc(); + + List selectAedAllBack(); +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedEquipmentRetrainService.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedEquipmentRetrainService.java new file mode 100644 index 0000000..37aa648 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedEquipmentRetrainService.java @@ -0,0 +1,17 @@ +package com.renkang.emergency.aed.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.renkang.emergency.aed.entity.AedEquipmentRetrain; + +import java.util.Date; + +/** + * @Description: aed_equipment_retrain + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +public interface IAedEquipmentRetrainService extends IService { + + void customExport(Date startTime, Date endTime, String result); +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedEquipmentTrainService.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedEquipmentTrainService.java new file mode 100644 index 0000000..ecac083 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedEquipmentTrainService.java @@ -0,0 +1,29 @@ +package com.renkang.emergency.aed.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.renkang.emergency.aed.entity.AedEquipmentTrain; +import com.renkang.emergency.aed.vo.res.train.AEDTrainPageRes; + +/** + * @Description: aed_equipment_train + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +public interface IAedEquipmentTrainService extends IService { + + /** + * 培训记录列表 + * + * @param page 分页参数 + * @param name 设备名称 + * @param type 设备类型 + * @param orgCode 所属部门 + * @return 设备布点列表 + */ + IPage queryPageList(Page page, String name, Integer type, String orgCode, Integer flag); + + void customExport(String name, String type, String departCode, String flag); +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedLatestNewService.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedLatestNewService.java new file mode 100644 index 0000000..fbecbf4 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedLatestNewService.java @@ -0,0 +1,16 @@ +package com.renkang.emergency.aed.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.renkang.emergency.aed.entity.AedLatest; + +/** + * @Description: aed_latest + * @Author: jeecg-boot + * @Date: 2023-12-12 + * @Version: V1.0 + */ +public interface IAedLatestNewService extends IService { + + IPage pageCustom(AedLatest aedLatest, Integer pageNo, Integer pageSize); +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedUseRecordNewService.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedUseRecordNewService.java new file mode 100644 index 0000000..7d15175 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedUseRecordNewService.java @@ -0,0 +1,27 @@ +package com.renkang.emergency.aed.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.renkang.emergency.aed.entity.AedUseRecord; +import com.renkang.emergency.aed.vo.res.record.AEDUserRecordPageRes; + +/** + * @Description: aed_use_record + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +public interface IAedUseRecordNewService extends IService { + + /** + * 查村应用记录列表 + * + * @param page 分页参数 + * @param name 设备名称 + * @param type 设备类型 + * @param orgCode 所属部门 + * @return 应用记录列表 + */ + IPage queryPageList(Page page, String name, Integer type, String orgCode); +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedWarnInfoNewService.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedWarnInfoNewService.java new file mode 100644 index 0000000..9fdaa62 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/IAedWarnInfoNewService.java @@ -0,0 +1,18 @@ +package com.renkang.emergency.aed.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.renkang.emergency.aed.entity.AedWarnInfo; + +/** + * @Description: aed_warn_info + * @Author: jeecg-boot + * @Date: 2023-12-12 + * @Version: V1.0 + */ +public interface IAedWarnInfoNewService extends IService { + + IPage pageCustom(int pageNo, int pageSize, AedWarnInfo aedWarnInfo); + + boolean updateHandleInfo(int id, String warnInfo); +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedEquipmentCertificateServiceImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedEquipmentCertificateServiceImpl.java new file mode 100644 index 0000000..fb24ee5 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedEquipmentCertificateServiceImpl.java @@ -0,0 +1,138 @@ +package com.renkang.emergency.aed.service.impl; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.renkang.emergency.aed.entity.AedEquipmentCertificate; +import com.renkang.emergency.aed.mapper.AedEquipmentCertificateMapper; +import com.renkang.emergency.aed.service.IAedEquipmentCertificateService; +import com.renkang.emergency.aed.vo.req.AedCertificateExport; +import org.apache.poi.ss.usermodel.Workbook; +import org.jeecg.common.system.api.ISysBaseAPI; +import org.jeecg.common.util.DateUtils; +import org.jeecg.common.util.MyUploadUtil; +import org.jeecg.global.GlobalUtils; +import org.jeecg.modules.exports.entity.CommonExportsInfo; +import org.jeecg.modules.manager.ISysCache; +import org.jeecgframework.poi.excel.ExcelExportUtil; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.enmus.ExcelType; +import org.jeecgframework.poi.exception.excel.enums.ExcelExportEnum; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.task.AsyncTaskExecutor; +import org.springframework.stereotype.Service; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.List; + +/** + * @Description: aed_equipment_certificate + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +@Service +public class AedEquipmentCertificateServiceImpl extends ServiceImpl implements IAedEquipmentCertificateService { + + // 取证人员 + private final String aedCertificateFlag = "aedCertificateFlag"; + // 导出数据中 + private final String DOING = "7"; + // 导出数据完成 + private final String FINISH = "8"; + private final String ERROR = "2"; + @Autowired + private ISysBaseAPI sysBaseAPI; + @Autowired + private AsyncTaskExecutor asyncTaskExecutor; + @Autowired + private ISysCache sysCache; + + @Override + public void customExport(String name, String sex) { + Boolean flag = sysBaseAPI.getFinishFlagByCode(aedCertificateFlag, DOING); + if (!flag) { + throw new RuntimeException("已存在执行中的导出任务,请稍后导出或点击【查看导出任务】查看任务导出进度!"); + } + String loginUserId = GlobalUtils.getLoginUser().getId(); + + // 异步执行导出 + asyncTaskExecutor.execute(() -> asyncTask(name, sex, loginUserId)); + + } + + private void asyncTask(String name, String sex, String loginUserId) { + GlobalUtils.setFeignToken(); + CommonExportsInfo info = new CommonExportsInfo(); + info.setBatchNo(String.valueOf(new Date().getTime())); + info.setHandleMsg("0/0"); + info.setCreateBy(loginUserId); + info.setCreateDate(new Date()); + info.setExportMsg(""); + info.setTaskCode(aedCertificateFlag); + info.setExportStatus(DOING);//数据导出中 + info.setHandleStartTime(new Date()); + CommonExportsInfo commonExportsInfo = sysBaseAPI.updateExportsInfo(info); + String id = commonExportsInfo.getId(); + + String sheetName = "aed取证人员信息"; + String fileName = sheetName + "_" + DateUtils.getDate("yyyyMMddHHmmss"); + CommonExportsInfo info1 = sysBaseAPI.getExportsInfoById(id); + + // 获取数据 + List list = getData(name, sex); + int count = list.size(); + try { + ExportParams exportParams = new ExportParams(sheetName, sheetName); + exportParams.setType(ExcelType.XSSF); + Workbook workbook = ExcelExportUtil.exportExcel(exportParams, AedCertificateExport.class, list); + ByteArrayOutputStream os = new ByteArrayOutputStream(); + workbook.write(os); + byte[] b = os.toByteArray(); + String suffixName = ".xlsx"; + ByteArrayInputStream in = new ByteArrayInputStream(b); +// String path = "C:\\Users\\stan\\Desktop\\test\\"+fileName+".xlsx"; +// // 生成本地查看 +// try (FileOutputStream fileOutputStream = new FileOutputStream(path)) { +// workbook.write(fileOutputStream); +// } + String url = MyUploadUtil.upload(in, MyUploadUtil.IMPORT_BIZ, fileName + suffixName); + info1.setExportUrl(url); + workbook.close(); + os.close(); + + info1.setExportStatus(FINISH);//数据导出完成 + info1.setExportMsg("数据导出完成"); + info1.setHandleMsg(count + "/" + count); + info1.setHandleEndTime(new Date()); + } catch (Exception e) { + log.error(ExcelExportEnum.EXPORT_ERROR.getMsg(), e); + info1.setExportStatus(ERROR); + info1.setExportMsg(ExcelExportEnum.EXPORT_ERROR.getMsg()); + } finally { + sysBaseAPI.updateExportsInfo(info1); + } + } + + private List getData(String name, String sex) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if (StrUtil.isNotBlank(name)) { + queryWrapper.like(AedEquipmentCertificate::getName, name); + } + if (StrUtil.isNotBlank(sex)) { + queryWrapper.like(AedEquipmentCertificate::getSex, sex); + } + List list = list(queryWrapper); + if (CollectionUtil.isEmpty(list)) { + return Collections.emptyList(); + } + List result = new ArrayList<>(); + GlobalUtils.convertList(list, result, AedCertificateExport.class); + return result; + } +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedEquipmentMaintainServiceImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedEquipmentMaintainServiceImpl.java new file mode 100644 index 0000000..5905569 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedEquipmentMaintainServiceImpl.java @@ -0,0 +1,202 @@ +package com.renkang.emergency.aed.service.impl; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.convert.Convert; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.renkang.emergency.aed.common.Dept; +import com.renkang.emergency.aed.entity.AedEquipmentMaintain; +import com.renkang.emergency.aed.mapper.AedEquipmentMaintainMapper; +import com.renkang.emergency.aed.mapper.AedEquipmentMangerMapper; +import com.renkang.emergency.aed.service.IAedEquipmentMaintainService; +import com.renkang.emergency.aed.util.OrgUtils; +import com.renkang.emergency.aed.vo.req.AedEquipmentMaintainReq; +import com.renkang.emergency.aed.vo.req.AedMaintainExport; +import com.renkang.emergency.aed.vo.res.maintain.AedEquipmentMaintainRes; +import com.renkang.emergency.entity.AedEquipmentManger; +import org.apache.poi.ss.usermodel.Workbook; +import org.jeecg.common.system.api.ISysBaseAPI; +import org.jeecg.common.util.DateUtils; +import org.jeecg.common.util.MyUploadUtil; +import org.jeecg.global.GlobalUtils; +import org.jeecg.modules.exports.entity.CommonExportsInfo; +import org.jeecg.modules.manager.ISysCache; +import org.jeecg.modules.system.entity.SysDepart; +import org.jeecgframework.poi.excel.ExcelExportUtil; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.enmus.ExcelType; +import org.jeecgframework.poi.exception.excel.enums.ExcelExportEnum; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.task.AsyncTaskExecutor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.util.*; + +/** + * @Description: aed_equipment_maintain + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +@Service +public class AedEquipmentMaintainServiceImpl extends ServiceImpl implements IAedEquipmentMaintainService { + + // 每日维护flag + private final String aedMaintainFlag = "aedMaintainFlag"; + // 导出数据中 + private final String DOING = "7"; + // 导出数据完成 + private final String FINISH = "8"; + private final String ERROR = "2"; + @Autowired + private AedEquipmentMaintainMapper aedEquipmentMaintainMapper; + @Autowired + private AedEquipmentMangerMapper aedEquipmentMangerMapper; + @Autowired + private OrgUtils orgUtils; + @Autowired + private ISysBaseAPI sysBaseAPI; + @Autowired + private AsyncTaskExecutor asyncTaskExecutor; + @Autowired + private ISysCache sysCache; + + @Override + @Transactional + public int add(AedEquipmentMaintainReq req) { + AedEquipmentMaintain aedEquipmentMaintain = Convert.convert(AedEquipmentMaintain.class, req); + int insert = aedEquipmentMaintainMapper.insert(aedEquipmentMaintain); + // 维护设备状态,此处的设备状态是主表中的状态 + int update = aedEquipmentMangerMapper.updateById(new AedEquipmentManger() + .setId(req.getEquipmentId()) + .setStatus(req.getStatus())); + return insert + update; + } + + @Override + public IPage getPage(Integer pageNo, Integer pageSize, String name, Integer type, String orgCode) { + IPage page = new Page<>(pageNo, pageSize); + IPage pageInfo = aedEquipmentMaintainMapper.getPage(page, name, type, orgCode); + + if (CollectionUtil.isEmpty(pageInfo.getRecords())) { + return pageInfo; + } + pageInfo.getRecords().forEach(f -> { + // 处理部门 + if (StrUtil.isNotBlank(f.getOrgCode())) { + // 三级 + SysDepart secondDepart = orgUtils.getDepart(f.getOrgCode(), 2); + SysDepart thirdDepart = orgUtils.getDepart(f.getOrgCode(), 3); + f.setSecondDepart(Optional.ofNullable(secondDepart).map(SysDepart::getDepartName).orElse("")); + f.setOrgName(Optional.ofNullable(thirdDepart).map(SysDepart::getDepartName).orElse("")); + } + }); + return pageInfo; + } + + @Override + public AedEquipmentMaintainRes queryById(Long id) { + AedEquipmentMaintainRes res = aedEquipmentMaintainMapper.queryById(id); + if (ObjectUtil.isNull(res)) { + return new AedEquipmentMaintainRes(); + } + if (StrUtil.isNotBlank(res.getOrgCode())) { + List list = Collections.singletonList(res.getOrgCode()); + Map map = orgUtils.setOrgCodeNames(list); + if (CollectionUtil.isNotEmpty(map)) { + res.setOrgName(String.valueOf(map.get(res.getOrgCode()))); + } + } + return res; + } + + @Override + public void customExport(String name, String type, String departCode) { + Boolean flag = sysBaseAPI.getFinishFlagByCode(aedMaintainFlag, DOING); + if (!flag) { + throw new RuntimeException("已存在执行中的导出任务,请稍后导出或点击【查看导出任务】查看任务导出进度!"); + } + String loginUserId = GlobalUtils.getLoginUser().getId(); + // 异步执行导出 + asyncTaskExecutor.execute(() -> aedMaintainTask(name, type, departCode, loginUserId)); + } + + private void aedMaintainTask(String name, String type, String departCode, String loginUserId) { + GlobalUtils.setFeignToken(); + CommonExportsInfo info = new CommonExportsInfo(); + info.setBatchNo(String.valueOf(new Date().getTime())); + info.setHandleMsg("0/0"); + info.setCreateBy(loginUserId); + info.setCreateDate(new Date()); + info.setExportMsg(""); + info.setTaskCode(aedMaintainFlag); + info.setExportStatus(DOING);//数据导出中 + info.setHandleStartTime(new Date()); + CommonExportsInfo commonExportsInfo = sysBaseAPI.updateExportsInfo(info); + String id = commonExportsInfo.getId(); + + String sheetName = "aed维护信息"; + String fileName = sheetName + "_" + DateUtils.getDate("yyyyMMddHHmmss"); + CommonExportsInfo info1 = sysBaseAPI.getExportsInfoById(id); + + // 获取数据 + List list = getMaintainData(name, type, departCode); + // 处理数据 + handleAedExportData(list); + int count = list.size(); + try { + ExportParams exportParams = new ExportParams(sheetName, sheetName); + exportParams.setType(ExcelType.XSSF); + Workbook workbook = ExcelExportUtil.exportExcel(exportParams, AedMaintainExport.class, list); + ByteArrayOutputStream os = new ByteArrayOutputStream(); + workbook.write(os); + byte[] b = os.toByteArray(); + String suffixName = ".xlsx"; + ByteArrayInputStream in = new ByteArrayInputStream(b); +// String path = "C:\\Users\\stan\\Desktop\\test\\"+fileName+".xlsx"; +// // 生成本地查看 +// try (FileOutputStream fileOutputStream = new FileOutputStream(path)) { +// workbook.write(fileOutputStream); +// } + String url = MyUploadUtil.upload(in, MyUploadUtil.IMPORT_BIZ, fileName + suffixName); + info1.setExportUrl(url); + workbook.close(); + os.close(); + + info1.setExportStatus(FINISH);//数据导出完成 + info1.setExportMsg("数据导出完成"); + info1.setHandleMsg(count + "/" + count); + info1.setHandleEndTime(new Date()); + } catch (Exception e) { + log.error(ExcelExportEnum.EXPORT_ERROR.getMsg(), e); + info1.setExportStatus(ERROR); + info1.setExportMsg(ExcelExportEnum.EXPORT_ERROR.getMsg()); + } finally { + sysBaseAPI.updateExportsInfo(info1); + } + } + + private List getMaintainData(String name, String type, String departCode) { + return getBaseMapper().maintainInfo(name, type, departCode); + } + + private void handleAedExportData(List list) { + if (CollectionUtil.isEmpty(list)) { + return; + } + list.forEach(aedExport -> { + if (StrUtil.isNotBlank(aedExport.getDepartCode())) { + SysDepart depart = sysCache.getDepartByOrgCode(aedExport.getDepartCode()); + aedExport.setDepartName(Optional.ofNullable(depart).map(SysDepart::getDepartName).orElse("")); + } + }); + } + + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedEquipmentMangerServiceImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedEquipmentMangerServiceImpl.java new file mode 100644 index 0000000..a8105eb --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedEquipmentMangerServiceImpl.java @@ -0,0 +1,582 @@ +package com.renkang.emergency.aed.service.impl; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.convert.Convert; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.renkang.emergency.aed.manage.AedCacheNewManager; +import com.renkang.emergency.aed.manage.AedManagerNew; +import com.renkang.emergency.aed.mapper.AedEquipmentMangerMapper; +import com.renkang.emergency.aed.service.IAedEquipmentMangerService; +import com.renkang.emergency.aed.util.AEDUtils; +import com.renkang.emergency.aed.util.OrgUtils; +import com.renkang.emergency.aed.vo.req.AedExport; +import com.renkang.emergency.aed.vo.req.AedPublishExport; +import com.renkang.emergency.aed.vo.req.manager.AEDManagerInsertReq; +import com.renkang.emergency.aed.vo.req.manager.AEDPublishEquipmentReq; +import com.renkang.emergency.aed.vo.res.manager.AEDManagerPageRes; +import com.renkang.emergency.aed.vo.res.manager.AEDPublishPageRes; +import com.renkang.emergency.aed.vo.res.manager.AedGeo; +import com.renkang.emergency.bean.response.SrcInfo; +import com.renkang.emergency.entity.AedEquipmentManger; +import org.apache.poi.ss.usermodel.Workbook; +import org.jeecg.common.system.api.ISysBaseAPI; +import org.jeecg.common.system.util.DictUtil; +import org.jeecg.common.system.vo.DictModel; +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.common.util.DateUtils; +import org.jeecg.common.util.MyUploadUtil; +import org.jeecg.global.GlobalUtils; +import org.jeecg.modules.exports.entity.CommonExportsInfo; +import org.jeecg.modules.manager.ISysCache; +import org.jeecg.modules.system.entity.SysDepart; +import org.jeecg.util.GlobalManager; +import org.jeecgframework.poi.excel.ExcelExportUtil; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.enmus.ExcelType; +import org.jeecgframework.poi.exception.excel.enums.ExcelExportEnum; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.task.AsyncTaskExecutor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.math.BigDecimal; +import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; + +/** + * @Description: aed_equipment_manger + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +@Service +public class AedEquipmentMangerServiceImpl extends ServiceImpl implements IAedEquipmentMangerService { + + public static final Integer YES = 1; + public static final Integer NO = 0; + // 导出数据中 + private final String DOING = "7"; + // 导出数据完成 + private final String FINISH = "8"; + private final String ERROR = "2"; + // task code + private final String aedExportFlag = "interveneAedExport"; + private final String aedExportPublishFlag = "interveneAedPublishExport"; + @Autowired + AedEquipmentMangerMapper aedEquipmentMangerMapper; + @Autowired + private OrgUtils orgUtils; + @Autowired + private AEDUtils aedUtils; + @Autowired + private ISysCache sysCache; + @Autowired + private AedManagerNew aedManger; + @Autowired + private ISysBaseAPI sysBaseAPI; + @Autowired + private AsyncTaskExecutor asyncTaskExecutor; + @Autowired + private AedCacheNewManager aedCacheNewManager; + @Autowired + private DictUtil dictUtil; + @Autowired + private GlobalManager globalManager; + + @Override + public IPage queryManagerPageList(Integer pageNo, Integer pageSize, String name, Integer type, String orgCode, String mfrs, String model, String hostSerialNum) { + IPage page = new Page<>(pageNo, pageSize); + IPage pageInfo = aedEquipmentMangerMapper.queryManagerPageList(page, name, type, orgCode,hostSerialNum,mfrs,model); + if (CollectionUtil.isEmpty(pageInfo.getRecords())) { + return pageInfo; + } + pageInfo.getRecords().forEach(f -> { + // 处理部门 + if (StrUtil.isNotBlank(f.getDepartCode())) { + // 二级 + SysDepart secondDepart = sysCache.getDepartByOrgCode(GlobalUtils.getSecondDepartOrgCode(f.getDepartCode())); + f.setOrgName(Optional.ofNullable(secondDepart).map(SysDepart::getDepartName).orElse("")); + // 三级 + SysDepart thirdDepart = sysCache.getDepartByOrgCode(GlobalUtils.getThirdDepartOrgCode(f.getDepartCode())); + f.setDeptName(Optional.ofNullable(thirdDepart).map(SysDepart::getDepartName).orElse("")); + } + }); + return pageInfo; + } + + @Override + public IPage queryPublishPage(Integer pageNo, Integer pageSize, String name, Integer type, String orgCode, String mfrs, String model,String hostSerialNum) { + IPage page = new Page<>(pageNo, pageSize); + IPage pageInfo = aedEquipmentMangerMapper.queryPublishPage(page, name, type, orgCode, mfrs, model,hostSerialNum); + if (CollectionUtil.isEmpty(pageInfo.getRecords())) { + return pageInfo; + } + pageInfo.getRecords().forEach(f -> { + // 处理部门 + if (StrUtil.isNotBlank(f.getDepartCode())) { + // 二级 + SysDepart secondDepart = sysCache.getDepartByOrgCode(GlobalUtils.getSecondDepartOrgCode(f.getDepartCode())); + f.setSecondDepart(Optional.ofNullable(secondDepart).map(SysDepart::getDepartName).orElse("")); + // 三级 + SysDepart thirdDepart = sysCache.getDepartByOrgCode(GlobalUtils.getThirdDepartOrgCode(f.getDepartCode())); + f.setOrgName(Optional.ofNullable(thirdDepart).map(SysDepart::getDepartName).orElse("")); + } + }); + return pageInfo; + } + + @Override + public List nearbyAed(BigDecimal longitude, BigDecimal latitude, Double radiusRange, Integer aedNum) { + if (longitude != null && latitude != null) { + return aedManger.geoSearch(longitude, latitude, radiusRange, aedNum, null); + } + return aedAll(); + } + + + @Override + public void exportXlsManager(AedEquipmentManger data) { + Boolean flag = sysBaseAPI.getFinishFlagByCode(aedExportFlag, DOING); + if (!flag) { + throw new RuntimeException("已存在执行中的导出任务,请稍后导出或点击【查看导出任务】查看任务导出进度!"); + } + String loginUserId = GlobalUtils.getLoginUser().getId(); + // 异步执行导出 + asyncTaskExecutor.execute(() -> aedExportTask(data, loginUserId)); + } + + @Override + public void exportXlsPublish(AedEquipmentManger data) { + Boolean flag = sysBaseAPI.getFinishFlagByCode(aedExportPublishFlag, DOING); + if (!flag) { + throw new RuntimeException("已存在执行中的导出任务,请稍后导出或点击【查看导出任务】查看任务导出进度!"); + } + String loginUserId = GlobalUtils.getLoginUser().getId(); + // 异步执行导出 + asyncTaskExecutor.execute(() -> aedExportPublishTask(data, loginUserId)); + } + + private void aedExportPublishTask(AedEquipmentManger data, String loginUserId) { + GlobalUtils.setFeignToken(); + CommonExportsInfo info = new CommonExportsInfo(); + info.setBatchNo(String.valueOf(new Date().getTime())); + info.setHandleMsg("0/0"); + info.setCreateBy(loginUserId); + info.setCreateDate(new Date()); + info.setExportMsg(""); + info.setTaskCode(aedExportPublishFlag); + info.setExportStatus(DOING);//数据导出中 + info.setHandleStartTime(new Date()); + CommonExportsInfo commonExportsInfo = sysBaseAPI.updateExportsInfo(info); + String id = commonExportsInfo.getId(); + + String sheetName = "aed布点信息"; + String fileName = sheetName + "_" + DateUtils.getDate("yyyyMMddHHmmss"); + CommonExportsInfo info1 = sysBaseAPI.getExportsInfoById(id); + + // 获取数据 + List list = getAedPublishExportData(data); + // 处理数据 + handleAedPublishExportData(list); + int count = list.size(); + try { + ExportParams exportParams = new ExportParams(sheetName, sheetName); + exportParams.setType(ExcelType.XSSF); + Workbook workbook = ExcelExportUtil.exportExcel(exportParams, AedPublishExport.class, list); + ByteArrayOutputStream os = new ByteArrayOutputStream(); + workbook.write(os); + byte[] b = os.toByteArray(); + String suffixName = ".xlsx"; + ByteArrayInputStream in = new ByteArrayInputStream(b); +// String path = "C:\\Users\\stan\\Desktop\\test\\"+fileName+".xlsx"; +// // 生成本地查看 +// try (FileOutputStream fileOutputStream = new FileOutputStream(path)) { +// workbook.write(fileOutputStream); +// } + String url = MyUploadUtil.upload(in, MyUploadUtil.IMPORT_BIZ, fileName + suffixName); + info1.setExportUrl(url); + workbook.close(); + os.close(); + + info1.setExportStatus(FINISH);//数据导出完成 + info1.setExportMsg("数据导出完成"); + info1.setHandleMsg(count + "/" + count); + info1.setHandleEndTime(new Date()); + } catch (Exception e) { + log.error(ExcelExportEnum.EXPORT_ERROR.getMsg(), e); + info1.setExportStatus(ERROR); + info1.setExportMsg(ExcelExportEnum.EXPORT_ERROR.getMsg()); + } finally { + sysBaseAPI.updateExportsInfo(info1); + } + } + + private void aedExportTask(AedEquipmentManger data, String loginUserId) { + GlobalUtils.setFeignToken(); + CommonExportsInfo info = new CommonExportsInfo(); + info.setBatchNo(String.valueOf(new Date().getTime())); + info.setHandleMsg("0/0"); + info.setCreateBy(loginUserId); + info.setCreateDate(new Date()); + info.setExportMsg(""); + info.setTaskCode(aedExportFlag); + info.setExportStatus(DOING);//数据导出中 + info.setHandleStartTime(new Date()); + CommonExportsInfo commonExportsInfo = sysBaseAPI.updateExportsInfo(info); + String id = commonExportsInfo.getId(); + + String sheetName = "aed设备信息"; + String fileName = sheetName + "_" + DateUtils.getDate("yyyyMMddHHmmss"); + CommonExportsInfo info1 = sysBaseAPI.getExportsInfoById(id); + + // 获取数据 + List list = getAedExportData(data); + // 处理数据 + handleAedExportData(list); + int count = list.size(); + try { + ExportParams exportParams = new ExportParams(sheetName, sheetName); + exportParams.setType(ExcelType.XSSF); + Workbook workbook = ExcelExportUtil.exportExcel(exportParams, AedExport.class, list); + ByteArrayOutputStream os = new ByteArrayOutputStream(); + workbook.write(os); + byte[] b = os.toByteArray(); + String suffixName = ".xlsx"; + ByteArrayInputStream in = new ByteArrayInputStream(b); +// String path = "C:\\Users\\stan\\Desktop\\test\\"+fileName+".xlsx"; +// // 生成本地查看 +// try (FileOutputStream fileOutputStream = new FileOutputStream(path)) { +// workbook.write(fileOutputStream); +// } + String url = MyUploadUtil.upload(in, MyUploadUtil.IMPORT_BIZ, fileName + suffixName); + info1.setExportUrl(url); + workbook.close(); + os.close(); + + info1.setExportStatus(FINISH);//数据导出完成 + info1.setExportMsg("数据导出完成"); + info1.setHandleMsg(count + "/" + count); + info1.setHandleEndTime(new Date()); + } catch (Exception e) { + log.error(ExcelExportEnum.EXPORT_ERROR.getMsg(), e); + info1.setExportStatus(ERROR); + info1.setExportMsg(ExcelExportEnum.EXPORT_ERROR.getMsg()); + } finally { + sysBaseAPI.updateExportsInfo(info1); + } + } + + private void handleAedExportData(List list) { + if (CollectionUtil.isEmpty(list)) { + return; + } + list.forEach(aedExport -> { + if (StrUtil.isNotBlank(aedExport.getDepartCode())) { + SysDepart depart = sysCache.getDepartByOrgCode(aedExport.getDepartCode()); + aedExport.setDepartName(Optional.ofNullable(depart).map(SysDepart::getDepartName).orElse("")); + } + }); + } + + private void handleAedPublishExportData(List list) { + if (CollectionUtil.isEmpty(list)) { + return; + } + list.forEach(aedExport -> { + if (StrUtil.isNotBlank(aedExport.getDepartCode())) { + SysDepart depart = sysCache.getDepartByOrgCode(aedExport.getDepartCode()); + aedExport.setDepartName(Optional.ofNullable(depart).map(SysDepart::getDepartName).orElse("")); + } + }); + } + + @SuppressWarnings("unchecked") + private List getAedExportData(AedEquipmentManger data) { + // 数据导出 + // 筛选条件: 名称 类型 部门 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.select(AedEquipmentManger::getName, + AedEquipmentManger::getDepartCode, + AedEquipmentManger::getBrand, + AedEquipmentManger::getHostSerialNum, + AedEquipmentManger::getType, + AedEquipmentManger::getInStorageDate, + AedEquipmentManger::getElectricQuantity, + AedEquipmentManger::getBatteryLife, + AedEquipmentManger::getElectrodeIsOk, + AedEquipmentManger::getElectrodeSheetValidTime, + AedEquipmentManger::getOperateInstruction, + AedEquipmentManger::getOperateVideo, + AedEquipmentManger::getManageDepartName, + AedEquipmentManger::getManageUserName, + AedEquipmentManger::getManageUserMobile, + AedEquipmentManger::getMfrsMobile); + if (StrUtil.isNotBlank(data.getName())) { + queryWrapper.like(AedEquipmentManger::getName, data.getName()); + } + if (ObjectUtil.isNotNull(data.getType())) { + queryWrapper.eq(AedEquipmentManger::getType, data.getType()); + } + if (StrUtil.isNotBlank(data.getDepartCode())) { + queryWrapper.likeRight(AedEquipmentManger::getDepartCode, data.getDepartCode()); + } + + List list = list(queryWrapper); + List result = new ArrayList<>(); + GlobalUtils.convertList(list, result, AedExport.class); + return result; + } + + private List getAedPublishExportData(AedEquipmentManger data) { + // 数据导出 + // 筛选条件: 名称 类型 部门 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.select(AedEquipmentManger::getName, + AedEquipmentManger::getDepartCode, + AedEquipmentManger::getBrand, + AedEquipmentManger::getHostSerialNum, + AedEquipmentManger::getInstallAddress, + AedEquipmentManger::getStatus, + AedEquipmentManger::getInstallTime, + AedEquipmentManger::getManageDepartName, + AedEquipmentManger::getManageUserName, + AedEquipmentManger::getManageUserMobile, + AedEquipmentManger::getChargeFirst, + AedEquipmentManger::getChargeFirstMobile, + AedEquipmentManger::getChargeSecond, + AedEquipmentManger::getChargeSecondMobile, + AedEquipmentManger::getCoverUserNum); + if (StrUtil.isNotBlank(data.getName())) { + queryWrapper.like(AedEquipmentManger::getName, data.getName()); + } + if (ObjectUtil.isNotNull(data.getType())) { + queryWrapper.eq(AedEquipmentManger::getType, data.getType()); + } + if (StrUtil.isNotBlank(data.getDepartCode())) { + queryWrapper.eq(AedEquipmentManger::getDepartCode, data.getDepartCode()); + } + + List list = list(queryWrapper); + List result = new ArrayList<>(); + GlobalUtils.convertList(list, result, AedPublishExport.class); + return result; + } + + + private List aedAll() { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + List list = aedEquipmentMangerMapper.selectList(queryWrapper); + if (CollectionUtil.isEmpty(list)) { + return Collections.emptyList(); + } + // 状态处理 + List models = dictUtil.queryDictItemListByCode("intervene_aed_status"); + list.forEach(data -> { + if (StrUtil.isNotBlank(data.getDepartCode())) { + SysDepart sysDepart = sysCache.getDepartByOrgCode(data.getDepartCode()); + data.setDepartName(Optional.ofNullable(sysDepart).map(SysDepart::getDepartName).orElse("")); + } + if (ObjectUtil.isNotNull(data.getStatus())) { + if (CollectionUtil.isNotEmpty(models)) { + String status = models.stream() + .filter(f -> Integer.parseInt(f.getValue()) == data.getStatus()) + .map(DictModel::getText) + .findFirst() + .orElse(""); + data.setAedStatus(status); + } + } + }); + + List result = new ArrayList<>(); + GlobalUtils.convertList(list, result, AedGeo.class); + return result; + } + + @Override + public List getUnPublishEquipment(Integer publishFlag, String name, String hostModel, String orgCode) { + LoginUser loginUser = GlobalUtils.getLoginUser(); + boolean loginUserAdmin = GlobalUtils.isLoginUserAdmin(); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.select(AedEquipmentManger::getId, + AedEquipmentManger::getName, + AedEquipmentManger::getHostSerialNum, + AedEquipmentManger::getDepartCode, + AedEquipmentManger::getHostModel, + AedEquipmentManger::getType, + AedEquipmentManger::getInstallAddress) + .eq(AedEquipmentManger::getPublishFlag, publishFlag); + if (!loginUserAdmin) { + queryWrapper.likeRight(AedEquipmentManger::getDepartCode, GlobalUtils.getSecondDepartOrgCode(loginUser.getOrgCode())); + } + if (StrUtil.isNotBlank(name)) { + queryWrapper.like(AedEquipmentManger::getName, name); + } + if (StrUtil.isNotBlank(hostModel)) { + queryWrapper.like(AedEquipmentManger::getHostSerialNum, hostModel); + } + if (StrUtil.isNotBlank(orgCode)) { + queryWrapper.likeRight(AedEquipmentManger::getDepartCode, GlobalUtils.getSecondDepartOrgCode(orgCode)); + } + List list = aedEquipmentMangerMapper.selectList(queryWrapper); + if (CollectionUtil.isEmpty(list)) { + return Collections.emptyList(); + } + + list.forEach(data -> { + if (StrUtil.isNotBlank(data.getDepartCode())) { + SysDepart secondDepart = sysCache.getDepartByOrgCode(GlobalUtils.getSecondDepartOrgCode(data.getDepartCode())); + SysDepart thirdDepart = sysCache.getDepartByOrgCode(GlobalUtils.getThirdDepartOrgCode(data.getDepartCode())); + data.setSecondDepart(Optional.ofNullable(secondDepart).map(SysDepart::getDepartName).orElse("")); + data.setDepartName(Optional.ofNullable(thirdDepart).map(SysDepart::getDepartName).orElse("")); + } + }); + + return list; + } + + @Override + public int add(AEDManagerInsertReq req) { + //TODO 设备编号自动生成,确定规则后在做 + String code = System.currentTimeMillis() + "-"; + req.setCode(code); + // 新增设备时默认未布点 + req.setPublishFlag(NO); + AedEquipmentManger aedEquipmentManger = Convert.convert(AedEquipmentManger.class, req); + return aedEquipmentMangerMapper.insert(aedEquipmentManger); + } + + @Override + public int insertPublishEquipment(AEDPublishEquipmentReq req) { + req.setPublishFlag(YES); + AedEquipmentManger aedEquipmentManger = Convert.convert(AedEquipmentManger.class, req); + int i = aedEquipmentMangerMapper.updateById(aedEquipmentManger); + if (i > 0) { + aedUtils.addGeo(req.getLongitude(), req.getLatitude(), req.getId()); + return i; + } + return 0; + + } + + @Override + @Transactional + public int edit(AEDPublishEquipmentReq req) { + if (ObjectUtil.isNotNull(req.getOldId())) { + List list = Collections.singletonList(req.getOldId()); + updatePublish(list); + } + req.setPublishFlag(YES); + AedEquipmentManger aedEquipmentManger = Convert.convert(AedEquipmentManger.class, req); + int i = aedEquipmentMangerMapper.updateById(aedEquipmentManger); + if (i > 0) { + // 删除原有的位置后重新新增位置 + aedUtils.removeGeo(req.getId()); + aedUtils.addGeo(req.getLongitude(), req.getLatitude(), req.getId()); + // 删除缓存 + aedCacheNewManager.deleteCache(req.getId()); + return i; + } + return 0; + } + + @Override + @Transactional + public boolean deleteBatchPublish(List list) { + List ids = list.stream() + .map(Long::parseLong) + .collect(Collectors.toList()); + boolean b = updatePublish(ids); + if (b) { + ids.forEach(id -> { + aedUtils.removeGeo(id); + }); + return true; + } + return false; + } + + @Override + public int deleteBatchManager(List list) { + return aedEquipmentMangerMapper.deleteBatchIds(list); + + } + + @Override + public int updateManager(AEDManagerInsertReq req) { + AedEquipmentManger aedEquipmentManger = Convert.convert(AedEquipmentManger.class, req); + int i = aedEquipmentMangerMapper.updateById(aedEquipmentManger); + // 删除缓存 + aedCacheNewManager.deleteCache(req.getId()); + return i; + } + + + /** + * 删除或更新设备布点 + * + * @param ids 设备ids + * @return 更新成功、失败 + */ + @Transactional + public boolean updatePublish(List ids) { + AtomicInteger i = new AtomicInteger(); + if (CollectionUtil.isNotEmpty(ids)) { + ids.forEach(r -> { + i.addAndGet(aedEquipmentMangerMapper.update(new AedEquipmentManger(), Wrappers.lambdaUpdate() + .eq(AedEquipmentManger::getId, r) + .set(AedEquipmentManger::getPublishFlag, 0) + .set(AedEquipmentManger::getInstallAddress, null) + .set(AedEquipmentManger::getLatitude, null) + .set(AedEquipmentManger::getLongitude, null) + .set(AedEquipmentManger::getChargeFirst, null) + .set(AedEquipmentManger::getChargeFirstMobile, null) + .set(AedEquipmentManger::getChargeSecond, null) + .set(AedEquipmentManger::getChargeSecondMobile, null) + .set(AedEquipmentManger::getCoverUserNum, null) + .set(AedEquipmentManger::getInstallTime, null) + )); + + + }); + } + return ids.size() == i.get(); + } + + @Override + public Map statisticAedByOrgCode() { + Map statisticMap = new HashMap<>(); + List jsonList = aedEquipmentMangerMapper.statisticAedByOrgCode(); + if(ObjectUtil.isNotEmpty(jsonList)){ + statisticMap = jsonList.stream().collect(Collectors.toMap(json -> json.getString("orgCode"),json -> json.getLong("aedCount"))); + } + return statisticMap; + } + + @Override + public SrcInfo getSrc() { + String aedRemoteUrl = globalManager.getConfigValueByKey("aed_remote_url"); + String aedRemoteAppKey = globalManager.getConfigValueByKey("aed_remote_appKey"); + String aedRemoteUrlAppend = globalManager.getConfigValueByKey("aed_remote_url_append"); + SrcInfo srcInfo = new SrcInfo(); + srcInfo.setUrl(aedRemoteUrl); + srcInfo.setAccessToken(aedRemoteAppKey); + srcInfo.setAppendBaseUrl(aedRemoteUrlAppend); + return srcInfo; + } + + @Override + public List selectAedAllBack() { + return list(); + } +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedEquipmentRetrainServiceImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedEquipmentRetrainServiceImpl.java new file mode 100644 index 0000000..f3c1628 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedEquipmentRetrainServiceImpl.java @@ -0,0 +1,136 @@ +package com.renkang.emergency.aed.service.impl; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.renkang.emergency.aed.entity.AedEquipmentRetrain; +import com.renkang.emergency.aed.mapper.AedEquipmentRetrainMapper; +import com.renkang.emergency.aed.service.IAedEquipmentRetrainService; +import com.renkang.emergency.aed.vo.req.AedRetrainExport; +import org.apache.poi.ss.usermodel.Workbook; +import org.jeecg.common.system.api.ISysBaseAPI; +import org.jeecg.common.util.DateUtils; +import org.jeecg.common.util.MyUploadUtil; +import org.jeecg.global.GlobalUtils; +import org.jeecg.modules.exports.entity.CommonExportsInfo; +import org.jeecgframework.poi.excel.ExcelExportUtil; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.enmus.ExcelType; +import org.jeecgframework.poi.exception.excel.enums.ExcelExportEnum; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.task.AsyncTaskExecutor; +import org.springframework.stereotype.Service; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.List; + +/** + * @Description: aed_equipment_retrain + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +@Service +public class AedEquipmentRetrainServiceImpl extends ServiceImpl implements IAedEquipmentRetrainService { + // 取证人员 + private final String aedRetrainFlag = "aedRetrainFlag"; + // 导出数据中 + private final String DOING = "7"; + // 导出数据完成 + private final String FINISH = "8"; + private final String ERROR = "2"; + @Autowired + private AsyncTaskExecutor asyncTaskExecutor; + @Autowired + private ISysBaseAPI sysBaseAPI; + + @Override + public void customExport(Date startTime, Date endTime, String result) { + Boolean flag = sysBaseAPI.getFinishFlagByCode(aedRetrainFlag, DOING); + if (!flag) { + throw new RuntimeException("已存在执行中的导出任务,请稍后导出或点击【查看导出任务】查看任务导出进度!"); + } + String loginUserId = GlobalUtils.getLoginUser().getId(); + + // 异步执行导出 + asyncTaskExecutor.execute(() -> asyncTask(startTime, endTime, result, loginUserId)); + } + + private void asyncTask(Date startTime, Date endTime, String result, String loginUserId) { + GlobalUtils.setFeignToken(); + CommonExportsInfo info = new CommonExportsInfo(); + info.setBatchNo(String.valueOf(new Date().getTime())); + info.setHandleMsg("0/0"); + info.setCreateBy(loginUserId); + info.setCreateDate(new Date()); + info.setExportMsg(""); + info.setTaskCode(aedRetrainFlag); + info.setExportStatus(DOING);//数据导出中 + info.setHandleStartTime(new Date()); + CommonExportsInfo commonExportsInfo = sysBaseAPI.updateExportsInfo(info); + String id = commonExportsInfo.getId(); + + String sheetName = "aed复训记录信息"; + String fileName = sheetName + "_" + DateUtils.getDate("yyyyMMddHHmmss"); + CommonExportsInfo info1 = sysBaseAPI.getExportsInfoById(id); + + // 获取数据 + List list = getData(startTime, endTime, result); + int count = list.size(); + try { + ExportParams exportParams = new ExportParams(sheetName, sheetName); + exportParams.setType(ExcelType.XSSF); + Workbook workbook = ExcelExportUtil.exportExcel(exportParams, AedRetrainExport.class, list); + ByteArrayOutputStream os = new ByteArrayOutputStream(); + workbook.write(os); + byte[] b = os.toByteArray(); + String suffixName = ".xlsx"; + ByteArrayInputStream in = new ByteArrayInputStream(b); +// String path = "C:\\Users\\stan\\Desktop\\test\\"+fileName+".xlsx"; +// // 生成本地查看 +// try (FileOutputStream fileOutputStream = new FileOutputStream(path)) { +// workbook.write(fileOutputStream); +// } + String url = MyUploadUtil.upload(in, MyUploadUtil.IMPORT_BIZ, fileName + suffixName); + info1.setExportUrl(url); + workbook.close(); + os.close(); + + info1.setExportStatus(FINISH);//数据导出完成 + info1.setExportMsg("数据导出完成"); + info1.setHandleMsg(count + "/" + count); + info1.setHandleEndTime(new Date()); + } catch (Exception e) { + log.error(ExcelExportEnum.EXPORT_ERROR.getMsg(), e); + info1.setExportStatus(ERROR); + info1.setExportMsg(ExcelExportEnum.EXPORT_ERROR.getMsg()); + } finally { + sysBaseAPI.updateExportsInfo(info1); + } + } + + private List getData(Date startTime, Date endTime, String result) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if (ObjectUtil.isNotNull(startTime) && ObjectUtil.isNotNull(endTime)) { + queryWrapper.ge(AedEquipmentRetrain::getTrainDate, startTime) + .lt(AedEquipmentRetrain::getTrainDate, DateUtil.offsetDay(endTime, 1)); + } + if (StrUtil.isNotBlank(result)) { + queryWrapper.eq(AedEquipmentRetrain::getReTrainStatus, result); + } + List list = list(queryWrapper); + if (CollectionUtil.isEmpty(list)) { + return Collections.emptyList(); + } + List data = new ArrayList<>(); + GlobalUtils.convertList(list, data, AedRetrainExport.class); + return data; + } +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedEquipmentTrainServiceImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedEquipmentTrainServiceImpl.java new file mode 100644 index 0000000..477fc48 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedEquipmentTrainServiceImpl.java @@ -0,0 +1,175 @@ +package com.renkang.emergency.aed.service.impl; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.renkang.emergency.aed.entity.AedEquipmentTrain; +import com.renkang.emergency.aed.mapper.AedEquipmentTrainMapper; +import com.renkang.emergency.aed.service.IAedEquipmentTrainService; +import com.renkang.emergency.aed.util.OrgUtils; +import com.renkang.emergency.aed.vo.req.AedTrainExport; +import com.renkang.emergency.aed.vo.res.train.AEDTrainPageRes; +import org.apache.poi.ss.usermodel.Workbook; +import org.jeecg.common.system.api.ISysBaseAPI; +import org.jeecg.common.util.DateUtils; +import org.jeecg.common.util.MyUploadUtil; +import org.jeecg.global.GlobalUtils; +import org.jeecg.modules.exports.entity.CommonExportsInfo; +import org.jeecg.modules.manager.ISysCache; +import org.jeecg.modules.system.entity.SysDepart; +import org.jeecgframework.poi.excel.ExcelExportUtil; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.enmus.ExcelType; +import org.jeecgframework.poi.exception.excel.enums.ExcelExportEnum; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.task.AsyncTaskExecutor; +import org.springframework.stereotype.Service; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.util.Date; +import java.util.List; +import java.util.Optional; + +/** + * @Description: aed_equipment_train + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +@Service +public class AedEquipmentTrainServiceImpl extends ServiceImpl implements IAedEquipmentTrainService { + + // 现场培训 + private final String aedTrainFlag = "aedTrainFlag"; + // 现场演练 + private final String aedDrillFlag = "aedDrillFlag"; + // 导出数据中 + private final String DOING = "7"; + // 导出数据完成 + private final String FINISH = "8"; + private final String ERROR = "2"; + @Autowired + AedEquipmentTrainMapper aedEquipmentTrainMapper; + @Autowired + private OrgUtils orgUtils; + @Autowired + private ISysBaseAPI sysBaseAPI; + @Autowired + private AsyncTaskExecutor asyncTaskExecutor; + @Autowired + private ISysCache sysCache; + + @Override + public IPage queryPageList(Page page, String name, Integer type, String orgCode, Integer flag) { + IPage pageInfo = aedEquipmentTrainMapper.queryPageList(page, name, type, orgCode, flag); + if (CollectionUtil.isEmpty(pageInfo.getRecords())) { + return pageInfo; + } + pageInfo.getRecords().forEach(f -> { + if (StrUtil.isNotBlank(f.getOrgCode())) { + SysDepart secondDepart = sysCache.getDepartByOrgCode(GlobalUtils.getSecondDepartOrgCode(f.getOrgCode())); + SysDepart sysDepart = sysCache.getDepartByOrgCode(GlobalUtils.getThirdDepartOrgCode(f.getOrgCode())); + f.setSecondDepart(Optional.ofNullable(secondDepart).map(SysDepart::getDepartName).orElse("")); + f.setOrgName(Optional.ofNullable(sysDepart).map(SysDepart::getDepartName).orElse("")); + } + }); + return pageInfo; + } + + @Override + public void customExport(String name, String type, String departCode, String exportFlag) { + String sheetName; + String exportCode; + if ("1".equals(exportFlag)) { + sheetName = "aed培演记录-现场培训信息"; + exportCode = aedTrainFlag; + } else { + sheetName = "aed培演记录-现场演练信息"; + exportCode = aedDrillFlag; + } + Boolean flag = sysBaseAPI.getFinishFlagByCode(exportCode, DOING); + if (!flag) { + throw new RuntimeException("已存在执行中的导出任务,请稍后导出或点击【查看导出任务】查看任务导出进度!"); + } + String loginUserId = GlobalUtils.getLoginUser().getId(); + + // 异步执行导出 + asyncTaskExecutor.execute(() -> aedTrainTask(name, type, departCode, loginUserId, sheetName, exportCode, exportFlag)); + } + + private void aedTrainTask(String name, String type, String departCode, String loginUserId, String sheetName, String exportCode, String exportFlag) { + GlobalUtils.setFeignToken(); + CommonExportsInfo info = new CommonExportsInfo(); + info.setBatchNo(String.valueOf(new Date().getTime())); + info.setHandleMsg("0/0"); + info.setCreateBy(loginUserId); + info.setCreateDate(new Date()); + info.setExportMsg(""); + info.setTaskCode(exportCode); + info.setExportStatus(DOING);//数据导出中 + info.setHandleStartTime(new Date()); + CommonExportsInfo commonExportsInfo = sysBaseAPI.updateExportsInfo(info); + String id = commonExportsInfo.getId(); + + String fileName = sheetName + "_" + DateUtils.getDate("yyyyMMddHHmmss"); + CommonExportsInfo info1 = sysBaseAPI.getExportsInfoById(id); + + // 获取数据 + List list = getAedTrainData(name, type, departCode, exportFlag); + // 处理数据 + handleAedExportData(list); + int count = list.size(); + try { + ExportParams exportParams = new ExportParams(sheetName, sheetName); + exportParams.setType(ExcelType.XSSF); + Workbook workbook = ExcelExportUtil.exportExcel(exportParams, AedTrainExport.class, list); + ByteArrayOutputStream os = new ByteArrayOutputStream(); + workbook.write(os); + byte[] b = os.toByteArray(); + String suffixName = ".xlsx"; + ByteArrayInputStream in = new ByteArrayInputStream(b); +// String path = "C:\\Users\\stan\\Desktop\\test\\"+fileName+".xlsx"; +// // 生成本地查看 +// try (FileOutputStream fileOutputStream = new FileOutputStream(path)) { +// workbook.write(fileOutputStream); +// } + String url = MyUploadUtil.upload(in, MyUploadUtil.IMPORT_BIZ, fileName + suffixName); + info1.setExportUrl(url); + workbook.close(); + os.close(); + + info1.setExportStatus(FINISH);//数据导出完成 + info1.setExportMsg("数据导出完成"); + info1.setHandleMsg(count + "/" + count); + info1.setHandleEndTime(new Date()); + } catch (Exception e) { + log.error(ExcelExportEnum.EXPORT_ERROR.getMsg(), e); + info1.setExportStatus(ERROR); + info1.setExportMsg(ExcelExportEnum.EXPORT_ERROR.getMsg()); + } finally { + sysBaseAPI.updateExportsInfo(info1); + } + } + + private List getAedTrainData(String name, String type, String departCode, String exportFlag) { + // 1:现场培训 2:现场演练 + return getBaseMapper().trainInfo(name, type, departCode, exportFlag); + } + + private void handleAedExportData(List list) { + if (CollectionUtil.isEmpty(list)) { + return; + } + list.forEach(aedExport -> { + if (StrUtil.isNotBlank(aedExport.getDepartCode())) { + SysDepart depart = sysCache.getDepartByOrgCode(aedExport.getDepartCode()); + aedExport.setDepartName(Optional.ofNullable(depart).map(SysDepart::getDepartName).orElse("")); + } + }); + } + + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedLatestNewServiceImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedLatestNewServiceImpl.java new file mode 100644 index 0000000..db13a25 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedLatestNewServiceImpl.java @@ -0,0 +1,141 @@ +package com.renkang.emergency.aed.service.impl; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.renkang.emergency.aed.constant.AedEnumUtil; +import com.renkang.emergency.aed.entity.AedLatest; +import com.renkang.emergency.aed.mapper.AedLatestNewMapper; +import com.renkang.emergency.aed.service.IAedLatestNewService; +import com.renkang.emergency.aed.util.DateUtils; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @Description: aed_latest + * @Author: jeecg-boot + * @Date: 2023-12-12 + * @Version: V1.0 + */ +@Service +public class AedLatestNewServiceImpl extends ServiceImpl implements IAedLatestNewService { + + @Override + public IPage pageCustom(AedLatest aedLatest, Integer pageNo, Integer pageSize) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.orderByDesc(AedLatest::getCreateTime); + + if (StrUtil.isNotBlank(aedLatest.getAedModel())) { + queryWrapper.like(AedLatest::getAedModel, aedLatest.getAedModel()); + } + if (StrUtil.isNotBlank(aedLatest.getAedNo())) { + queryWrapper.like(AedLatest::getAedNo, aedLatest.getAedNo()); + } + // 时间筛选 + if (ObjectUtil.isNotNull(aedLatest.getTimeStart()) && ObjectUtil.isNotNull(aedLatest.getTimeEnd())) { + queryWrapper.ge(AedLatest::getCreateTime, aedLatest.getTimeStart()) + .lt(AedLatest::getCreateTime, DateUtil.offsetDay(aedLatest.getTimeEnd(), 1)); + } + + Page page = new Page<>(pageNo, pageSize); + IPage pageList = page(page, queryWrapper); + if (pageList == null || CollectionUtil.isEmpty(pageList.getRecords())) { + return pageList; + } + + // 数据解析 + pageList.getRecords().forEach(latest -> { + // 处理自检状态 + handleCheck(latest); + // 电极片状态 + handleStatusElectrodeSheet(latest); + // 电池状态 + handleStatusBattery(latest); + // 路由状态 + handleStatusRouter(latest); + + }); + + return pageList; + } + + private void handleStatusRouter(AedLatest latest) { + if (latest == null || StrUtil.isBlank(latest.getRouterVoltage())) { + return; + } + try { + BigDecimal data = new BigDecimal(latest.getRouterVoltage()); + if (data.compareTo(BigDecimal.valueOf(6.5)) < 0) { + latest.setRouterVoltageStatus(String.valueOf(AedEnumUtil.RouterPowerEnum.LOW.ordinal())); + } else { + latest.setRouterVoltageStatus(String.valueOf(AedEnumUtil.RouterPowerEnum.OK.ordinal())); + } + } catch (Exception e) { + log.error("路由电压状态解析错误", e); + } + } + + private void handleStatusBattery(AedLatest latest) { + if (latest == null || StrUtil.isBlank(latest.getBatteryPower())) { + return; + } + String result = latest.getBatteryPower(); + try { + String[] split = result.split("%"); + BigDecimal data = new BigDecimal(split[0]); + if (data.compareTo(BigDecimal.valueOf(5)) < 0) { + latest.setBatteryPowerStatus(String.valueOf(AedEnumUtil.BatteryPowerEnum.CHANGE.ordinal())); + } else if (data.compareTo(BigDecimal.valueOf(25)) < 0) { + latest.setBatteryPowerStatus(String.valueOf(AedEnumUtil.BatteryPowerEnum.LOW.ordinal())); + } else { + latest.setBatteryPowerStatus(String.valueOf(AedEnumUtil.BatteryPowerEnum.OK.ordinal())); + } + } catch (Exception e) { + log.error("aed组网数据推送解析错误{电量状态解析}", e); + } + + } + + private void handleStatusElectrodeSheet(AedLatest latest) { + if (latest == null || ObjectUtil.isNull(latest.getPadExpiration())) { + return; + } + Date padExpiration = latest.getPadExpiration(); + int date = DateUtils.numOfMonthsThatDiffer(padExpiration, new Date()); + if (date <= 0) { + latest.setPadExpirationStatus(String.valueOf(AedEnumUtil.ExpiredPowerEnum.EXPIRED.ordinal())); + } else if (date == 1) { + latest.setPadExpirationStatus(String.valueOf(AedEnumUtil.ExpiredPowerEnum.APPROACH.ordinal())); + } else { + latest.setPadExpirationStatus(String.valueOf(AedEnumUtil.ExpiredPowerEnum.OK.ordinal())); + } + } + + private void handleCheck(AedLatest latest) { + if (StrUtil.isBlank(latest.getAedStatus())) { + return; + } + switch (latest.getAedStatus()) { + case "00000000": + latest.setAedStatus(String.valueOf(AedEnumUtil.CheckEnum.OK.ordinal())); + break; + case "00010001": + latest.setAedStatus(String.valueOf(AedEnumUtil.CheckEnum.CANNOT_FIND.ordinal())); + break; + case "00010002": + latest.setAedStatus(String.valueOf(AedEnumUtil.CheckEnum.CANNOT_CONNECT.ordinal())); + break; + case "00010005": + latest.setAedStatus(String.valueOf(AedEnumUtil.CheckEnum.CANNOT_GET.ordinal())); + break; + default: + } + } +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedUseRecordNewServiceImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedUseRecordNewServiceImpl.java new file mode 100644 index 0000000..8c8bc9a --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedUseRecordNewServiceImpl.java @@ -0,0 +1,52 @@ +package com.renkang.emergency.aed.service.impl; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.renkang.emergency.aed.entity.AedUseRecord; +import com.renkang.emergency.aed.mapper.AedUseRecordNewMapper; +import com.renkang.emergency.aed.service.IAedUseRecordNewService; +import com.renkang.emergency.aed.util.OrgUtils; +import com.renkang.emergency.aed.vo.res.record.AEDUserRecordPageRes; +import org.jeecg.modules.system.entity.SysDepart; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Optional; + +; + +/** + * @Description: aed_use_record + * @Author: jeecg-boot + * @Date: 2024-01-30 + * @Version: V1.0 + */ +@Service +public class AedUseRecordNewServiceImpl extends ServiceImpl implements IAedUseRecordNewService { + + @Autowired + AedUseRecordNewMapper aedUseRecordNewMapper; + + @Autowired + OrgUtils orgUtils; + + @Override + public IPage queryPageList(Page page, String name, Integer type, String orgCode) { + IPage pageInfo = aedUseRecordNewMapper.queryPageList(page, name, type, orgCode); + if (CollectionUtil.isEmpty(pageInfo.getRecords())) { + return pageInfo; + } + pageInfo.getRecords().forEach(f -> { + if (StrUtil.isNotBlank(f.getOrgCode())) { + SysDepart sysDepart = orgUtils.getDepart(f.getOrgCode(), 3); + SysDepart secondDepart = orgUtils.getDepart(f.getOrgCode(), 2); + f.setOrgName(Optional.ofNullable(sysDepart).map(SysDepart::getDepartName).orElse("")); + f.setSecondDepart(Optional.ofNullable(secondDepart).map(SysDepart::getDepartName).orElse("")); + } + }); + return pageInfo; + } +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedWarnInfoNewServiceImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedWarnInfoNewServiceImpl.java new file mode 100644 index 0000000..15c197e --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/service/impl/AedWarnInfoNewServiceImpl.java @@ -0,0 +1,123 @@ +package com.renkang.emergency.aed.service.impl; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.renkang.emergency.aed.entity.AedWarnInfo; +import com.renkang.emergency.aed.mapper.AedWarnInfoNewMapper; +import com.renkang.emergency.aed.service.IAedWarnInfoNewService; +import org.jeecg.common.system.util.DictUtil; +import org.jeecg.common.system.vo.DictModel; +import org.jeecg.global.GlobalUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; +import java.util.Optional; + +/** + * @Description: aed_warn_info + * @Author: jeecg-boot + * @Date: 2023-12-12 + * @Version: V1.0 + */ +@Service +public class AedWarnInfoNewServiceImpl extends ServiceImpl implements IAedWarnInfoNewService { + + @Autowired + private DictUtil dictUtil; + + @Override + public IPage pageCustom(int pageNo, int pageSize, AedWarnInfo aedWarnInfo) { + Page pageParam = new Page<>(pageNo, pageSize); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.orderByDesc(AedWarnInfo::getCreateTime); + if (StrUtil.isNotBlank(aedWarnInfo.getAedModel())) { + queryWrapper.eq(AedWarnInfo::getAedModel, aedWarnInfo.getModule()); + } + if (StrUtil.isNotBlank(aedWarnInfo.getAedNo())) { + queryWrapper.eq(AedWarnInfo::getAedNo, aedWarnInfo.getAedNo()); + } + if (StrUtil.isNotBlank(aedWarnInfo.getModule())) { + queryWrapper.eq(AedWarnInfo::getModule, aedWarnInfo.getModule()); + } + + // 时间筛选 + if (ObjectUtil.isNotNull(aedWarnInfo.getTimeStart()) && ObjectUtil.isNotNull(aedWarnInfo.getTimeEnd())) { + queryWrapper.ge(AedWarnInfo::getCreateTime, aedWarnInfo.getTimeStart()) + .lt(AedWarnInfo::getCreateTime, DateUtil.offsetDay(aedWarnInfo.getTimeEnd(), 1)); + } + + Page page = page(pageParam, queryWrapper); + if (page == null || CollectionUtil.isEmpty(page.getRecords())) { + return new Page<>(); + } + + for (AedWarnInfo record : page.getRecords()) { + if (StrUtil.isBlank(record.getModule())) { + continue; + } + switch (record.getModule()) { + case "0": // 电池 + handleBatteryPower(record); + break; + case "1": // 路由 + handleRoutingPower(record); + break; + case "2": // 过期时间 + handleIsExpired(record); + break; + case "3": // 自检 + handleCheck(record); + break; + default: + } + } + return page; + } + + @Override + public boolean updateHandleInfo(int id, String warnInfo) { + AedWarnInfo info = new AedWarnInfo(); + info.setId(id); + info.setWarnStatus("1"); + info.setWarnHandleInfo(warnInfo); + return updateById(info); + } + + private String handleData(List models, String type) { + Map map = GlobalUtils.dictToMap(models); + return Optional.ofNullable(map.get(type)).orElse(type); + } + + private void handleCheck(AedWarnInfo record) { + List models = dictUtil.queryDictItemListByCode("aed_check_status"); + String translate = handleData(models, record.getType()); + record.setType(translate); + } + + private void handleIsExpired(AedWarnInfo record) { + List models = dictUtil.queryDictItemListByCode("aed_electrode_sheet_status"); + String translate = handleData(models, record.getType()); + record.setType(translate); + } + + private void handleRoutingPower(AedWarnInfo record) { + List models = dictUtil.queryDictItemListByCode("aed_router_status"); + String translate = handleData(models, record.getType()); + record.setType(translate); + + } + + private void handleBatteryPower(AedWarnInfo record) { + List models = dictUtil.queryDictItemListByCode("aed_battery_status"); + String translate = handleData(models, record.getType()); + record.setType(translate); + } +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/util/AEDUtils.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/util/AEDUtils.java new file mode 100644 index 0000000..646f49e --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/util/AEDUtils.java @@ -0,0 +1,41 @@ +package com.renkang.emergency.aed.util; + +import cn.hutool.core.util.ObjectUtil; +import com.renkang.emergency.aed.constant.Constants; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.geo.Point; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Component; + +@Slf4j +@Component +public class AEDUtils { + + @Autowired + private RedisTemplate redisTemplate; + + /** + * 添加坐标 + * + * @param longitude 经度 + * @param latitude 纬度 + * @param id 标识 + */ + public void addGeo(Double longitude, Double latitude, Long id) { + if (longitude == null || latitude == null) { + return; + } + Point point = new Point(longitude, latitude); + redisTemplate.opsForGeo().add(Constants.AED_REDIS_KEY, point, id); + } + + public void removeGeo(Long id) { + if (ObjectUtil.isNull(id)) { + return; + } + redisTemplate.opsForGeo().remove(Constants.AED_REDIS_KEY, id); + } + + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/util/DateUtils.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/util/DateUtils.java new file mode 100644 index 0000000..4f80991 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/util/DateUtils.java @@ -0,0 +1,164 @@ +package com.renkang.emergency.aed.util; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; + +import java.text.ParseException; +import java.text.ParsePosition; +import java.text.SimpleDateFormat; +import java.time.DayOfWeek; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.List; + +/** + * @author Junqiang Zhu + * @date 2023-04-26 14:14 + */ +public class DateUtils { + + private DateUtils() { + + } + + /** + * 查询当下是上午还是下午 + * + * @param date 时间 + * @return 0:上午 1:下午 -1:未知 + */ + public static int amOrPm(Date date) { + int hour = DateUtil.hour(date, true); + return hour > 12 ? 1 : 0; + } + + public static int weekDay(Date date) { + int week = DateUtil.dayOfWeek(date); + return week == 1 ? 7 : week - 1; + } + + /** + * 时间2 是否比 时间1 小 how 分钟 + * + * @param date1 时间1 + * @param date2 时间2 + * @param how 多少分钟 + * @return true/false + */ + public static boolean ltFixedMinute(Date date1, Date date2, int how) { + long result = DateUtils.timeDifferenceMinutes(date1, date2); + return result <= 1000L * 60 * how; + } + + /** + * 时间2 是否比 时间1 大 how 分钟 + * + * @param date1 时间1 + * @param date2 时间2 + * @param how 多少分钟 + * @return true/false + */ + public static boolean gtFixedMinute(Date date1, Date date2, int how) { + return !ltFixedMinute(date1, date2, how); + } + + public static long timeDifferenceMinutes(Date date1, Date date2) { + if (ObjectUtil.isNull(date1)) { + return -1; + } + if (ObjectUtil.isNull(date2)) { + return date1.getTime(); + } + + return date2.getTime() - date1.getTime(); + } + + + /** + * 字符串时间格式转为 Date格式 + * + * @param str 字符串日期 + * @param pattern 转换的格式 例:yyyy-MM-dd + * @return + */ + public static Date strConverDate(String str, String pattern) { + if (str == null) { + return null; + } + SimpleDateFormat sdf = new SimpleDateFormat(pattern); + //从第一个字符开始解析 + ParsePosition pos = new ParsePosition(0); + return sdf.parse(str, pos); + } + + public static List getAllDatesForDayOfWeek(int year, int month, DayOfWeek dayOfWeek) { + List dates = new ArrayList<>(); + + LocalDate date = LocalDate.of(year, month, 1); + while (date.getMonthValue() == month) { + if (date.getDayOfWeek() == dayOfWeek) { + dates.add(date); + } + date = date.plusDays(1); + } + + return dates; + } + + public static List monthAllDayOfTheWeek(int year, int month, int week) { + + DayOfWeek dayOfWeek = DateUtils.convertToDayOfWeek(week); + List allDatesForDayOfWeek = DateUtils.getAllDatesForDayOfWeek(year, month, dayOfWeek); + + List result = new ArrayList<>(); + for (LocalDate date : allDatesForDayOfWeek) { + result.add(date.getDayOfMonth()); + } + + return result; + } + + public static DayOfWeek convertToDayOfWeek(int dayNumber) { + // 将数字转换为合法的星期几值 + int normalizedDayNumber = (dayNumber + 6) % 7; + // 使用DayOfWeek枚举的of方法转换为DayOfWeek对象 + return DayOfWeek.of(normalizedDayNumber + 1); + } + + /** + * 两个日期相差的月份 + * + * @param one 参数1 + * @param two 参数2 + * @return int + */ + public static int numOfMonthsThatDiffer(Date one, Date two) { + Calendar calendarOne = Calendar.getInstance(); + calendarOne.setTime(one); + + Calendar calendarTwo = Calendar.getInstance(); + calendarTwo.setTime(two); + + int yearDiff = calendarTwo.get(Calendar.YEAR) - calendarOne.get(Calendar.YEAR); + int monthDiff = calendarTwo.get(Calendar.MONTH) - calendarOne.get(Calendar.MONTH); + + return (yearDiff * 12 + monthDiff) * -1; +// return yearDiff * 12 + monthDiff; + } + + public static void main(String[] args) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM"); + try { + Date date1 = dateFormat.parse("2023-9"); + Date date2 = new Date(); + + int monthsDiff = numOfMonthsThatDiffer(date1, date2); + System.out.println("相差的月份数: " + monthsDiff); + } catch (ParseException e) { + throw new RuntimeException(e); + } + } + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/util/OrgUtils.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/util/OrgUtils.java new file mode 100644 index 0000000..e5ef4ef --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/util/OrgUtils.java @@ -0,0 +1,77 @@ +package com.renkang.emergency.aed.util; + +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.renkang.emergency.aed.common.Dept; +import org.jeecg.global.GlobalUtils; +import org.jeecg.modules.manager.ISysCache; +import org.jeecg.modules.system.entity.SysDepart; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Component +public class OrgUtils { + + + @Autowired + private ISysCache sysCache; + + /** + * 批量组装部门信息 + * + * @param orgCodes 部门code集合 + * @return 部门名称集合 + */ + public Map setOrgCodeNames(List orgCodes) { + Map map = new HashMap<>(); + orgCodes.forEach(orgCode -> { + + Dept dept = new Dept(); + String unitCode = orgCode.substring(0, Math.min(orgCode.length(), 6)); + String deptCode = orgCode.substring(0, Math.min(orgCode.length(), 9)); + SysDepart unit = sysCache.getDepartByOrgCode(orgCode); + SysDepart depart = sysCache.getDepartByOrgCode(deptCode); + dept.setOrgCode(unitCode); + dept.setDeptCode(deptCode); + if (ObjectUtil.isNotNull(unit)) { + String orgName = depart.getDepartName(); + dept.setOrgName(orgName); + } + + if (ObjectUtil.isNotNull(unit)) { + String orgName = depart.getDepartName(); + dept.setDeptName(orgName); + } + map.put(orgCode, dept); + }); + return map; + } + + + /** + * 获取code表示的部门 + * + * @param orgCode 部门code + * @param level 部门等级 2:二级部门 3:三级部门 -1:当前部门 + * @return 部门 + */ + public SysDepart getDepart(String orgCode, int level) { + if (StrUtil.isBlank(orgCode)) { + return null; + } + switch (level) { + case -1: + return sysCache.getDepartByOrgCode(orgCode); + case 2: + return sysCache.getDepartByOrgCode(GlobalUtils.getSecondDepartOrgCode(orgCode)); + case 3: + return sysCache.getDepartByOrgCode(GlobalUtils.getThirdDepartOrgCode(orgCode)); + default: + return null; + } + } +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/util/ResourceUtils.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/util/ResourceUtils.java new file mode 100644 index 0000000..276ef03 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/util/ResourceUtils.java @@ -0,0 +1,43 @@ +package com.renkang.emergency.aed.util; + +import org.springframework.data.geo.Point; + +import java.math.BigDecimal; +import java.math.RoundingMode; + +/** + * @author Jiang Shunzhi + * @date 2022/12/8 + */ +public class ResourceUtils { + + public static double EARTH_RADIUS = 6371000; + + public static String getTypeString(Long type) { + switch (type.intValue()) { + case 1: + return "aed"; + case 2: + return "medical"; + case 3: + return "ambulance"; + case 4: + return "hospital"; + case 5: + return "paramedic"; + default: + return ""; + } + } + + public static double geoDistance(Point p1, Point p2) { + double radLat1 = Math.toRadians(p1.getY()); + double radLat2 = Math.toRadians(p2.getY()); + double a = radLat1 - radLat2; + double b = Math.toRadians(p1.getX()) - Math.toRadians(p2.getX()); + double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2))); + s = s * EARTH_RADIUS; + return BigDecimal.valueOf(s).setScale(0, RoundingMode.HALF_UP).doubleValue(); + } + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedCertificateExport.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedCertificateExport.java new file mode 100644 index 0000000..389a808 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedCertificateExport.java @@ -0,0 +1,44 @@ +package com.renkang.emergency.aed.vo.req; + +import cn.hutool.core.date.DateUtil; +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.util.Date; + +/** + * 取证人员导出 + * + * @author Junqiang Zhu + * @date 2024-03-06 11:05 + */ +@Data +public class AedCertificateExport { + + @Excel(name = "单位", width = 15) + private String unit; + @Excel(name = "部门", width = 15) + private String dept; + @Excel(name = "姓名", width = 15) + private String name; + @Excel(name = "性别", dicCode = "sex2", width = 15) + private String sex; + @Excel(name = "年龄", width = 15) + private Integer age; + @Excel(name = "证书编号", width = 15) + private String certificateNo; + + // 生日 + private Date birthday; + + public Integer getAge() { + if (birthday == null) { + return null; + } + try { + return DateUtil.ageOfNow(birthday); + } catch (Exception e) { + return null; + } + } +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedEquipmentMaintainReq.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedEquipmentMaintainReq.java new file mode 100644 index 0000000..4a1a2d3 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedEquipmentMaintainReq.java @@ -0,0 +1,172 @@ +package com.renkang.emergency.aed.vo.req; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.Date; + + +@Data +public class AedEquipmentMaintainReq { + + /** + * 主键 + */ + @TableId(type = IdType.ASSIGN_ID) + @Schema(title = "主键") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long id; + /** + * 设备id + */ + @Excel(name = "设备id", width = 15) + @Schema(title = "设备id") + @JsonFormat(shape = JsonFormat.Shape.STRING) + @NotNull(message = "请选择设备,设备不能为空") + private Long equipmentId; + /** + * 维护日期 + */ + @Excel(name = "维护日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "维护日期") + @NotNull(message = "请选择维护日期,维护日期不能为空") + private Date maintainDate; + /** + * 维护人 + */ + @Excel(name = "维护人", width = 15) + @Schema(title = "维护人") + @NotBlank(message = "请输入维护人,维护人不能为空") + private String maintainUser; + /** + * 维护人电话 + */ + @Excel(name = "维护人电话", width = 15) + @Schema(title = "维护人电话") + @NotBlank(message = "请输入维护人电话,维护人电话不能为空") + private String maintainUserTel; + /** + * 维护方 + */ + @Excel(name = "维护方", width = 15) + @Schema(title = "维护方") + @NotBlank(message = "请输入维护方,维护方不能为空") + private String maintainUnit; + + + /** + * 外观是否完好 + */ + @Excel(name = "外观是否完好", width = 15) + @Schema(title = "外观是否完好") + private String appearance; + /** + * 按钮开关是否正常工作 + */ + @Excel(name = "按钮开关是否正常工作", width = 15) + @Schema(title = "按钮开关是否正常工作") + private String switchFlag; + /** + * 电池电量是否充足 + */ + @Excel(name = "电池电量是否充足", width = 15) + @Schema(title = "电池电量是否充足") + private String battery; + /** + * 耗材是否无损 + */ + @Excel(name = "耗材是否无损", width = 15) + @Schema(title = "耗材是否无损") + private String consumable; + /** + * 电池是否再有效期内 + */ + @Excel(name = "电池是否再有效期内", width = 15) + @Schema(title = "电池是否再有效期内") + private String batteryValidity; + /** + * 标志标识清晰或模糊 + */ + @Excel(name = "标志标识清晰或模糊", width = 15) + @Schema(title = "标志标识清晰或模糊") + private String identification; + + /** + * 电极片是否完好 + */ + @Excel(name = "电极片是否完好", width = 15) + @Schema(title = "电极片是否完好") + private String electrode; + + /** + * 警报器是否完好 + */ + @Excel(name = "警报器是否完好", width = 15) + @Schema(title = "警报器是否完好") + private String siren; + + /** + * 电极片是否在有效期内 + */ + @Excel(name = "电极片是否在有效期内", width = 15) + @Schema(title = "电极片是否在有效期内") + private String electrodeValidity; + + + /** + * 电池是否完好 + */ + @Excel(name = "电池是否完好", width = 15) + @Schema(title = "电池是否完好") + private String batteryFlag; + + + /** + * 删除状态(0-正常,1-已删除) + */ + @Excel(name = "删除状态(0-正常,1-已删除)", width = 15) + @Schema(title = "删除状态(0-正常,1-已删除)") + @TableLogic + private Integer delFlag; + /** + * 创建人 + */ + @Schema(title = "创建人") + private String createBy; + /** + * 创建时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(title = "创建时间") + private Date createTime; + /** + * 更新人 + */ + @Schema(title = "更新人") + private String updateBy; + /** + * 更新时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(title = "更新时间") + private Date updateTime; + + /** + * 设备状态 + */ + @Excel(name = "设备状态", width = 15) + @Schema(title = "设备状态") + private Integer status; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedExport.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedExport.java new file mode 100644 index 0000000..558af03 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedExport.java @@ -0,0 +1,47 @@ +package com.renkang.emergency.aed.vo.req; + +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.util.Date; + +/** + * @author Junqiang Zhu + * @date 2024-03-06 11:05 + */ +@Data +public class AedExport { + @Excel(name = "设备名称", width = 15) + private String name; + private String departCode; + @Excel(name = "所属部门", width = 15) + private String departName; + @Excel(name = "品牌", width = 15) + private String brand; + @Excel(name = "设备编号", width = 15) + private String hostSerialNum; + @Excel(name = "类型", dicCode = "intervene_aed_type", width = 15) + private String type; + @Excel(name = "入库日期", width = 15, format = "yyyy-MM-dd") + private Date inStorageDate; + @Excel(name = "电池电量", width = 15) + private String electricQuantity; + @Excel(name = "电池有效期", width = 15, format = "yyyy-MM-dd") + private Date batteryLife; + @Excel(name = "电极片是否完好", dicCode = "aed_electrode_is_ok", width = 15) + private String electrodeIsOk; + @Excel(name = "电极片有效期", width = 15, format = "yyyy-MM-dd") + private Date electrodeSheetValidTime; + @Excel(name = "操作图片", width = 15) + private String operateInstruction; + @Excel(name = "操作视频", width = 15) + private String operateVideo; + @Excel(name = "管理部门", width = 15) + private String manageDepartName; + @Excel(name = "管理人", width = 15) + private String manageUserName; + @Excel(name = "管理电话", width = 15) + private String manageUserMobile; + @Excel(name = "厂家电话", width = 15) + private String mfrsMobile; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedMaintainExport.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedMaintainExport.java new file mode 100644 index 0000000..5cdc8e4 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedMaintainExport.java @@ -0,0 +1,65 @@ +package com.renkang.emergency.aed.vo.req; + +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.util.Date; + +/** + * @author Junqiang Zhu + * @date 2024-03-06 11:05 + */ +@Data +public class AedMaintainExport { + // 设备信息 + @Excel(name = "设备名称", width = 15) + private String name; + private String departCode; + @Excel(name = "所属部门", width = 15) + private String departName; + @Excel(name = "设备编号", width = 15) + private String hostSerialNum; + @Excel(name = "安装位置", width = 15) + private String installAddress; + @Excel(name = "状态", dicCode = "intervene_aed_status", width = 15) + private String status; + @Excel(name = "布点日期", width = 15, format = "yyyy-MM-dd") + private Date installTime; + @Excel(name = "管理部门", width = 15) + private String manageDepartName; + @Excel(name = "管理人", width = 15) + private String manageUserName; + @Excel(name = "管理人电话", width = 15) + private String manageUserMobile; + + // 维护信息 + @Excel(name = "维护人", width = 15) + private String maintainUser; + @Excel(name = "维护人电话", width = 15) + private String maintainUserTel; + @Excel(name = "维护方", width = 15) + private String maintainUnit; + @Excel(name = "维护时间", width = 15, format = "yyyy-MM-dd") + private Date maintainDate; + @Excel(name = "外观是否完好", width = 25) + private String appearance; + @Excel(name = "按钮开关是否正常工作", width = 25) + private String switchFlag; + @Excel(name = "电池电量是否充足", width = 25) + private String battery; + @Excel(name = "电池是否完好", width = 25) + private String batteryFlag; + @Excel(name = "耗材是否无损", width = 25) + private String consumable; + @Excel(name = "电池是否再有效期内", width = 25) + private String batteryValidity; + @Excel(name = "标志标识清晰或模糊", width = 25) + private String identification; + @Excel(name = "电极片是否完好", width = 25) + private String electrode; + @Excel(name = "警报器是否完好", width = 25) + private String siren; + @Excel(name = "电极片是否在有效期内", width = 25) + private String electrodeValidity; + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedPublishExport.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedPublishExport.java new file mode 100644 index 0000000..d04fc3d --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedPublishExport.java @@ -0,0 +1,45 @@ +package com.renkang.emergency.aed.vo.req; + +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.util.Date; + +/** + * 布点信息导出 + * + * @author Junqiang Zhu + * @date 2024-03-06 11:05 + */ +@Data +public class AedPublishExport { + @Excel(name = "设备名称", width = 15) + private String name; + private String departCode; + @Excel(name = "所属部门", width = 15) + private String departName; + @Excel(name = "设备编号", width = 15) + private String hostSerialNum; + @Excel(name = "安装位置", width = 15) + private String installAddress; + @Excel(name = "状态", dicCode = "intervene_aed_status", width = 15) + private String status; + @Excel(name = "布点日期", width = 15, format = "yyyy-MM-dd") + private Date installTime; + @Excel(name = "管理部门", width = 15) + private String manageDepartName; + @Excel(name = "管理人", width = 15) + private String manageUserName; + @Excel(name = "管理人电话", width = 15) + private String manageUserMobile; + @Excel(name = "责任人1", width = 15) + private String chargeFirst; + @Excel(name = "责任人1电话", width = 15) + private String chargeFirstMobile; + @Excel(name = "责任人2", width = 15) + private String chargeSecond; + @Excel(name = "责任人2电话", width = 15) + private String chargeSecondMobile; + @Excel(name = "覆盖人数", width = 15) + private String coverUserNum; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedRetrainExport.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedRetrainExport.java new file mode 100644 index 0000000..1225717 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedRetrainExport.java @@ -0,0 +1,30 @@ +package com.renkang.emergency.aed.vo.req; + +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.util.Date; + +/** + * 复训记录导出 + * + * @author Junqiang Zhu + * @date 2024-03-06 11:05 + */ +@Data +public class AedRetrainExport { + @Excel(name = "培训日期", width = 20, format = "yyyy-MM-dd HH:mm:ss") + private Date trainDate; + @Excel(name = "培训地点", width = 15) + private String address; + @Excel(name = "参训人数", width = 15) + private String userNums; + @Excel(name = "复训效果", dicCode = "aed_retrain_effect", width = 15) + private Integer reTrainStatus; + @Excel(name = "现场图片", width = 15) + private String sitePic; + @Excel(name = "现场视频", width = 15) + private String siteVideo; + + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedTrainExport.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedTrainExport.java new file mode 100644 index 0000000..f0b3d84 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/AedTrainExport.java @@ -0,0 +1,47 @@ +package com.renkang.emergency.aed.vo.req; + +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.util.Date; + +/** + * @author Junqiang Zhu + * @date 2024-03-06 11:05 + */ +@Data +public class AedTrainExport { + // 设备信息 + @Excel(name = "设备名称", width = 15) + private String name; + private String departCode; + @Excel(name = "所属部门", width = 15) + private String departName; + @Excel(name = "设备编号", width = 15) + private String hostSerialNum; + @Excel(name = "安装位置", width = 15) + private String installAddress; + @Excel(name = "状态", dicCode = "intervene_aed_status", width = 15) + private String status; + + // 培训信息 + @Excel(name = "培训日期", width = 15, format = "yyyy-MM-dd") + private Date trainDate; + @Excel(name = "参加人数", width = 15) + private Integer joinNums; + @Excel(name = "负责人1", width = 15) + private String chargeUser1; + @Excel(name = "负责人2", width = 15) + private String chargeUser2; + @Excel(name = "现场签到表", width = 15) + private String siteSignSheet; + @Excel(name = "现场图片", width = 15) + private String sitePic; + @Excel(name = "现场视频", width = 15) + private String siteVideo; + @Excel(name = "培演资料", width = 15) + private String siteProfile; + @Excel(name = "培演效果", dicCode = "aed_train_result", width = 25) + private String effect; + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/maintain/AedEquipmentMaintainReq.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/maintain/AedEquipmentMaintainReq.java new file mode 100644 index 0000000..ff7ffb1 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/maintain/AedEquipmentMaintainReq.java @@ -0,0 +1,141 @@ +package com.renkang.emergency.aed.vo.req.maintain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.Date; + + +@Data +public class AedEquipmentMaintainReq { + + /** + * 主键 + */ + @TableId(type = IdType.ASSIGN_ID) + @Schema(title = "主键") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long id; + /** + * 设备id + */ + @Excel(name = "设备id", width = 15) + @Schema(title = "设备id") + @JsonFormat(shape = JsonFormat.Shape.STRING) + @NotNull(message = "请选择设备,设备不能为空") + private Long equipmentId; + /** + * 维护日期 + */ + @Excel(name = "维护日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "维护日期") + @NotNull(message = "请选择维护日期,维护日期不能为空") + private Date maintainDate; + /** + * 维护人 + */ + @Excel(name = "维护人", width = 15) + @Schema(title = "维护人") + @NotBlank(message = "请输入维护人,维护人不能为空") + private String maintainUser; + /** + * 维护人电话 + */ + @Excel(name = "维护人电话", width = 15) + @Schema(title = "维护人电话") + @NotBlank(message = "请输入维护人电话,维护人电话不能为空") + private String maintainUserTel; + /** + * 维护方 + */ + @Excel(name = "维护方", width = 15) + @Schema(title = "维护方") + @NotBlank(message = "请输入维护方,维护方不能为空") + private String maintainUnit; + + + /** + * 外观是否完好 + */ + @Excel(name = "外观是否完好", width = 15) + @Schema(title = "外观是否完好") + private String appearance; + /** + * 按钮开关是否正常工作 + */ + @Excel(name = "按钮开关是否正常工作", width = 15) + @Schema(title = "按钮开关是否正常工作") + private String switchFlag; + /** + * 电池电量是否充足 + */ + @Excel(name = "电池电量是否充足", width = 15) + @Schema(title = "电池电量是否充足") + private String battery; + /** + * 耗材是否无损 + */ + @Excel(name = "耗材是否无损", width = 15) + @Schema(title = "耗材是否无损") + private String consumable; + /** + * 是否再有效期内 + */ + @Excel(name = "是否再有效期内", width = 15) + @Schema(title = "是否再有效期内") + private String validity; + /** + * 标志标识清晰或模糊 + */ + @Excel(name = "标志标识清晰或模糊", width = 15) + @Schema(title = "标志标识清晰或模糊") + private String identification; + /** + * 删除状态(0-正常,1-已删除) + */ + @Excel(name = "删除状态(0-正常,1-已删除)", width = 15) + @Schema(title = "删除状态(0-正常,1-已删除)") + @TableLogic + private Integer delFlag; + /** + * 创建人 + */ + @Schema(title = "创建人") + private String createBy; + /** + * 创建时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(title = "创建时间") + private Date createTime; + /** + * 更新人 + */ + @Schema(title = "更新人") + private String updateBy; + /** + * 更新时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(title = "更新时间") + private Date updateTime; + + /** + * 设备状态 + */ + @Excel(name = "设备状态", width = 15) + @Schema(title = "设备状态") + private Integer status; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/manager/AEDManagerInsertReq.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/manager/AEDManagerInsertReq.java new file mode 100644 index 0000000..26a9efd --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/manager/AEDManagerInsertReq.java @@ -0,0 +1,245 @@ +package com.renkang.emergency.aed.vo.req.manager; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.Date; + +/** + * 设备管理新增请求body,添加校验 + */ +@Data +public class AEDManagerInsertReq { + + /** + * 主键 + */ + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long id; + + /** + * 所属部门 + */ + @Excel(name = "所属部门", width = 15) + @NotBlank(message = "请选择所属部门,所属部门不能为空") + @Schema(title = "所属部门") + private String departCode; + /** + * 设备名称 + */ + @Excel(name = "设备名称", width = 15) + @NotBlank(message = "请输入设备名称,设备名称不能为空") + @Schema(title = "设备名称") + private String name; + /** + * 品牌 + */ + @Excel(name = "品牌", width = 15) + @Schema(title = "品牌") + private String brand; + /** + * 型号 + */ + @Excel(name = "型号", width = 15) + @Schema(title = "型号") + private String hostModel; + + /** + * 编号 + */ + private String hostSerialNum; + + // 摄像头序列号 + private String cameraNum; + // 摄像头验证码 + private String cameraCode; + // 厂家 + private String mfrsName; + /** + * 来源字典 设备类型 1:立式 ,2:挂式,3:车载 + */ + @Excel(name = "来源字典 设备类型 1:立式 ,2:挂式,3:车载", width = 15) +// @NotNull(message = "请选择设备类型,设备类型不能为空") + @Schema(title = "来源字典 设备类型 1:立式 ,2:挂式,3:车载") + private Integer type; + /** + * 入库日期 + */ + @Excel(name = "入库日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "入库日期") +// @NotNull(message = "请选择入库日期,入库日期不能为空") + private Date inStorageDate; + /** + * 操作图片(文件路径) + */ + @Excel(name = "操作图片(文件路径)", width = 15) + @Schema(title = "操作图片(文件路径)") +// @NotBlank(message = "请上传操作图片,操作图片不能为空") + private String operateInstruction; + /** + * 操作视频(文件路径) + */ + @Excel(name = "操作视频(文件路径)", width = 15) + @Schema(title = "操作视频(文件路径)") +// @NotBlank(message = "请上传操作视频,操作视频不能为空") + private String operateVideo; + /** + * 免责说明(文件路径) + */ + @Excel(name = "免责说明(文件路径)", width = 15) +// @NotBlank(message = "请上传免责说明,免责说明不能为空") + @Schema(title = "免责说明(文件路径)") + private String disclaimer; + + /** + * 厂家电话 + */ + @Excel(name = "厂家电话", width = 15) + @Schema(title = "厂家电话") +// @NotBlank(message = "请输入厂家电话,厂家电话不能为空") + private String mfrsMobile; + + /** + * 出厂日期 + */ + @Excel(name = "出厂日期", width = 20, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "出厂日期") +// @NotNull(message = "请选择出厂日期,出厂日期不能为空") + private Date outFactoryDate; + /** + * 电极片状态 + */ + @Excel(name = "电极片状态", width = 15) + private Integer electrodeSheetStatus; + + /** + * 电极是否完好 1:完好 2:确实 + */ + @Excel(name = "电极是否完好 1:完好 2:确实", width = 15) +// @NotNull(message = "请选择电极是否完好,电极是否完好不能为空") + private String electrodeIsOk; + /** + * 电池有效期 + */ + @Excel(name = "电池有效期", width = 20, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "电池有效期") +// @NotNull(message = "请选择电池有效期,电池有效期不能为空") + private Date batteryLife; + /** + * 电极有效期 + */ + @Excel(name = "电极有效期", width = 20, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "电极有效期") +// @NotNull(message = "请选择电极有效期,电极有效期不能为空") + private Date electrodeSheetValidTime; + + /** + * 电量 + */ + @Excel(name = "电量", width = 15) + @Schema(title = "电量") +// @NotBlank(message = "请输入电量,电量不能为空") + private String electricQuantity; + + /** + * 路由器型号 + */ + @Excel(name = "路由器型号", width = 15) + @Schema(title = "路由器型号") + private String routerModel; + /** + * 路由器序列号 + */ + @Excel(name = "路由器序列号", width = 15) + @Schema(title = "路由器序列号") + private String routerSerialNum; + /** + * 电池型号 + */ + @Excel(name = "电池型号", width = 15) + @Schema(title = "电池型号") + private String batteryModel; + /** + * 电池电压 + */ + @Excel(name = "电池电压", width = 15) + @Schema(title = "电池电压") + private Double batteryVoltage; + + /** + * 质保开始时间 + */ + @Excel(name = "质保开始时间", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "质保开始时间") + private Date warrantyStartDate; + /** + * 质保结束时间 + */ + @Excel(name = "质保结束时间", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "质保结束时间") + private Date warrantyEndDate; + + /** + * 设备编号 + */ + @Excel(name = "设备编号", width = 15) + @Schema(title = "设备编号") + private String code; + + /** + * 状态(1-正常,2-冻结) + */ + @Excel(name = "状态(1-正常,2-维护中)", width = 15) + @Schema(title = "状态(1-正常,2-维护中)") +// @NotNull(message = "请选择状态,状态不能为空") + private Integer status; + + /** + * 是否已布点,1:是,0:否 + */ + @Excel(name = "是否已布点,1:是,0:否", width = 15) + @Schema(title = "是否已布点,1:是,0:否") + private Integer publishFlag; + + /** + * 管理人员id + */ + @Excel(name = "管理人员id", width = 15) + @Schema(title = "管理人员id") + private String manageUserId; + /** + * 管理人员 + */ + @Excel(name = "管理人员", width = 15) + @Schema(title = "管理人员") + private String manageUserName; + /** + * 管理人员电话 + */ + @Excel(name = "管理人员电话", width = 15) + @Schema(title = "管理人员电话") + private String manageUserMobile; + + /** + * 管理部门 + */ + private String controlOrgName; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/manager/AEDPublishEquipmentReq.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/manager/AEDPublishEquipmentReq.java new file mode 100644 index 0000000..da3c65d --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/req/manager/AEDPublishEquipmentReq.java @@ -0,0 +1,94 @@ +package com.renkang.emergency.aed.vo.req.manager; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.Date; + +/** + * 布点设备新增 + */ +@Data +public class AEDPublishEquipmentReq { + + /** + * 主键 + */ + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long id; + + /** + * 原设备id + */ + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long oldId; + /** + * 布点日期 + */ + @Excel(name = "布点日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "布点日期") + @NotNull(message = "布点日期不能为空,请选择布点日期") + private Date installTime; + /** + * 布点位置 + */ + @Excel(name = "布点位置", width = 15) + @Schema(title = "布点位置") + @NotBlank(message = "布点位置不能为空,请输入布点位置") + private String installAddress; + + /** + * 布点位置图片,多个以逗号隔开 + */ + @Schema(title = "布点位置图片") + private String installAddressImg; + /** + * 经度 + */ + @Excel(name = "经度", width = 15) + @Schema(title = "经度") + @NotNull(message = "经度不能为空,请输入经度") + private Double longitude; + /** + * 纬度 + */ + @Excel(name = "纬度", width = 15) + @Schema(title = "纬度") + @NotNull(message = "纬度不能为空,请输入纬度") + private Double latitude; + /** + * 覆盖人数 + */ + @Excel(name = "覆盖人数", width = 15) + @Schema(title = "覆盖人数") + @NotNull(message = "纬度不能为空,请输入纬度") + private Integer coverUserNum; + @Excel(name = "负责人1", width = 15) + private String chargeFirst; + @Excel(name = "负责人1电话", width = 15) + private String chargeFirstMobile; + @Excel(name = "负责人2", width = 15) + private String chargeSecond; + @Excel(name = "负责人2电话", width = 15) + private String chargeSecondMobile; + + /** + * 是否已布点,1:是,0:否 + */ + @Excel(name = "是否已布点,1:是,0:否", width = 15) + @Schema(title = "是否已布点,1:是,0:否") + private Integer publishFlag; + + + // 摄像头序列号 + private String cameraNum; + // 摄像头验证码 + private String cameraCode; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/res/maintain/AedEquipmentMaintainRes.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/res/maintain/AedEquipmentMaintainRes.java new file mode 100644 index 0000000..2bb56b0 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/res/maintain/AedEquipmentMaintainRes.java @@ -0,0 +1,167 @@ +package com.renkang.emergency.aed.vo.res.maintain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +public class AedEquipmentMaintainRes { + + /** + * 主键 + */ + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long id; + + /** + * 设备id + */ + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long equipmentId; + + /** + * 设备名称 + */ + @Excel(name = "设备名称", width = 15) + private String name; + + /** + * 所属部门 + */ + private String orgCode; + /** + * 所属单位名称 + */ + @Excel(name = "所属单位", width = 15) + private String secondDepart; + + + /** + * 所属部门名称 + */ + @Excel(name = "所属部门", width = 15) + private String orgName; + + /** + * 设备编号 + */ + @Excel(name = "设备编号", width = 15) + private String code; + /** + * 型号 + */ + @Excel(name = "设备型号", width = 15) + private String hostModel; + /** + * 序列号 + */ + @Excel(name = "序列号", width = 15) + private String hostSerialNum; + /** + * 电池有效期 + */ + @Excel(name = "电池有效期", width = 15) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date batteryLife; + + /** + * 布点位置 + */ + @Excel(name = "布点位置", width = 15) + private String address; + + + /** + * 状态(1-正常,2-冻结) + */ + @Excel(name = "状态", width = 15) + @Dict(dicCode = "intervene_aed_status") + private Integer status; + + + /** + * 布点日期 + */ + @Excel(name = "布点日期", width = 15) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private Date pickDate; + + /** + * 管理部门 + */ + @Excel(name = "管理部门", width = 15) + private String controlDept; + + /** + * 管理人 + */ + @Excel(name = "管理人", width = 15) + private String custodian; + /** + * 管理人电话 + */ + @Excel(name = "管理人电话", width = 15) + private String custodianTel; + + /** + * 维护人 + */ + @Excel(name = "维护人", width = 15) + private String maintainUser; + /** + * 维护人电话 + */ + @Excel(name = "维护人电话", width = 15) + private String maintainUserTel; + + /** + * 维护日期 + */ + @Excel(name = "维护日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private Date maintainDate; + + /** + * 维护方 + */ + @Excel(name = "维护方", width = 15) + private String maintainUnit; + + + /** + * 覆盖人数 + */ + private Integer coverNums; + /** + * 责任人1 + */ + private String firstCharge; + /** + * 责任人1电话 + */ + private String firstChargeTel; + /** + * 责任人2 + */ + private String secondCharge; + /** + * 责任人2电话 + */ + private String secondChargeTel; + + /** + * 经度 + */ + private String longitude; + + /** + * 纬度 + */ + private String latitude; + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/res/manager/AEDManagerPageRes.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/res/manager/AEDManagerPageRes.java new file mode 100644 index 0000000..d12758c --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/res/manager/AEDManagerPageRes.java @@ -0,0 +1,253 @@ +package com.renkang.emergency.aed.vo.res.manager; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 设备管理分页、excel返回body + */ +@Data +public class AEDManagerPageRes { + + /** + * 主键 + */ + @JsonFormat(shape = JsonFormat.Shape.STRING) + @Schema(title = "主键") + private Long id; + + /** + * 设备名称 + */ + @Excel(name = "设备名称", width = 15) + @Schema(title = "设备名称") + private String name; + /** + * 设备型号 + */ + @Excel(name = "设备型号", width = 15) + @Schema(title = "设备型号") + private String hostModel; + + @Excel(name = "自检更新时间", width = 20, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "自检更新时间") + private Date selfCheckUpdateTime; + + // 摄像头序列号 + private String cameraNum; + // 摄像头验证码 + private String cameraCode; + + + @Excel(name = "设备厂家", dicCode = "aed_mfrs", width = 15) + @Dict(dicCode = "aed_mfrs") + private String mfrsName; + /** + * 设备编号 + */ + private String hostSerialNum; + + /** + * 所属部门 + */ + @Excel(name = "所属部门", width = 15) + @Schema(title = "所属部门") + private String departCode; + + /** + * 所属部门 + */ + @Excel(name = "所属单位", width = 15) + @Schema(title = "所属单位") + private String orgName; + + /** + * 所属部门名称 + */ + @Excel(name = "所属部门", width = 15) + @Schema(title = "所属部门") + private String deptName; + + + /** + * 品牌 + */ + @Excel(name = "品牌", width = 15) + @Schema(title = "品牌") + private String brand; + /** + * 状态 + */ + @Dict(dicCode = "intervene_aed_status") + private String status; + + /** + * 设备编号 + */ + @Excel(name = "设备编号", width = 15) + @Schema(title = "设备编号") + private String code; + + + /** + * 来源字典 设备类型 1:立式 ,2:挂式,3:车载 + */ + @Excel(name = "来源字典 设备类型 1:立式 ,2:挂式,3:车载", width = 15) + @Schema(title = "来源字典 设备类型 1:立式 ,2:挂式,3:车载") + @Dict(dicCode = "intervene_aed_type") + private Integer type; + /** + * 入库日期 + */ + @Excel(name = "入库日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "入库日期") + private Date inStorageDate; + /** + * 出厂日期 + */ + @Excel(name = "出厂日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date outFactoryDate; + + /** + * 电池电量 + */ + @Excel(name = "电池电量", width = 15) + @Schema(title = "电池电量") + private String electricQuantity; + + /** + * 电池有效期 + */ + @Excel(name = "电池有效期", width = 20, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "电池有效期") + @NotNull(message = "请选择电池有效期,电池有效期不能为空") + private Date batteryLife; + + /** + * 电极片状态 + */ + @Excel(name = "电极片状态", width = 15) + @Schema(title = "电极片状态") + private Integer electrodeSheetStatus; + + /** + * 电极片是否完好 + */ + @Excel(name = "电极片是否完好", width = 15) + @Schema(title = "电极片是否完好") + @Dict(dicCode = "aed_electrode_is_ok") + private String electrodeIsOk; + + /** + * 电极有效期 + */ + @Excel(name = "电极有效期", width = 20, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "电极有效期") + private Date electrodeSheetValidTime; + /** + * 操作图片(文件路径) + */ + @Schema(title = "操作图片(文件路径)") + private String operateInstruction; + /** + * 操作视频(文件路径) + */ + @Schema(title = "操作视频(文件路径)") + private String operateVideo; + /** + * 免责说明(文件路径) + */ + @Schema(title = "免责说明(文件路径)") + private String disclaimer; + /** + * 管理部门 + */ + @Excel(name = "管理部门", width = 15) + @Schema(title = "管理部门") + private String manageDepartCode; + /** + * 管理人 + */ + @Excel(name = "管理人", width = 15) + @Schema(title = "管理人") + private String manageUserName; + /** + * 管理人电话 + */ + @Excel(name = "管理人电话", width = 15) + @Schema(title = "管理人电话") + private String manageUserMobile; + /** + * 厂家电话 + */ + @Excel(name = "厂家电话", width = 15) + @Schema(title = "厂家电话") + private String mfrsMobile; + + /** + * 是否已布点,1:是,0:否 + */ + @Schema(title = "是否已布点,1:是,0:否") + private Integer publishFlag; + + /** + * 电池电压 + */ + private String batteryVoltage; + + /** + * 质保有效期开始 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date warrantyStartDate; + + /** + * 质保有效期结束 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date warrantyEndDate; + + // 管理部门 + private String controlOrgName; + + @Excel(name = "安装时间", width = 15) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date installTime; + + /** + * 安装位置 + */ + @Schema(title = "安装位置") + private String installAddress; + /** + * 经度 + */ + @Schema(title = "经度") + private BigDecimal longitude; + /** + * 纬度 + */ + @Schema(title = "纬度") + private BigDecimal latitude; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/res/manager/AEDPublishPageRes.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/res/manager/AEDPublishPageRes.java new file mode 100644 index 0000000..e9b13c9 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/res/manager/AEDPublishPageRes.java @@ -0,0 +1,179 @@ +package com.renkang.emergency.aed.vo.res.manager; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * 布点设备分页、excel返回body + */ +@Data +public class AEDPublishPageRes { + + /** + * 主键 + */ + @JsonFormat(shape = JsonFormat.Shape.STRING) + @Schema(title = "主键") + private Long id; + + /** + * 设备名称 + */ + @Excel(name = "设备名称", width = 15) + @Schema(title = "设备名称") + private String name; + + /** + * 所属部门 + */ + @Excel(name = "所属部门", width = 15) + @Schema(title = "所属部门") + private String departCode; + + + /** + * 设备厂家 + */ + @Dict(dicCode = "aed_mfrs") + private String mfrsName; + + /** + * 设备型号 + */ + private String hostModel; + /** + * 序列号 + */ + private String hostSerialNum; + + /** + * 所属单位 + */ + @Excel(name = "所属单位", width = 15) + @Schema(title = "所属单位") + private String secondDepart; + + /** + * 所属部门 + */ + @Excel(name = "所属部门", width = 15) + @Schema(title = "所属部门") + private String orgName; + + + /** + * 设备编号 + */ + @Excel(name = "设备编号", width = 15) + @Schema(title = "设备编号") + private String code; + + + /** + * 布点位置 + */ + @Excel(name = "布点位置", width = 15) + @Schema(title = "布点位置") + private String installAddress; + + + /** + * 状态(1-正常,2-冻结) + */ + @Excel(name = "状态(1-正常,2-维护中)", width = 15) + @Schema(title = "状态(1-正常,2-维护中)") + @Dict(dicCode = "intervene_aed_status") + private Integer status; + + /** + * 布点日期 + */ + @Excel(name = "布点日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "布点日期") + private Date installTime; + + /** + * 经度 + */ +// @Excel(name = "经度", width = 15) + @Schema(title = "经度") + private Double longitude; + /** + * 纬度 + */ +// @Excel(name = "纬度", width = 15) + @Schema(title = "纬度") + private Double latitude; + + + /** + * 管理部门 + */ + @Excel(name = "管理部门", width = 15) + @Schema(title = "管理部门") + private String controlOrgName; + /** + * 管理人 + */ + @Excel(name = "管理人", width = 15) + @Schema(title = "管理人") + private String manageUserName; + /** + * 管理人电话 + */ + @Excel(name = "管理人电话", width = 15) + @Schema(title = "管理人电话") + private String manageUserMobile; + + @Excel(name = "负责人1", width = 15) + private String chargeFirst; + @Excel(name = "负责人1电话", width = 15) + private String chargeFirstMobile; + @Excel(name = "负责人2", width = 15) + private String chargeSecond; + @Excel(name = "负责人2电话", width = 15) + private String chargeSecondMobile; + + + /** + * 覆盖人数 + */ + @Excel(name = "覆盖人数", width = 15) + @Schema(title = "覆盖人数") + private Integer coverUserNum; + + /** + * 是否已布点,1:是,0:否 + */ + @Schema(title = "是否已布点,1:是,0:否") + private Integer publishFlag; + + /** + * 安装图片 + */ + private String installAddressImg; + + + + // 电量 + private String electricQuantity; + // 自检时间 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date selfCheckUpdateTime; + // 自检状态 + @Dict(dicCode = "aed_check_status") + private String checkStatus; + // 序列号 + private String cameraNum; + // 验证码 + private String cameraCode; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/res/manager/AedGeo.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/res/manager/AedGeo.java new file mode 100644 index 0000000..51358f0 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/res/manager/AedGeo.java @@ -0,0 +1,81 @@ +package com.renkang.emergency.aed.vo.res.manager; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @author Junqiang Zhu + * @date 2023-11-30 + */ +@Data +public class AedGeo { + // ID + private Long id; + // 距离 + private double distance; + // 经度 + private BigDecimal longitude; + // 维度 + private BigDecimal latitude; + //部门编码 + private String departCode; + // 详细地址 + private String installAddress; + // 安装位置图片(多张",") + private String installAddressImg; + // 设备名称 + private String name; + // 型号 + private String hostModel; + // 序列号 + private String hostSerialNum; + // 编号 + private String code; + // 状态 + private String aedStatus; + // 部门 + private String departName; + // 管理单位 + private String controlOrgName; + // 管理人 + private String manageUserName; + // 管理电话 + private String manageUserMobile; + // 负责人1 + private String chargeFirst; + // 负责人1电话 + private String chargeFirstMobile; + // 负责人2 + private String chargeSecond; + // 负责人2电话 + private String chargeSecondMobile; + // 覆盖人数 + private Integer coverUserNum; + // 免责声明 + private String disclaimer; + // 操作视频 + private String operateVideo; + // 操作图片 + private String operateInstruction; + // 制造商联系电话 + private String mfrsMobile; + // 制造商名称 + private String mfrsName; + // 品牌名称 + private String brand; + // 序列号 + private String cameraNum; + // 验证码 + private String cameraCode; + + // 电量 + private String electricQuantity; + // 状态 + private String checkStatusDesc; + // 自检日期 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private Date selfCheckUpdateTime; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/res/record/AEDUserRecordPageRes.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/res/record/AEDUserRecordPageRes.java new file mode 100644 index 0000000..0b75213 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/res/record/AEDUserRecordPageRes.java @@ -0,0 +1,153 @@ +package com.renkang.emergency.aed.vo.res.record; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * 应用记录分页列表、Excel + */ +@Data +public class AEDUserRecordPageRes { + + /** + * 主键 + */ + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long id; + + /** + * 设备id + */ + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long equipmentId; + + /** + * 设备名称 + */ + @Excel(name = "设备名称", width = 15) + private String name; + + /** + * 所属部门 + */ + private String orgCode; + + //型号 + private String hostModel; + // 序列号 + private String hostSerialNum; + // 经度 + private String longitude; + // 维度 + private String latitude; + + /** + * 所属单位名称 + */ + @Excel(name = "所属单位名称", width = 15) + private String secondDepart; + + + /** + * 所属部门名称 + */ + @Excel(name = "所属部门", width = 15) + private String orgName; + + /** + * 设备编号 + */ + @Excel(name = "设备编号", width = 15) + private String code; + + /** + * 布点位置 + */ + @Excel(name = "布点位置", width = 15) + private String address; + + + /** + * 状态(1-正常,2-冻结) + */ + @Excel(name = "状态", width = 15) + @Dict(dicCode = "intervene_aed_status") + private Integer status; + + /** + * 被救助人 + */ + @Excel(name = "被救助人", width = 15) + @Schema(title = "被救助人") + private String salvedPerson; + + /** + * 症状1 来源字典(1:有呼吸,2:无呼吸) + */ + @Excel(name = "症状1 来源字典(1:有呼吸,2:无呼吸)", width = 15) + @Schema(title = "症状1 来源字典(1:有呼吸,2:无呼吸)") + @Dict(dicCode = "aed_heart_flag") + private Integer heartFlag; + + /** + * 症状2来源字典(1:有意识,2:无意识) + */ + @Excel(name = "症状2来源字典(1:有意识,2:无意识)", width = 15) + @Schema(title = "症状2来源字典(1:有意识,2:无意识)") + @Dict(dicCode = "aed_consciousness_flag") + private Integer consciousnessFlag; + + /** + * 使用人 + */ + @Excel(name = "使用人", width = 15) + @Schema(title = "使用人") + private String useUser; + + /** + * 使用时间 + */ + @Excel(name = "使用时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(title = "使用时间") + private Date usedTime; + + /** + * 使用过程说明 + */ + @Excel(name = "使用过程说明", width = 15) + @Schema(title = "使用过程说明") + private String useInstruction; + /** + * 启动次数 + */ + @Excel(name = "启动次数", width = 15) + @Schema(title = "启动次数") + private Integer startNums; + /** + * 成功除颤率 + */ + @Excel(name = "成功除颤率", width = 15) + @Schema(title = "成功除颤率") + private Double successRate; + /** + * 故障率 + */ + @Excel(name = "故障率", width = 15) + @Schema(title = "故障率") + private Double failRate; + /** + * 应用结果(1:救治成功,2:救治失败) + */ + @Excel(name = "应用结果(1:救治成功,2:救治失败)", width = 15) + @Schema(title = "应用结果(1:救治成功,2:救治失败)") + @Dict(dicCode = "aed_use_result") + private Integer useResult; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/res/train/AEDTrainPageRes.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/res/train/AEDTrainPageRes.java new file mode 100644 index 0000000..de7f37c --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/vo/res/train/AEDTrainPageRes.java @@ -0,0 +1,143 @@ +package com.renkang.emergency.aed.vo.res.train; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 培训、演练分页返回列表 + */ +@Data +public class AEDTrainPageRes { + + + /** + * 主键 + */ + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long id; + + + /** + * 设备id + */ + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long equipmentId; + + /** + * 设备名称 + */ + @Excel(name = "设备名称", width = 15) + private String name; + + /** + * 所属部门 + */ + private String orgCode; + + /** + * 所属单位 + */ + @Excel(name = "所属单位", width = 15) + private String secondDepart; + + /** + * 所属部门名称 + */ + @Excel(name = "所属部门", width = 15) + private String orgName; + + /** + * 设备编号 + */ + @Excel(name = "设备编号", width = 15) + private String code; + + private String hostModel; + private String hostSerialNum; + private BigDecimal longitude; + private BigDecimal latitude; + + /** + * 布点位置 + */ + @Excel(name = "布点位置", width = 15) + private String address; + + /** + * 设备状态 1:良好,2:维护中 + */ + @Excel(name = "设备状态", width = 15) + @Dict(dicCode = "intervene_aed_status") + private String status; + + /** + * 培训日期/演练日期 + */ + @Excel(name = "培训日期/演练日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "培训日期/演练日期") + private Date trainDate; + /** + * 参加人数 + */ + @Excel(name = "参加人数", width = 15) + @Schema(title = "参加人数") + private Integer joinNums; + /** + * 合格人数 + */ +// @Excel(name = "合格人数", width = 15) + @Schema(title = "合格人数") + private Integer qualifiedNums; + /** + * 负责人1 + */ + @Excel(name = "负责人1", width = 15) + @Schema(title = "负责人1") + private String chargeUser1; + /** + * 负责人1 + */ + @Excel(name = "负责人2", width = 15) + @Schema(title = "负责人2") + private String chargeUser2; + /** + * 现场签到表(文件路径) + */ +// @Excel(name = "现场签到表(文件路径)", width = 15) + @Schema(title = "现场签到表(文件路径)") + private String siteSignSheet; + /** + * 现场图片(文件路径) + */ +// @Excel(name = "现场图片(文件路径)", width = 15) + @Schema(title = "现场图片(文件路径)") + private String sitePic; + /** + * 现场视频(文件路径) + */ +// @Excel(name = "现场视频(文件路径)", width = 15) + @Schema(title = "现场视频(文件路径)") + private String siteVideo; + /** + * 培演资料(文件路径) + */ +// @Excel(name = "培演资料(文件路径)", width = 15) + @Schema(title = "培演资料(文件路径)") + private String siteProfile; + /** + * 培演效果 1:优,2:良,3:中,4:差 + */ + @Excel(name = "培演效果", width = 15) + @Schema(title = "培演效果 1:优,2:良,3:中,4:差") + @Dict(dicCode = "aed_train_result") + private Integer effect; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/EmergencyResourceApiServiceImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/EmergencyResourceApiServiceImpl.java index 3805244..bcd773b 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/EmergencyResourceApiServiceImpl.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/EmergencyResourceApiServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.renkang.emergency.aed.service.IAedEquipmentMangerService; import com.renkang.emergency.api.service.EmergencyResourceApiService; import com.renkang.emergency.bean.common.ResourceExt; import com.renkang.emergency.bean.response.ResourceHome; @@ -46,7 +47,7 @@ public class EmergencyResourceApiServiceImpl implements EmergencyResourceApiServ @Autowired private ResourceMapper resourceMapper; @Autowired - private IXjAedService xjAedService; + private IAedEquipmentMangerService aedMangerService; @Autowired private ISysBaseAPI sysBaseAPI; @@ -68,7 +69,8 @@ public class EmergencyResourceApiServiceImpl implements EmergencyResourceApiServ maps.addAll(list.stream().map(LargeScreenMap::new).collect(Collectors.toList())); } if (StrUtil.isEmpty(type) || type.equals("4")){ - List list = xjAedService.list(new LambdaQueryWrapper().isNotNull(XjAed::getLatitude)); + List list = aedMangerService.list(new LambdaQueryWrapper() + .isNotNull(AedEquipmentManger::getLatitude)); maps.addAll(list.stream().map(LargeScreenMap::new).collect(Collectors.toList())); } if (StrUtil.isEmpty(type) || type.equals("5")) { diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/LargeScreenMap.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/LargeScreenMap.java index 5f848b7..06b2853 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/LargeScreenMap.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/LargeScreenMap.java @@ -1,5 +1,6 @@ package com.renkang.emergency.largeScreen.entity.vo; +import com.renkang.emergency.entity.AedEquipmentManger; import com.renkang.emergency.entity.EmergencyHealthRoom; import com.renkang.emergency.entity.Resource; import com.renkang.emergency.entity.XjAed; @@ -59,15 +60,15 @@ public class LargeScreenMap { this.longitude = room.getLongitude(); } - public LargeScreenMap(XjAed xjAed) { - this.id = xjAed.getId(); - this.name = xjAed.getName(); - this.orgName = xjAed.getOrgCode(); + public LargeScreenMap(AedEquipmentManger aed) { + this.id = aed.getId().toString(); + this.name = aed.getName(); + this.orgName = aed.getDepartCode(); this.type = "4"; - this.address = xjAed.getAddress(); - this.latitude = String.valueOf(xjAed.getLatitude()); - this.longitude = String.valueOf(xjAed.getLongitude()); - this.manageName = xjAed.getManageName(); - this.managePhone = xjAed.getManagePhone(); + this.address = aed.getInstallAddress(); + this.latitude = String.valueOf(aed.getLatitude()); + this.longitude = String.valueOf(aed.getLongitude()); + this.manageName = aed.getManageUserName(); + this.managePhone = aed.getManageUserMobile(); } } diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/impl/LargeScreenServiceImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/impl/LargeScreenServiceImpl.java index b8409b4..8e6352e 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/impl/LargeScreenServiceImpl.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/impl/LargeScreenServiceImpl.java @@ -16,10 +16,8 @@ import com.renkang.anyan.model.dto.HealthRoomDTO; import com.renkang.anyan.model.dto.HealthSignListParam; import com.renkang.anyan.model.dto.MedicalAbnormalDTO; import com.renkang.anyan.model.vo.*; -import com.renkang.emergency.entity.EmergencyCenter; -import com.renkang.emergency.entity.EmergencyHealthRoom; -import com.renkang.emergency.entity.Resource; -import com.renkang.emergency.entity.XjAed; +import com.renkang.emergency.aed.service.IAedEquipmentMangerService; +import com.renkang.emergency.entity.*; import com.renkang.emergency.entity.vo.DataDetailVO; import com.renkang.emergency.entity.vo.MedicalDataVO; import com.renkang.emergency.largeScreen.entity.dto.HealthRoomBaseDTO; @@ -66,7 +64,7 @@ public class LargeScreenServiceImpl extends ServiceImpl list = xjAedService.list(new LambdaQueryWrapper().isNotNull(XjAed::getLatitude)); + List list = aedMangerService.list(new LambdaQueryWrapper() + .isNotNull(AedEquipmentManger::getLatitude)); maps.addAll(list.stream().map(LargeScreenMap::new).collect(Collectors.toList())); } if (StrUtil.isEmpty(type) || type.equals("5")) {