| | |
| | | using Admin.NET.Application; |
| | | using iWareCC.Common.Helper; |
| | | using iWareCC.StationService; |
| | | using iWareCommon.Common.Globle; |
| | | using iWareCommon.Utils; |
| | |
| | | { |
| | | public class DataProcess_BZ12 |
| | | { |
| | | public static void Hander() |
| | | public static async void Hander() |
| | | { |
| | | var alertMsg = ""; |
| | | LogType logType = LogType.DataProcess_BZ12; |
| | | while (true) |
| | | { |
| | | Thread.Sleep(2000);//ä¼ç 2ç§ï¼å°ä¼ç åå°åé¢ï¼æ¯ä¸ºäºä¸é¢çcontinueæ¹æ³æ§è¡å䏿¾ç¤ºé误信æ¯çæç¤ºï¼ï¼ï¼ãEditBy shaocx,2022-05-24ã |
| | | Thread.Sleep(600);//ä¼ç 2ç§ï¼å°ä¼ç åå°åé¢ï¼æ¯ä¸ºäºä¸é¢çcontinueæ¹æ³æ§è¡å䏿¾ç¤ºé误信æ¯çæç¤ºï¼ï¼ï¼ãEditBy shaocx,2022-05-24ã |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ12 = string.Empty; |
| | | try |
| | | { |
| | |
| | | using (WmsDBModel wmsDB = new WmsDBModel()) |
| | | { |
| | | //è¦æ¯æå·²ä¸åçä»»å¡ï¼å°±ä¸è¦æ§è¡ |
| | | var isValidate = TaskHandler.ValidateIssueTaskForNoFinishTaskByUpi(wmsDB, result); |
| | | var isValidate = TaskHandler.ValidateIssueTaskForNoFinishTaskByUpi(wmsDB, result, false); |
| | | if (!isValidate) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()}-æâå·²ä¸åâçä»»å¡ï¼ä¸è½å¤ç,æ¤æ¬¡å¾ªç¯ç»æ"; |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()}-upiï¼{result}æâå·²ä¸åâçä»»å¡ï¼ä¸è½å¤ç,æ¤æ¬¡å¾ªç¯ç»æ"; |
| | | continue; |
| | | } |
| | | |
| | | /* |
| | | isValidate = TaskHandler.ValidateNoFinishOutTaskForç æ¿ä»»å¡(wmsDB); |
| | | if (!isValidate) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()}-æ æªç»æ çä»»å¡ï¼ä¸è½å¤ç,æ¤æ¬¡å¾ªç¯ç»æ"; |
| | | continue; |
| | | } |
| | | //*/ |
| | | |
| | | var upiObj = wmsDB.mes_batchOrderUPI_new.Where(x => x.UPI == upiCode).FirstOrDefault(); |
| | | if (upiObj == null) |
| | | { |
| | | //åå
¥æ¥è¦ä¿¡æ¯ |
| | | await MyExtendHelper.WriteBoolPlcDataForWarning(PlcWarningAddressGloble.Num_BZ12_1); |
| | | |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()},æ ¹æ®UPI:{upiCode}æ²¡ææ¾å°å¯¹è±¡ "; |
| | | continue; |
| | | } |
| | |
| | | //placeZ = (short)upiObj.MachineZCenter; |
| | | if (upiObj.UpiStatus == (int)UpiStatusEnum.å·²ç å || upiObj.UpiStatus == (int)UpiStatusEnum.ç åä¸) |
| | | { |
| | | //åå
¥æ¥è¦ä¿¡æ¯ |
| | | await MyExtendHelper.WriteBoolPlcDataForWarning(PlcWarningAddressGloble.Num_BZ12_3); |
| | | |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()},æ ¹æ®UPI:{upiCode}ç¶æå·²æ¯'å·²ç å'æ'ç åä¸' "; |
| | | continue; |
| | | } |
| | |
| | | //æ¥å¤è¿å
ææçæ°é |
| | | var upiList = wmsDB.mes_batchOrderUPI_new.Where(x => x.PackageCode == upiObj.PackageCode).ToList(); |
| | | //æ¥è¯¢æ¯å¦æ«æ¿å¹¶ä¸å¤æææ²¡ææ··æ¹ |
| | | var wms_rbline_runmode = wmsDB.wms_rbline_runmode.FirstOrDefault(); |
| | | if (wms_rbline_runmode != null) |
| | | //å¢å 坹忰é
ç½®ç管ç ãEditby shaocx,2024-12-13ã |
| | | var sysConfig = wmsDB.SysConfig.Where(x => x.Code == "LastPalletizingData").FirstOrDefault(); |
| | | if (sysConfig == null) |
| | | { |
| | | //æ¥è¯¢æ¯å¦æ··æ¹ |
| | | if (!string.IsNullOrEmpty(wms_rbline_runmode.PalletizingUPI)) |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ01 = $"没æè·åå° LastPalletizingData çé
ç½®ä¿¡æ¯ "; |
| | | continue; |
| | | } |
| | | string palletizingUPI = ""; |
| | | int palletizingStation = 0; |
| | | |
| | | var config_value = sysConfig.Value; |
| | | if (config_value.IndexOf('|') > -1) |
| | | {//æ ¼å¼ä¸º å
è£
å·|ç«ç¹ |
| | | var arr = config_value.Split('|'); |
| | | palletizingUPI = arr[0]; |
| | | palletizingStation = Convert.ToInt32(arr[1]); |
| | | } |
| | | else |
| | | {//è¡¨ç¤ºè¿æ²¡æé
ç½® |
| | | } |
| | | |
| | | //æ¥è¯¢æ¯å¦æ··æ¹ |
| | | if (!string.IsNullOrEmpty(palletizingUPI)) |
| | | { |
| | | if (upiObj.PackageCode != palletizingUPI) |
| | | { |
| | | if (upiObj.PackageCode != wms_rbline_runmode.PalletizingUPI) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()},UPI:{upiCode}ç å
é¨ä»¶æ··æ¹ "; |
| | | continue; |
| | | } |
| | | //åå
¥æ¥è¦ä¿¡æ¯ |
| | | await MyExtendHelper.WriteBoolPlcDataForWarning(PlcWarningAddressGloble.Num_BZ12_4); |
| | | |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()},UPI:{upiCode}ç å
é¨ä»¶æ··æ¹ "; |
| | | continue; |
| | | } |
| | | //è·åç åç®æ ä½ |
| | | if (wms_rbline_runmode.PalletizingStation != 0) |
| | | } |
| | | //è·åç åç®æ ä½ |
| | | if (palletizingStation != 0) |
| | | { |
| | | place = palletizingStation.ToString(); |
| | | } |
| | | else |
| | | {//è¡¨ç¤ºè¿æ¯ å
ç第ä¸åæ¿ |
| | | lastnum = 1; |
| | | palletizingUPI = upiObj.PackageCode; |
| | | if (obj.R_PalletizingStation1 == 1) |
| | | { |
| | | place = wms_rbline_runmode.PalletizingStation.ToString(); |
| | | place = "1"; |
| | | } |
| | | else if (obj.R_PalletizingStation2 == 1) |
| | | { |
| | | place = "2"; |
| | | |
| | | } |
| | | else |
| | | { |
| | | lastnum = 1; |
| | | wms_rbline_runmode.PalletizingUPI = upiObj.PackageCode; |
| | | if (obj.R_PalletizingStation1 == 1) |
| | | { |
| | | place = "1"; |
| | | } |
| | | else if (obj.R_PalletizingStation2 == 1) |
| | | { |
| | | place = "2"; |
| | | //廿æ¥è¦ï¼ä¸åæ ¡éªè¿ä¸ªäº |
| | | place = "1"; |
| | | /* |
| | | //åå
¥æ¥è¦ä¿¡æ¯ |
| | | await MyExtendHelper.WriteBoolPlcDataForWarning(PlcWarningAddressGloble.Num_BZ12_6); |
| | | |
| | | } |
| | | else |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()},UPI:{upiCode}æ å¯ç¨ç åç®æ ä½ "; |
| | | continue; |
| | | } |
| | | wms_rbline_runmode.PalletizingStation = int.Parse(place); |
| | | } |
| | | //å¦ææ¬¡åºçäºå½é±å
æ»æ°éï¼æ¯å¦æ«æ¿ç½®ä¸ºtrue |
| | | if (upiObj.Shelf == upiList.Count()) |
| | | { |
| | | lastnum = 2; |
| | | wms_rbline_runmode.PalletizingUPI = null; |
| | | wms_rbline_runmode.PalletizingStation = 0; |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()},UPI:{upiCode}æ å¯ç¨ç åç®æ ä½ "; |
| | | continue; |
| | | //*/ |
| | | } |
| | | |
| | | palletizingStation = int.Parse(place); |
| | | } |
| | | //å¦ææ¬¡åºçäºå½é±å
æ»æ°éï¼æ¯å¦æ«æ¿ç½®ä¸ºtrue |
| | | if (upiObj.Shelf == upiList.Count()) |
| | | { |
| | | lastnum = 2; |
| | | palletizingUPI = null; |
| | | palletizingStation = 0; |
| | | } |
| | | |
| | | |
| | | //æ¥è¯¢ææ²¡ææ¬¡åºå°äºå½å次åºå¹¶ä¸æ²¡æç åç |
| | | var oldupi = upiList.Where(x => x.Shelf < upiObj.Shelf && (x.UpiStatus != (int)UpiStatusEnum.å·²ç å && x.UpiStatus != (int)UpiStatusEnum.ç åä¸)).FirstOrDefault(); |
| | | if (oldupi != null) |
| | | { |
| | | //åå
¥æ¥è¦ä¿¡æ¯ |
| | | await MyExtendHelper.WriteBoolPlcDataForWarning(PlcWarningAddressGloble.Num_BZ12_5); |
| | | |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()},UPI:{upiCode}ç å
顺åºé误 "; |
| | | continue; |
| | | } |
| | | |
| | | //è®°å½ä»»å¡ |
| | | var _id = Yitter.IdGenerator.YitIdHelper.NextId(); |
| | | var plcTaskNo = BusinessHelper.CreatePlcTaskIdForSrmTask(); |
| | | var plcTaskNo = BusinessHelper.CreatePlcTaskId(); |
| | | plcTaskNo = MyExtendHelper.GetNewTaskNo(wmsDB, RbTaskTypeEnum.ç æ¿ä»»å¡, plcTaskNo); |
| | | var task = new wms_rbline_task() |
| | | { |
| | | Id = _id, |
| | | TaskNo = plcTaskNo, |
| | | UPI = upiObj.UPI, |
| | | Upi = upiObj.UPI, |
| | | Length = upiObj.Length, |
| | | Width = upiObj.Width, |
| | | Thk = upiObj.Thk, |
| | | IssueTime = DateTime.Now, |
| | | |
| | | PlanNo = upiObj.PlanNo, |
| | | OrderId = upiObj.OrderId, |
| | | PackageCode = upiObj.PackageCode, |
| | | RbTaskType = (int)RbTaskTypeEnum.ç æ¿ä»»å¡, |
| | | RbTaskTypeEnumName = RbTaskTypeEnum.ç æ¿ä»»å¡.ToString(), |
| | | TaskStatus = (int)TaskStatusEnum.æ°å»º, |
| | | TaskStatusName = TaskStatusEnum.æ°å»º.ToString(), |
| | | TaskMsg = "ç æ¿", |
| | | CreateTime = DateTime.Now, |
| | | CreateUserName = "CC", |
| | | CreateUserName = SysGloble.WCSSystem, |
| | | UpdateTime = DateTime.Now, |
| | | UpdateUserName = "CC", |
| | | UpdateUserName = SysGloble.WCSSystem, |
| | | PlaceCode = place, |
| | | LastNum = lastnum |
| | | LastNum = lastnum, |
| | | |
| | | Info17 = upiObj.Info17, |
| | | MachineXCenter = upiObj.MachineXCenter, |
| | | MachineYCenter = upiObj.MachineYCenter, |
| | | MachineZCenter = upiObj.MachineZCenter, |
| | | Sequence = upiObj.Sequence, |
| | | }; |
| | | |
| | | wmsDB.wms_rbline_task.Add(task); |
| | | |
| | | |
| | | //æ´æ°é
ç½® |
| | | sysConfig.Value = palletizingUPI + "|" + palletizingStation; |
| | | |
| | | |
| | | WmsRecordUpiProcessHandler.SaveWmsRecordUpiProcess(wmsDB, upiObj, "BZ12ç«ç¹", "ç å
"); |
| | |
| | | wmsDB.SaveChanges(); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()}-没æè¦å¤ççæ°æ®"; |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |