diff --git a/das/src/main/java/com/das/modules/equipment/domain/dto/SysIotModelFieldDto.java b/das/src/main/java/com/das/modules/equipment/domain/dto/SysIotModelFieldDto.java index fa118d39..9d081a3d 100644 --- a/das/src/main/java/com/das/modules/equipment/domain/dto/SysIotModelFieldDto.java +++ b/das/src/main/java/com/das/modules/equipment/domain/dto/SysIotModelFieldDto.java @@ -65,4 +65,9 @@ public class SysIotModelFieldDto implements Serializable { private Integer visible; + private String orderColumn; + + private String orderType; + + } diff --git a/das/src/main/java/com/das/modules/equipment/domain/dto/SysIotModelServiceDto.java b/das/src/main/java/com/das/modules/equipment/domain/dto/SysIotModelServiceDto.java index bf100e17..8ef7ded2 100644 --- a/das/src/main/java/com/das/modules/equipment/domain/dto/SysIotModelServiceDto.java +++ b/das/src/main/java/com/das/modules/equipment/domain/dto/SysIotModelServiceDto.java @@ -46,4 +46,9 @@ public class SysIotModelServiceDto implements Serializable { * 当前页数 */ private Integer pageNum; + + + private String orderColumn; + + private String orderType; } diff --git a/das/src/main/java/com/das/modules/equipment/mapper/SysEquipmentMapper.java b/das/src/main/java/com/das/modules/equipment/mapper/SysEquipmentMapper.java index 989ffc85..ae6dafd3 100644 --- a/das/src/main/java/com/das/modules/equipment/mapper/SysEquipmentMapper.java +++ b/das/src/main/java/com/das/modules/equipment/mapper/SysEquipmentMapper.java @@ -29,6 +29,10 @@ public interface SysEquipmentMapper extends BaseMapperPlus getEquipmentAttributeInfo(Long equipmentId); + List getAttributeImpInfo(String code, Long equipmentId, Long linkId); + + List getServiceImpInfo(String code, Long equipmentId, Long linkId); + // 获取设备的动作信息 List getEquipmentServiceInfo(Long equipmentId); diff --git a/das/src/main/java/com/das/modules/node/controller/SysNodeController.java b/das/src/main/java/com/das/modules/node/controller/SysNodeController.java index edcf98fa..7bbc6987 100644 --- a/das/src/main/java/com/das/modules/node/controller/SysNodeController.java +++ b/das/src/main/java/com/das/modules/node/controller/SysNodeController.java @@ -165,13 +165,13 @@ public class SysNodeController { public R getMappingList(@RequestBody SysImptabmappingDto sysImptabmappingDto) { //判断是否有权限 - boolean hasPermission = StpUtil.hasPermission(SysAuthorityIds.SYS_AUTHORITY_ID_DEVICE_MGR.toString()); - if(!hasPermission){ - return R.fail("没有节点管理权限"); - } - if (sysImptabmappingDto.getLinkId() == null) { - throw new ServiceException("参数缺失"); - } +// boolean hasPermission = StpUtil.hasPermission(SysAuthorityIds.SYS_AUTHORITY_ID_DEVICE_MGR.toString()); +// if(!hasPermission){ +// return R.fail("没有节点管理权限"); +// } +// if (sysImptabmappingDto.getLinkId() == null) { +// throw new ServiceException("参数缺失"); +// } List list = sysNodeService.getMappingList(sysImptabmappingDto); return R.success(list); } diff --git a/das/src/main/java/com/das/modules/node/service/impl/SysNodeServiceImpl.java b/das/src/main/java/com/das/modules/node/service/impl/SysNodeServiceImpl.java index 1b243984..37f9724b 100644 --- a/das/src/main/java/com/das/modules/node/service/impl/SysNodeServiceImpl.java +++ b/das/src/main/java/com/das/modules/node/service/impl/SysNodeServiceImpl.java @@ -210,6 +210,9 @@ public class SysNodeServiceImpl implements SysNodeService { public void bindDeviceMeas(List equipmentId, Long linkId) { List addList = new ArrayList<>(); List addList2 = new ArrayList<>(); + if (CollectionUtils.isEmpty(equipmentId)) { + sysImptabmappingMapper.deleteBindDevice(linkId); + } // 先更新设备地址 for (BindEquipmentInfoDto info : equipmentId) { // 更新设备表里面的设备地址 @@ -217,16 +220,15 @@ public class SysNodeServiceImpl implements SysNodeService { } // 获取已经绑定的设备 List bindDeviceList = sysImptabmappingMapper.getBindDevice(linkId); - // 过滤已经绑定的设备 - for (SysImptabmappingVo bindDevice : bindDeviceList) { - addList2.add(bindDevice.getEquipmentId()); - } + + //过滤 - equipmentId.removeIf(item -> addList2.contains(item.getEquipmentId())); +// equipmentId.removeIf(item -> addList2.contains(item.getEquipmentId())); SysUserVo sysUserVo = (SysUserVo) StpUtil.getTokenSession().get(SessionUtil.SESSION_USER_KEY); addSysImptabmapping(equipmentId, linkId, sysUserVo, addList); if (!CollectionUtils.isEmpty(addList)) { - sysImptabmappingMapper.insertBatch(addList); + sysImptabmappingMapper.deleteBindDevice(linkId); + sysImptabmappingMapper.insertOrUpdateBatch(addList); } } @@ -364,21 +366,46 @@ public class SysNodeServiceImpl implements SysNodeService { // 获取设备的测点信息 for (BindEquipmentInfoDto info : equipmentId) { List fieldList = sysEquipmentMapper.getEquipmentAttributeInfo(info.getEquipmentId()); + // 获取映射表相关信息 List serviceList = sysEquipmentMapper.getEquipmentServiceInfo(info.getEquipmentId()); + if (!CollectionUtils.isEmpty(fieldList)) { for (BaseImptabmappingVo field : fieldList) { - SysImptabmapping sysImptabmapping = getSysImptabmapping(linkId, sysUserVo, info); - sysImptabmapping.setEquipmentAttribute(field.getCode()); - sysImptabmapping.setParams(field.getParams()); - addList.add(sysImptabmapping); + List fieldImpList = sysEquipmentMapper.getAttributeImpInfo(field.getCode(), info.getEquipmentId(), linkId); + if (!CollectionUtils.isEmpty(fieldImpList)) { + for (BaseImptabmappingVo fieldImp : fieldImpList) { + if(field.getCode().equals(fieldImp.getCode())) { + SysImptabmapping sysImptabmapping = getSysImptabmapping(linkId, sysUserVo, info); + sysImptabmapping.setEquipmentAttribute(field.getCode()); + sysImptabmapping.setParams(fieldImp.getParams()); + addList.add(sysImptabmapping); + } + } + } else { + SysImptabmapping sysImptabmapping = getSysImptabmapping(linkId, sysUserVo, info); + sysImptabmapping.setEquipmentAttribute(field.getCode()); + addList.add(sysImptabmapping); + } } } if (!CollectionUtils.isEmpty(serviceList)) { for (BaseImptabmappingVo service : serviceList) { - SysImptabmapping sysImptabmapping = getSysImptabmapping(linkId, sysUserVo, info); - sysImptabmapping.setEquipmentService(service.getCode()); - sysImptabmapping.setParams(service.getParams()); - addList.add(sysImptabmapping); + List serviceImpList = sysEquipmentMapper.getServiceImpInfo(service.getCode(), info.getEquipmentId(), linkId); + + if (!CollectionUtils.isEmpty(serviceImpList)) { + for (BaseImptabmappingVo serviceImp : serviceImpList) { + if(service.getCode().equals(serviceImp.getCode())) { + SysImptabmapping sysImptabmapping = getSysImptabmapping(linkId, sysUserVo, info); + sysImptabmapping.setEquipmentService(service.getCode()); + sysImptabmapping.setParams(serviceImp.getParams()); + addList.add(sysImptabmapping); + } + } + }else { + SysImptabmapping sysImptabmapping = getSysImptabmapping(linkId, sysUserVo, info); + sysImptabmapping.setEquipmentService(service.getCode()); + addList.add(sysImptabmapping); + } } } diff --git a/das/src/main/resources/mapper/SysEquipmentMapper.xml b/das/src/main/resources/mapper/SysEquipmentMapper.xml index c9d4211b..9b26a30c 100644 --- a/das/src/main/resources/mapper/SysEquipmentMapper.xml +++ b/das/src/main/resources/mapper/SysEquipmentMapper.xml @@ -129,16 +129,29 @@ - + select simf.attribute_code as code, si.params,si.id,si.revision from sys_imptabmapping si + left join sys_iot_model_field simf on si.equipment_attribute = simf.attribute_code + left join sys_equipment se on simf.iot_model_id = se.iot_model_id + where si.equipment_id = #{equipmentId} and si.link_id = #{linkId} and si.equipment_attribute = #{code} + + + + + diff --git a/das/src/main/resources/mapper/SysImptabmappingMapper.xml b/das/src/main/resources/mapper/SysImptabmappingMapper.xml index b9d0337d..595e8290 100644 --- a/das/src/main/resources/mapper/SysImptabmappingMapper.xml +++ b/das/src/main/resources/mapper/SysImptabmappingMapper.xml @@ -28,7 +28,7 @@ left join sys_equipment se on si.equipment_id = se.id left join sys_iot_model_field simf on si.equipment_attribute = simf.attribute_code and se.iot_model_id = simf.iot_model_id where si.link_id = #{linkId} and simf.attribute_type = #{type} - order by si.porder + order by simf.porder diff --git a/das/src/main/resources/mapper/SysIotModelServiceMapper.xml b/das/src/main/resources/mapper/SysIotModelServiceMapper.xml index f273bf67..612b5251 100644 --- a/das/src/main/resources/mapper/SysIotModelServiceMapper.xml +++ b/das/src/main/resources/mapper/SysIotModelServiceMapper.xml @@ -24,6 +24,12 @@ and t.service_code like concat('%',#{info.serviceCode},'%') + + order by ${info.orderColumn} ${info.orderType} + + + order by t.porder asc +