using AutoMapper;
|
using OfficeOpenXml.FormulaParsing.Excel.Functions.RefAndLookup;
|
using SqlSugar;
|
using WIDESEAWCS_Core;
|
using WIDESEAWCS_Core.BaseServices;
|
using WIDESEAWCS_Core.Const;
|
using WIDESEAWCS_Core.DB;
|
using WIDESEAWCS_Core.Helper;
|
using WIDESEAWCS_IShuttleCar;
|
using WIDESEAWCS_IShuttleCarInfoRepository;
|
using WIDESEAWCS_Model.Models;
|
using WIDESEAWCS_QuartzJob.Service;
|
|
namespace WIDESEAWCS_ShuttleCar
|
{
|
public class ShuttleCarService : ServiceBase<Dt_ShuttleCar, IShuttleCarRepository>, IShuttleCarService
|
{
|
private readonly IMapper _mapper;
|
|
public ShuttleCarService(IShuttleCarRepository BaseDal, IMapper mapper) : base(BaseDal)
|
{
|
_mapper = mapper;
|
}
|
|
/// <summary>
|
/// 根据地址查询穿梭车信息
|
/// </summary>
|
/// <param name="Address"></param>
|
/// <returns></returns>
|
public Dt_ShuttleCar QueryShuttleCar(string Address)
|
{
|
return BaseDal.QueryFirst(x => x.ShuttleCarPosition == Address || x.ShuttleCarPosition1 == Address);
|
}
|
|
/// <summary>
|
/// 根据穿梭车编号查询穿梭车信息
|
/// </summary>
|
/// <param name="ShuttleCarId"></param>
|
/// <returns></returns>
|
public Dt_ShuttleCar QueryCode(string ShuttleCarCode)
|
{
|
return BaseDal.QueryFirst(x => x.ShuttleCarCode == ShuttleCarCode);
|
}
|
/// <summary>
|
/// 根据穿梭车编号查询其他穿梭车信息
|
/// </summary>
|
/// <param name="ShuttleCarCode"></param>
|
/// <returns></returns>
|
public Dt_ShuttleCar QueryNoCode(string ShuttleCarCode)
|
{
|
return BaseDal.QueryFirst(x => x.ShuttleCarCode != ShuttleCarCode);
|
}
|
public override WebResponseContent UpdateData(SaveModel saveModel)
|
{
|
WebResponseContent responseContent = new WebResponseContent().OK();
|
try
|
{
|
Dt_ShuttleCar shuttleCar = BaseDal.QueryFirst(x => x.ShuttleCarId == saveModel.MainData["shuttleCarId"].ObjToInt());
|
var Position = saveModel.MainData["shuttleCarPosition"].ToString();
|
if (BaseDal.QueryData(x => x.ShuttleCarPosition == Position && x.ShuttleCarId != shuttleCar.ShuttleCarId).Any())
|
throw new Exception($"位置【{Position}】已存在穿梭车");
|
SqlSugarClient WMSsugarClient = new SqlSugarClient(new ConnectionConfig
|
{
|
ConfigId = MainDb.CurrentDbConnId,
|
ConnectionString = AppSettings.Get("WMSConnectionString").DecryptDES(AppSecret.DB),
|
IsAutoCloseConnection = true,
|
DbType = DbType.SqlServer,
|
});
|
|
var getLocation = WMSsugarClient.Queryable("Dt_LocationInfo", "x").Where("LocationCode", "=", Position).Any();
|
if (!getLocation) throw new Exception($"未找到位置【{Position}】");
|
shuttleCar.ShuttleCarPosition = Position;
|
shuttleCar.ShuttleCarPosition1 = Position;
|
BaseDal.UpdateData(shuttleCar);
|
}
|
catch (Exception ex)
|
{
|
responseContent.Error(ex.Message);
|
}
|
return responseContent;
|
}
|
}
|
}
|