saveSendOrg(@RequestBody DeviceMaintain deviceInfo) {
+ service.saveSendOrg(deviceInfo);
+ return Result.OK("操作成功!");
+ }
+
+}
diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/weihu/entity/DeviceMaintain.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/weihu/entity/DeviceMaintain.java
new file mode 100644
index 0000000..7ab39b8
--- /dev/null
+++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/weihu/entity/DeviceMaintain.java
@@ -0,0 +1,48 @@
+package com.nu.modules.weihu.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 lombok.Data;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * Class:设备维护表Entity
+ */
+@Data
+@TableName("nu_iot_weihu_info")
+public class DeviceMaintain implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @TableId(type = IdType.ASSIGN_ID)
+ private String id;//主键
+ private String type;//设备类型
+ private String deviceId;//设备编码
+ private String remark;//备注
+ private String updateDate;//更新时间
+ @TableField(exist = false)
+ private String sn;//设备SN号
+ @TableField(exist = false)
+ private String deviceName;//设备名称
+ @TableField(exist = false)
+ private String nuId;//区域编码
+ @TableField(exist = false)
+ private String nuName;//区域名称
+ @TableField(exist = false)
+ private String maintainStatus;//维修状态 0正常 1报修 2报废
+ @TableField(exist = false)
+ private String departId;//机构ID
+ @TableField(exist = false)
+ private String departName;//机构名称
+ @TableField(exist = false)
+ private String orgCode;//机构编码
+ @TableField(exist = false)
+ private String reserveDepartId;//预留机构ID,记录发往机构的设备归属
+ @TableField(exist = false)
+ private String reserveDepartName;//预留机构名称,记录发往机构的设备归属
+
+ @TableField(exist = false)
+ private List deviceMaintainList;//子列表
+}
\ No newline at end of file
diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/weihu/mapper/DeviceMaintainMapper.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/weihu/mapper/DeviceMaintainMapper.java
new file mode 100644
index 0000000..271397c
--- /dev/null
+++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/weihu/mapper/DeviceMaintainMapper.java
@@ -0,0 +1,11 @@
+package com.nu.modules.weihu.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.nu.modules.weihu.entity.DeviceMaintain;
+import org.apache.ibatis.annotations.Param;
+
+public interface DeviceMaintainMapper extends BaseMapper {
+ IPage findPage(Page page, @Param("params") DeviceMaintain deviceInfo);
+}
diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/weihu/mapper/xml/DeviceMaintainMapper.xml b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/weihu/mapper/xml/DeviceMaintainMapper.xml
new file mode 100644
index 0000000..66848f9
--- /dev/null
+++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/weihu/mapper/xml/DeviceMaintainMapper.xml
@@ -0,0 +1,152 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/weihu/service/DeviceMaintainService.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/weihu/service/DeviceMaintainService.java
new file mode 100644
index 0000000..3dcc161
--- /dev/null
+++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/weihu/service/DeviceMaintainService.java
@@ -0,0 +1,11 @@
+package com.nu.modules.weihu.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.nu.modules.weihu.entity.DeviceMaintain;
+
+public interface DeviceMaintainService extends IService {
+ IPage findPage(Page page, DeviceMaintain deviceInfo);
+ void saveSendOrg(DeviceMaintain deviceInfo);
+}
diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/weihu/service/impl/DeviceMaintainServiceImpl.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/weihu/service/impl/DeviceMaintainServiceImpl.java
new file mode 100644
index 0000000..3b8e0f7
--- /dev/null
+++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/weihu/service/impl/DeviceMaintainServiceImpl.java
@@ -0,0 +1,120 @@
+package com.nu.modules.weihu.service.impl;
+
+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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.nu.modules.tplink.camera.entity.CameraInfo;
+import com.nu.modules.tplink.camera.service.ICameraCapabilityService;
+import com.nu.modules.tplink.camera.service.ICameraInfoService;
+import com.nu.modules.tq.common.service.ITqDeviceInfoService;
+import com.nu.modules.tq.electricity.entity.ElectricityMeter;
+import com.nu.modules.tq.electricity.service.IElectricityMeterService;
+import com.nu.modules.tq.water.entity.WaterMeter;
+import com.nu.modules.tq.water.service.IWaterMeterService;
+import com.nu.modules.weihu.entity.DeviceMaintain;
+import com.nu.modules.weihu.mapper.DeviceMaintainMapper;
+import com.nu.modules.weihu.service.DeviceMaintainService;
+import com.nu.modules.yiweilian.humid.entity.HumidDevice;
+import com.nu.modules.yiweilian.humid.service.IHumidDeviceService;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.util.DateUtils;
+import org.jeecg.modules.system.entity.SysDepart;
+import org.jeecg.modules.system.service.ISysDepartService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Slf4j
+@Service
+public class DeviceMaintainServiceImpl extends ServiceImpl implements DeviceMaintainService {
+
+ @Autowired
+ private ICameraInfoService cameraInfoService;
+
+ @Autowired
+ private IElectricityMeterService electricityMeterService;
+
+ @Autowired
+ private IWaterMeterService waterMeterService;
+
+ @Autowired
+ private IHumidDeviceService humidDeviceService;
+
+ @Autowired
+ private ISysDepartService sysDepartService;
+
+ @Override
+ public IPage findPage(Page page, DeviceMaintain deviceInfo){
+ return baseMapper.findPage(page,deviceInfo);
+ }
+
+ @Override
+ public void saveSendOrg(DeviceMaintain deviceInfo){
+ String reserveDepartId = deviceInfo.getReserveDepartId();
+ SysDepart sysDepart = sysDepartService.getDepartById(reserveDepartId);
+ String reserveDepartName = sysDepart.getDepartName();
+ String remark = deviceInfo.getRemark();
+ String updateDate = DateUtils.formatDate("yyyy-MM-dd HH:mm:ss");
+ List list = deviceInfo.getDeviceMaintainList();
+ for(int i=0;i qw = new QueryWrapper<>();
+ qw.eq("device_id",di.getDeviceId());
+ DeviceMaintain entity = this.getOne(qw);
+ if(entity!=null){
+ entity.setReserveDepartId(reserveDepartId);
+ entity.setReserveDepartName(reserveDepartName);
+ entity.setRemark(remark);
+ entity.setUpdateDate(updateDate);
+ this.updateById(entity);
+ }else{
+ di.setId(null);
+ this.save(di);
+ }
+ }
+ }
+
+ private void updateDeviceByType(DeviceMaintain entity){
+ String type = entity.getType();
+ if(type.equals("摄像头")){
+ QueryWrapper cameraQw = new QueryWrapper<>();
+ cameraQw.eq("mac",entity.getDeviceId());
+ CameraInfo cameraInfo = cameraInfoService.getOne(cameraQw);
+ cameraInfo.setReserveDepartId(entity.getReserveDepartId());
+ cameraInfo.setReserveDepartName(entity.getReserveDepartName());
+ cameraInfoService.updateById(cameraInfo);
+ }
+ if(type.equals("电表")){
+ QueryWrapper electricityQw = new QueryWrapper<>();
+ electricityQw.eq("cid",entity.getDeviceId());
+ ElectricityMeter electricityMeter = electricityMeterService.getOne(electricityQw);
+ electricityMeter.setReserveDepartId(entity.getReserveDepartId());
+ electricityMeter.setReserveDepartName(entity.getReserveDepartName());
+ electricityMeterService.updateById(electricityMeter);
+ }
+ if(type.equals("水表")){
+ QueryWrapper waterQw = new QueryWrapper<>();
+ waterQw.eq("cid",entity.getDeviceId());
+ WaterMeter waterMeter = waterMeterService.getOne(waterQw);
+ waterMeter.setReserveDepartId(entity.getReserveDepartId());
+ waterMeter.setReserveDepartName(entity.getReserveDepartName());
+ waterMeterService.updateById(waterMeter);
+ }
+ if(type.equals("温湿度计")){
+ QueryWrapper humidQw = new QueryWrapper<>();
+ humidQw.eq("sn",entity.getDeviceId());
+ HumidDevice humidDevice = humidDeviceService.getOne(humidQw);
+ humidDevice.setReserveDepartId(entity.getReserveDepartId());
+ humidDevice.setReserveDepartName(entity.getReserveDepartName());
+ humidDeviceService.updateById(humidDevice);
+ }
+ }
+}
+
diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/entity/HumidDevice.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/entity/HumidDevice.java
index 1b4040f..1273101 100644
--- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/entity/HumidDevice.java
+++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/yiweilian/humid/entity/HumidDevice.java
@@ -110,6 +110,9 @@ public class HumidDevice implements Serializable {
private String nuId;//护理单元ID
private String nuName;//护理单元
private String maintainStatus;//维修状态 0正常 1报修 2报废
+ private String reserveDepartId;//预留机构ID
+ private String reserveDepartName;//预留机构名称
+
@Dict(dicCode = "nu_type")
@TableField(exist = false)
private String areaFlag;//区域标签