导出数据设备
This commit is contained in:
@ -21,6 +21,7 @@ import com.fuyuanshen.equipment.excel.UploadDeviceDataListener;
|
|||||||
import com.fuyuanshen.equipment.mapper.DeviceMapper;
|
import com.fuyuanshen.equipment.mapper.DeviceMapper;
|
||||||
import com.fuyuanshen.equipment.mapper.DeviceTypeMapper;
|
import com.fuyuanshen.equipment.mapper.DeviceTypeMapper;
|
||||||
import com.fuyuanshen.equipment.service.DeviceService;
|
import com.fuyuanshen.equipment.service.DeviceService;
|
||||||
|
import com.fuyuanshen.equipment.service.DeviceTypeService;
|
||||||
import com.fuyuanshen.equipment.service.impl.DeviceExportService;
|
import com.fuyuanshen.equipment.service.impl.DeviceExportService;
|
||||||
import com.fuyuanshen.system.service.ISysOssService;
|
import com.fuyuanshen.system.service.ISysOssService;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
@ -54,6 +55,7 @@ public class DeviceController {
|
|||||||
private final DeviceService deviceService;
|
private final DeviceService deviceService;
|
||||||
private final DeviceMapper deviceMapper;
|
private final DeviceMapper deviceMapper;
|
||||||
private final CustomerMapper customerMapper;
|
private final CustomerMapper customerMapper;
|
||||||
|
private final DeviceTypeService deviceTypeService;
|
||||||
private final DeviceTypeMapper deviceTypeMapper;
|
private final DeviceTypeMapper deviceTypeMapper;
|
||||||
|
|
||||||
private final DeviceExportService exportService;
|
private final DeviceExportService exportService;
|
||||||
@ -179,7 +181,11 @@ public class DeviceController {
|
|||||||
ImportResult result = new ImportResult();
|
ImportResult result = new ImportResult();
|
||||||
try {
|
try {
|
||||||
LoginUser loginUser = LoginHelper.getLoginUser();
|
LoginUser loginUser = LoginHelper.getLoginUser();
|
||||||
DeviceImportParams params = DeviceImportParams.builder().ossService(ossService).deviceService(deviceService).tenantId(loginUser.getTenantId()).file(file).filePath("").deviceMapper(deviceMapper).deviceTypeMapper(deviceTypeMapper).userId(loginUser.getUserId()).customerMapper(customerMapper).build();
|
DeviceImportParams params = DeviceImportParams.builder().ossService(ossService)
|
||||||
|
.deviceService(deviceService).tenantId(loginUser.getTenantId())
|
||||||
|
.file(file).filePath("").deviceMapper(deviceMapper).deviceTypeService(deviceTypeService)
|
||||||
|
.deviceTypeMapper(deviceTypeMapper).userId(loginUser.getUserId())
|
||||||
|
.customerMapper(customerMapper).build();
|
||||||
// 创建监听器
|
// 创建监听器
|
||||||
UploadDeviceDataListener listener = new UploadDeviceDataListener(params);
|
UploadDeviceDataListener listener = new UploadDeviceDataListener(params);
|
||||||
// 读取Excel
|
// 读取Excel
|
||||||
|
@ -5,6 +5,7 @@ import com.alibaba.excel.annotation.write.style.ColumnWidth;
|
|||||||
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
|
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
|
||||||
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
|
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
|
||||||
import com.fuyuanshen.equipment.converter.IgnoreFailedImageConverter;
|
import com.fuyuanshen.equipment.converter.IgnoreFailedImageConverter;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
@ -42,6 +43,10 @@ public class DeviceExcelExportDTO {
|
|||||||
@ColumnWidth(20)
|
@ColumnWidth(20)
|
||||||
private String deviceMac;
|
private String deviceMac;
|
||||||
|
|
||||||
|
@ExcelProperty("蓝牙名称")
|
||||||
|
@ColumnWidth(20)
|
||||||
|
private String bluetoothName;
|
||||||
|
|
||||||
@ExcelProperty("设备IMEI")
|
@ExcelProperty("设备IMEI")
|
||||||
@ColumnWidth(20)
|
@ColumnWidth(20)
|
||||||
private String deviceImei;
|
private String deviceImei;
|
||||||
|
@ -40,6 +40,10 @@ public class DeviceForm {
|
|||||||
@Schema(title = "设备MAC")
|
@Schema(title = "设备MAC")
|
||||||
private String deviceMac;
|
private String deviceMac;
|
||||||
|
|
||||||
|
@Schema(name = "蓝牙名称")
|
||||||
|
private String bluetoothName;
|
||||||
|
|
||||||
|
|
||||||
@Schema(title = "设备IMEI")
|
@Schema(title = "设备IMEI")
|
||||||
private String deviceImei;
|
private String deviceImei;
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@ import com.fuyuanshen.customer.mapper.CustomerMapper;
|
|||||||
import com.fuyuanshen.equipment.mapper.DeviceMapper;
|
import com.fuyuanshen.equipment.mapper.DeviceMapper;
|
||||||
import com.fuyuanshen.equipment.mapper.DeviceTypeMapper;
|
import com.fuyuanshen.equipment.mapper.DeviceTypeMapper;
|
||||||
import com.fuyuanshen.equipment.service.DeviceService;
|
import com.fuyuanshen.equipment.service.DeviceService;
|
||||||
|
import com.fuyuanshen.equipment.service.DeviceTypeService;
|
||||||
import com.fuyuanshen.system.service.ISysOssService;
|
import com.fuyuanshen.system.service.ISysOssService;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
@ -23,6 +24,7 @@ public class DeviceImportParams {
|
|||||||
private DeviceMapper deviceMapper;
|
private DeviceMapper deviceMapper;
|
||||||
private CustomerMapper customerMapper;
|
private CustomerMapper customerMapper;
|
||||||
private DeviceTypeMapper deviceTypeMapper;
|
private DeviceTypeMapper deviceTypeMapper;
|
||||||
|
private DeviceTypeService deviceTypeService;
|
||||||
private ISysOssService ossService;
|
private ISysOssService ossService;
|
||||||
private MultipartFile file;
|
private MultipartFile file;
|
||||||
private String filePath;
|
private String filePath;
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
package com.fuyuanshen.equipment.excel;
|
package com.fuyuanshen.equipment.excel;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
|
||||||
import com.alibaba.excel.EasyExcel;
|
import com.alibaba.excel.EasyExcel;
|
||||||
import com.alibaba.excel.context.AnalysisContext;
|
import com.alibaba.excel.context.AnalysisContext;
|
||||||
import com.alibaba.excel.read.listener.ReadListener;
|
import com.alibaba.excel.read.listener.ReadListener;
|
||||||
import com.alibaba.fastjson2.JSON;
|
import com.alibaba.fastjson2.JSON;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
||||||
import com.fuyuanshen.common.core.domain.model.LoginUser;
|
import com.fuyuanshen.common.core.domain.model.LoginUser;
|
||||||
import com.fuyuanshen.common.satoken.utils.LoginHelper;
|
import com.fuyuanshen.common.satoken.utils.LoginHelper;
|
||||||
import com.fuyuanshen.equipment.constants.DeviceConstants;
|
import com.fuyuanshen.equipment.constants.DeviceConstants;
|
||||||
@ -14,7 +12,7 @@ import com.fuyuanshen.equipment.domain.Device;
|
|||||||
import com.fuyuanshen.equipment.domain.DeviceType;
|
import com.fuyuanshen.equipment.domain.DeviceType;
|
||||||
import com.fuyuanshen.equipment.domain.dto.DeviceExcelImportDTO;
|
import com.fuyuanshen.equipment.domain.dto.DeviceExcelImportDTO;
|
||||||
import com.fuyuanshen.equipment.domain.dto.ImportResult;
|
import com.fuyuanshen.equipment.domain.dto.ImportResult;
|
||||||
import com.fuyuanshen.equipment.domain.query.DeviceQueryCriteria;
|
import com.fuyuanshen.equipment.domain.form.DeviceForm;
|
||||||
import com.fuyuanshen.equipment.handler.ImageWriteHandler;
|
import com.fuyuanshen.equipment.handler.ImageWriteHandler;
|
||||||
import com.fuyuanshen.system.domain.vo.SysOssVo;
|
import com.fuyuanshen.system.domain.vo.SysOssVo;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@ -30,13 +28,13 @@ import java.util.*;
|
|||||||
public class UploadDeviceDataListener implements ReadListener<DeviceExcelImportDTO> {
|
public class UploadDeviceDataListener implements ReadListener<DeviceExcelImportDTO> {
|
||||||
|
|
||||||
// 存储图片数据的映射
|
// 存储图片数据的映射
|
||||||
private final Map<Integer, byte[]> rowImageMap = new HashMap<>();
|
private Map<Integer, byte[]> rowImageMap = new HashMap<>();
|
||||||
|
|
||||||
private final DeviceImportParams params;
|
private DeviceImportParams params;
|
||||||
|
|
||||||
private final Map<Integer, Device> rowDeviceMap = new HashMap<>();
|
private Map<Integer, Device> rowDeviceMap = new HashMap<>();
|
||||||
private final Map<Integer, DeviceExcelImportDTO> rowDtoMap = new HashMap<>();
|
private Map<Integer, DeviceExcelImportDTO> rowDtoMap = new HashMap<>();
|
||||||
private final List<Integer> rowIndexList = new ArrayList<>();
|
private List<Integer> rowIndexList = new ArrayList<>();
|
||||||
|
|
||||||
private int successCount = 0;
|
private int successCount = 0;
|
||||||
private int failureCount = 0;
|
private int failureCount = 0;
|
||||||
@ -105,7 +103,6 @@ public class UploadDeviceDataListener implements ReadListener<DeviceExcelImportD
|
|||||||
.sheet("失败数据").doWrite(failedRecordsWithImages);
|
.sheet("失败数据").doWrite(failedRecordsWithImages);
|
||||||
|
|
||||||
// 生成访问URL
|
// 生成访问URL
|
||||||
// String errorExcelUrl = params.getIp() + DeviceConstants.FILE_ACCESS_PREFIX + "/" + DeviceConstants.ERROR_REPORT_DIR + "/" + fileName;
|
|
||||||
SysOssVo upload = params.getOssService().upload(errorFile);
|
SysOssVo upload = params.getOssService().upload(errorFile);
|
||||||
result.setErrorExcelUrl(upload.getUrl());
|
result.setErrorExcelUrl(upload.getUrl());
|
||||||
log.info("错误报告已保存: {}", errorFile.getAbsolutePath());
|
log.info("错误报告已保存: {}", errorFile.getAbsolutePath());
|
||||||
@ -151,27 +148,18 @@ public class UploadDeviceDataListener implements ReadListener<DeviceExcelImportD
|
|||||||
Device device = rowDeviceMap.get(rowIndex);
|
Device device = rowDeviceMap.get(rowIndex);
|
||||||
DeviceExcelImportDTO originalDto = rowDtoMap.get(rowIndex);
|
DeviceExcelImportDTO originalDto = rowDtoMap.get(rowIndex);
|
||||||
try {
|
try {
|
||||||
// DeviceQueryCriteria criteria = new DeviceQueryCriteria();
|
|
||||||
// criteria.setDeviceMac(device.getDeviceMac());
|
|
||||||
// criteria.setTenantId(params.getTenantId());
|
|
||||||
// List<Device> deviceList = params.getDeviceMapper().findAll(criteria);
|
|
||||||
// if (!deviceList.isEmpty()) {
|
|
||||||
// throw new RuntimeException("设备MAC重复");
|
|
||||||
// }
|
|
||||||
// device.setTenantId(params.getTenantId());
|
|
||||||
|
|
||||||
// 设备类型
|
// 设备类型
|
||||||
QueryWrapper<DeviceType> wrapper = new QueryWrapper<>();
|
DeviceType deviceType = params.getDeviceTypeService().queryByName(device.getTypeName());
|
||||||
wrapper.eq("type_name", device.getTypeName());
|
// params.getDeviceService().save(device);
|
||||||
// wrapper.eq("customer_id", params.getUserId());
|
DeviceForm deviceForm = new DeviceForm();
|
||||||
List<DeviceType> deviceTypes = params.getDeviceTypeMapper().selectList(wrapper);
|
deviceForm.setDeviceName(device.getDeviceName());
|
||||||
if (CollectionUtil.isNotEmpty(deviceTypes)) {
|
deviceForm.setDeviceType(deviceType.getId());
|
||||||
device.setDeviceType(deviceTypes.get(0).getId());
|
deviceForm.setRemark(device.getRemark());
|
||||||
}
|
deviceForm.setDeviceMac(device.getDeviceMac());
|
||||||
device.setCurrentOwnerId(loginUser.getUserId());
|
deviceForm.setDeviceImei(device.getDeviceImei());
|
||||||
device.setOriginalOwnerId(loginUser.getUserId());
|
deviceForm.setBluetoothName(device.getBluetoothName());
|
||||||
device.setCreateByName(loginUser.getNickname());
|
deviceForm.setDevicePic(device.getDevicePic());
|
||||||
params.getDeviceService().save(device);
|
params.getDeviceService().addDevice(deviceForm);
|
||||||
successCount++;
|
successCount++;
|
||||||
log.info("行 {} 数据插入成功", rowIndex);
|
log.info("行 {} 数据插入成功", rowIndex);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@ -225,10 +213,8 @@ public class UploadDeviceDataListener implements ReadListener<DeviceExcelImportD
|
|||||||
private String getCellValue(XSSFSheet sheet, int rowIndex, int colIndex) {
|
private String getCellValue(XSSFSheet sheet, int rowIndex, int colIndex) {
|
||||||
XSSFRow row = sheet.getRow(rowIndex);
|
XSSFRow row = sheet.getRow(rowIndex);
|
||||||
if (row == null) return null;
|
if (row == null) return null;
|
||||||
|
|
||||||
XSSFCell cell = row.getCell(colIndex);
|
XSSFCell cell = row.getCell(colIndex);
|
||||||
if (cell == null) return null;
|
if (cell == null) return null;
|
||||||
|
|
||||||
return cell.toString();
|
return cell.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -240,18 +226,6 @@ public class UploadDeviceDataListener implements ReadListener<DeviceExcelImportD
|
|||||||
try {
|
try {
|
||||||
String fileExtension = "jpg";
|
String fileExtension = "jpg";
|
||||||
String newFileName = "PS_" + new Random(8) + "." + fileExtension;
|
String newFileName = "PS_" + new Random(8) + "." + fileExtension;
|
||||||
// String targetDirPath = params.getFilePath() + DeviceConstants.FILE_ACCESS_ISOLATION;
|
|
||||||
// File targetDir = new File(targetDirPath);
|
|
||||||
//
|
|
||||||
// if (!targetDir.exists() && !targetDir.mkdirs()) {
|
|
||||||
// log.error("无法创建目录: {}", targetDirPath);
|
|
||||||
// return null;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// File newFile = new File(targetDir, newFileName);
|
|
||||||
// Files.write(newFile.toPath(), imageData);
|
|
||||||
//
|
|
||||||
// return params.getIp() + DeviceConstants.FILE_ACCESS_PREFIX + "/" + DeviceConstants.FILE_ACCESS_ISOLATION + "/" + newFileName;
|
|
||||||
SysOssVo upload = params.getOssService().upload(imageData, newFileName);
|
SysOssVo upload = params.getOssService().upload(imageData, newFileName);
|
||||||
return upload.getUrl();
|
return upload.getUrl();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
@ -27,7 +27,6 @@ public interface DeviceTypeMapper extends BaseMapper<DeviceType> {
|
|||||||
*/
|
*/
|
||||||
IPage<DeviceType> findAll(@Param("criteria") DeviceTypeQueryCriteria criteria, Page<DeviceType> page);
|
IPage<DeviceType> findAll(@Param("criteria") DeviceTypeQueryCriteria criteria, Page<DeviceType> page);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询所有设备类型
|
* 查询所有设备类型
|
||||||
*
|
*
|
||||||
@ -44,4 +43,12 @@ public interface DeviceTypeMapper extends BaseMapper<DeviceType> {
|
|||||||
*/
|
*/
|
||||||
DeviceType getAssignType(@Param("deviceType") Long deviceType, @Param("customerId") Long customerId);
|
DeviceType getAssignType(@Param("deviceType") Long deviceType, @Param("customerId") Long customerId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据名称查询设备类型
|
||||||
|
*
|
||||||
|
* @param criteria
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
DeviceType queryByName(@Param("criteria") DeviceTypeQueryCriteria criteria);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -41,6 +41,14 @@ public interface DeviceTypeService extends IService<DeviceType> {
|
|||||||
*/
|
*/
|
||||||
List<DeviceType> queryDeviceTypes();
|
List<DeviceType> queryDeviceTypes();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据设备类型名称查询设备类型
|
||||||
|
*
|
||||||
|
* @param typeName 条件参数
|
||||||
|
* @return List<DeviceTypeDto>
|
||||||
|
*/
|
||||||
|
DeviceType queryByName(String typeName);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增设备类型
|
* 新增设备类型
|
||||||
*
|
*
|
||||||
|
@ -43,6 +43,8 @@ public class DeviceExportService {
|
|||||||
dto.setDeviceMac(device.getDeviceMac());
|
dto.setDeviceMac(device.getDeviceMac());
|
||||||
// 设备IMEI
|
// 设备IMEI
|
||||||
dto.setDeviceImei(device.getDeviceImei());
|
dto.setDeviceImei(device.getDeviceImei());
|
||||||
|
// 蓝牙名称
|
||||||
|
dto.setBluetoothName(device.getBluetoothName());
|
||||||
dto.setLongitude(device.getLongitude());
|
dto.setLongitude(device.getLongitude());
|
||||||
dto.setLatitude(device.getLatitude());
|
dto.setLatitude(device.getLatitude());
|
||||||
dto.setRemark(device.getRemark());
|
dto.setRemark(device.getRemark());
|
||||||
|
@ -112,6 +112,7 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Device> queryAll(DeviceQueryCriteria criteria) {
|
public List<Device> queryAll(DeviceQueryCriteria criteria) {
|
||||||
|
criteria.setCurrentOwnerId(LoginHelper.getUserId());
|
||||||
return deviceMapper.findAll(criteria);
|
return deviceMapper.findAll(criteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -141,6 +142,9 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
|
|||||||
queryCriteria.setDeviceTypeId(deviceForm.getDeviceType());
|
queryCriteria.setDeviceTypeId(deviceForm.getDeviceType());
|
||||||
queryCriteria.setCustomerId(LoginHelper.getUserId());
|
queryCriteria.setCustomerId(LoginHelper.getUserId());
|
||||||
DeviceTypeGrants typeGrants = deviceTypeGrantsMapper.selectById(queryCriteria.getDeviceTypeId());
|
DeviceTypeGrants typeGrants = deviceTypeGrantsMapper.selectById(queryCriteria.getDeviceTypeId());
|
||||||
|
if (typeGrants == null) {
|
||||||
|
throw new Exception("设备类型不存在!!!");
|
||||||
|
}
|
||||||
DeviceType deviceTypes = deviceTypeMapper.selectById(typeGrants.getDeviceTypeId());
|
DeviceType deviceTypes = deviceTypeMapper.selectById(typeGrants.getDeviceTypeId());
|
||||||
if (deviceTypes == null) {
|
if (deviceTypes == null) {
|
||||||
throw new Exception("设备类型不存在!!!");
|
throw new Exception("设备类型不存在!!!");
|
||||||
|
@ -78,6 +78,21 @@ public class DeviceTypeServiceImpl extends ServiceImpl<DeviceTypeMapper, DeviceT
|
|||||||
return deviceTypeMapper.findAll(criteria);
|
return deviceTypeMapper.findAll(criteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据设备类型名称查询设备类型
|
||||||
|
*
|
||||||
|
* @param typeName 条件参数
|
||||||
|
* @return List<DeviceTypeDto>
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public DeviceType queryByName(String typeName) {
|
||||||
|
DeviceTypeQueryCriteria criteria = new DeviceTypeQueryCriteria();
|
||||||
|
criteria.setCustomerId(LoginHelper.getUserId());
|
||||||
|
criteria.setTypeName(typeName);
|
||||||
|
DeviceType deviceType = deviceTypeMapper.queryByName(criteria);
|
||||||
|
return deviceType;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增设备类型
|
* 新增设备类型
|
||||||
|
@ -75,7 +75,7 @@
|
|||||||
<!-- 分页查询设备 -->
|
<!-- 分页查询设备 -->
|
||||||
<select id="findAll" resultType="com.fuyuanshen.equipment.domain.Device">
|
<select id="findAll" resultType="com.fuyuanshen.equipment.domain.Device">
|
||||||
select
|
select
|
||||||
da.id AS id,d.device_name,
|
da.id AS id,d.device_name,d.bluetooth_name,
|
||||||
d.device_pic, d.device_mac, d.device_sn, d.update_by,d.device_imei,
|
d.device_pic, d.device_mac, d.device_sn, d.update_by,d.device_imei,
|
||||||
d.update_time, dg.id AS device_type, d.remark, d.binding_status,d.type_name AS typeName,
|
d.update_time, dg.id AS device_type, d.remark, d.binding_status,d.type_name AS typeName,
|
||||||
da.assignee_id AS customerId, da.assignee_name AS customerName, da.active AS deviceStatus,
|
da.assignee_id AS customerId, da.assignee_name AS customerName, da.active AS deviceStatus,
|
||||||
@ -112,7 +112,7 @@
|
|||||||
|
|
||||||
<select id="findAllDevices" resultType="com.fuyuanshen.equipment.domain.Device">
|
<select id="findAllDevices" resultType="com.fuyuanshen.equipment.domain.Device">
|
||||||
select
|
select
|
||||||
d.id, d.customer_id, d.device_name,
|
d.id, d.customer_id, d.device_name,d.bluetooth_name,
|
||||||
d.device_pic, d.device_mac, d.device_sn, d.create_by, d.update_by,
|
d.device_pic, d.device_mac, d.device_sn, d.create_by, d.update_by,
|
||||||
d.create_time, d.update_time, d.longitude, d.latitude, d.remark
|
d.create_time, d.update_time, d.longitude, d.latitude, d.remark
|
||||||
from device d
|
from device d
|
||||||
|
@ -42,4 +42,14 @@
|
|||||||
WHERE owner_customer_id = #{customerId}
|
WHERE owner_customer_id = #{customerId}
|
||||||
AND original_device_id = #{deviceType}
|
AND original_device_id = #{deviceType}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- 根据名称查询设备类型 -->
|
||||||
|
<select id="queryByName" resultMap="BaseResultMap"
|
||||||
|
parameterType="com.fuyuanshen.equipment.domain.query.DeviceTypeQueryCriteria">
|
||||||
|
SELECT dt.*, dg.id AS grant_id
|
||||||
|
FROM device_type dt
|
||||||
|
JOIN device_type_grants dg ON dt.id = dg.device_type_id
|
||||||
|
WHERE dt.type_name = #{criteria.typeName}
|
||||||
|
AND dg.customer_id = #{criteria.customerId}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
Reference in New Issue
Block a user