|
|
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 主数据
|
|
|
|
|
|
/// <summary>
|
|
|
/// 从SAP传递物料基本信息到WMS
|
|
|
/// </summary>
|
|
|
/// <param name="jobj"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("MaterialMasterMethod")]
|
|
|
[AllowAnonymousAttribute]
|
|
|
public IActionResult MaterialMasterMethod(WmsInterfaceRequest<SapPtInterface> 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<SapPtInterface> sapPtInterfaces = responseData.objModel;
|
|
|
|
|
|
result = service.MaterialMasterMethod(sid, sapPtInterfaces);
|
|
|
}
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
result.success = false;
|
|
|
result.message = ex.Message;
|
|
|
return Json(result);
|
|
|
}
|
|
|
return Json(result);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 从SAP传递供应商基本信息到WMS
|
|
|
/// </summary>
|
|
|
/// <param name="jobj"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("SupplierMasterMethod")]
|
|
|
[AllowAnonymousAttribute]
|
|
|
public IActionResult SupplierMasterMethod(WmsInterfaceRequest<SapSuInterface> 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<SapSuInterface> objModel = responseData.objModel;
|
|
|
result = service.SupplierMasterMethod(sid, objModel);
|
|
|
}
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
result.success = false;
|
|
|
result.message = ex.Message;
|
|
|
return Json(result);
|
|
|
}
|
|
|
return Json(result);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 从SAP传递客户基本信息到WMS
|
|
|
/// </summary>
|
|
|
/// <param name="jobj"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("CustomerMasterMethod")]
|
|
|
[AllowAnonymousAttribute]
|
|
|
public IActionResult CustomerMasterMethod(WmsInterfaceRequest<SapCuInterface> 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<SapCuInterface> objModel = responseData.objModel;
|
|
|
result = service.CustomerMasterMethod(sid, objModel);
|
|
|
}
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
result.success = false;
|
|
|
result.message = ex.Message;
|
|
|
return Json(result);
|
|
|
}
|
|
|
return Json(result);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 从SAP传递物料号与客户物料号对照信息到WMS
|
|
|
/// </summary>
|
|
|
/// <param name="jobj"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("CustomerItemMasterMethod")]
|
|
|
[AllowAnonymousAttribute]
|
|
|
public IActionResult CustomerItemMasterMethod(WmsInterfaceRequest<SapPtcptInterface> 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<SapPtcptInterface> objModel = responseData.objModel;
|
|
|
result = service.CustomerItemMasterMethod(sid, objModel);
|
|
|
}
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
result.success = false;
|
|
|
result.message = ex.Message;
|
|
|
return Json(result);
|
|
|
}
|
|
|
return Json(result);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// MBOM同步到WMS系统
|
|
|
/// </summary>
|
|
|
/// <param name="jobj"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("BomMasterMethod")]
|
|
|
[AllowAnonymousAttribute]
|
|
|
public IActionResult BomMasterMethod(WmsInterfaceRequest<SapBomInterface> 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<SapBomInterface> 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
|
|
|
/// <summary>
|
|
|
/// SAP系统把ASN传递到WMS用于采购收货
|
|
|
/// </summary>
|
|
|
/// <param name="jobj"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("ASNDataMethod")]
|
|
|
[AllowAnonymousAttribute]
|
|
|
public IActionResult ASNDataMethod(WmsInterfaceRequest<SapAsnInterface> 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<SapAsnInterface> objModel = responseData.objModel;
|
|
|
result = service.ASNDataMethod(sid, objModel);
|
|
|
}
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
result.success = false;
|
|
|
result.message = ex.Message;
|
|
|
return Json(result);
|
|
|
}
|
|
|
return Json(result);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// WMS中对 SA/PO 进行条码展开并打印的业务数据表
|
|
|
/// </summary>
|
|
|
/// <param name="jobj"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("PODataMethod")]
|
|
|
[AllowAnonymousAttribute]
|
|
|
public IActionResult PODataMethod(WmsInterfaceRequest<SapDspoInterface> 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<SapDspoInterface> 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
|
|
|
/// <summary>
|
|
|
/// SAP系统将一定期间内待发运交货单信息发布到WMS用于后续捡配发货
|
|
|
/// </summary>
|
|
|
/// <param name="jobj"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("SalesAndDeliveryPlanMethod")]
|
|
|
[AllowAnonymousAttribute]
|
|
|
public IActionResult SalesAndDeliveryPlanMethod(WmsInterfaceRequest<SapDnInterface> 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<SapDnInterface> objModel = responseData.objModel;
|
|
|
result = service.SalesAndDeliveryPlanMethod(sid, objModel);
|
|
|
}
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
result.success = false;
|
|
|
result.message = ex.Message;
|
|
|
return Json(result);
|
|
|
}
|
|
|
return Json(result);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// SAP把物料的零星出(入)指令传到WMS
|
|
|
/// </summary>
|
|
|
/// <param name="jobj"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("SporadicEntryAndExitMethod")]
|
|
|
[AllowAnonymousAttribute]
|
|
|
public IActionResult SporadicEntryAndExitMethod(WmsInterfaceRequest<SapMiscoInterface> 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<SapMiscoInterface> objModel = responseData.objModel;
|
|
|
result = service.SporadicEntryAndExitMethod(sid, objModel);
|
|
|
}
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
result.success = false;
|
|
|
result.message = ex.Message;
|
|
|
return Json(result);
|
|
|
}
|
|
|
return Json(result);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 盘点开始时,SAP冻结库存,并把盘点表传到WMS
|
|
|
/// </summary>
|
|
|
/// <param name="jobj"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("InventoryListMethod")]
|
|
|
[AllowAnonymousAttribute]
|
|
|
public IActionResult InventoryListMethod(WmsInterfaceRequest<SapCycoInterface> 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<SapCycoInterface> objModel = responseData.objModel;
|
|
|
result = service.InventoryListMethod(sid, objModel);
|
|
|
}
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
result.success = false;
|
|
|
result.message = ex.Message;
|
|
|
return Json(result);
|
|
|
}
|
|
|
return Json(result);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// SAP把盘点差异转移到差异库的结果传到WMS,使得WMS可以根据盘点结果调整库存
|
|
|
/// </summary>
|
|
|
/// <param name="jobj"></param>
|
|
|
/// <returns></returns>
|
|
|
[HttpPost("InventoryDifferenceAdjustmentMethod")]
|
|
|
[AllowAnonymousAttribute]
|
|
|
public IActionResult InventoryDifferenceAdjustmentMethod(WmsInterfaceRequest<SapDifoInterface> 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<SapDifoInterface> 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
|
|
|
|
|
|
}
|
|
|
}
|