using HH.WMS.BLL;
using HH.WMS.BLL.Algorithm;
using HH.WMS.BLL.Common;
using HH.WMS.Common;
using HH.WMS.Common.Algorithm;
using HH.WMS.Common.Algorithm.Out;
using HH.WMS.Entitys;
using HH.WMS.Entitys.Common;
using HH.WMS.WebApi.Areas.Common.Controllers;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
namespace HH.WMS.WebApi.Areas.OutStock.Controllers
{
public class WaveServiceController : BaseController
{
#region 算库区
///
/// 算库区
///
///
///
public OperateResult OutArea(dynamic outAreaParams)
{
try
{
List itemQuerys = JsonConvert.DeserializeObject>(Util.ToString(outAreaParams.itemQuerys));
List lstAreaPrior = JsonConvert.DeserializeObject>(Util.ToString(outAreaParams.lstAreaPrior));
if (!itemQuerys.Any() || !lstAreaPrior.Any())
{
Log.Info("WaveService OutArea lstQueryOut", JsonConvert.SerializeObject(itemQuerys));
Log.Info("WaveService OutArea lstAreaPrior", JsonConvert.SerializeObject(lstAreaPrior));
return OperateResult.Error("参数不正确");
}
OutAreaResultAllEntity algorResultEntity = BLLCreator.Create().OutArea(itemQuerys, lstAreaPrior);
return OperateResult.Succeed(null, algorResultEntity);
}
catch (Exception ex)
{
return OperateResult.Error(ex.Message);
}
}
#endregion
#region 算货位
///
/// 算货位
///
///
///
public OperateResult OutNew(OutAlgorEnitty entity)
{
try
{
if (entity == null)
return OperateResult.Error("参数不正确");
OutResultEntityNew outResult = BLLCreator.Create().OutNew(entity);
return OperateResult.Succeed(null, outResult);
}
catch (Exception ex)
{
return OperateResult.Error(ex.Message);
}
}
#endregion
#region 找站点
///
/// 找站点
///
///
///
[HttpPost]
public OperateResult GetWorkPosition(WorkflowEntity entity)
{
return BLLCreator.Create().GetWorkPosition(entity);
}
#endregion
///
/// /
///
///
///
[HttpPost]
public OperateResult InAssign(InAssignEntity entity)
{
try
{
if (entity == null)
return OperateResult.Error("参数不正确");
InAssignResultEntity inAssignResult = BLLCreator.Create().InAssign(entity);
return OperateResult.Succeed(null, inAssignResult);
}
catch (Exception ex)
{
return OperateResult.Error(ex.Message);
}
}
}
}