using System;
|
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Mvc;
|
using Model.ModelDto.DataDto;
|
using System.Collections.Generic;
|
using WMS.Entity.DataEntity;
|
using WMS.IBLL.IDataServer;
|
|
namespace Wms_09.Controllers
|
{
|
[Route("api/[controller]/[action]")]
|
[ApiController]
|
public class StatisticalController : ControllerBase
|
{
|
/// <summary>
|
/// 依赖注入
|
/// </summary>
|
private readonly IStockServer _stock; //统计报表
|
private readonly IStockDetailServer _stockDetail; //统计报表
|
private readonly IDataBoxInfoServer _dataBoxInfo; //统计报表
|
/// <summary>
|
/// 构造函数
|
/// </summary>
|
/// <param name="stock">统计报表</param>
|
/// <param name="stockDetail">库存箱码明细</param>
|
/// <param name="dataBoxInfo">库存箱码明细</param>
|
public StatisticalController(IStockServer stock, IStockDetailServer stockDetail, IDataBoxInfoServer dataBoxInfo)
|
{
|
_stock = stock; //统计报表
|
_stockDetail = stockDetail;
|
_dataBoxInfo = dataBoxInfo;
|
}
|
|
#region 库存明细
|
|
/// <summary>
|
/// 获取库存总量
|
/// </summary>
|
/// <param name="skuNo"></param>
|
/// <param name="skuName"></param>
|
/// <returns></returns>
|
[HttpGet]
|
public IActionResult GetInventoryList(string skuNo, string skuName)
|
{
|
List<MateDataStockDto> StockList = _stock.GetDataStockList(skuNo, skuName);
|
return Ok(new
|
{
|
data = StockList,
|
code = 0,
|
msg = "获取库存总量成功"
|
});
|
}
|
|
|
/// <summary>
|
/// 获取库存明细
|
/// </summary>
|
/// <param name="skuNo">物料编码</param>
|
/// <param name="skuName">物料名称</param>
|
/// <param name="lotNo">批次</param>
|
/// <param name="locatNo">储位地址</param>
|
/// <param name="palletNo">托盘条码</param>
|
/// <param name="status">库存状态</param>
|
/// <param name="inspectStatus">质检状态</param>
|
/// <returns></returns>
|
[HttpGet]
|
public IActionResult GetInventoryList1(string skuNo, string skuName, string lotNo, string locatNo, string palletNo, string status, string inspectStatus)
|
{
|
List<StockDetailDto> stockDetailsList = _stock.GetInventoryList1(skuNo, skuName, lotNo, locatNo, palletNo, status, inspectStatus);
|
return Ok(new
|
{
|
data = stockDetailsList,
|
code = 0,
|
msg = "获取库存明细成功"
|
});
|
}
|
|
#endregion
|
|
#region 托盘明细
|
|
/// <summary>
|
/// 获取托盘明细
|
/// </summary>
|
/// <param name="skuNo">物料号</param>
|
/// <param name="skuName">物料名称</param>
|
/// <param name="palletNo">托盘号</param>
|
/// <param name="lotNo">批次号</param>
|
/// <param name="boxNo">箱码</param>
|
/// <param name="status">箱支状态</param>
|
/// <param name="inspectMark">检验标记</param>
|
/// <param name="bitPalletMark">零托标记</param>
|
/// <param name="bitBoxMark">零箱标记</param>
|
/// <param name="inspectStatus">质量状态</param>
|
/// <returns></returns>
|
[HttpGet]
|
public IActionResult GetBindList(string skuNo, string skuName, string palletNo, string lotNo, string boxNo, string status, string inspectMark, string bitPalletMark, string bitBoxMark, string inspectStatus)
|
{
|
try
|
{
|
List<DataStockDetail> boxInfoList = _stockDetail.GetBindList(skuNo, skuName, palletNo, lotNo, boxNo, status, inspectMark, bitPalletMark, bitBoxMark, inspectStatus);
|
return Ok(new { data = boxInfoList, code = 0, msg = "获取托盘明细成功" });
|
}
|
catch (Exception e)
|
{
|
return Ok(new { data = "", code = 0, msg = e.Message });
|
}
|
|
}
|
|
/// <summary>
|
/// 获取箱码明细
|
/// </summary>
|
/// <param name="id">id</param>
|
/// <param name="skuNo">物料号</param>
|
/// <param name="skuName">物料名称</param>
|
/// <param name="palletNo">托盘号</param>
|
/// <param name="lotNo">批次号</param>
|
/// <param name="boxNo">箱码</param>
|
/// <param name="status">箱支状态</param>
|
/// <param name="inspectMark">检验标记</param>
|
/// <param name="bitBoxMark">零箱标记</param>
|
/// <param name="inspectStatus">质量状态</param>
|
/// <returns></returns>
|
[HttpGet]
|
public IActionResult GetBoxInfo(string id, string skuNo, string skuName, string palletNo, string lotNo, string boxNo, string status, string inspectMark, string bitBoxMark, string inspectStatus)
|
{
|
try
|
{
|
List<DataBoxInfo> boxInfo = _dataBoxInfo.GetDataBoxInfo(id, skuNo, skuName, palletNo, lotNo, boxNo, status, inspectMark, bitBoxMark, inspectStatus);
|
return Ok(new { data = boxInfo, code = 0, msg = "获取箱码明细成功" });
|
}
|
catch (Exception e)
|
{
|
return Ok(new { data = "", code = 0, msg = e.Message });
|
}
|
|
}
|
|
/// <summary>
|
/// 根据箱码获取箱支信息
|
/// </summary>
|
/// <param name="boxNo">箱码</param>
|
/// <param name="boxNo3">支码</param>
|
/// <returns></returns>
|
[HttpGet]
|
public IActionResult GetBoxInfoByBoxNo(string boxNo, string boxNo3)
|
{
|
try
|
{
|
List<DataBoxInfo> boxInfo = _dataBoxInfo.GetBoxInfoByBoxNo(boxNo, boxNo3);
|
return Ok(new { data = boxInfo, code = 0, msg = "根据箱码获取箱支信息成功" });
|
}
|
catch (Exception e)
|
{
|
return Ok(new { data = "", code = 0, msg = e.Message });
|
}
|
}
|
|
#endregion
|
|
#region 低库存预警
|
|
/// <summary>
|
/// 低库存预警
|
/// </summary>
|
/// <param name="skuNo">物料号</param>
|
/// <param name="skuName">物料名称</param>
|
/// <param name="lotNo">批次</param>
|
/// <param name="type">物料类型</param>
|
/// <returns></returns>
|
[HttpGet]
|
public IActionResult GetInventoryWarning(string skuNo, string skuName, string lotNo, string type)
|
{
|
List<MateDataStockDto> stockList = _stock.GetInventoryWarning(skuNo, skuName, lotNo, type);
|
return Ok(new
|
{
|
data = stockList,
|
code = 0,
|
msg = "获取低库存预警成功"
|
});
|
}
|
|
#endregion
|
|
#region 临期预警
|
|
/// <summary>
|
/// 获取临期预警信息
|
/// </summary>
|
/// <param name="skuNo">物料号</param>
|
/// <param name="skuName">物料名称</param>
|
/// <param name="lotNo">批次</param>
|
/// <param name="palletNo">托盘号</param>
|
/// <param name="status">状态</param>
|
/// <param name="inspectMark">检验标记</param>
|
/// <param name="inspectStatus">质量状态</param>
|
/// <returns></returns>
|
[HttpGet]
|
public IActionResult GetEmergencyWarning(string skuNo, string skuName, string lotNo, string palletNo, string status, string inspectMark, string inspectStatus)
|
{
|
try
|
{
|
List<AdventBoxInfoDto> stockList = _dataBoxInfo.GetEmergencyWarning(skuNo, skuName, lotNo, palletNo, status, inspectMark, inspectStatus);
|
return Ok(new { data = stockList, code = 0, msg = "获取临期预警成功" });
|
}
|
catch (Exception e)
|
{
|
return Ok(new { data = "", code = 0, msg = e.Message});
|
}
|
|
}
|
|
#endregion
|
|
#region 出入库报表
|
|
/// <summary>
|
/// 获取出入库总量
|
/// </summary>
|
/// <param name="skuNo">物料号</param>
|
/// <param name="skuName">物料名称</param>
|
/// <param name="lotNo">批次</param>
|
/// <param name="startTime">开始时间</param>
|
/// <param name="endTime">结束时间</param>
|
/// <returns></returns>
|
[HttpGet]
|
public IActionResult GetTotalRecord(string skuNo, string skuName, string lotNo, string startTime, string endTime)
|
{
|
List<TotalRecordDto> totalsList = _stock.GetTotalRecord(skuNo, skuName, lotNo, startTime, endTime);
|
return Ok(new
|
{
|
data = totalsList,
|
code = 0,
|
msg = "获取出入库总量成功"
|
});
|
}
|
|
/// <summary>
|
/// 获取出入库记录
|
/// </summary>
|
/// <param name="skuNo">物料号</param>
|
/// <param name="skuName">物料名称</param>
|
/// <param name="lotNo">批次</param>
|
/// <param name="palletNo">托盘</param>
|
/// <param name="startTime">开始时间</param>
|
/// <param name="endTime">结束时间</param>
|
/// <returns></returns>
|
[HttpGet]
|
public IActionResult GetDetailedRecord(string skuNo, string skuName, string lotNo,string palletNo, string startTime, string endTime)
|
{
|
List<TotalRecordDto> totalsList = _stock.GetDetailedRecord(skuNo, skuName, lotNo,palletNo, startTime, endTime);
|
return Ok(new
|
{
|
data = totalsList,
|
code = 0,
|
msg = "获取出入库记录成功"
|
});
|
}
|
|
|
#endregion
|
|
#region 导出
|
/// <summary>
|
/// 导出库存总量
|
/// </summary>
|
/// <param name="skuNo"></param>
|
/// <param name="skuName"></param>
|
/// <returns></returns>
|
[HttpGet]
|
public IActionResult GetInventoryListDaoChu(string skuNo, string skuName)
|
{
|
List<MateDataStockDto> StockList = _stock.GetDataStockListDaoChu(skuNo, skuName);
|
return Ok(new
|
{
|
data = StockList,
|
code = 0,
|
msg = "导出库存总量成功"
|
});
|
}
|
/// <summary>
|
/// 导出库存明细
|
/// </summary>
|
/// <param name="skuNo">物料编码</param>
|
/// <param name="skuName">物料名称</param>
|
/// <param name="lotNo">批次</param>
|
/// <param name="locatNo">储位地址</param>
|
/// <param name="palletNo">托盘条码</param>
|
/// <param name="status">库存状态</param>
|
/// <param name="inspectStatus">质检状态</param>
|
/// <returns></returns>
|
[HttpGet]
|
public IActionResult GetInventoryList1DaoChu(string skuNo, string skuName, string lotNo, string locatNo, string palletNo, string status, string inspectStatus)
|
{
|
List<StockDetailDto> stockDetailsList = _stock.GetInventoryList1DaoChu(skuNo, skuName, lotNo, locatNo, palletNo, status, inspectStatus);
|
return Ok(new
|
{
|
data = stockDetailsList,
|
code = 0,
|
msg = "导出库存明细成功"
|
});
|
}
|
|
/// <summary>
|
/// 导出托盘明细
|
/// </summary>
|
/// <param name="skuNo">物料号</param>
|
/// <param name="skuName">物料名称</param>
|
/// <param name="palletNo">托盘号</param>
|
/// <param name="lotNo">批次号</param>
|
/// <param name="boxNo">箱码</param>
|
/// <param name="status">箱支状态</param>
|
/// <param name="inspectMark">检验标记</param>
|
/// <param name="bitPalletMark">零托标记</param>
|
/// <param name="bitBoxMark">零箱标记</param>
|
/// <param name="inspectStatus">质量状态</param>
|
/// <returns></returns>
|
[HttpGet]
|
public IActionResult GetBindListDaoChu(string skuNo, string skuName, string palletNo, string lotNo, string boxNo, string status, string inspectMark, string bitPalletMark, string bitBoxMark, string inspectStatus)
|
{
|
try
|
{
|
List<DataStockDetail> boxInfoList = _stockDetail.GetBindListDaoChu(skuNo, skuName, palletNo, lotNo, boxNo, status, inspectMark, bitPalletMark, bitBoxMark, inspectStatus);
|
return Ok(new { data = boxInfoList, code = 0, msg = "导出托盘明细成功" });
|
}
|
catch (Exception e)
|
{
|
return Ok(new { data = "", code = 0, msg = e.Message });
|
}
|
|
}
|
|
/// <summary>
|
/// 导出箱码明细
|
/// </summary>
|
/// <param name="id">id</param>
|
/// <param name="skuNo">物料号</param>
|
/// <param name="skuName">物料名称</param>
|
/// <param name="palletNo">托盘号</param>
|
/// <param name="lotNo">批次号</param>
|
/// <param name="boxNo">箱码</param>
|
/// <param name="status">箱支状态</param>
|
/// <param name="inspectMark">检验标记</param>
|
/// <param name="bitBoxMark">零箱标记</param>
|
/// <param name="inspectStatus">质量状态</param>
|
/// <returns></returns>
|
[HttpGet]
|
public IActionResult GetBoxInfoDaoChu(string id, string skuNo, string skuName, string palletNo, string lotNo, string boxNo, string status, string inspectMark, string bitBoxMark, string inspectStatus)
|
{
|
try
|
{
|
List<DataBoxInfo> boxInfo = _dataBoxInfo.GetDataBoxInfoDaoChu(id, skuNo, skuName, palletNo, lotNo, boxNo, status, inspectMark, bitBoxMark, inspectStatus);
|
return Ok(new { data = boxInfo, code = 0, msg = "导出箱码明细成功" });
|
}
|
catch (Exception e)
|
{
|
return Ok(new { data = "", code = 0, msg = e.Message });
|
}
|
|
}
|
#endregion
|
}
|
}
|