using Estsh.Core.Wms.IServices;
using Estsh.Core.Model.Result;
using Microsoft.AspNetCore.Mvc;
using Estsh.Core.Models;
using Estsh.Core.Controllers;
using Microsoft.AspNetCore.Authorization;
using Newtonsoft.Json.Linq;
namespace Estsh.Core.Web.Areas.Wms.Controllers.ERPInterface
{
[Route("wms/[controller]")]
[ApiController]
public class ERPInterfaceController : WmsBaseController
{
private IERPInterfaceService service;
// GET: LoginController
public ERPInterfaceController(IERPInterfaceService _service)
{
service = _service;
}
#region 主数据
///
/// 从SAP传递物料基本信息到WMS
///
///
///
[HttpPost("MaterialMasterMethod")]
[AllowAnonymousAttribute]
public IActionResult MaterialMasterMethod(WmsInterfaceRequest responseData)
{
WmsInterfaceResult result = new WmsInterfaceResult();
try
{
if (responseData == null)
{
result.success = false;
result.message = "对象不能为空";
return Json(result);
}
else
{
string sid = responseData.sid;
if (string.IsNullOrEmpty(sid))
{
result.success = false;
result.message = "sid不能为空";
return Json(result);
}
if (responseData.objModel.Count==0)
{
result.success = false;
result.message = "数据不能为空";
return Json(result);
}
List sapPtInterfaces = responseData.objModel;
result = service.MaterialMasterMethod(sid, sapPtInterfaces);
}
}
catch (Exception ex)
{
result.success = false;
result.message = ex.Message;
return Json(result);
}
return Json(result);
}
///
/// 从SAP传递供应商基本信息到WMS
///
///
///
[HttpPost("SupplierMasterMethod")]
[AllowAnonymousAttribute]
public IActionResult SupplierMasterMethod(WmsInterfaceRequest responseData)
{
WmsInterfaceResult result = new WmsInterfaceResult();
try
{
if (responseData == null)
{
result.success = false;
result.message = "对象不能为空";
return Json(result);
}
else
{
string sid = responseData.sid;
if (sid.Equals(""))
{
result.success = false;
result.message = "sid不能为空";
return Json(result);
}
if (responseData.objModel.Count == 0)
{
result.success = false;
result.message = "数据不能为空";
return Json(result);
}
List objModel = responseData.objModel;
result = service.SupplierMasterMethod(sid, objModel);
}
}
catch (Exception ex)
{
result.success = false;
result.message = ex.Message;
return Json(result);
}
return Json(result);
}
///
/// 从SAP传递客户基本信息到WMS
///
///
///
[HttpPost("CustomerMasterMethod")]
[AllowAnonymousAttribute]
public IActionResult CustomerMasterMethod(WmsInterfaceRequest responseData)
{
WmsInterfaceResult result = new WmsInterfaceResult();
try
{
if (responseData == null)
{
result.success = false;
result.message = "对象不能为空";
return Json(result);
}
else
{
string sid = responseData.sid;
if (sid.Equals(""))
{
result.success = false;
result.message = "sid不能为空";
return Json(result);
}
if (responseData.objModel.Count == 0)
{
result.success = false;
result.message = "数据不能为空";
return Json(result);
}
List objModel = responseData.objModel;
result = service.CustomerMasterMethod(sid, objModel);
}
}
catch (Exception ex)
{
result.success = false;
result.message = ex.Message;
return Json(result);
}
return Json(result);
}
///
/// 从SAP传递物料号与客户物料号对照信息到WMS
///
///
///
[HttpPost("CustomerItemMasterMethod")]
[AllowAnonymousAttribute]
public IActionResult CustomerItemMasterMethod(WmsInterfaceRequest responseData)
{
WmsInterfaceResult result = new WmsInterfaceResult();
try
{
if (responseData == null)
{
result.success = false;
result.message = "对象不能为空";
return Json(result);
}
else
{
string sid = responseData.sid;
if (sid.Equals(""))
{
result.success = false;
result.message = "sid不能为空";
return Json(result);
}
if (responseData.objModel.Count == 0)
{
result.success = false;
result.message = "数据不能为空";
return Json(result);
}
List objModel = responseData.objModel;
result = service.CustomerItemMasterMethod(sid, objModel);
}
}
catch (Exception ex)
{
result.success = false;
result.message = ex.Message;
return Json(result);
}
return Json(result);
}
///
/// MBOM同步到WMS系统
///
///
///
[HttpPost("BomMasterMethod")]
[AllowAnonymousAttribute]
public IActionResult BomMasterMethod(WmsInterfaceRequest responseData)
{
WmsInterfaceResult result = new WmsInterfaceResult();
try
{
if (responseData == null)
{
result.success = false;
result.message = "对象不能为空";
return Json(result);
}
else
{
string sid = responseData.sid;
if (sid.Equals(""))
{
result.success = false;
result.message = "sid不能为空";
return Json(result);
}
if (responseData.objModel.Count == 0)
{
result.success = false;
result.message = "数据不能为空";
return Json(result);
}
List objModel = responseData.objModel;
result = service.BomMasterMethod(sid, objModel);
}
}
catch (Exception ex)
{
result.success = false;
result.message = ex.Message;
return Json(result);
}
return Json(result);
}
#endregion
#region ASN PO
///
/// SAP系统把ASN传递到WMS用于采购收货
///
///
///
[HttpPost("ASNDataMethod")]
[AllowAnonymousAttribute]
public IActionResult ASNDataMethod(WmsInterfaceRequest responseData)
{
WmsInterfaceResult result = new WmsInterfaceResult();
try
{
if (responseData == null)
{
result.success = false;
result.message = "对象不能为空";
return Json(result);
}
else
{
string sid = responseData.sid;
if (sid.Equals(""))
{
result.success = false;
result.message = "sid不能为空";
return Json(result);
}
if (responseData.objModel.Count == 0)
{
result.success = false;
result.message = "数据不能为空";
return Json(result);
}
List objModel = responseData.objModel;
result = service.ASNDataMethod(sid, objModel);
}
}
catch (Exception ex)
{
result.success = false;
result.message = ex.Message;
return Json(result);
}
return Json(result);
}
///
/// WMS中对 SA/PO 进行条码展开并打印的业务数据表
///
///
///
[HttpPost("PODataMethod")]
[AllowAnonymousAttribute]
public IActionResult PODataMethod(WmsInterfaceRequest responseData)
{
WmsInterfaceResult result = new WmsInterfaceResult();
try
{
if (responseData == null)
{
result.success = false;
result.message = "对象不能为空";
return Json(result);
}
else
{
string sid = responseData.sid;
if (sid.Equals(""))
{
result.success = false;
result.message = "sid不能为空";
return Json(result);
}
if (responseData.objModel.Count == 0)
{
result.success = false;
result.message = "数据不能为空";
return Json(result);
}
List objModel = responseData.objModel;
result = service.PODataMethod(sid, objModel);
}
}
catch (Exception ex)
{
result.success = false;
result.message = ex.Message;
return Json(result);
}
return Json(result);
}
#endregion
#region
///
/// SAP系统将一定期间内待发运交货单信息发布到WMS用于后续捡配发货
///
///
///
[HttpPost("SalesAndDeliveryPlanMethod")]
[AllowAnonymousAttribute]
public IActionResult SalesAndDeliveryPlanMethod(WmsInterfaceRequest responseData)
{
WmsInterfaceResult result = new WmsInterfaceResult();
try
{
if (responseData == null)
{
result.success = false;
result.message = "对象不能为空";
return Json(result);
}
else
{
string sid = responseData.sid;
if (sid.Equals(""))
{
result.success = false;
result.message = "sid不能为空";
return Json(result);
}
if (responseData.objModel.Count == 0)
{
result.success = false;
result.message = "数据不能为空";
return Json(result);
}
List objModel = responseData.objModel;
result = service.SalesAndDeliveryPlanMethod(sid, objModel);
}
}
catch (Exception ex)
{
result.success = false;
result.message = ex.Message;
return Json(result);
}
return Json(result);
}
///
/// SAP把物料的零星出(入)指令传到WMS
///
///
///
[HttpPost("SporadicEntryAndExitMethod")]
[AllowAnonymousAttribute]
public IActionResult SporadicEntryAndExitMethod(WmsInterfaceRequest responseData)
{
WmsInterfaceResult result = new WmsInterfaceResult();
try
{
if (responseData == null)
{
result.success = false;
result.message = "对象不能为空";
return Json(result);
}
else
{
string sid = responseData.sid;
if (sid.Equals(""))
{
result.success = false;
result.message = "sid不能为空";
return Json(result);
}
if (responseData.objModel.Count == 0)
{
result.success = false;
result.message = "数据不能为空";
return Json(result);
}
List objModel = responseData.objModel;
result = service.SporadicEntryAndExitMethod(sid, objModel);
}
}
catch (Exception ex)
{
result.success = false;
result.message = ex.Message;
return Json(result);
}
return Json(result);
}
///
/// 盘点开始时,SAP冻结库存,并把盘点表传到WMS
///
///
///
[HttpPost("InventoryListMethod")]
[AllowAnonymousAttribute]
public IActionResult InventoryListMethod(WmsInterfaceRequest responseData)
{
WmsInterfaceResult result = new WmsInterfaceResult();
try
{
if (responseData == null)
{
result.success = false;
result.message = "对象不能为空";
return Json(result);
}
else
{
string sid = responseData.sid;
if (sid.Equals(""))
{
result.success = false;
result.message = "sid不能为空";
return Json(result);
}
if (responseData.objModel.Count == 0)
{
result.success = false;
result.message = "数据不能为空";
return Json(result);
}
List objModel = responseData.objModel;
result = service.InventoryListMethod(sid, objModel);
}
}
catch (Exception ex)
{
result.success = false;
result.message = ex.Message;
return Json(result);
}
return Json(result);
}
///
/// SAP把盘点差异转移到差异库的结果传到WMS,使得WMS可以根据盘点结果调整库存
///
///
///
[HttpPost("InventoryDifferenceAdjustmentMethod")]
[AllowAnonymousAttribute]
public IActionResult InventoryDifferenceAdjustmentMethod(WmsInterfaceRequest responseData)
{
WmsInterfaceResult result = new WmsInterfaceResult();
try
{
if (responseData == null)
{
result.success = false;
result.message = "对象不能为空";
return Json(result);
}
else
{
string sid = responseData.sid;
if (sid.Equals(""))
{
result.success = false;
result.message = "sid不能为空";
return Json(result);
}
if (responseData.objModel.Count == 0)
{
result.success = false;
result.message = "数据不能为空";
return Json(result);
}
List objModel = responseData.objModel;
result = service.InventoryDifferenceAdjustmentMethod(sid, objModel);
}
}
catch (Exception ex)
{
result.success = false;
result.message = ex.Message;
return Json(result);
}
return Json(result);
}
#endregion
}
}