using HH.WMS.BLL;
using HH.WMS.BLL.Interface;
using HH.WMS.BLL.OutStock;
using HH.WMS.Entitys;
using HH.WMS.WebApi.Areas.Common.Controllers;
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 DeliverGoodsController : BaseController
{
#region 包装箱信息
///
/// 包装箱信息
///
///
///
[HttpGet]
public OperateResult OutPackList(string opNo)
{
return ValidateToken(t =>
{
var outPackList = BLLCreator.Create>().GetList(new
{
CN_S_OP_NO = opNo
});
var boxDtlList = BLLCreator.Create>().GetList(new
{
CN_S_PACKING_CODE = outPackList.Select(x => x.CN_S_PACKING_CODE).ToList()
});
var result = outPackList.Select(x => new
{
CN_S_OP_NO = x.CN_S_OP_NO,
CN_S_PACKING_CODE = x.CN_S_PACKING_CODE,
CN_S_PACKING_NUM = boxDtlList.Where(y => y.CN_S_PACKING_CODE == x.CN_S_PACKING_CODE).Sum(z => z.CN_F_QUANTITY)
});
return OperateResult.Succeed(null, result);
});
}
#endregion
#region 装箱明细
///
/// 装箱明细
///
///
///
[HttpGet]
public OperateResult BoxDtlList(string pack)
{
return ValidateToken(t =>
{
var boxDtlList = BLLCreator.Create>().GetList(new
{
CN_S_PACKING_CODE = pack
});
return OperateResult.Succeed(null, boxDtlList);
});
}
#endregion
#region 确认发货
///
/// 确认发货
///
///
///
[HttpGet]
public OperateResult ComfirmDeliverGoods(string opNo)
{
return ValidateToken(t =>
{
try
{
OperateResult result = BLLCreator.Create().DeliverGoods(opNo);
return result;
//if (result.Status == ResultStatus.Success)
//{
// //TN_WM_OUT_MSTEntity mst = BLLCreator.Create>().GetSingleEntity(new { CN_S_OP_NO = opNo });
// //OperateResult apiResult = BLLCreator.Create().OutOrderConmit(mst.CN_S_OP_TYPE, mst.CN_S_FROM_NO);
// if (apiResult.Status != ResultStatus.Success)
// {
// result.Status = ResultStatus.Warning;
// result.Msg = apiResult.Msg;
// }
//}
//return result;
}
catch (Exception ex)
{
return OperateResult.Error(ex.Message);
}
});
}
#endregion
#region 发货明细
///
/// 发货明细
///
///
///
///
[HttpGet]
public OperateResult DeliverGoodsDetail(string opNo, string uniqueCode)
{
return ValidateToken(t =>
{
var data = BLLCreator.Create().DeliverGoodsDetail(opNo, uniqueCode);
return OperateResult.Succeed(null, data);
});
}
#endregion
}
}