|
|
@@ -1,12 +1,10 @@
|
|
|
package com.nb.web.service.bus.service;
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
-import cn.hutool.core.util.ObjectUtil;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.nb.common.crud.BaseService;
|
|
|
-import com.nb.web.api.entity.BusConfigLogEntity;
|
|
|
+import com.nb.web.api.entity.BusDeviceEntity;
|
|
|
import com.nb.web.service.bus.controller.vo.ConfigurationParamVo;
|
|
|
-import com.nb.web.service.bus.mapper.BusCinfigLogMapper;
|
|
|
import com.nb.web.service.bus.mapper.BusDeviceConfigurationMapper;
|
|
|
import com.nb.web.api.entity.BusDeviceConfigurationEntity;
|
|
|
import com.nb.web.service.bus.service.dto.DeviceConfigurationQuery;
|
|
|
@@ -31,9 +29,10 @@ import java.util.stream.Collectors;
|
|
|
*/
|
|
|
@Service
|
|
|
public class LocalBusDeviceConfigurationService extends BaseService<BusDeviceConfigurationMapper, BusDeviceConfigurationEntity,String> {
|
|
|
+
|
|
|
@Autowired
|
|
|
@Lazy
|
|
|
- private BusCinfigLogMapper busCinfigLogMapper;
|
|
|
+ private LocalBusDeviceService busDeviceService;
|
|
|
|
|
|
@Override
|
|
|
public void validateBeforeSave(BusDeviceConfigurationEntity entity) {
|
|
|
@@ -51,65 +50,44 @@ public class LocalBusDeviceConfigurationService extends BaseService<BusDeviceCon
|
|
|
}
|
|
|
|
|
|
public List<DeviceConfigurationResult> selectAll(DeviceConfigurationQuery query){
|
|
|
-
|
|
|
return baseMapper.selectByQuery(query);
|
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public int updateConfiguration(ConfigurationParamVo configurationParamVo, List<BusDeviceConfigurationEntity> deviceConfigurationEntitys) {
|
|
|
- if(CollectionUtil.isEmpty(deviceConfigurationEntitys)){
|
|
|
+ public int updateConfiguration(ConfigurationParamVo configurationParamVo, List<BusDeviceConfigurationEntity> deviceConfigurationList) {
|
|
|
+ if(CollectionUtil.isEmpty(deviceConfigurationList)){
|
|
|
return 0;
|
|
|
}
|
|
|
-// int i = 0;
|
|
|
- Set<String> deviceIds = deviceConfigurationEntitys.stream()
|
|
|
- .map(BusDeviceConfigurationEntity::getDeviceId)
|
|
|
- .collect(Collectors.toSet());
|
|
|
- List<BusDeviceConfigurationEntity> existDevice = this.list(new LambdaQueryWrapper<BusDeviceConfigurationEntity>()
|
|
|
- .in(BusDeviceConfigurationEntity::getDeviceId, deviceIds));
|
|
|
- //更新
|
|
|
- Map<String, BusDeviceConfigurationEntity> deviceMap = existDevice.stream()
|
|
|
- .collect(Collectors.groupingBy(BusDeviceConfigurationEntity::getDeviceId, Collectors.collectingAndThen(Collectors.toList(), CollectionUtil::getFirst)));
|
|
|
-
|
|
|
- List<BusDeviceConfigurationEntity> batchUpdate = new ArrayList<>();
|
|
|
- List<BusDeviceConfigurationEntity> batchInsert = new ArrayList<>();
|
|
|
- for (BusDeviceConfigurationEntity entity : deviceConfigurationEntitys) {
|
|
|
- String deviceId = entity.getDeviceId();
|
|
|
+ for (BusDeviceConfigurationEntity entity: deviceConfigurationList) {
|
|
|
entity.setMaxDose(configurationParamVo.getMaxDose());
|
|
|
entity.setFirstDose(configurationParamVo.getFirstDose());
|
|
|
entity.setContinueDose(configurationParamVo.getContinueDose());
|
|
|
entity.setAppendDose(configurationParamVo.getAppendDose());
|
|
|
entity.setSelfControlLockTime(configurationParamVo.getSelfControlLockTime());
|
|
|
entity.setTotalDose(configurationParamVo.getTotalDose());
|
|
|
- BusDeviceConfigurationEntity deviceConfiguration = deviceMap.get(deviceId);
|
|
|
- if(ObjectUtil.isNotNull(deviceConfiguration)){
|
|
|
- entity.setId(deviceConfiguration.getId());
|
|
|
- batchUpdate.add(entity);
|
|
|
- }else {
|
|
|
- batchInsert.add(entity);
|
|
|
- }
|
|
|
}
|
|
|
- this.updateBatchById(batchUpdate);
|
|
|
- this.saveBatch(batchInsert);
|
|
|
-// //插入
|
|
|
-// for (BusDeviceConfigurationEntity entity: deviceConfigurationEntitys
|
|
|
-// ) {
|
|
|
-// entity.setMaxDose(configurationParamVo.getMaxDose());
|
|
|
-// entity.setFirstDose(configurationParamVo.getFirstDose());
|
|
|
-// entity.setContinueDose(configurationParamVo.getContinueDose());
|
|
|
-// entity.setAppendDose(configurationParamVo.getAppendDose());
|
|
|
-// entity.setSelfControlLockTime(configurationParamVo.getSelfControlLockTime());
|
|
|
-// entity.setTotalDose(configurationParamVo.getTotalDose());
|
|
|
-//
|
|
|
-// int i1 = baseMapper.insertNew(entity);
|
|
|
-//
|
|
|
-// if( i1 ==0 ){
|
|
|
-// i1 = baseMapper.updateByDeviceId(entity);
|
|
|
-// }
|
|
|
-// // busCinfigLogMapper.insert((BusConfigLogEntity) entity);
|
|
|
-// i +=i1;
|
|
|
-//
|
|
|
-// }
|
|
|
-
|
|
|
- return CollectionUtil.size(deviceConfigurationEntitys);
|
|
|
+ saveBatch(deviceConfigurationList);
|
|
|
+
|
|
|
+ //更新设备信息
|
|
|
+ Set<String> deviceIds = deviceConfigurationList.stream()
|
|
|
+ .map(BusDeviceConfigurationEntity::getDeviceId)
|
|
|
+ .collect(Collectors.toSet());
|
|
|
+ List<BusDeviceEntity> devices = busDeviceService.listByIds(deviceIds);
|
|
|
+ //更新
|
|
|
+ Map<String, BusDeviceEntity> deviceMap = devices.stream()
|
|
|
+ .collect(Collectors.groupingBy(BusDeviceEntity::getDeviceId, Collectors.collectingAndThen(Collectors.toList(), CollectionUtil::getFirst)));
|
|
|
+
|
|
|
+ for (BusDeviceConfigurationEntity deviceConfiguration : deviceConfigurationList) {
|
|
|
+ String deviceId = deviceConfiguration.getDeviceId();
|
|
|
+ BusDeviceEntity device = deviceMap.get(deviceId);
|
|
|
+ device.setRemoteConfigId(deviceConfiguration.getId());
|
|
|
+ }
|
|
|
+ busDeviceService.updateBatchById(devices);
|
|
|
+
|
|
|
+ return CollectionUtil.size(deviceConfigurationList);
|
|
|
+ }
|
|
|
+
|
|
|
+ public IPage<DeviceConfigurationResult> selectRecordPage(DeviceConfigurationQuery query) {
|
|
|
+ return baseMapper.selectRecordPage(query);
|
|
|
}
|
|
|
}
|