using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using System.Diagnostics;
using wms.dto.request;
using wms.dto.request.hj;
using wms.dto.response;
using wms.dto.response.hj;
using wms.service;
using wms.service.IService;
using wms.util.Ext;
using wms.util.Http;
namespace wms.api.Controllers
{
[Route("api/[controller]/[action]")]
[ApiController]
public class WmsController : ControllerBase
{
static object lockerCopperLineReceiveInstr = new object();
private readonly IHJService _hJService;
public WmsController(IHJService hJService)
{
_hJService = hJService;
}
///
/// 接收ESB请求统一入口
///
///
///
[HttpPost(Name = "WmsServiceEntrance")]
public EsbRes WmsServiceEntrance(EsbReq reqDto)
{
var result = new EsbRes() { HTTPResponseHeader = new HeadersRes() };
//var methodname = RedisHelper.Get("ESBServiceCode" + reqDto.headers.serviceCode);
//if (string.IsNullOrEmpty(methodname))
//{
// var conf = _hJService.GetSysConfigByExpression(p => p.SContent == reqDto.headers.serviceCode);
// if (conf == null)
// {
// throw new Exception("没有找到该编码的配置信息"+ reqDto.headers.serviceCode);
// }
// methodname = conf.Code;
// RedisHelper.Set("ESBServiceCode" + reqDto.headers.serviceCode, methodname);
//}
//switch (methodname)
//{
// case "CopperLineReceiveInstr"://镀铜补空/取满指令接收接口(包含550工字轮)
// var req = JsonConvert.DeserializeObject(reqDto.Body);
// result.Body = ConcurrencyReqControl(lockerCopperLineReceiveInstr, "CopperLineReceiveInstr"+ req.WbCode, req.WbCode, req, _hJService.CopperLineReceiveInstr) .ToCamelCaseString();
// break;
// case "StockChange"://库存改判
// result.Body = _hJService.StockChange(JsonConvert.DeserializeObject(reqDto.Body)).ToCamelCaseString();
// break;
// case "GetCurStockList"://实时库存查询接口
// result.Body = _hJService.GetCurStockList(JsonConvert.DeserializeObject(reqDto.Body)).ToCamelCaseString();
// break;
// case "SpecialPickMaterApply"://特殊出库领料申请接口
// result.Body = _hJService.SpecialPickMaterApply(JsonConvert.DeserializeObject(reqDto.Body)).ToCamelCaseString();
// break;
// default:
// break;
//}
return result;
}
}
}