diff --git a/ProductionMgr/Tnb.ProductionMgr/PrdMoService.cs b/ProductionMgr/Tnb.ProductionMgr/PrdMoService.cs index ec998219..d117a1ff 100644 --- a/ProductionMgr/Tnb.ProductionMgr/PrdMoService.cs +++ b/ProductionMgr/Tnb.ProductionMgr/PrdMoService.cs @@ -14,6 +14,7 @@ using JNPF.Systems.Interfaces.System; using JNPF.VisualDev; using JNPF.VisualDev.Entitys.Dto.VisualDevModelData; using JNPF.VisualDev.Interfaces; +using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json; using SqlSugar; @@ -432,7 +433,25 @@ namespace Tnb.ProductionMgr return PageResult.SqlSugarPageResult(result); } - + public class data + { + public string mo_code { get; set; } + public string f_fullname { get; set; } + public string material_name { get; set; } + public string plan_qty { get; set; } + public string scheduled_qty { get; set; } + public string tobe_scheduled_qty { get; set; } + public string reported_work_qty { get; set; } + public string complete_rate { get; set; } + public string orderby_field { get; set; } + } + [HttpPost] + [AllowAnonymous] + public async Task GetPrdTask() + { + var result= _db.Ado.SqlQuery("select a.mo_code,b.f_fullname,c.name as material_name,a.plan_qty,a.scheduled_qty,(a.plan_qty-a.scheduled_qty) as tobe_scheduled_qty, a.reported_work_qty,(case when a.scheduled_qty is null or a.scheduled_qty<=0 or a.reported_work_qty is null or a.reported_work_qty<=0 then null else round(a.reported_work_qty*100::numeric/a.plan_qty, 1)||'%' end) as complete_rate,(case when a.scheduled_qty is null or a.scheduled_qty<=0 or a.reported_work_qty is null or a.reported_work_qty<=0 then 0 else round(a.reported_work_qty*100::numeric/a.plan_qty, 1) end) as orderby_field from prd_mo a left join base_dictionarydata b on a.mo_status=b.f_id left join bas_material c on a.material_id=c.id where a.mo_status not in ('25501969636645','25501960891941');"); + return result; + } #endregion #region 正向工单追溯相关 diff --git a/ProductionMgr/Tnb.ProductionMgr/RedisBackGround.cs b/ProductionMgr/Tnb.ProductionMgr/RedisBackGround.cs index b6497f72..f6fd9943 100644 --- a/ProductionMgr/Tnb.ProductionMgr/RedisBackGround.cs +++ b/ProductionMgr/Tnb.ProductionMgr/RedisBackGround.cs @@ -1,4 +1,5 @@ using System; +using System.Data; using System.Dynamic; using System.Security.Policy; using Aop.Api.Domain; @@ -33,6 +34,7 @@ namespace Tnb.ProductionMgr private Timer? Readtimer; private Timer? CheckGettimer; private Timer? Scantimer; + private Timer? SSXcodetimer; private readonly RedisData _redisData; private readonly IPrdInstockService _prdInstockService; private readonly ISqlSugarRepository _repository; @@ -126,6 +128,11 @@ namespace Tnb.ProductionMgr { Dictionary getdic = new Dictionary(); getdic.Add("SSX-021-005", new string[] { "YTCS", "AllowFullOut_CS05", "LiftCode" }); + getdic.Add("SSX-011-002", new string[] { "YTCS", "AllowAgvFullIn_CS02", "Code_CS02" }); + getdic.Add("SSX-011-004", new string[] { "YTCS", "AllowCtuFullOut_CS04", "Code_CS04" }); + + getdic.Add("SSX-111-011", new string[] { "东面提升机输送线", "下升降机11允许出箱", "下升降机11条码" }); + getdic.Add("SSX-111-012", new string[] { "东面提升机输送线", "下升降机12允许出箱", "下升降机12条码" }); foreach (var key in getdic.Keys) { try @@ -141,7 +148,7 @@ namespace Tnb.ProductionMgr JObject? coderes = JsonConvert.DeserializeObject(codedata); string coderesult = coderes != null && coderes["Value"] != null ? coderes.Value("Value")! : ""; coderesult = coderesult.Replace("\r", ""); - var DistaskH = _repository.AsSugarClient().Queryable().Where(p => p.carry_code == coderesult && p.status == WmsWareHouseConst.TASK_BILL_STATUS_YXD_ID).First(); + var DistaskH = _repository.AsSugarClient().Queryable().Where(p => p.carry_code == coderesult && p.status == WmsWareHouseConst.TASK_BILL_STATUS_YXD_ID&&string.IsNullOrEmpty(p.extras)).First(); if (DistaskH != null) { dynamic reqBody = new ExpandoObject(); @@ -150,6 +157,8 @@ namespace Tnb.ProductionMgr reqBody.containerCode = coderesult; CancellationTokenSource Ctu = new(); dynamic respBody = HttpClientHelper.PostStreamAsync("http://192.168.11.104:1880/wcs/notify/cargo", reqBody, Ctu.Token).Result; + DistaskH.extras = respBody; + _repository.AsSugarClient().Updateable(DistaskH).ExecuteCommand(); Ctu.Dispose(); } } @@ -165,6 +174,7 @@ namespace Tnb.ProductionMgr { Dictionary getdic = new Dictionary(); getdic.Add("BGWRKYCL02", new string[] { "CP8", "AllowGetFullBox1", "code1", "PutDoneEmptyBox","false" }); + getdic.Add("BGWRKYCL01", new string[] { "CP8", "AllowGetFullBox2", "code2", "PutDoneEmptyBox", "false" }); foreach (var key in getdic.Keys) { try @@ -183,7 +193,7 @@ namespace Tnb.ProductionMgr ["TagName"] = strs[3], ["Value"] = strs[4], }; - HttpClientHelper.GetAsync(_eleCtlCfg.WriteTagUrl, new Dictionary(), dicCommand).Wait(); + HttpClientHelper.GetRequestAsync(_eleCtlCfg.WriteTagUrl, dicCommand).Wait(); string codedata = _redisData.GetHash(strs[0], strs[2]).Result; @@ -192,7 +202,7 @@ namespace Tnb.ProductionMgr WmsCarryH? carry = _repository.AsSugarClient().Queryable().Single(it => it.carry_code == coderesult); if (carry != null) { - if (_repository.AsSugarClient().Queryable().Where(p => p.carry_id == carry.id && (p.status == WmsWareHouseConst.TASK_BILL_STATUS_DZX_ID || p.status == WmsWareHouseConst.TASK_BILL_STATUS_YXD_ID || p.status == WmsWareHouseConst.TASK_BILL_STATUS_RUNING_ID)).Any()) + if (_repository.AsSugarClient().Queryable().Where(p => p.carry_id == carry.id && p.status != WmsWareHouseConst.TASK_BILL_STATUS_COMPLE_ID ).Any()) continue; var WmsCarryCode = _repository.AsSugarClient().Queryable().Single(it => it.carry_id == carry.id); if (WmsCarryCode != null) @@ -220,24 +230,73 @@ namespace Tnb.ProductionMgr } } - - - } + private void SSXcode(object state) + { + Dictionary dic = new Dictionary(); + dic.Add("东面提升机输送线", new string[] { "下升降机判断请求", "下升降机判断条码", "下升降机判断完毕", "下升降机判断结果" }); + Dictionary putdic = new Dictionary(); + putdic.Add("SSX-111-011", 11); + putdic.Add("SSX-111-012", 12); + foreach (var key in dic.Keys) + { + try + { + var strs = dic.Where(p => p.Key == key).First().Value; + string dataflag = _redisData.GetHash(key, strs[0]).Result; + JObject? resflag = JsonConvert.DeserializeObject(dataflag); + bool re = resflag != null && resflag["Value"] != null ? resflag.Value("Value") : false; + if (!re) + continue; + string data = _redisData.GetHash(key, strs[1]).Result; + JObject? res = JsonConvert.DeserializeObject(data); + string? result = res != null && res["Value"] != null ? res.Value("Value") : ""; + if (!string.IsNullOrEmpty(result)) + { + result = result.Replace("\r", ""); + var DistaskH = _repository.AsSugarClient().Queryable().Where(p => p.carry_code == result && p.status != WmsWareHouseConst.TASK_BILL_STATUS_COMPLE_ID).OrderByDescending(p => p.create_time).First(); + if (DistaskH != null) + { + Dictionary dicCommand2 = new(StringComparer.OrdinalIgnoreCase) + { + ["DevName"] = strs[0], + ["token"] = _eleCtlCfg.token, + ["TagName"] = strs[3], + ["Value"] = putdic.Keys.Contains(DistaskH.startlocation_code) ? putdic.Where(p => p.Key == DistaskH.startlocation_code).First().Value.ToString() : "13", + }; + HttpClientHelper.GetRequestAsync(_eleCtlCfg.WriteTagUrl, dicCommand2).Wait(); + Dictionary dicCommand = new(StringComparer.OrdinalIgnoreCase) + { + ["DevName"] = strs[0], + ["token"] = _eleCtlCfg.token, + ["TagName"] = strs[2], + ["Value"] = "true", + }; + HttpClientHelper.GetRequestAsync(_eleCtlCfg.WriteTagUrl, dicCommand).Wait(); + } + } + } + catch (Exception) + { + } + } + } public void Dispose() { Readtimer?.Dispose(); CheckGettimer?.Dispose(); Scantimer?.Dispose(); + SSXcodetimer?.Dispose(); } public Task StartAsync(CancellationToken cancellationToken) { - // Readtimer = new Timer(GetRedisData, null, TimeSpan.Zero, TimeSpan.FromSeconds(300)); + Readtimer = new Timer(GetRedisData, null, TimeSpan.Zero, TimeSpan.FromSeconds(300)); CheckGettimer = new Timer(CheckGet, null, TimeSpan.Zero, TimeSpan.FromSeconds(10)); - Scantimer = new Timer(ScanInStock, null, TimeSpan.Zero, TimeSpan.FromSeconds(20)); + Scantimer = new Timer(ScanInStock, null, TimeSpan.Zero, TimeSpan.FromSeconds(30)); + SSXcodetimer= new Timer(SSXcode, null, TimeSpan.Zero, TimeSpan.FromSeconds(10)); return Task.CompletedTask; } public Task StopAsync(CancellationToken cancellationToken) diff --git a/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs b/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs index 79774753..fbe34eba 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs @@ -91,7 +91,15 @@ namespace Tnb.WarehouseMgr [HttpPost, NonUnify, AllowAnonymous] public async Task LoadConfirm(ConfirmInput input) { + Logger.Information("取货确认.................."); + + var dis = _db.Queryable().Where(P => P.bill_code == input.taskCode).First(); + if (dis.area_code == "ZSCJ001") + { + await _wareHouseService.SsxControl(dis, "LOAD"); + return await ToApiResult(HttpStatusCode.OK, "成功"); + } /*var whereExp = Expressionable.Create() .And((a, b, c) => c.bill_code == input.taskCode) .And((a, b, c) => a.enabled == 1) @@ -179,7 +187,12 @@ namespace Tnb.WarehouseMgr { Logger.Information("放货确认.................."); Logger.Information($"当前放货,任务编号:{input.taskCode}"); - + var dis = _db.Queryable().Where(P => P.bill_code == input.taskCode).First(); + if (dis.area_code == "ZSCJ001") + { + await _wareHouseService.SsxControl(dis, "UNLOAD"); + return await ToApiResult(HttpStatusCode.OK, "成功"); + } try { /*var whereExp = Expressionable.Create() diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs index 4e75ac29..48f46ce6 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs @@ -250,7 +250,10 @@ namespace Tnb.WarehouseMgr Dictionary putdic = new Dictionary(); putdic.Add("SSX-011-006", new string[] { "YTCS", "AllowEmptyIn_CS06" }); - + putdic.Add("SSX-121-009", new string[] { "东面提升机输送线", "上升降机9允许入箱" }); + putdic.Add("SSX-121-010", new string[] { "东面提升机输送线", "上升降机10允许入箱" }); + putdic.Add("SSX-021-003", new string[] { "YTCS", "AllowCtuEmptyIn_CS03" }); + putdic.Add("SSX-021-001", new string[] { "YTCS", "AllowCtuEmptyIn_CS01" }); var strs = new string[] { }; if (!putdic.ContainsKey(input.targetName)) @@ -274,19 +277,26 @@ namespace Tnb.WarehouseMgr /// /// - [HttpGet] - [AllowAnonymous] - public async Task Test() - { - var a = _db.Queryable().Where(p => p.id == "31900194166806").First(); - await SsxControl(a, "UNLOAD"); - } + public async Task SsxControl(WmsDistaskH disTask, string action) { Dictionary putdic = new Dictionary(); Dictionary getdic = new Dictionary(); getdic.Add("SSX-021-005", new string[] { "YTCS", "FullOut_CS05Done", "true" }); + + getdic.Add("SSX-111-011", new string[] { "东面提升机输送线", "下升降机11出箱完毕", "true" }); + getdic.Add("SSX-111-012", new string[] { "东面提升机输送线", "下升降机12出箱完毕", "true" }); + getdic.Add("ZSSSXCTU02", new string[] { "YTCS", "AgvEmptyOut_CS03Done", "true" }); + getdic.Add("ZSSSXCTU01", new string[] { "YTCS", "AgvEmptyOut_CS01Done", "true" }); + putdic.Add("SSX-011-006", new string[] { "YTCS", "EmptyIn_CS06Done", "true" }); + putdic.Add("SSX-021-003", new string[] { "YTCS", "AgvFullIn_CS03Done", "true" }); + putdic.Add("SSX-021-001", new string[] { "YTCS", "CtuEmptyIn_CS01Done", "true" }); + + putdic.Add("ZSSSXCTU02", new string[] { "YTCS", "AgvFullIn_CS04Done", "true" }); + putdic.Add("ZSSSXCTU01", new string[] { "YTCS", "AgvFullIn_CS02Done", "true" }); + putdic.Add("SSX-121-009", new string[] { "东面提升机输送线", "上升降机9入箱完毕", "true" }); + putdic.Add("SSX-121-010", new string[] { "东面提升机输送线", "上升降机10入箱完毕", "true" }); putdic.Add("YCLCKBGW", new string[] { "CP8", "PutDoneEmptyBox", "true" }); if (action == "LOAD")//取货 { @@ -301,7 +311,7 @@ namespace Tnb.WarehouseMgr ["Value"] = strarr[2], }; Logger.Information($"SsxControlLOAD:{dicCommand}"); - var str= await HttpClientHelper.GetAsync(_eleCtlCfg.WriteTagUrl, new Dictionary(), dicCommand); + var str = await HttpClientHelper.GetRequestAsync(_eleCtlCfg.WriteTagUrl, dicCommand); Logger.Information($"SsxControlLOAD:{str}"); } } @@ -318,7 +328,7 @@ namespace Tnb.WarehouseMgr ["Value"] = strarr[2], }; Logger.Information($"SsxControlUNLOAD:{dicCommand}"); - var str = await HttpClientHelper.GetAsync(_eleCtlCfg.WriteTagUrl, new Dictionary(), dicCommand); + var str = await HttpClientHelper.GetRequestAsync(_eleCtlCfg.WriteTagUrl, dicCommand); Logger.Information($"SsxControlUNLOAD:{str}"); } } @@ -333,7 +343,7 @@ namespace Tnb.WarehouseMgr [HttpPost] public async Task GenTaskExecute() { - + CTUTaskExecute(); await s_taskExecuteSemaphore.WaitAsync(); Stopwatch sw = Stopwatch.StartNew(); @@ -379,7 +389,7 @@ namespace Tnb.WarehouseMgr preTasks = normalPreTasks.Concat(agvElevatorTasks).Concat(elePreTasks).ToList(); //一楼中储仓CTU - CTUTaskExecute(); + List ids = preTasks.Select(x => x.id).Distinct().ToList(); List? preTaskCodes = await db.Queryable().Where(it => ids.Contains(it.bill_id)).ToListAsync(); if (preTasks.Count > 0) @@ -567,10 +577,15 @@ namespace Tnb.WarehouseMgr /// 生成CTU任务执行 /// /// - private async Task CTUTaskExecute() + [HttpPost] + public async Task CTUTaskExecute() { try { + Dictionary indic = new Dictionary(); + indic.Add("SSX-021-005", new string[] { "YTCS", "CallCtuFullIn_CS05" }); + indic.Add("SSX-111-011", new string[] { "东面提升机输送线", "下升降机11呼叫CTU" }); + indic.Add("SSX-111-012", new string[] { "东面提升机输送线", "下升降机12呼叫CTU" }); var db = _db.CopyNew(); List CTUTasks = await db.Queryable() .InnerJoin((a, b) => a.area_id == b.id) @@ -597,42 +612,57 @@ namespace Tnb.WarehouseMgr var outCtuExec = new List(); foreach (var item in InTasks) { - WmsDistaskH distaskH = item.Adapt(); - distaskH.id = SnowflakeIdHelper.NextId(); - distaskH.status = WmsWareHouseConst.TASK_BILL_STATUS_DZX_ID; - distaskH.is_chain = 1; - distaskH.create_time = DateTime.Now; - var billcode = GetBillCode(OriginDistaskHs, DistaskHs, distaskH); - distaskH.groups = billcode.Substring(0, billcode.Length - 2); - distaskH.bill_code = billcode; - var num = int.Parse(distaskH.bill_code.Substring(billcode.Length - 1, 1)); - if (num == item.move_num) + /* + if (indic.Keys.Contains(item.startlocation_code)) { - distaskH.status = WmsWareHouseConst.TASK_BILL_STATUS_YXD_ID; - inCtuExec.Add(distaskH); - if (OriginDistaskHs.Where(p => p.groups == distaskH.groups).Any()) + var strs = indic.Where(p => p.Key == item.startlocation_code).First().Value; + bool flag = _redisData.HashExist(strs[0], strs[1]).Result; + if (!flag) + continue; + string data = _redisData.GetHash(strs[0], strs[1]).Result; + JObject? res = JsonConvert.DeserializeObject(data); + bool result = res != null && res["Value"] != null ? res.Value("Value") : false; + if (!result) + continue; + }*/ + + WmsDistaskH distaskH = item.Adapt(); + distaskH.id = SnowflakeIdHelper.NextId(); + distaskH.status = WmsWareHouseConst.TASK_BILL_STATUS_DZX_ID; + distaskH.is_chain = 1; + distaskH.create_time = DateTime.Now; + var billcode = GetBillCode(OriginDistaskHs, DistaskHs, distaskH); + distaskH.groups = billcode.Substring(0, billcode.Length - 2); + distaskH.bill_code = billcode; + var num = int.Parse(distaskH.bill_code.Substring(billcode.Length - 1, 1)); + if (num == item.move_num) { - OriginDistaskHs.Where(p => p.groups == distaskH.groups).ToList().ForEach(p => p.status = WmsWareHouseConst.TASK_BILL_STATUS_YXD_ID); + distaskH.status = WmsWareHouseConst.TASK_BILL_STATUS_YXD_ID; + inCtuExec.Add(distaskH); + if (OriginDistaskHs.Where(p => p.groups == distaskH.groups).Any()) + { + OriginDistaskHs.Where(p => p.groups == distaskH.groups).ToList().ForEach(p => p.status = WmsWareHouseConst.TASK_BILL_STATUS_YXD_ID); - UpDistaskHs.AddRange(OriginDistaskHs.Where(p => p.groups == distaskH.groups).ToList()); - inCtuExec.AddRange(OriginDistaskHs.Where(p => p.groups == distaskH.groups).ToList()); + UpDistaskHs.AddRange(OriginDistaskHs.Where(p => p.groups == distaskH.groups).ToList()); + inCtuExec.AddRange(OriginDistaskHs.Where(p => p.groups == distaskH.groups).ToList()); + } + if (DistaskHs.Where(p => p.groups == distaskH.groups).Any()) + { + DistaskHs.Where(p => p.groups == distaskH.groups).ToList().ForEach(p => p.status = WmsWareHouseConst.TASK_BILL_STATUS_YXD_ID); + inCtuExec.AddRange(DistaskHs.Where(p => p.groups == distaskH.groups).ToList()); + } } - if (DistaskHs.Where(p => p.groups == distaskH.groups).Any()) + List preTaskCodes = TaskCodes.FindAll(x => x.bill_id == distaskH.pretask_id); + List disTaskCodes = preTaskCodes.Adapt>(); + disTaskCodes.ForEach(x => { - DistaskHs.Where(p => p.groups == distaskH.groups).ToList().ForEach(p => p.status = WmsWareHouseConst.TASK_BILL_STATUS_YXD_ID); - inCtuExec.AddRange(DistaskHs.Where(p => p.groups == distaskH.groups).ToList()); - } - } - List preTaskCodes = TaskCodes.FindAll(x => x.bill_id == distaskH.pretask_id); - List disTaskCodes = preTaskCodes.Adapt>(); - disTaskCodes.ForEach(x => - { - x.id = SnowflakeIdHelper.NextId(); - x.bill_id = distaskH.id; - x.create_time = DateTime.Now; - }); - DistaskHs.Add(distaskH); - DistaskCodes.AddRange(disTaskCodes); + x.id = SnowflakeIdHelper.NextId(); + x.bill_id = distaskH.id; + x.create_time = DateTime.Now; + }); + DistaskHs.Add(distaskH); + DistaskCodes.AddRange(disTaskCodes); + } foreach (var item in OutTasks) { @@ -1015,6 +1045,9 @@ namespace Tnb.WarehouseMgr private async Task AgvDispatch(List disTasks, CancellationToken token) { Logger.Information("Agv任务执行...."); + List kiva = new List(); + kiva.Add("ZSSSXCTU02"); + kiva.Add("ZSSSXCTU01"); //调用AGV创建任务链接口 try { @@ -1029,14 +1062,22 @@ namespace Tnb.WarehouseMgr containerCode = it.carry_code, })); Logger.Information($"请求地址:{url}"); + foreach ((string k, object v) in taskChainCodeDic) { + var typeflag = false; + var dis = disTasks.Where(p => p.groups == k).First(); + if (kiva.Contains(dis.startlocation_code) || kiva.Contains(dis.endlocation_code)) + { + typeflag = true; + } dynamic reqBody = new ExpandoObject(); reqBody.taskChainCode = k; - reqBody.type = (int)EnumTaskChainType.AGV; + reqBody.type = typeflag ? (int)EnumTaskChainType.KIVA : (int)EnumTaskChainType.AGV; reqBody.sequential = false; reqBody.taskChainPriority = 0; reqBody.taskList = v; + reqBody.floor = dis.end_floor; Logger.Information($"请求参数:{JsonConvert.SerializeObject(reqBody)}"); dynamic respBody = await HttpClientHelper.PostStreamAsync(url, reqBody, token); Logger.Information($"调用Agv接口响应结果:{respBody}"); @@ -1353,6 +1394,24 @@ namespace Tnb.WarehouseMgr [NonAction] public async Task> PathAlgorithms(string pStartId, string pEndId) { + /* + var sp= await _db.Queryable().Where(it => it.id == pStartId).FirstAsync(); + var ep = await _db.Queryable().Where(it => it.id == pEndId).FirstAsync(); + + if (sp.area_code == "B" || ep.area_code == "B") + { + List Points = new List(); + var zp = await _db.Queryable().Where(it => it.point_code == "ZSCJZJD").FirstAsync(); + Points.Add(sp); + Points.Add(ep); + Points.Add(zp); + Points.ForEach(p => + { + p.area_code = zp.area_code; + p.area_id = zp.area_id; + }); + return Points; + }*/ List roads = await _db.Queryable().Where(it => it.status == 1).ToListAsync(); List points = await LocPathCalcAlgorithms(pStartId, pEndId, roads); try diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryBindService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryBindService.cs index 972edab9..e231211d 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryBindService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryBindService.cs @@ -166,7 +166,6 @@ namespace Tnb.WarehouseMgr } catch (Exception) { - throw new AppFriendlyException("绑定失败", 500); } } diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDADeliveryService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDADeliveryService.cs index 044d02a9..f44698b2 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDADeliveryService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDADeliveryService.cs @@ -94,11 +94,12 @@ namespace Tnb.WarehouseMgr List locs = await _basLocationService?.GetLocationInfobyIds(locIds)!; if (locs?.Count > 0) { + /* bool isStoreLoc = locs.Where(x => !x.IsNullOrEmpty()).Select(x => x.is_type.ParseToInt()).Any(x => x == (int)EnumLocationType.存储库位); if (isStoreLoc) { throw new AppFriendlyException("起始库位不能为存储库位", 500); - } + }*/ } VisualDevEntity? templateEntity = await _visualDevService?.GetInfoById(ModuleConsts.MODULE_WMSDELIVERYPDA_ID, true)!; await _runService.Create(templateEntity, input); diff --git a/apihost/Tnb.API.Entry/Configurations/Cache.json b/apihost/Tnb.API.Entry/Configurations/Cache.json index dadb1be5..6b399190 100644 --- a/apihost/Tnb.API.Entry/Configurations/Cache.json +++ b/apihost/Tnb.API.Entry/Configurations/Cache.json @@ -1,13 +1,13 @@ { "Cache": { "CacheType": "RedisCache", //MemoryCache - "ip": "localhost", + "ip": "192.168.11.109", "port": 6379, "password": "05jWEoJa8v", "RedisConnectionString": "{0}:{1},password={2}, poolsize=500,ssl=false,defaultDatabase=0" }, "Redis": { - "ip": "localhost", + "ip": "192.168.11.109", "port": 6379, "password": "05jWEoJa8v", "RedisConnectionString": "{0}:{1},password={2}, poolsize=500,ssl=false,defaultDatabase=0" diff --git a/apihost/Tnb.API.Entry/Startup.cs b/apihost/Tnb.API.Entry/Startup.cs index dd4c9ae1..d8ac9877 100644 --- a/apihost/Tnb.API.Entry/Startup.cs +++ b/apihost/Tnb.API.Entry/Startup.cs @@ -63,7 +63,7 @@ public class Startup : AppStartup services.AddSingleton(sp => new TimedTaskBackgroundService()); //var bgSvc = App.GetRequiredService(); //bgSvc.StartAsync(CancellationToken.None); - // services.AddHostedService(); + services.AddHostedService(); } diff --git a/common/Tnb.Common/Utils/HttpClientHelper.cs b/common/Tnb.Common/Utils/HttpClientHelper.cs index 57fd4041..57837871 100644 --- a/common/Tnb.Common/Utils/HttpClientHelper.cs +++ b/common/Tnb.Common/Utils/HttpClientHelper.cs @@ -98,7 +98,20 @@ namespace Tnb.Common.Utils } return respJson; } - + public static async Task GetRequestAsync(string url, Dictionary pars = null) + { + HttpClient Client = new HttpClient(); + var reqUri = url; + if (pars?.Count > 0) + { + reqUri = QueryHelpers.AddQueryString(url, pars); + //await Console.Out.WriteLineAsync(reqUri); + } + Client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); + var respBody = await Client.GetAsync(reqUri); + var result = await respBody.Content.ReadAsStringAsync(); + return result; + } public static async Task GetAsync(string url, Dictionary headers = null, Dictionary pars = null) {