| 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/WMS/WMSReturn.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/WMS/inboundElevatorExitDTO.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/WMS/inboundTransportCheckDTO.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TSJJob.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/WMS/WMSReturn.cs
@@ -23,11 +23,11 @@ /// <summary> /// TRUE /// </summary> public string success { get; set; } public bool success { get; set; } /// <summary> /// æå /// </summary> public string result { get; set; } public object result { get; set; } /// <summary> /// æ¶é´æ³ /// </summary> @@ -38,4 +38,16 @@ /// </summary> public object data { get; set; } } public class Exists { /// <summary> /// æ¯å¦å¨é /// </summary> public bool taskExists { get; set; } /// <summary> /// å¼å¸¸å°å /// </summary> public string errorAreaCode { get; set; } } } ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/WMS/inboundElevatorExitDTO.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace WIDESEAWCS_DTO.WMS { /// <summary> /// 4Fæåæºåºå£æçå·ä¸æ¥WMS /// </summary> public class inboundElevatorExitDTO { public string containerCode { get; set; } public string toLocationCode { get; set; } } } ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/WMS/inboundTransportCheckDTO.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,19 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace WIDESEAWCS_DTO.WMS { /// <summary> /// è£çå ¥åº3Få°4Fè¿è¾ç®±å·æ ¡éª /// </summary> public class inboundTransportCheckDTO { /// <summary> /// æçå· /// </summary> public string containerCode { get; set; } } } ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
@@ -270,6 +270,13 @@ /// <returns></returns> public WebResponseContent MaterialBoxInspection(string taskCode ,string containerCode); /// <summary> /// 4Fæåæºåºå£æçå·ä¸æ¥WMS /// </summary> /// <param name="LocationCode"></param> /// <param name="containerCode"></param> /// <returns></returns> public WebResponseContent InboundElevatorExit(string LocationCode, string containerCode); /// <summary> /// wcsç§»åºæ°æ®åä¼ ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -16,6 +16,7 @@ #endregion << ç æ¬ 注 é >> using AutoMapper; using Newtonsoft.Json; using SixLabors.ImageSharp.ColorSpaces; using SqlSugar; using System.Collections.Generic; @@ -1233,7 +1234,28 @@ { throw new NotImplementedException(); } public WebResponseContent InboundElevatorExit(string LocationCode, string containerCode) { WebResponseContent content = new WebResponseContent(); inboundElevatorExitDTO inboundElevator=new inboundElevatorExitDTO(); try { Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(inboundElevatorExitDTO)) ?? throw new Exception("æªæ¾å°4Fæåæºåºå£æçå·ä¸æ¥WMSæ¥å£é 置信æ¯ï¼è¯·æ£æ¥æ¥å£é ç½®"); inboundElevator.containerCode= containerCode; inboundElevator.toLocationCode = LocationCode; string response = HttpHelper.Post(apiInfo.ApiAddress, inboundElevator.Serialize()); content.OK(data: response); return WebResponseContent.Instance.OK(); } catch (Exception ex) { return WebResponseContent.Instance.Error(ex.Message); } finally { _trackloginfoService.AddTrackLog(inboundElevator, content, "4Fæåæºåºå£æçå·ä¸æ¥WMS", "", ""); } } /// <summary> /// æç®±éªè¯ /// </summary> @@ -1242,7 +1264,30 @@ /// <returns></returns> public WebResponseContent MaterialBoxInspection(string taskCode, string containerCode) { throw new NotImplementedException(); WebResponseContent content = new WebResponseContent(); inboundTransportCheckDTO checkDTO = new inboundTransportCheckDTO(); try { checkDTO.containerCode = containerCode; Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(inboundTransportCheckDTO)) ?? throw new Exception("æªæ¾å°è£çå ¥åº3Få°4Fè¿è¾ç®±å·æ ¡éªæ¥å£é 置信æ¯ï¼è¯·æ£æ¥æ¥å£é ç½®"); string response = HttpHelper.Post(apiInfo.ApiAddress, checkDTO.Serialize()); content.OK(data: response); WMSReturn wMSReturn = response.DeserializeObject<WMSReturn>(); if (wMSReturn == null) throw new Exception("WMSè¿åç»æè½¬æ¢å¤±è´¥ï¼"); if (!wMSReturn.success) throw new Exception(wMSReturn.message); string dataJson = wMSReturn.result.ToString(); Exists? exists = JsonConvert.DeserializeObject<Exists>(dataJson); if (exists == null) throw new Exception($"WMSè¿åç»æçresult转æ¢å¤±è´¥"); return WebResponseContent.Instance.OK(exists.errorAreaCode); } catch (Exception ex) { return WebResponseContent.Instance.Error(ex.Message); } finally { _trackloginfoService.AddTrackLog(checkDTO, content, "è£çå ¥åº3Få°4Fè¿è¾ç®±å·æ ¡éª", "", ""); } } /// <summary> ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TSJJob.cs
@@ -172,60 +172,79 @@ task.ExceptionMessage = ""; Uptasks.Add(task); } } #region æçå·ç¡®è®¤ä¸ //æ¥æ¾ä¸æ¥¼å ¥åºä»»å¡ç¶æä¸ºCheckPalletCodeingç任塿çå·ç¡®è®¤ä¸ var RK3FTasks = _taskService.Repository.QueryFirst(x => x.TaskType == TaskTypeEnum.RK3F.ObjToInt() && x.TaskState == (int)TaskStatusEnum.CheckPalletCodeing); if (RK3FTasks != null) { //æ£æ¥3æ¥¼å ¥åºç®±å·æ¯å¤å°ï¼ç¶åä¼ ç»wms var BinNumber = device.GetValue<HoistEnum, string>(HoistEnum.Inboxnumber, RK3FTasks.TargetAddress); BinNumber = BinNumber?.TrimEnd('\0')?.Substring(2); if (device.GetValue<HoistEnum, short>(HoistEnum.RInScanningCompletionSignal, RK3FTasks.TargetAddress ) !=1 ) { RK3FTasks.ExceptionMessage = "3楼æ«ç å®æä¿¡å·æ²¡æå®æ"; } else //宿就æä»»å¡ç¶ææ¹ææçå·ç¡®è®¤å®æ { //æ ¹æ®è¯»å°çç®±å·è¿è¡æç®±æ£éªï¼æ£éªéè¿å°±è§¦å读ç å¨è¯»åï¼å¦æä¸éè¿å°±æåºå¼å¸¸ //var Verification = _taskService.MaterialBoxInspection(RK3FTasks.WMSTaskNum, BinNumber.ToString()); //if (!Verification.Status) //{ // if (!(RK3FTasks.ExceptionMessage == Verification.Message)) // { // RK3FTasks.ExceptionMessage = Verification.Message; // Uptasks.Add(RK3FTasks); // } // //æç®±éªè¯å好åï¼éè¦æ´æ¹ // RK3FTasks.TargetAddress = Verification.Data.ToString(); //} //妿æç®±æ£éªæåå°±åå ¥è¯»ç å¨çå¼ var result = _taskService.Hikvisiontaskscontinue(RK3FTasks.WMSTaskNum, RK3FTasks.TargetAddress); if (result.Status == false) { if (RK3FTasks.ExceptionMessage != result.Message) { RK3FTasks.ExceptionMessage = result.Message; Uptasks.Add(RK3FTasks); } } RK3FTasks.ExceptionMessage = ""; RK3FTasks.TaskState = (int)TaskStatusEnum.CheckPalletCodeFinish; } Uptasks.Add(RK3FTasks); } #endregion if (Uptasks.Count > 0) { _taskService.UpdateData(Uptasks); } WriteInfo(device.DeviceName, "infoLog"); WriteDebug(device.DeviceName, "debugLog"); #region æçå·ç¡®è®¤ä¸ //æ¥æ¾ä¸æ¥¼å ¥åºä»»å¡ç¶æä¸ºCheckPalletCodeingç任塿çå·ç¡®è®¤ä¸ var RK3FTask = _taskService.Repository.QueryFirst(x => x.TaskType == TaskTypeEnum.RK3F.ObjToInt() && x.TaskState == (int)TaskStatusEnum.CheckPalletCodeing); if (RK3FTask != null) { if (device.GetValue<HoistEnum, short>(HoistEnum.RInScanningCompletionSignal, RK3FTask.TargetAddress) != 1) { RK3FTask.ExceptionMessage = "3楼æ«ç å®æä¿¡å·æ²¡æå®æ"; _taskService.UpdateData(RK3FTask); } else //宿就æä»»å¡ç¶ææ¹ææçå·ç¡®è®¤å®æ { //æ£æ¥3æ¥¼å ¥åºç®±å·æ¯å¤å°ï¼ç¶åä¼ ç»wms var BinNumber = device.GetValue<HoistEnum, string>(HoistEnum.Inboxnumber, RK3FTask.TargetAddress); if (!string.IsNullOrEmpty(BinNumber)) { BinNumber = BinNumber.TrimEnd('\0').Substring(2); //æ ¹æ®è¯»å°çç®±å·è¿è¡æç®±æ£éªï¼æ£éªéè¿å°±è§¦å读ç å¨è¯»åï¼å¦æä¸éè¿å°±æåºå¼å¸¸ var Verification = _taskService.MaterialBoxInspection(RK3FTask.WMSTaskNum, BinNumber); if (!Verification.Status) { if (RK3FTask.ExceptionMessage != Verification.Message) { RK3FTask.ExceptionMessage = Verification.Message; _taskService.UpdateData(RK3FTask); } } else { if (!string.IsNullOrEmpty(Verification.Message)) RK3FTask.TargetAddress = Verification.Message; //妿æç®±æ£éªæåå°±åå ¥è¯»ç å¨çå¼ var result = _taskService.Hikvisiontaskscontinue(RK3FTask.WMSTaskNum, RK3FTask.TargetAddress); if (result.Status) { RK3FTask.ExceptionMessage = ""; RK3FTask.TaskState = (int)TaskStatusEnum.CheckPalletCodeFinish; _taskService.UpdateData(RK3FTask); } else { if (RK3FTask.ExceptionMessage != result.Message) { RK3FTask.ExceptionMessage = result.Message; _taskService.UpdateData(RK3FTask); } } } } } } #endregion #region 4Fæåæºåºå£æçå·ä¸æ¥WMS var Address = "TSJC4F"; if (device.GetValue<HoistEnum, short>(HoistEnum.ROutScanningCompletionSignal, Address) == 1) { var BinNumber = device.GetValue<HoistEnum, string>(HoistEnum.Emptycontainernumber, Address); if (!string.IsNullOrEmpty(BinNumber)) { BinNumber = BinNumber.TrimEnd('\0').Substring(2); _taskService.InboundElevatorExit(Address, BinNumber); } } #endregion //WriteInfo(device.DeviceName, "infoLog"); //WriteDebug(device.DeviceName, "debugLog"); } catch (Exception ex) {