| | |
| | | using iWareCommon.Utils; |
| | | using Admin.NET.Application; |
| | | using iWareCC.StationService; |
| | | using iWareCommon.Common.Globle; |
| | | using iWareCommon.Utils; |
| | | using iWareModel; |
| | | using iWareSql.DataAccess; |
| | | using iWareSql.WmsDBModel; |
| | | using System; |
| | | using System.Collections.Generic; |
| | |
| | | { |
| | | public class DataProcess_BZ21 |
| | | { |
| | | public static void Hander() |
| | | { |
| | | var alertMsg = ""; |
| | | LogType logType = LogType.DataProcess_BZ21; |
| | | while (true) |
| | | { |
| | | Thread.Sleep(2000);//ä¼ç 2ç§ï¼å°ä¼ç åå°åé¢ï¼æ¯ä¸ºäºä¸é¢çcontinueæ¹æ³æ§è¡å䏿¾ç¤ºé误信æ¯çæç¤ºï¼ï¼ï¼ãEditBy shaocx,2022-05-24ã |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ21 = string.Empty; |
| | | try |
| | | { |
| | | if (SystemValue.isStartedModel) |
| | | { |
| | | var rgvLocation = StationLocationEnum.BZ21.ToString(); |
| | | /* |
| | | * 1ã仿°æ®åºä¸å¤ææ¯å¦é½å¥ |
| | | * 2ãæ ¹æ®é½å¥ç»æï¼æ¨éç»PLC |
| | | */ |
| | | var obj = FormCC.stationView.R_StationForReadCommList.Where(x => x.StationCode == rgvLocation.ToString()).FirstOrDefault(); |
| | | if (obj.R_PalletizingAck) |
| | | { |
| | | //ç»PLCæ¨éä»»å¡å®æ¥æ¶å®æå¤ä½ä¿¡å· |
| | | using (StationServiceClient client = new StationServiceClient()) |
| | | { |
| | | var res = client.WriteStation_ACK((int)EDevice.Station, false, rgvLocation); |
| | | if (!res.result) |
| | | { |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTask = $"{rgvLocation.ToString()}-ä¸åç æ¿ä»»å¡ 失败,SetPalletizingTaskFinishAck è¿å:{res.resMsg}"; |
| | | continue; |
| | | } |
| | | else |
| | | { |
| | | Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-ä¸åå
¥åºä»»å¡ æå,SetPalletizingTaskFinishAckï¼åæ°: ç«ç¹{rgvLocation}"); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | if (obj.R_ReqParseData) |
| | | { |
| | | var result = obj.R_ReadCodeResult; |
| | | if (string.IsNullOrEmpty(result)) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ21 = $"{rgvLocation.ToString()}-请æ±äºè§£ç ï¼ä½æ¯ç»ææ¯ç©ºç,æ¤æ¬¡å¾ªç¯ç»æ"; |
| | | continue; |
| | | } |
| | | var upiCode = result.Replace("/r", ""); ; |
| | | short cartonwidth = 0;//纸箱宽 |
| | | short cartonhigh = 0;//çº¸ç®±é« |
| | | string place = "22"; |
| | | using (WmsDBModel wmsDB = new WmsDBModel()) |
| | | { |
| | | //è¦æ¯æå·²ä¸åçä»»å¡ï¼å°±ä¸è¦æ§è¡ |
| | | var isValidate = TaskHandler.ValidateIssueTaskForBZ21(wmsDB, result); |
| | | if (!isValidate) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ21 = $"{rgvLocation.ToString()}-æâå·²ä¸åâçä»»å¡ï¼ä¸è½å¤ç,æ¤æ¬¡å¾ªç¯ç»æ"; |
| | | continue; |
| | | } |
| | | var upiObj = wmsDB.mes_batchOrderUPI_new.Where(x => x.UPI == upiCode).FirstOrDefault(); |
| | | if (upiObj == null) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ21 = $"{rgvLocation.ToString()},æ ¹æ®UPI:{upiCode}æ²¡ææ¾å°å¯¹è±¡ "; |
| | | continue; |
| | | } |
| | | var mesgather = wmsDB.mes_package_gather.Where(x => x.PackageCode == upiObj.PackageCode).FirstOrDefault(); |
| | | if (mesgather != null) |
| | | { |
| | | mesgather.AreaCode = (int)AreaCodeEnum.åå
è£ååº; |
| | | mesgather.UpiStatus = (int)UpiStatusEnum.å·²åå
; |
| | | } |
| | | |
| | | cartonhigh = (short)upiObj.Info3; |
| | | cartonwidth = (short)upiObj.Info2; |
| | | upiObj.UpiStatus = (int)UpiStatusEnum.å·²åå
; |
| | | upiObj.AreaCode = (int)AreaCodeEnum.åå
è£ååº; |
| | | //è®°å½ä»»å¡ |
| | | var _id = Yitter.IdGenerator.YitIdHelper.NextId(); |
| | | var putpakegecodeid = Yitter.IdGenerator.YitIdHelper.NextId(); |
| | | var plcTaskNo = BusinessHelper.CreatePlcTaskIdForSrmTask(); |
| | | var mesinequeue = ClassHelper.RotationMapping<mes_package_linequeue, mes_batchOrderUPI_new>(upiObj); |
| | | mesinequeue.Id = Yitter.IdGenerator.YitIdHelper.NextId(); |
| | | var putpakegecode = new mes_push_packagecode() |
| | | { |
| | | Id = putpakegecodeid, |
| | | PackageCode = upiObj.PackageCode, |
| | | PushStatus = 0, |
| | | PushNum = 0, |
| | | ApiMessage = "11", |
| | | CreateTime = DateTime.Now, |
| | | CreateUserName = "CC", |
| | | UpdateTime = DateTime.Now, |
| | | UpdateUserName = "CC", |
| | | CreateOrgName = "11" |
| | | }; |
| | | var task = new wms_rbline_task() |
| | | { |
| | | Id = _id, |
| | | TaskNo = plcTaskNo, |
| | | 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", |
| | | UpdateTime = DateTime.Now, |
| | | UpdateUserName = "CC", |
| | | PlaceCode = place |
| | | }; |
| | | wmsDB.mes_package_linequeue.Add(mesinequeue); |
| | | wmsDB.wms_rbline_task.Add(task); |
| | | wmsDB.mes_push_packagecode.Add(putpakegecode); |
| | | using (StationServiceClient client = new StationServiceClient()) |
| | | { |
| | | |
| | | var res = client.WriteSurroundTaskInfo((int)EDevice.Station, rgvLocation, short.Parse(task.TaskNo), |
| | | (short)upiObj.Length, (short)upiObj.Width, cartonhigh, cartonwidth, 0, 0); |
| | | if (!res.result) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()}-ä¸åå
¥åºä»»å¡ 失败,WriteInStoreTaskInfoAsync è¿å:{res.resMsg}"; |
| | | continue; |
| | | } |
| | | else |
| | | { |
| | | Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-ä¸åå
¥åºä»»å¡ æå,WriteInStoreTaskInfoAsyncï¼åæ°: ç«ç¹{rgvLocation}"); |
| | | } |
| | | } |
| | | |
| | | wmsDB.SaveChanges(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ39 += " åºç°å¼å¸¸:" + ex.Message + SysGloble.SPLIT_STR; |
| | | Log4NetHelper.WriteErrorLog(logType, " åºç°å¼å¸¸ï¼" + ex.Message, ex); |
| | | } |
| | | } |
| | | } |
| | | public static void PushPackageCode() |
| | | { |
| | | while (true) |
| | |
| | | Thread.Sleep(2000); |
| | | using (WmsDBModel edm = new WmsDBModel()) |
| | | { |
| | | var value = edm.mes_PushPackageCode.Where(x => x.PushStatus == 0 || x.PushStatus == 1).FirstOrDefault(); |
| | | var value = edm.mes_push_packagecode.Where(x => x.PushStatus == 0 || x.PushStatus == 1).FirstOrDefault(); |
| | | if (value != null) |
| | | { |
| | | PushPackageCodeInput input = new PushPackageCodeInput(); |