using WcsMain.ApiServe.Controllers.Dto;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.Location;
using WcsMain.ApiServe.Factory;
using WcsMain.DataBase.Dao;
using WcsMain.DataBase.TableEntity;
using WcsMain.WcsAttribute.AutoFacAttribute;
namespace WcsMain.ApiServe.Service.WcsService;
[Service]
public class LocationService(AppLocationDao locationDao)
{
private readonly AppLocationDao _locationDao = locationDao;
///
/// 查询所有的点位状态
///
///
public WcsApiResponse> GetLocation()
{
List? locations = _locationDao.Select();
if (locations == default)
{
return WcsApiResponseFactory.DataBaseErr>();
}
return WcsApiResponseFactory.Success(locations, "查询成功");
}
///
/// 分页查询点位的状态
///
///
///
public WcsApiResponse> GetLocationWithPage(GetLocationWithPageRequest request)
{
(List? locations, int totalRows) = _locationDao.SelectPage(request);
if(locations == default)
{
return WcsApiResponseFactory.DataBaseErr>();
}
return WcsApiResponseFactory.Success(locations, totalRows.ToString());
}
///
/// 更新点位状态
///
///
///
public WcsApiResponse UpdateLocation(UpdateLocationRequest request)
{
AppLocation updateEntity = new()
{
WcsLocation = request.WcsLocation,
WmsLocation = request.WmsLocation,
TunnelNo = request.TunnelNo,
EquipmentId = request.EquipmentId,
LocationStatus = request.LocationStatus,
Queue = request.Queue,
Line = request.Line,
Layer = request.Layer,
Depth = request.Depth,
LocationType = request.LocationType,
VehicleNo = request.VehicleNo,
ModifyTime = DateTime.Now,
Explain = request.Explain,
Remark = request.Remark
};
var result = _locationDao.Update(updateEntity);
return result > 0 ? WcsApiResponseFactory.Success() : WcsApiResponseFactory.DataBaseErr();
}
}