| | |
| | | using Microsoft.AspNetCore.Mvc; |
| | | using System; |
| | | using Microsoft.Extensions.DependencyInjection; |
| | | |
| | | public class BaseController : ControllerBase |
| | | { |
| | | protected string OrgId |
| | | private RequestInfo _requestInfo; |
| | | |
| | | protected RequestInfo RequestInfo |
| | | { |
| | | get |
| | | { |
| | | var orgId = GetOrgIdFromHeader(); |
| | | if (string.IsNullOrEmpty(orgId)) |
| | | if (_requestInfo == null) |
| | | { |
| | | throw new ArgumentException("请æ±ç»ç»IDä¸åå¨ï¼è¯·æ£æ¥è¯·æ±å¤´ä¸æ¯å¦å
嫿æçOrgIdã"); |
| | | //å¿
填项 |
| | | //_requestInfo.ValidateRequired("OrgId"); |
| | | _requestInfo = HttpContext.RequestServices.GetService<RequestInfo>(); |
| | | } |
| | | return orgId; |
| | | return _requestInfo; |
| | | } |
| | | } |
| | | |
| | | private string GetOrgIdFromHeader() |
| | | { |
| | | if (HttpContext.Request.Headers.TryGetValue("OrgId", out var orgIdValue)) |
| | | { |
| | | return orgIdValue.ToString(); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | // å¯éï¼æä¾ä¸ä¸ªå®å
¨è·åOrgIdçæ¹æ³ï¼ä¸æåºå¼å¸¸èæ¯è¿åé»è®¤å¼ænull |
| | | protected bool TryGetOrgId(out string orgId) |
| | | { |
| | | orgId = GetOrgIdFromHeader(); |
| | | return !string.IsNullOrEmpty(orgId); |
| | | } |
| | | } |
| | |
| | | [Route("api/[controller]")] |
| | | public class WomdaaController : BaseController |
| | | { |
| | | |
| | | private readonly WomdaaManager m = new(); |
| | | private readonly MesPrintMangeer _mCf = new(); |
| | | |
| | |
| | | try |
| | | { |
| | | dynamic resultInfos = new ExpandoObject(); |
| | | resultInfos.tbBillList = m.GetProductionPickDaa001(query, OrgId); |
| | | resultInfos.tbBillList = m.GetProductionPickDaa001(query, RequestInfo); |
| | | return new ResponseResult |
| | | { |
| | | status = 0, |
| | |
| | | try |
| | | { |
| | | dynamic resultInfos = new ExpandoObject(); |
| | | resultInfos.tbBillList = m.GetItemsByDaa001(query, OrgId); |
| | | resultInfos.tbBillList = m.GetItemsByDaa001(query, RequestInfo); |
| | | return new ResponseResult |
| | | { |
| | | status = 0, |
| | |
| | | { |
| | | "$schema": "http://json.schemastore.org/launchsettings.json", |
| | | "iisSettings": { |
| | | "windowsAuthentication": false, |
| | | "anonymousAuthentication": true, |
| | | "iisExpress": { |
| | | "applicationUrl": "http://localhost:55640", |
| | | "sslPort": 0 |
| | | } |
| | | }, |
| | | { |
| | | "profiles": { |
| | | "http": { |
| | | "commandName": "Project", |
| | | "dotnetRunMessages": true, |
| | | "launchBrowser": true, |
| | | "launchUrl": "swagger", |
| | | "applicationUrl": "http://localhost:5204", |
| | | "environmentVariables": { |
| | | "ASPNETCORE_ENVIRONMENT": "Development" |
| | | } |
| | | }, |
| | | "dotnetRunMessages": true, |
| | | "applicationUrl": "http://localhost:5204" |
| | | }, |
| | | "IIS Express": { |
| | | "commandName": "IISExpress", |
| | |
| | | "ASPNETCORE_ENVIRONMENT": "Development" |
| | | } |
| | | } |
| | | }, |
| | | "$schema": "http://json.schemastore.org/launchsettings.json", |
| | | "iisSettings": { |
| | | "windowsAuthentication": false, |
| | | "anonymousAuthentication": true, |
| | | "iisExpress": { |
| | | "applicationUrl": "http://localhost:5204", |
| | | "sslPort": 0 |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | services.Configure<AppSettings>( |
| | | Configuration.GetSection("AppSettings")); |
| | | |
| | | // æ·»å æå¡æ³¨åï¼è¯·æ±å¤´ä¿¡æ¯ä¼ éã |
| | | services.AddHttpContextAccessor(); |
| | | services.AddScoped<RequestInfo>(); |
| | | |
| | | services.AddSwaggerGen(c => |
| | | { |
| | | c.SwaggerDoc("v1", |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using Microsoft.AspNetCore.Http; |
| | | using System.Dynamic; |
| | | |
| | | public class RequestInfo : DynamicObject |
| | | { |
| | | private readonly IHttpContextAccessor _httpContextAccessor; |
| | | private readonly ExpandoObject _data = new ExpandoObject(); |
| | | |
| | | public RequestInfo(IHttpContextAccessor httpContextAccessor) |
| | | { |
| | | _httpContextAccessor = httpContextAccessor; |
| | | InitializeData(); |
| | | } |
| | | |
| | | private void InitializeData() |
| | | { |
| | | // åå§åææéè¦ç请æ±å¤´åæ° |
| | | SetValue("OrgId", GetHeaderValue("OrgId")); |
| | | //// å¯ä»¥ç»§ç»æ·»å å
¶ä»åæ° |
| | | //SetValue("UserId", GetHeaderValue("UserId")); |
| | | //SetValue("Language", GetHeaderValue("Language")); |
| | | } |
| | | |
| | | public override bool TryGetMember(GetMemberBinder binder, out object result) |
| | | { |
| | | string name = binder.Name; |
| | | return ((IDictionary<string, object>)_data).TryGetValue(name, out result); |
| | | } |
| | | |
| | | public override bool TrySetMember(SetMemberBinder binder, object value) |
| | | { |
| | | ((IDictionary<string, object>)_data)[binder.Name] = value; |
| | | return true; |
| | | } |
| | | |
| | | public string GetHeaderValue(string key) |
| | | { |
| | | var httpContext = _httpContextAccessor.HttpContext; |
| | | if (httpContext?.Request.Headers.TryGetValue(key, out var value) == true) |
| | | { |
| | | return value.ToString(); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | private void SetValue(string key, object value) |
| | | { |
| | | ((IDictionary<string, object>)_data)[key] = value; |
| | | } |
| | | |
| | | // æ·»å ä¸ä¸ªæ¹æ³æ¥æ£æ¥å¿
éåæ°æ¯å¦åå¨ |
| | | public void ValidateRequired(params string[] requiredFields) |
| | | { |
| | | foreach (var field in requiredFields) |
| | | { |
| | | if (!((IDictionary<string, object>)_data).ContainsKey(field) || |
| | | ((IDictionary<string, object>)_data)[field] == null) |
| | | { |
| | | throw new ArgumentException($"请æ±å¤´ä¸ç¼ºå°å¿
éç {field} åæ°"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | //è¿éé¢åç代ç ä¸ä¼ç»è¦ç,妿è¦éæ°çæè¯·å é¤ WomdaaManager.cs |
| | | |
| | | //è·åå·¥åå· |
| | | public List<string> GetProductionPickDaa001(WarehouseQuery query,string orgId) |
| | | public List<string> GetProductionPickDaa001(WarehouseQuery query, dynamic requestInfo) |
| | | { |
| | | var sql = |
| | | "SELECT DAA001 FROM WOMDAA A LEFT JOIN (SELECT COUNT(1) UN_NUM, PID FROM WOMDAB WHERE DAB006 > DAB007 GROUP BY DAB002) B ON A.GUID = B.daaGuid WHERE DAA001 = " + |
| | |
| | | } |
| | | |
| | | //æ ¹æ®å·¥åå·è¿å产ååå·åå¾
é¢ç©æ |
| | | public ProductionPickDto GetItemsByDaa001(WarehouseQuery query,string OrgId) |
| | | public ProductionPickDto GetItemsByDaa001(WarehouseQuery query, dynamic requestInfo) |
| | | { |
| | | return getDaa001(query); |
| | | } |