@@ -41,7 +41,7 @@ public interface DeviceTypeMapper {
List<DeviceTypeDto> findByIds(@Param("deviceTypeIds") List<Integer> deviceTypeIds);
- DeviceTypeDto getByName(@Param("deviceTypeName") String deviceTypeName);
+ DeviceTypeDto getByName(@Param("deviceTypeName") String deviceTypeName, @Param("deviceTypeModel") String deviceTypeModel);
DeviceTypeDto getById(@Param("id") Integer id);
}
@@ -37,5 +37,5 @@ public interface DeviceTypeService {
boolean isWaterChannel(Integer channelId);
- DeviceTypeDto getByName(String deviceTypeName);
+ DeviceTypeDto getByName(String deviceTypeName,String deviceTypeModel);
@@ -233,8 +233,8 @@ public class DeviceTypeServiceImpl implements DeviceTypeService {
@Override
- @Cacheable(value = "deviceTypeName", key = "#deviceTypeName")
- public DeviceTypeDto getByName(String deviceTypeName) {
- return deviceTypeMapper.getByName(deviceTypeName);
+ @Cacheable(value = "deviceTypeName", key = "#deviceTypeName + #deviceTypeModel")
+ public DeviceTypeDto getByName(String deviceTypeName,String deviceTypeModel) {
+ return deviceTypeMapper.getByName(deviceTypeName,deviceTypeModel);
@@ -212,11 +212,14 @@ public class AsyncTaskImportService {
dto.setDoorNo(doorNo);
dto.setLocation(doorNo);
- String deviceTypeName = c_deviceType.getStringCellValue();
- if(StringUtils.isBlank(deviceTypeName)) {
+ String deviceTypeNameTemp = c_deviceType.getStringCellValue();
+ if(StringUtils.isBlank(deviceTypeNameTemp)) {
continue;
- DeviceTypeDto dt = deviceTypeService.getByName(deviceTypeName);
+ String[] temp = deviceTypeNameTemp.split("/");
+ String deviceTypeName = temp[1];
+ String deviceTypeModel = temp[2];
+ DeviceTypeDto dt = deviceTypeService.getByName(deviceTypeName,deviceTypeModel);
if(dt == null) {
//throw new ServiceException(ResultStatus.DEVICE_TYPE_NOT_EXISTED);
failTime++ ;
@@ -304,7 +304,7 @@
</select>
<select id="getByName" resultType="com.bz.smart_city.dto.DeviceTypeDto">
select id,equipment_type,model,manufacturer_id,device_type from sc_device_type where status = 1
- and equipment_type = #{deviceTypeName} limit 1
+ and equipment_type = #{deviceTypeName} and model =#{deviceTypeModel} limit 1
<select id="getById" resultType="com.bz.smart_city.dto.DeviceTypeDto">