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; } } }