From a982b8c9f5922684216cbc307a8507a627dde8d0 Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <1247017146@qq.com> Date: 星期六, 10 五月 2025 20:48:58 +0800 Subject: [PATCH] 优化 --- Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/GWTask/RequestInbound.cs | 18 +- Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Common/HttpClient/HttpsClient.cs | 122 ++++++++++------- Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs | 73 +++++---- Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessServices/WIDESEA_BusinessServices.csproj | 4 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs | 67 ++++---- Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/basicinfo/Dt_Changeovers.vue | 84 ++++++++++++ Code Management/WMS/WIDESEA_WMSClient/src/router/tables.js | 7 + 7 files changed, 250 insertions(+), 125 deletions(-) diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/GWTask/RequestInbound.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/GWTask/RequestInbound.cs index 7c3fa3d..3ba0dd2 100644 --- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/GWTask/RequestInbound.cs +++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/GWTask/RequestInbound.cs @@ -334,7 +334,7 @@ //conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTargetAddress, task.NextAddress, childDeviceCode); //conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineBarcode, command.ConveyorLineBarcode, childDeviceCode); var GWTask = _taskRepository.QueryData(x => x.Roadway.Contains("GWSC2") && x.SourceAddress == "1039" && (x.TaskState == (int)TaskInStatusEnum.Line_InExecuting || x.TaskState == (int)TaskInStatusEnum.Line_InFinish)).ToList(); - if (GWTask.Count >= 2 && childDeviceCode == "1039"&&task.Roadway.Contains("GWSC2")) + if (GWTask.Count >= 2 && childDeviceCode == "1039" && task.Roadway.Contains("GWSC2")) { ConsoleHelper.WriteErrorLine($"鎵樼洏鍙凤細銆恵command.ConveyorLineBarcode}銆戦珮娓╀簩宸插瓨鍦ㄣ�恵GWTask.Count}銆戜釜浠诲姟澶т簬2涓换鍔′笉鍙笅鍙�"); return; @@ -342,18 +342,20 @@ ConveyorLineTaskCommand_After taskCommand = _mapper.Map<ConveyorLineTaskCommand_After>(task); conveyorLine.SendCommand(taskCommand, childDeviceCode); conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, 1, childDeviceCode); - + _taskService.UpdateTaskStatusToNext(task); } } else { - WriteInfo(conveyorLine.DeviceName, content.Message); - conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTargetAddress, stationManager.stationNGChildCode, childDeviceCode); - conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, 1, childDeviceCode); - ConsoleHelper.WriteErrorLine($"銆恵conveyorLine.DeviceName}銆戞墭鐩樺彿锛氥�恵command.ConveyorLineBarcode}銆戣姹傜偣浣嶏細銆恵childDeviceCode}銆戝紓甯镐俊鎭�恵content.Message}銆�"); - WriteInfo(conveyorLine.DeviceName, $"銆恵conveyorLine.DeviceName}銆戞墭鐩樺彿锛氥�恵command.ConveyorLineBarcode}銆戣姹傜偣浣嶏細銆恵childDeviceCode}銆戝紓甯镐俊鎭�恵content.Message}銆�"); - //_taskRepository.AddData(taskGW); + if (content.Message != "璇锋眰杩囦簬棰戠箒锛岃绋嶅悗鍐嶈瘯") + { + WriteInfo(conveyorLine.DeviceName, content.Message); + conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTargetAddress, stationManager.stationNGChildCode, childDeviceCode); + conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, 1, childDeviceCode); + ConsoleHelper.WriteErrorLine($"銆恵conveyorLine.DeviceName}銆戞墭鐩樺彿锛氥�恵command.ConveyorLineBarcode}銆戣姹傜偣浣嶏細銆恵childDeviceCode}銆戝紓甯镐俊鎭�恵content.Message}銆�"); + WriteInfo(conveyorLine.DeviceName, $"銆恵conveyorLine.DeviceName}銆戞墭鐩樺彿锛氥�恵command.ConveyorLineBarcode}銆戣姹傜偣浣嶏細銆恵childDeviceCode}銆戝紓甯镐俊鎭�恵content.Message}銆�"); + } } } diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/router/tables.js b/Code Management/WMS/WIDESEA_WMSClient/src/router/tables.js index 9eccbca..8167dd3 100644 --- a/Code Management/WMS/WIDESEA_WMSClient/src/router/tables.js +++ b/Code Management/WMS/WIDESEA_WMSClient/src/router/tables.js @@ -253,6 +253,13 @@ meta: { keepAlive: false } + },{ + path: '/Dt_Changeovers', + name: 'Dt_Changeovers', + component: () => import('@/views/widesea_wms/basicinfo/Dt_Changeovers.vue'), + meta: { + keepAlive: false + } }, ] export default tables diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/basicinfo/Dt_Changeovers.vue b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/basicinfo/Dt_Changeovers.vue new file mode 100644 index 0000000..7f202c7 --- /dev/null +++ b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/basicinfo/Dt_Changeovers.vue @@ -0,0 +1,84 @@ +<!-- +*Author锛歫xx + *Contact锛�283591387@qq.com + *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩� + *涓氬姟璇峰湪@/extension/widesea_wms/basicinfo/Dt_AreaInfo.js姝ゅ缂栧啓 + --> +<template> + <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields" + :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions" + :table="table" :extend="extend"> + </view-grid> +</template> +<script> +import extend from "@/extension/widesea_wms/basicinfo/Dt_Changeovers.js"; +import { ref, defineComponent } from "vue"; +export default defineComponent({ + setup() { + const table = ref({ + key: 'id', + footer: "Foots", + cnName: '鎹㈠瀷淇℃伅', + name: 'basicinfo/Dt_Changeovers', + url: "/Dt_Changeovers/", + sortName: "createDate" + }); + const editFormFields = ref({ + "materielCode": "", + "productionLine": "", + "processCode": "", + "status": "", + "areaDesc": "" + }); + const editFormOptions = ref([ + [ + { "title": "鐗╂枡缂栧彿", "field": "materielCode", type: "text" }, + { "title": "鐢熶骇浜х嚎", "field": "productionLine", type: "select", dataKey: "ProductionLine", data: [] }, + + ], + [ + { "title": "宸ュ簭", "field": "processCode", type: "select", dataKey: "AreaType", data: [] }, + { "title": "鐘舵��", "field": "status", "type": "select", dataKey: "EnalbeStatus", data: [] }, + ] + ]); + const searchFormFields = ref({}); + const searchFormOptions = ref([ + [ + { "title": "鐗╂枡缂栧彿", "field": "materielCode", type: "text" }, + { "title": "鐢熶骇浜х嚎", "field": "productionLine", type: "select", dataKey: "ProductionLine", data: [] }, + + ], + [ + { "title": "宸ュ簭", "field": "processCode", type: "select", dataKey: "AreaType", data: []}, + { "title": "鐘舵��", "field": "status", type: "text" }, + ] + ]); + const columns = ref([{ field: 'id', title: 'id', type: 'int', sort: true, hidden: true, width: 110, readonly: true, require: true, align: 'left' }, + { field: 'materielCode', title: '鐗╂枡缂栧彿', type: 'string', sort: true, width: 110, require: true, align: 'left', sort: true }, + { field: 'productionLine', title: '浜х嚎', type: 'string', width: 70, align: 'left', bind: { key: "ProductionLine", data: [] } }, + { field: 'processCode', title: '宸ュ簭', type: 'string', sort: true, width: 110, align: 'left' ,bind: { key: "AreaType", data: [] }}, + { field: 'status', title: '鐘舵��', type: 'int', sort: true, width: 110, align: 'left', bind: { key: "EnalbeStatus", data: [] } }, + { field: 'creater', title: '鍒涘缓浜�', type: 'string', sort: true, width: 110, align: 'left' }, + { field: 'createDate', title: '鍒涘缓鏃堕棿', type: 'datetime', sort: true, width: 150, align: 'left', sort: true }, + { field: 'modifier', title: '淇敼浜�', type: 'string', sort: true, width: 100, align: 'left' }, + { field: 'modifyDate', title: '淇敼鏃堕棿', type: 'datetime', sort: true, width: 150, align: 'left', sort: true },]); + const detail = ref({ + cnName: "#detailCnName", + table: "#detailTable", + columns: [], + sortName: "", + key: "" + }); + return { + table, + extend, + editFormFields, + editFormOptions, + searchFormFields, + searchFormOptions, + columns, + detail, + }; + }, +}); +</script> diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessServices/WIDESEA_BusinessServices.csproj b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessServices/WIDESEA_BusinessServices.csproj index a900279..922d276 100644 --- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessServices/WIDESEA_BusinessServices.csproj +++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessServices/WIDESEA_BusinessServices.csproj @@ -7,6 +7,10 @@ </PropertyGroup> <ItemGroup> + <None Include="Dt_ChangeoversService.cs" /> + </ItemGroup> + + <ItemGroup> <ProjectReference Include="..\WIDESEA_BusinessesRepository\WIDESEA_BusinessesRepository.csproj" /> <ProjectReference Include="..\WIDESEA_Core\WIDESEA_Core.csproj" /> <ProjectReference Include="..\WIDESEA_IBusinessesRepository\WIDESEA_IBusinessesRepository.csproj" /> diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Common/HttpClient/HttpsClient.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Common/HttpClient/HttpsClient.cs index 332ae9a..3055e53 100644 --- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Common/HttpClient/HttpsClient.cs +++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Common/HttpClient/HttpsClient.cs @@ -47,64 +47,82 @@ // 灏佽涓�涓敤HttpClient鍙戦�丳ost璇锋眰鐨勬柟娉曟湁鍙傛暟 public static async Task<string> PostAsync(string url, Dictionary<string, object> parameters) { - // 鍒涘缓涓�涓柊鐨勫瓧鍏革紝鎺掗櫎 RequestTime 鍜� SessionId - var filteredParameters = parameters.Where(p => p.Key != "RequestTime"&& p.Key != "SessionId").ToDictionary(p => p.Key, p => p.Value); - - string requestKey = $"{url}:{JsonConvert.SerializeObject(filteredParameters)}"; - // 妫�鏌ヨ姹傛鏁板拰鏃堕棿闄愬埗 - if (requestTracker.TryGetValue(requestKey, out var requestInfo)) + try { - if (requestInfo.Count >= 5 && DateTime.Now < requestInfo.LastRequestTime.AddMinutes(3)) + // 鍒涘缓涓�涓柊鐨勫瓧鍏革紝鎺掗櫎 RequestTime 鍜� SessionId + var filteredParameters = parameters.Where(p => p.Key != "RequestTime" && p.Key != "SessionId").ToDictionary(p => p.Key, p => p.Value); + + string requestKey = $"{url}:{JsonConvert.SerializeObject(filteredParameters)}"; + // 妫�鏌ヨ姹傛鏁板拰鏃堕棿闄愬埗 + if (requestTracker.TryGetValue(requestKey, out var requestInfo)) { - // 濡傛灉璇锋眰娆℃暟瓒呰繃闄愬埗涓旀湭瓒呰繃10鍒嗛挓锛屾姏鍑哄紓甯� - throw new InvalidOperationException("璇锋眰娆℃暟宸茶揪鍒伴檺鍒讹紝璇风◢鍚庡啀璇曘��"); + if (requestInfo.Count >= 5 && DateTime.Now < requestInfo.LastRequestTime.AddMinutes(3)) + { + // 濡傛灉璇锋眰娆℃暟瓒呰繃闄愬埗涓旀湭瓒呰繃10鍒嗛挓锛屾姏鍑哄紓甯� + throw new InvalidOperationException("璇锋眰娆℃暟宸茶揪鍒伴檺鍒讹紝璇风◢鍚庡啀璇曘��"); + } + } + + // 鏇存柊璇锋眰璺熻釜淇℃伅 + if (requestTracker.ContainsKey(requestKey)) + { + requestTracker[requestKey] = (requestInfo.Count + 1, DateTime.Now); + } + else + { + requestTracker[requestKey] = (1, DateTime.Now); + } + + + // 璁板綍璇锋眰鍙傛暟 + LogRequestParameters(parameters, url); + + // 鍒涘缓HttpClient瀹炰緥 + using (HttpClient client = new HttpClient()) + { + // 灏嗗弬鏁拌浆鎹负FormUrlEncodedContent + string content = JsonConvert.SerializeObject(parameters); + + //client.Timeout = TimeSpan.from; + + var request = new HttpRequestMessage(HttpMethod.Post, url); + + request.Content = new StringContent(content, Encoding.UTF8, "application/json"); + //var content = new FormUrlEncodedContent(ConvertToKeyValuePairs(parameters)); + //// 鍙戦�丳OST璇锋眰骞惰幏鍙栧搷搴� + //HttpResponseMessage response = await client.PostAsync(url, content); + HttpResponseMessage response = await client.SendAsync(request); + + // 纭繚鍝嶅簲鎴愬姛 + response.EnsureSuccessStatusCode(); + + // 璇诲彇鍝嶅簲鍐呭 + string responseBody = await response.Content.ReadAsStringAsync(); + + // 璁板綍鍝嶅簲鍙傛暟 + LogResponseParameters(responseBody, url); + + // 杩斿洖鍝嶅簲鍐呭 + return responseBody; } } - - // 鏇存柊璇锋眰璺熻釜淇℃伅 - if (requestTracker.ContainsKey(requestKey)) + catch (Exception ex) { - requestTracker[requestKey] = (requestInfo.Count + 1, DateTime.Now); + LogErrorParameters(ex.StackTrace,ex.Message, url); + return ex.Message; } - else - { - requestTracker[requestKey] = (1, DateTime.Now); - } - - - // 璁板綍璇锋眰鍙傛暟 - LogRequestParameters(parameters, url); - - // 鍒涘缓HttpClient瀹炰緥 - using (HttpClient client = new HttpClient()) - { - // 灏嗗弬鏁拌浆鎹负FormUrlEncodedContent - string content = JsonConvert.SerializeObject(parameters); - - //client.Timeout = TimeSpan.from; - - var request = new HttpRequestMessage(HttpMethod.Post, url); - - request.Content = new StringContent(content, Encoding.UTF8, "application/json"); - //var content = new FormUrlEncodedContent(ConvertToKeyValuePairs(parameters)); - //// 鍙戦�丳OST璇锋眰骞惰幏鍙栧搷搴� - //HttpResponseMessage response = await client.PostAsync(url, content); - HttpResponseMessage response = await client.SendAsync(request); - - // 纭繚鍝嶅簲鎴愬姛 - response.EnsureSuccessStatusCode(); - - // 璇诲彇鍝嶅簲鍐呭 - string responseBody = await response.Content.ReadAsStringAsync(); - - // 璁板綍鍝嶅簲鍙傛暟 - LogResponseParameters(responseBody, url); - - // 杩斿洖鍝嶅簲鍐呭 - return responseBody; - } + } - + private static void LogErrorParameters(string errordetail, string error, string url = "") + { + StringBuilder builder = new StringBuilder(); + builder.Append(Environment.NewLine); + builder.Append("---------------------------------------------"); + builder.Append(Environment.NewLine); + builder.Append("url:" + url + "寮傚父璇︾粏淇℃伅: " + JsonConvert.SerializeObject(error)); + builder.Append("url:" + url + "寮傚父淇℃伅: " + JsonConvert.SerializeObject(error)); + LogFactory.GetLog("API鎺ュ彛寮傚父").Error(true, builder); + } private static void LogRequestParameters(Dictionary<string, object> parameters, string url = "") { StringBuilder builder = new StringBuilder(); @@ -126,6 +144,8 @@ LogFactory.GetLog("API鎺ュ彛").Info(true, builder); } + + private static IEnumerable<KeyValuePair<string, string>> ConvertToKeyValuePairs(Dictionary<string, object> parameters) { foreach (var kvp in parameters) diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs index 3c811fb..857e86e 100644 --- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs +++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs @@ -32,6 +32,7 @@ private readonly IAgingInOrOutInputService _agingInOrOutInputService; //闈欑疆\闄堝寲 private readonly IDt_StationManagerRepository _stationManagerRepository; private readonly ISys_ConfigService _configService; + private readonly IDt_ChangeoversRepository _dt_ChangeoversRepository; private readonly ISimpleCacheService _simpleCacheService; public Dt_TaskService(IDt_TaskRepository BaseDal, @@ -51,7 +52,8 @@ IStockInfoDetailRepository stockInfoDetailRepository, IDt_StationManagerRepository stationManagerRepository, ISys_ConfigService configService, - ISimpleCacheService simpleCacheService) : base(BaseDal) + ISimpleCacheService simpleCacheService, + IDt_ChangeoversRepository dt_ChangeoversRepository) : base(BaseDal) { _unitOfWorkManage = unitOfWorkManage; _stockInfoRepository = stockInfoRepository; @@ -69,6 +71,7 @@ _stationManagerRepository = stationManagerRepository; _configService = configService; _simpleCacheService = simpleCacheService; + _dt_ChangeoversRepository = dt_ChangeoversRepository; } #region 澶栭儴鎺ュ彛鏂规硶 @@ -754,12 +757,13 @@ else { // 澶勭悊寮傚父鐢佃姱鎯呭喌 - var serialNosError = result.SerialNos.Where(x => x.SerialNoStatus != 1 && x.SerialNoStatus != 4).ToList(); - if (serialNosError.Count > 0) - { - return await HandleErrorCells(input, area, serialNosError); - } - + #region 鐢佃姱鍒嗙粨鏋滃紓甯镐笉闇�瑕佹垜浠鐞� + //var serialNosError = result.SerialNos.Where(x => x.SerialNoStatus != 1 && x.SerialNoStatus != 4).ToList(); + //if (serialNosError.Count > 0) + //{ + // return await HandleErrorCells(input, area, serialNosError); + //} + #endregion var boxing = CreateBoxingInfo(result, input.PalletCode); if (boxing == null) return content.Error("缁勭洏澶辫触"); @@ -1013,7 +1017,9 @@ return null; } - var outBoundMateriel = AppSettings.app<OutBoundMateriel>("OutBoundMateriel"); + //var outBoundMateriel = AppSettings.app<OutBoundMateriel>("OutBoundMateriel"); + var outBoundMateriel = _dt_ChangeoversRepository.QueryData(x => x.Status == "1").ToList(); + List<string>? materielCodes = outBoundMateriel.Count != 0 ? outBoundMateriel.Where(x => x.ProductionLine == productionLine && x.ProcessCode == area.AreaCode) .Select(x => x.MaterielCode) @@ -1066,7 +1072,8 @@ // materielCodes = outBoundMateriel.Where(x => x.ProductionLine == productionLine && x.ProcessCode == areaCodes[0]).Select(x => x.MaterielCode).ToList(); //} - var outBoundMateriel = AppSettings.app<OutBoundMateriel>("OutBoundMateriel"); + //var outBoundMateriel = AppSettings.app<OutBoundMateriel>("OutBoundMateriel"); + var outBoundMateriel = _dt_ChangeoversRepository.QueryData(x => x.Status == "1").ToList(); List<string>? materielCodes = outBoundMateriel.Count != 0 ? outBoundMateriel.Where(x => x.ProductionLine == productionLine && x.ProcessCode == areaCodes[0]) .Select(x => x.MaterielCode) @@ -1914,32 +1921,32 @@ } #region 鏇存柊搴撳瓨淇℃伅锛堟殏鏃朵笉闇�瑕侊級 - //if (stock.IsFull) - //{ - // // 鏌ヨ绗﹀悎鏉′欢鐨勫簱瀛樹俊鎭� - // var stocks = _stockInfoRepository.QueryData(x => x.AreaCode == stock.AreaCode && x.ProductionLine == stock.ProductionLine && x.SpecialParameterDuration != stock.SpecialParameterDuration); + if (stock.IsFull) + { + // 鏌ヨ绗﹀悎鏉′欢鐨勫簱瀛樹俊鎭� + var stocks = _stockInfoRepository.QueryData(x => x.AreaCode == stock.AreaCode && x.ProductionLine == stock.ProductionLine && x.SpecialParameterDuration != stock.SpecialParameterDuration); - // // 鏌ヨ浠诲姟淇℃伅 - // var tasks = BaseDal.QueryData(x => x.PalletCode != stock.PalletCode && x.ProductionLine == stock.ProductionLine).Select(x => x.PalletCode).ToList(); + // 鏌ヨ浠诲姟淇℃伅 + var tasks = BaseDal.QueryData(x => x.PalletCode != stock.PalletCode && x.ProductionLine == stock.ProductionLine).Select(x => x.PalletCode).ToList(); - // if (stocks != null && stocks.Count > 0) - // { - // // 杩囨护鍑洪渶瑕佹洿鏂扮殑搴撳瓨淇℃伅 - // var stocksToUpdate = stocks.Where(item => !tasks.Contains(item.PalletCode)).ToList(); - // foreach (var item in stocksToUpdate) - // { - // // 鏇存柊搴撳瓨淇℃伅鐨勭壒瀹氬弬鏁� - // item.SpecialParameterDuration = stock.SpecialParameterDuration; - // item.ParameterInfos = stock.ParameterInfos; - // item.OutboundTime = Convert.ToDateTime(item.LinedProcessFeedbackTime == null ? item.CreateDate : item.LinedProcessFeedbackTime).AddHours(Convert.ToDouble(stock.SpecialParameterDuration)); - // } - // if (stocksToUpdate.Count > 0) - // { - // // 寮傛鏇存柊搴撳瓨淇℃伅 - // var isUpdates = await _stockInfoRepository.UpdateDataAsync(stocksToUpdate); - // } - // } - //} + if (stocks != null && stocks.Count > 0) + { + // 杩囨护鍑洪渶瑕佹洿鏂扮殑搴撳瓨淇℃伅 + var stocksToUpdate = stocks.Where(item => !tasks.Contains(item.PalletCode)).ToList(); + foreach (var item in stocksToUpdate) + { + // 鏇存柊搴撳瓨淇℃伅鐨勭壒瀹氬弬鏁� + item.SpecialParameterDuration = stock.SpecialParameterDuration; + item.ParameterInfos = stock.ParameterInfos; + item.OutboundTime = Convert.ToDateTime(item.LinedProcessFeedbackTime == null ? item.CreateDate : item.LinedProcessFeedbackTime).AddHours(Convert.ToDouble(stock.SpecialParameterDuration)); + } + if (stocksToUpdate.Count > 0) + { + // 寮傛鏇存柊搴撳瓨淇℃伅 + var isUpdates = await _stockInfoRepository.UpdateDataAsync(stocksToUpdate); + } + } + } #endregion // 娣诲姞鍘嗗彶浠诲姟 diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs index b046cae..08c99d2 100644 --- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs +++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs @@ -237,38 +237,38 @@ } // 澶勭悊寮傚父鐢佃姱鎯呭喌 - var serialNosError = result.SerialNos.Where(x => x.SerialNoStatus != 1 && x.SerialNoStatus != 4).ToList(); - if (serialNosError.Count > 0) - { - if (stationManager.stationType != 3) - { - var taskNG = new Dt_Task - { - CurrentAddress = input.Position, - Grade = 1, - Roadway = input.Roadways, - TargetAddress = stationManager.stationNGLocation, - Dispatchertime = DateTime.Now, - MaterialNo = "", - NextAddress = stationManager.stationNGChildCode, - OrderNo = null, - PalletCode = input.PalletCode, - SourceAddress = stationManager.stationLocation, - TaskState = (int)TaskInStatusEnum.Line_InFinish, - TaskType = (int)TaskOutboundTypeEnum.InToOut, - TaskNum = await BaseDal.GetTaskNo(), - Creater = "System", - ProductionLine = result.ProductionLine, - ProcessCode = result.ProcessCode, - }; - return taskNG; - } - else - { - Console.WriteLine($"绔欏彴{stationManager.stationChildCode}MOM杩斿洖鐢佃姱寮傚父:{result.MOMMessage}"); - return null; - } - } + //var serialNosError = result.SerialNos.Where(x => x.SerialNoStatus != 1 && x.SerialNoStatus != 4).ToList(); + //if (serialNosError.Count > 0) + //{ + // if (stationManager.stationType != 3) + // { + // var taskNG = new Dt_Task + // { + // CurrentAddress = input.Position, + // Grade = 1, + // Roadway = input.Roadways, + // TargetAddress = stationManager.stationNGLocation, + // Dispatchertime = DateTime.Now, + // MaterialNo = "", + // NextAddress = stationManager.stationNGChildCode, + // OrderNo = null, + // PalletCode = input.PalletCode, + // SourceAddress = stationManager.stationLocation, + // TaskState = (int)TaskInStatusEnum.Line_InFinish, + // TaskType = (int)TaskOutboundTypeEnum.InToOut, + // TaskNum = await BaseDal.GetTaskNo(), + // Creater = "System", + // ProductionLine = result.ProductionLine, + // ProcessCode = result.ProcessCode, + // }; + // return taskNG; + // } + // else + // { + // Console.WriteLine($"绔欏彴{stationManager.stationChildCode}MOM杩斿洖鐢佃姱寮傚父:{result.MOMMessage}"); + // return null; + // } + //} //else //{ // throw new Exception($"绔欏彴{stationManager.stationChildCode}MOM杩斿洖鐢佃姱寮傚父:{result.MOMMessage}"); @@ -1043,7 +1043,8 @@ .Where(x => x.DeviceCode.Contains("CWSC")) // 杩囨护鏉′欢 .ToList().Select(x => x.DeviceCode).ToList(); - var outBoundMateriel = AppSettings.app<OutBoundMateriel>("OutBoundMateriel"); + //var outBoundMateriel = AppSettings.app<OutBoundMateriel>("OutBoundMateriel"); + var outBoundMateriel = _dt_ChangeoversRepository.QueryData(x => x.Status == "1").ToList(); List<string>? materielCodes = outBoundMateriel.Count != 0 ? outBoundMateriel.Where(x => x.ProductionLine == station.productLine && x.ProcessCode == "CWSC3") .Select(x => x.MaterielCode) -- Gitblit v1.9.3