fix 营业点配置设备位置移动

This commit is contained in:
cheche
2024-03-12 10:51:10 +08:00
parent 7bf97dbe5e
commit f53ca84776
7 changed files with 55 additions and 45 deletions

View File

@@ -19,4 +19,6 @@ public interface IBusinessPlaceShiftService : IScopeDependency
Task<BusinessPlaceWithShiftResponse> GetShiftsByPlaceCustomCodeAsync(string placeCustomCode);
Task<Pagination<DeviceCodeNameDetail>> GetDevicesByCode(BusinessPlaceGetByCodeRequest request);
Task DispositionDeviceAsync(DispositionDeviceRequest request);
}

View File

@@ -232,6 +232,39 @@ public class BusinessPlaceShiftService : IBusinessPlaceShiftService
return pagination;
}
public async Task DispositionDeviceAsync(DispositionDeviceRequest request)
{
var places = await _dbContext.Queryable<BusinessPlaceEntity>().ToListAsync();
var place = places.Where(x => x.Code.ToString() == request.PlaceCode).First();
place.ThrowIfNull($"{request.PlaceCode}:该营业点不存在");
var devices = await _dbContext.Queryable<DeviceEntity>().ToListAsync();
if (request.UniqueNos != null && request.UniqueNos.Count > 0)
{
foreach (var no in request.UniqueNos)
{
var device = devices.Where(x => x.UniqueNo == no).First();
device.ThrowIfNull($"{no}:设备不存在");
}
}
var regiss = await _dbContext.Queryable<DeviceRegistryEntity>()
.Where(x => request.UniqueNos.Contains(x.DeviceUniqueNo))
.ToListAsync();
var list = new List<DeviceRegistryEntity>();
foreach (var regis in regiss)
{
regis.BusinessPlaceCode = place.Code;
regis.BusinessPlaceCustomCode = place.CustomCode;
list.Add(regis);
}
await _dbContext.UpdateAsync(list);
}
//*********************************************** help methods ***************************************************//
/// <summary>