| | |
| | | using iWareModel; |
| | | using iWareSql.DataAccess; |
| | | using iWareSql.WmsDBModel; |
| | | using Newtonsoft.Json.Linq; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.ComponentModel; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading; |
| | |
| | | { |
| | | 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; |
| | |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ21 = $"{rgvLocation.ToString()}-请æ±äºè§£ç ï¼ä½æ¯ç»ææ¯ç©ºç,æ¤æ¬¡å¾ªç¯ç»æ"; |
| | | continue; |
| | | } |
| | | var upiCode = result.Replace("/r", ""); ; |
| | | short cartonwidth = 0;//æ¯å¦æ«æ¿ |
| | | short cartonhigh = 0;//æ¯å¦æè½¬ |
| | | short placeX = 0; |
| | | short placeY = 0; |
| | | short placeZ = 0; |
| | | string place = ""; |
| | | short cartonwidth = 0;//纸箱宽 |
| | | short cartonhigh = 0;//çº¸ç®±é« |
| | | string place = "22"; |
| | | using (WmsDBModel wmsDB = new WmsDBModel()) |
| | | { |
| | | //è¦æ¯æå·²ä¸åçä»»å¡ï¼å°±ä¸è¦æ§è¡ |
| | | var isValidate = TaskHandler.ValidateIssueTaskForBZ21(wmsDB,result); |
| | | 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(); |
| | | var upiObj = wmsDB.mes_batchOrderUPI_new.Where(x => x.UPI == result).FirstOrDefault(); |
| | | if (upiObj == null) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ21 = $"{rgvLocation.ToString()},æ ¹æ®UPI:{upiCode}æ²¡ææ¾å°å¯¹è±¡ "; |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ21 = $"{rgvLocation.ToString()},æ ¹æ®UPI:{result}æ²¡ææ¾å°å¯¹è±¡ "; |
| | | continue; |
| | | } |
| | | placeX = (short)upiObj.MachineXCenter; |
| | | placeY = (short)upiObj.MachineYCenter; |
| | | placeZ = (short)upiObj.MachineZCenter; |
| | | cartonhigh = (short)upiObj.Info1; |
| | | cartonwidth = (short)upiObj.Info2; |
| | | string upi = "LS070700101B0001GS"; |
| | | //è°ç¨åºçº¸æºæ¥å£ |
| | | var res =new HTTPService("http://172.17.1.22:44374/api/LuLi/").getContent<Respone>("cartons-machine?PackageCode="+upi, Guid.NewGuid(),10000); |
| | | if (res.iState == 0) |
| | | { |
| | | var papertable = wmsDB.mes_push_papercut.Where(x => x.PackageCode == upiObj.PackageCode).OrderByDescending(x => x.Id).FirstOrDefault(); |
| | | if (papertable != null) |
| | | { |
| | | papertable.PushStatus = (int)PushStatusEnum.PushSuccess; |
| | | papertable.ApiMessage = res.message; |
| | | papertable.PushNum++; |
| | | } |
| | | else |
| | | { |
| | | var papercut = ClassHelper.RotationMapping<mes_push_papercut, mes_batchOrderUPI_new>(upiObj); |
| | | papercut.Id = Yitter.IdGenerator.YitIdHelper.NextId(); |
| | | papercut.ApiMessage = res.message; |
| | | papercut.PushNum = 0; |
| | | papercut.PushStatus = (int)PushStatusEnum.PushSuccess; |
| | | wmsDB.mes_push_papercut.Add(papercut); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | var papertable = wmsDB.mes_push_papercut.Where(x => x.PackageCode == upiObj.PackageCode).OrderByDescending(x => x.Id).FirstOrDefault(); |
| | | if (papertable != null) |
| | | { |
| | | papertable.PushStatus = (int)PushStatusEnum.PushFail; |
| | | papertable.ApiMessage = res.message; |
| | | papertable.PushNum++; |
| | | } |
| | | else |
| | | { |
| | | var papercut = ClassHelper.RotationMapping<mes_push_papercut, mes_batchOrderUPI_new>(upiObj); |
| | | papercut.Id = Yitter.IdGenerator.YitIdHelper.NextId(); |
| | | papercut.ApiMessage = res.message; |
| | | papercut.PushNum = 0; |
| | | papercut.PushStatus = (int)PushStatusEnum.PushFail; |
| | | wmsDB.mes_push_papercut.Add(papercut); |
| | | } |
| | | 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 putpakegecode = new mes_PushPackageCode() |
| | | //æ°å¢è¡¨ |
| | | var mesinequeue = ClassHelper.RotationMapping<mes_package_linequeue, mes_batchOrderUPI_new>(upiObj); |
| | | mesinequeue.Id = Yitter.IdGenerator.YitIdHelper.NextId(); |
| | | //æ°å¢mesæ¨é表 |
| | | var putpakegecode = new mes_push_packagecode() |
| | | { |
| | | Id = _id, |
| | | PackageCode=upiObj.PackageCode, |
| | | PushStatus=0, |
| | | PushNum=0, |
| | | Id = putpakegecodeid, |
| | | PackageCode = upiObj.PackageCode, |
| | | PushStatus = 0, |
| | | PushNum = 0, |
| | | ApiMessage = "å¾
æ¨é", |
| | | CreateTime = DateTime.Now, |
| | | CreateUserName = "CC", |
| | | UpdateTime = DateTime.Now, |
| | | UpdateUserName = "CC", |
| | | CreateOrgName = "11" |
| | | }; |
| | | //æ°å¢ä»»å¡è¡¨ |
| | | var task = new wms_rbline_task() |
| | | { |
| | | Id = _id, |
| | |
| | | OrderId = upiObj.OrderId, |
| | | PackageCode = upiObj.PackageCode, |
| | | RbTaskType = (int)RbTaskTypeEnum.夹æ¿ä»»å¡, |
| | | RbTaskTypeEnumName = RbTaskTypeEnum.ç æ¿ä»»å¡.ToString(), |
| | | RbTaskTypeEnumName = RbTaskTypeEnum.夹æ¿ä»»å¡.ToString(), |
| | | TaskStatus = (int)TaskStatusEnum.å·²ä¸å, |
| | | TaskStatusName = TaskStatusEnum.å·²ä¸å.ToString(), |
| | | TaskMsg = "ç æ¿", |
| | | TaskMsg = "夹æ¿", |
| | | CreateTime = DateTime.Now, |
| | | CreateUserName = "CC", |
| | | UpdateTime = DateTime.Now, |
| | | UpdateUserName = "CC", |
| | | PlaceCode = place |
| | | }; |
| | | //æ°å¢æå°è¡¨ |
| | | var printid= Yitter.IdGenerator.YitIdHelper.NextId(); |
| | | var print = ClassHelper.RotationMapping<wms_record_print, mes_batchOrderUPI_new>(upiObj); |
| | | print.Id = printid; |
| | | print.PrintType = (int)PrintTypeEnum.å
è£
æ¡ç ; |
| | | print.PrintSource = (int)PrintSourceEnum.å
è£
æ¡ç æå°; |
| | | print.PrintSheetNum = 1; |
| | | print.PrintNum= 0; |
| | | print.PrintStatus = (int)PrintStatuEnum.æªæå°; |
| | | print.IsAllowPrint= true; |
| | | wmsDB.wms_record_print.Add(print); |
| | | wms_record_print printtwo = print; |
| | | printtwo.Id= Yitter.IdGenerator.YitIdHelper.NextId(); |
| | | wmsDB.wms_record_print.Add(printtwo); |
| | | |
| | | wmsDB.wms_rbline_task.Add(task); |
| | | wmsDB.mes_PushPackageCode.Add(putpakegecode); |
| | | 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, Convert.ToInt32(task.TaskNo), |
| | | (short)upiObj.Info1, (short)upiObj.Info2,cartonhigh,cartonwidth,placeX,placeY); |
| | | if (!res.result) |
| | | var plcres = client.WriteSurroundTaskInfo((int)EDevice.Station, rgvLocation, short.Parse(task.TaskNo), |
| | | (short)upiObj.Length, (short)upiObj.Width, cartonhigh, cartonwidth, 0, 0); |
| | | if (!plcres.result) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()}-ä¸åå
¥åºä»»å¡ 失败,WriteInStoreTaskInfoAsync è¿å:{res.resMsg}"; |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()}-ä¸åå
¥åºä»»å¡ 失败,WriteInStoreTaskInfoAsync è¿å:{plcres.resMsg}"; |
| | | continue; |
| | | } |
| | | else |
| | |
| | | } |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// åmesæ¨éå
è£
宿 |
| | | /// </summary> |
| | | 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(); |
| | | input.PackageCode = value.PackageCode; |
| | | var res = HttpHelper.GetHttpResponse<PushPackageCodeInput, Respone>(" ", input, 10000); |
| | | |
| | | if (res.iState == 0) |
| | | { |
| | | value.PushStatus = (int)PushStatusEnum.PushSuccess; |
| | | value.ApiMessage = res.message; |
| | | } |
| | | else |
| | | { |
| | | value.PushStatus = (int)PushStatusEnum.Pushing; |
| | | value.PushNum++; |
| | | value.ApiMessage+= res.message; |
| | | if (value.PushNum == 3) |
| | | { |
| | | value.PushStatus = (int)PushStatusEnum.PushFail; |
| | | } |
| | | } |
| | | edm.SaveChanges(); |
| | | } |
| | | } |
| | | } |
| | |
| | | /// <summary> |
| | | /// è¿åç |
| | | /// </summary> |
| | | public string code { get; set; } |
| | | public int iState { get; set; } |
| | | |
| | | /// <summary> |
| | | /// è¿åæ¶æ¯ |
| | |
| | | public string message { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 请æ±ç¼å· |
| | | /// </summary> |
| | | public string reqCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// èªå®ä¹è¿åï¼è¿åä»»å¡åå·ï¼ |
| | | /// èªå®ä¹è¿å |
| | | /// </summary> |
| | | public string data { get; set; } |
| | | } |
| | | /// <summary> |
| | | /// æ¨éç¶æ |
| | | /// </summary> |
| | | public enum PushStatusEnum |
| | | { |
| | | /// <summary> |
| | | /// æªæ¨é |
| | | /// </summary> |
| | | [Description("æªæ¨é")] |
| | | NotPush = 0, |
| | | |
| | | /// <summary> |
| | | /// æ¨éä¸ |
| | | /// </summary> |
| | | [Description("æ¨éä¸")] |
| | | Pushing = 1, |
| | | |
| | | /// <summary> |
| | | /// æ¨éæå |
| | | /// </summary> |
| | | [Description("æ¨éæå")] |
| | | PushSuccess = 2, |
| | | |
| | | /// <summary> |
| | | /// æ¨é失败 |
| | | /// </summary> |
| | | [Description("æ¨é失败")] |
| | | PushFail = 3, |
| | | } |
| | | } |
| | | } |