From 9304d2fc74afd096b61168e94bc674ee43255dae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Thu, 16 Apr 2026 15:57:35 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E8=81=94=E8=AE=BE=E5=A4=87=E7=94=B5?= =?UTF-8?q?=E8=A1=A8SN=E9=AA=8C=E8=AF=81=E5=8F=8A=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/nu/dto/IotElectricityMeterMQDto.java | 1 + .../controller/DeviceManagerController.java | 5 ++ .../mapper/xml/DeviceManagerMapper.xml | 4 +- .../service/IDeviceManagerService.java | 1 + .../impl/DeviceManagerServiceImpl.java | 23 +++++- .../entity/DsElectricityMeter.java | 1 + .../mapper/DsElectricityMeterMapper.java | 2 + .../mapper/xml/DsElectricityMeterMapper.xml | 42 +++++++++- .../service/IDsElectricityMeterService.java | 3 +- .../impl/DsElectricityMeterServiceImpl.java | 78 +++++++++++++++---- .../electricity/utils/MqttMessageHandler.java | 2 +- .../utils/MqttPublisherParams.java | 16 ++++ .../syncbiz/entity/ElectricityMeter.java | 1 + .../syncbiz/mapper/xml/SyncBizMapper.xml | 4 +- 14 files changed, 155 insertions(+), 28 deletions(-) diff --git a/nursing-unit-common/src/main/java/com/nu/dto/IotElectricityMeterMQDto.java b/nursing-unit-common/src/main/java/com/nu/dto/IotElectricityMeterMQDto.java index 4a99f17..20ee65a 100644 --- a/nursing-unit-common/src/main/java/com/nu/dto/IotElectricityMeterMQDto.java +++ b/nursing-unit-common/src/main/java/com/nu/dto/IotElectricityMeterMQDto.java @@ -21,6 +21,7 @@ public class IotElectricityMeterMQDto{ private String readTime; /**描述*/ private String remark; + private String sim; /**区域编码*/ private String nuId; /**区域名称*/ diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/device/manager/controller/DeviceManagerController.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/device/manager/controller/DeviceManagerController.java index e0edcb3..ebe7801 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/device/manager/controller/DeviceManagerController.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/device/manager/controller/DeviceManagerController.java @@ -309,6 +309,11 @@ public class DeviceManagerController extends JeecgController deleteElectricity(@RequestBody DeviceIntegration deviceIntegration) { + return service.deleteElectricity(deviceIntegration); + } + /** * 设备集成-水表分页列表查询 * diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/device/manager/mapper/xml/DeviceManagerMapper.xml b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/device/manager/mapper/xml/DeviceManagerMapper.xml index ccc64e2..50b8ec4 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/device/manager/mapper/xml/DeviceManagerMapper.xml +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/device/manager/mapper/xml/DeviceManagerMapper.xml @@ -450,7 +450,9 @@ a.factory, ( case when b.id is null then '待集成' - else (case ifnull(b.relay_state,'') when '0' then '拉闸' when '1' then '合闸' else '-' end) + else + (case when b.sim is null then '待集成' + else (case ifnull(b.relay_state,'') when '0' then '拉闸' when '1' then '合闸' else '-' end) end) end ) as device_status, a.device_status as maintainStatus diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/device/manager/service/IDeviceManagerService.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/device/manager/service/IDeviceManagerService.java index 655f061..4d39185 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/device/manager/service/IDeviceManagerService.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/device/manager/service/IDeviceManagerService.java @@ -39,6 +39,7 @@ public interface IDeviceManagerService extends IService { IPage findNetworkPage(Page page, DeviceIntegration deviceIntegration); IPage findElectricityPage(Page page, DeviceIntegration deviceIntegration); Result pullElectricity(DeviceIntegration deviceIntegration); + Result deleteElectricity(DeviceIntegration deviceIntegration); IPage findWaterPage(Page page, DeviceIntegration deviceIntegration); Result pullWater(DeviceIntegration deviceIntegration); IPage findHumidPage(Page page, DeviceIntegration deviceIntegration); diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/device/manager/service/impl/DeviceManagerServiceImpl.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/device/manager/service/impl/DeviceManagerServiceImpl.java index aad5b3a..51c6964 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/device/manager/service/impl/DeviceManagerServiceImpl.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/device/manager/service/impl/DeviceManagerServiceImpl.java @@ -283,12 +283,29 @@ public class DeviceManagerServiceImpl extends ServiceImpl deleteElectricity(DeviceIntegration deviceIntegration){ + DsElectricityMeter dsElectricityMeter = new DsElectricityMeter(); + dsElectricityMeter.setSn(deviceIntegration.getSn()); + Result res = electricityMeterService.delete(dsElectricityMeter); if(!res.isSuccess()){ return res; } - deviceIntegration.setDeviceStatus("正常"); - baseMapper.editPreviewStatusBySn(deviceIntegration); return Result.OK("拉取电表成功!"); } diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/dingshuo/electricity/entity/DsElectricityMeter.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/dingshuo/electricity/entity/DsElectricityMeter.java index 1368acc..8500482 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/dingshuo/electricity/entity/DsElectricityMeter.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/dingshuo/electricity/entity/DsElectricityMeter.java @@ -54,6 +54,7 @@ public class DsElectricityMeter implements Serializable { @ApiModelProperty(value = "描述") private String remark; private String syncType;//是否同步 N未同步 Y已同步 + private String sim;//SIM /*=============================以下字段都可删除==================================*/ @TableField(exist = false) diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/dingshuo/electricity/mapper/DsElectricityMeterMapper.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/dingshuo/electricity/mapper/DsElectricityMeterMapper.java index ac1098f..ab33546 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/dingshuo/electricity/mapper/DsElectricityMeterMapper.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/dingshuo/electricity/mapper/DsElectricityMeterMapper.java @@ -12,9 +12,11 @@ public interface DsElectricityMeterMapper extends BaseMapper IPage findPage(Page page, @Param("params") DsElectricityMeter dsElectricityMeter); List findAllList(); DsElectricityMeter getElectricityMeter(DsElectricityMeter dsElectricityMeter); + DsElectricityMeter getElectricityMeterPreview(DsElectricityMeter dsElectricityMeter); int updateValue(DsElectricityMeter dsElectricityMeter); int updateRelayState(DsElectricityMeter dsElectricityMeter); int insertElectricty(DsElectricityMeter DsElectricityMeter); + int updateElectrictySim(DsElectricityMeter DsElectricityMeter); int updateElectricty(DsElectricityMeter DsElectricityMeter); void updateDepartById(DsElectricityMeter DsElectricityMeter); void updateSync(DsElectricityMeter DsElectricityMeter); diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/dingshuo/electricity/mapper/xml/DsElectricityMeterMapper.xml b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/dingshuo/electricity/mapper/xml/DsElectricityMeterMapper.xml index 952b759..48ce6f2 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/dingshuo/electricity/mapper/xml/DsElectricityMeterMapper.xml +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/dingshuo/electricity/mapper/xml/DsElectricityMeterMapper.xml @@ -18,7 +18,8 @@ a.old_server_url , a.sync_type, a.iz_allocate, - a.dimension + a.dimension, + a.sim from nu_iot_ds_electricity_meter a where a.del_flag = '0' @@ -60,7 +61,8 @@ a.old_server_url , a.sync_type, a.iz_allocate, - a.dimension + a.dimension, + a.sim from nu_iot_ds_electricity_meter a where a.del_flag = '0' @@ -83,6 +85,7 @@ old_depart_name as oldDepartName, iz_allocate, dimension, + sim, del_flag from nu_iot_ds_electricity_meter @@ -95,6 +98,29 @@ + + insert into nu_iot_ds_electricity_meter( sn, @@ -112,6 +138,12 @@ ) + + update nu_iot_ds_electricity_meter + set sim = #{sim} + where sn = #{sn} + + update nu_iot_ds_electricity_meter set @@ -187,7 +219,8 @@ a.old_depart_name as oldDepartName, c.area_flag as areaFlag, a.iz_allocate, - a.dimension + a.dimension, + a.sim from nu_iot_ds_electricity_meter a left join nu_base_info c on a.nu_id = c.nu_id where a.del_flag = '0' @@ -269,7 +302,8 @@ a.old_depart_name as oldDepartName, c.area_flag as areaFlag, a.iz_allocate, - a.dimension + a.dimension, + a.sim from nu_iot_ds_electricity_meter a left join nu_base_info c on a.nu_id = c.nu_id where a.del_flag = '0' diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/dingshuo/electricity/service/IDsElectricityMeterService.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/dingshuo/electricity/service/IDsElectricityMeterService.java index 94ddb36..6b58df1 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/dingshuo/electricity/service/IDsElectricityMeterService.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/dingshuo/electricity/service/IDsElectricityMeterService.java @@ -12,7 +12,7 @@ import java.util.Map; public interface IDsElectricityMeterService extends IService { IPage findPage(Page page, DsElectricityMeter dsElectricityMeter); Result add(DsElectricityMeter dsElectricityMeter); - Result delete(DsElectricityMeter dsElectricityMeter); + Result delete(DsElectricityMeter dsElectricityMeter); List findAllList(); void updateValue(DsElectricityMeter dsElectricityMeter); @@ -22,6 +22,7 @@ public interface IDsElectricityMeterService extends IService void eleCutOff(DsElectricityMeter dsElectricityMeter); void eleConnected(DsElectricityMeter dsElectricityMeter); void eleRead(DsElectricityMeter dsElectricityMeter); + void eleGetConfig(DsElectricityMeter dsElectricityMeter); void processReceivedMessage(String payload); diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/dingshuo/electricity/service/impl/DsElectricityMeterServiceImpl.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/dingshuo/electricity/service/impl/DsElectricityMeterServiceImpl.java index 42b1c6a..208a997 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/dingshuo/electricity/service/impl/DsElectricityMeterServiceImpl.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/dingshuo/electricity/service/impl/DsElectricityMeterServiceImpl.java @@ -10,6 +10,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.nu.dto.IotElectricityMeterMQDto; import com.nu.dto.IotWaterMeterMQDto; +import com.nu.modules.device.manager.entity.DeviceIntegration; +import com.nu.modules.device.manager.mapper.DeviceManagerMapper; import com.nu.modules.dingshuo.electricity.entity.DsElectricityMeter; import com.nu.modules.dingshuo.electricity.mapper.DsElectricityMeterMapper; import com.nu.modules.dingshuo.electricity.service.IDsElectricityMeterService; @@ -19,6 +21,7 @@ import com.nu.modules.syncLog.entity.SyncBizLog; import com.nu.modules.syncLog.entity.SyncLog; import com.nu.modules.syncLog.service.ISyncBizLogService; import com.nu.modules.syncLog.service.ISyncLogService; +import com.nu.modules.syncbiz.service.ISyncBizService; import com.nu.modules.tq.common.entity.TqApiLog; import com.nu.modules.tq.common.service.ITqApiLogService; import com.nu.modules.tq.electricity.entity.ElectricityMeter; @@ -65,6 +68,12 @@ public class DsElectricityMeterServiceImpl extends ServiceImpl findPage(Page page, DsElectricityMeter dsElectricityMeter){ return baseMapper.findPage(page,dsElectricityMeter); @@ -74,14 +83,14 @@ public class DsElectricityMeterServiceImpl extends ServiceImpl add(DsElectricityMeter dsElectricityMeter){ DsElectricityMeter entity = baseMapper.getElectricityMeter(dsElectricityMeter); if(entity!=null){ - if(entity.getDelFlag().equals("0")){ - return Result.error("添加失败,设备已存在!"); - }else{ - DsElectricityMeter dem = new DsElectricityMeter(); - dem.setId(entity.getId()); - dem.setDelFlag("0"); - baseMapper.updateById(dem); - } +// if(entity.getDelFlag().equals("0")){ +// return Result.error("添加失败,设备已存在!"); +// }else{ +// DsElectricityMeter dem = new DsElectricityMeter(); +// dem.setId(entity.getId()); +// dem.setDelFlag("0"); +// baseMapper.updateById(dem); +// } }else{ baseMapper.insertElectricty(dsElectricityMeter); } @@ -96,18 +105,19 @@ public class DsElectricityMeterServiceImpl extends ServiceImpl delete(DsElectricityMeter dsElectricityMeter){ + public Result delete(DsElectricityMeter dsElectricityMeter){ DsElectricityMeter entity = baseMapper.getElectricityMeter(dsElectricityMeter); - if(entity!=null){ - String izAllocate = entity.getIzAllocate(); - if(izAllocate.equals("Y")){ - return Result.OK("设备已分配,无法删除!"); - } - } +// if(entity!=null){ +// String izAllocate = entity.getIzAllocate(); +// if(izAllocate.equals("Y")){ +// return Result.OK("设备已分配,无法删除!"); +// } +// } DsElectricityMeter dem = new DsElectricityMeter(); dem.setId(entity.getId()); - dem.setDelFlag("1"); - baseMapper.updateById(dem); +// dem.setDelFlag("1"); +// baseMapper.updateById(dem); + baseMapper.deleteById(dem); String deviceId = dsElectricityMeter.getSn(); try { mqttMessageHandler.unsubscribeUplinkMessage(deviceId); @@ -220,6 +230,17 @@ public class DsElectricityMeterServiceImpl extends ServiceImpl payload = new HashMap<>(); + payload.put("mtype", "209"); //"209" 获取SIM卡号 + message.setPayload(payload); + return message; + } + /** * 获取抄表参数 * @return diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/syncbiz/entity/ElectricityMeter.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/syncbiz/entity/ElectricityMeter.java index 89af53d..51528d8 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/syncbiz/entity/ElectricityMeter.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/syncbiz/entity/ElectricityMeter.java @@ -25,6 +25,7 @@ public class ElectricityMeter implements Serializable { private String relayState; /**描述*/ private String remark; + private String sim; /**区域编码*/ private String nuId; /**区域名称*/ diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/syncbiz/mapper/xml/SyncBizMapper.xml b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/syncbiz/mapper/xml/SyncBizMapper.xml index 0f91555..91bfe76 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/syncbiz/mapper/xml/SyncBizMapper.xml +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/syncbiz/mapper/xml/SyncBizMapper.xml @@ -450,9 +450,11 @@ sn, ele_value as eleValue, relay_state as relayState, - remark + remark, + sim from nu_iot_ds_electricity_meter where sn = #{sn} + and sim is not null order by id asc