| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Runtime.Remoting.Messaging; |
| | | using System.ServiceModel.Configuration; |
| | | using System.Text; |
| | | using System.Threading; |
| | |
| | | { |
| | | if (SystemValue.isAllowRuning_DataProcess_ValidateQiTao && SystemValue.isStartedModel) |
| | | { |
| | | var rgvLocation = StationLocationEnum.BZ39.ToString(); |
| | | var rgvLocation = StationLocationEnum.BZ30.ToString(); |
| | | |
| | | using (WmsDBModel wmsDB = new WmsDBModel()) |
| | | { |
| | |
| | | var configValues = configValue.Split('|'); |
| | | var packageCode = configValues[0]; |
| | | var qitaoValue = configValues[1];//é½å¥ ä¸é½å¥ |
| | | |
| | | var _UnlinePerson = configValues[2]; |
| | | bool iscomplete = false; |
| | | if (qitaoValue.Equals("é½å¥")) |
| | | { |
| | | iscomplete = true; |
| | | } |
| | | //TODO:æ¨éç»PLC å»åªä¸ªæ¹åï¼ |
| | | /* |
| | | |
| | | using (StationServiceClient client = new StationServiceClient()) |
| | | { |
| | | var res = await client.ChangeModeAsync((int)EDevice.Station, (int)RbRunModeEnum.å
¥åºæ¨¡å¼, rgvLocation); |
| | | var res = client.WriteQiTaoInfo((int)EDevice.Station, rgvLocation, iscomplete); |
| | | if (!res.result) |
| | | { |
| | | SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao = $"{rgvLocation.ToString()}-æ¨éç»PLCåæ¢æ¨¡å¼ å¤±è´¥,ChangeModeAsync è¿å:{res.resMsg}"; |
| | | SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao = $"{rgvLocation.ToString()}-æ¨éç»PLCæ¯å¦é½å¥å¤±è´¥,ChangeModeAsync è¿å:{res.resMsg}"; |
| | | continue; |
| | | } |
| | | else |
| | | { |
| | | Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-æ¨éç»PLCåæ¢æ¨¡å¼ æå,ChangeModeAsyncï¼åæ°: ç«ç¹{rgvLocation}"); |
| | | Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-æ¨éç»PLCæ¯å¦é½å¥ æå,ChangeModeAsyncï¼åæ°: ç«ç¹{rgvLocation}"); |
| | | } |
| | | } |
| | | //*/ |
| | | // |
| | | |
| | | |
| | | //æ´æ°å¼ |
| | | bz30Config.Value = ""; |
| | | var gahter = wmsDB.mes_package_gather.Where(x => x.PackageCode == packageCode).FirstOrDefault(); |
| | | if (gahter != null) |
| | | var package = wmsDB.mes_package_gather.Where(x => x.PackageCode == packageCode).FirstOrDefault(); |
| | | if (package != null) |
| | | { |
| | | gahter.UpiStatus = (int)UpiStatusEnum.å·²ä¸çº¿; |
| | | gahter.AreaCode = (int)AreaCodeEnum.ä¸çº¿åºå; |
| | | package.UpiStatus = (int)UpiStatusEnum.å·²ä¸çº¿; |
| | | package.AreaCode = (int)AreaCodeEnum.ä¸çº¿åºå; |
| | | } |
| | | var upiList = wmsDB.mes_batchOrderUPI_new.Where(x => x.PackageCode == packageCode).ToList(); |
| | | foreach (var item in upiList) |
| | |
| | | { |
| | | wmsDB.mes_package_linequeue.Remove(lineQueue); |
| | | } |
| | | |
| | | |
| | | //å¤ç表 mes_order_gather |
| | | var errmsg = ""; |
| | | var result = HandlerOrderGather(wmsDB, package, qitaoValue, _UnlinePerson, out errmsg); |
| | | if (result == false) |
| | | { |
| | | SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao = errmsg; |
| | | continue; |
| | | } |
| | | |
| | | |
| | | //æ°å¢ä¸çº¿è®°å½ |
| | | mes_package_unline_record record = new mes_package_unline_record(); |
| | | record = ClassHelper.RotationMapping<mes_package_unline_record, mes_package_gather>(gahter); |
| | | record = ClassHelper.RotationMapping<mes_package_unline_record, mes_package_gather>(package); |
| | | record.Id = Yitter.IdGenerator.YitIdHelper.NextId(); |
| | | record.CreateTime = DateTime.Now; |
| | | record.UpdateTime = DateTime.Now; |
| | |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å¤ç 表 mes_order_gather |
| | | /// </summary> |
| | | /// <param name="wmsDB"></param> |
| | | /// <param name="package"></param> |
| | | /// <param name="qitaoValue"></param> |
| | | /// <param name="_UnlinePerson"></param> |
| | | /// <param name="errMsg"></param> |
| | | /// <returns></returns> |
| | | public static bool HandlerOrderGather(WmsDBModel wmsDB, mes_package_gather package, string qitaoValue, string _UnlinePerson, out string errMsg) |
| | | { |
| | | errMsg = ""; |
| | | //å¤ç表 mes_order_gather |
| | | var isAddOrder = false; |
| | | var packageList = wmsDB.mes_package_gather.Where(x => x.Info5 == package.Info5).ToList(); |
| | | if (packageList == null || packageList?.Count == 0) |
| | | { |
| | | errMsg = $"æ²¡ææ¾å°ç产åå·{package.Info5}çæ±æ»æ°æ®"; |
| | | return false; |
| | | } |
| | | var order = wmsDB.mes_order_gather.Where(x => x.Info5 == package.Info5).FirstOrDefault(); |
| | | if (order != null) |
| | | { |
| | | |
| | | } |
| | | else |
| | | { |
| | | order = new mes_order_gather() |
| | | { |
| | | Id = Yitter.IdGenerator.YitIdHelper.NextId(), |
| | | Info5 = package.Info5, |
| | | OrderId = package.OrderId, |
| | | PlanNo = package.PlanNo, |
| | | }; |
| | | isAddOrder = true; |
| | | } |
| | | order.PackageNum = packageList.Count(); |
| | | order.UnLinePackageNum = packageList.Where(x => x.UpiStatus == (int)UpiStatusEnum.å·²ä¸çº¿).Count(); |
| | | order.NoUnLinePackageNum = order.PackageNum - order.UnLinePackageNum; |
| | | |
| | | order.AllPackageArea = packageList.Sum(x => Convert.ToDecimal(x.Info13)); |
| | | order.ScanPackageArea = packageList.Where(x => x.UpiStatus == (int)UpiStatusEnum.å·²ä¸çº¿).Sum(x => Convert.ToDecimal(x.Info13)); |
| | | order.NoScanPackageArea = order.AllPackageArea - order.ScanPackageArea; |
| | | order.IsKitting = qitaoValue == "é½å¥" ? true : false; |
| | | |
| | | var order_unLine = false; |
| | | //æ¥è¯¢ä¸ä¸ä¸ªå
æ¯ä¸æ¯å±äºè¯¥è®¢å |
| | | var newLineQueue = wmsDB.mes_package_linequeue.OrderBy(x => x.Id).FirstOrDefault(); |
| | | if (newLineQueue != null && newLineQueue.Info5 != order.Info5) |
| | | { |
| | | //è¡¨ç¤ºæ¯ åæ¢ æ°è®¢åäºï¼è¯¥è®¢åè¦æ´æ°ä¸º å·²ä¸çº¿ã |
| | | order_unLine = true; |
| | | } |
| | | else |
| | | { |
| | | //å¤æè¯¥è®¢åæ¯å¦å·²ä¸çº¿ |
| | | if (order.PackageNum == order.UnLinePackageNum) |
| | | { |
| | | order_unLine = true; |
| | | } |
| | | } |
| | | //å¤æè¯¥è®¢åæ¯å¦å·²ä¸çº¿ |
| | | if (order_unLine) |
| | | { |
| | | order.IsUnline = true; |
| | | order.UnlineTime = DateTime.Now; |
| | | order.UnlinePerson = _UnlinePerson; |
| | | } |
| | | else |
| | | { |
| | | order.IsUnline = false; |
| | | } |
| | | |
| | | if (isAddOrder) |
| | | { |
| | | wmsDB.mes_order_gather.Add(order); |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | |
| | | } |
| | | } |