| | |
| | | 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(); |
| | | if (FormCC.IsAllowRunOutMode) |
| | | var rgvLocation = StationLocationEnum.BZ30.ToString(); |
| | | |
| | | using (WmsDBModel wmsDB = new WmsDBModel()) |
| | | { |
| | | using (WmsDBModel wmsDB = new WmsDBModel()) |
| | | var bz30Config = wmsDB.SysConfig.Where(x => x.Code == "wms_bz30_qitao").FirstOrDefault(); |
| | | if (bz30Config == null) |
| | | { |
| | | var rbRunMode = wmsDB.wms_rbline_runmode.FirstOrDefault(); |
| | | SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao = $"没æé
ç½® wms_bz30_qitao å¼"; |
| | | continue; |
| | | } |
| | | var configValue = bz30Config.Value; |
| | | if (string.IsNullOrEmpty(configValue) || configValue.IndexOf('|') <= -1) |
| | | { |
| | | SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao = $"é
ç½® wms_bz30_qitao å¼{configValue}为空æä¸æ£ç¡®"; |
| | | continue; |
| | | } |
| | | 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 å»åªä¸ªæ¹åï¼ |
| | | |
| | | if (TaskHandler.ValidateNoFinishOutTaskForRobotBuffer(wmsDB)) |
| | | {//ä¸åå¨ |
| | | rbRunMode.LineRunMode = (int)RbRunModeEnum.å
¥åºæ¨¡å¼; |
| | | rbRunMode.LineRunModeName = RbRunModeEnum.å
¥åºæ¨¡å¼.ToString(); |
| | | rbRunMode.UpdateTime = DateTime.Now; |
| | | |
| | | //æ¨éç»PLCåæ¢æ¨¡å¼ |
| | | using (StationServiceClient client = new StationServiceClient()) |
| | | { |
| | | var res = await client.ChangeModeAsync((int)EDevice.Station, (int)RbRunModeEnum.å
¥åºæ¨¡å¼, rgvLocation); |
| | | if (!res.result) |
| | | { |
| | | SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao = $"{rgvLocation.ToString()}-æ¨éç»PLCåæ¢æ¨¡å¼ å¤±è´¥,ChangeModeAsync è¿å:{res.resMsg}"; |
| | | continue; |
| | | } |
| | | else |
| | | { |
| | | Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-æ¨éç»PLCåæ¢æ¨¡å¼ æå,ChangeModeAsyncï¼åæ°: ç«ç¹{rgvLocation}"); |
| | | } |
| | | } |
| | | FormCC.IsAllowRunOutMode = false; |
| | | using (StationServiceClient client = new StationServiceClient()) |
| | | { |
| | | var res = client.WriteQiTaoInfo((int)EDevice.Station, rgvLocation, iscomplete); |
| | | if (!res.result) |
| | | { |
| | | SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao = $"{rgvLocation.ToString()}-æ¨éç»PLCæ¯å¦é½å¥å¤±è´¥,ChangeModeAsync è¿å:{res.resMsg}"; |
| | | continue; |
| | | } |
| | | else |
| | | {//åå¨ |
| | | if (rbRunMode.LineRunMode == (int)RbRunModeEnum.åºåºæ¨¡å¼) |
| | | { |
| | | SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao = $"å·²ç»æ¯åºåºæ¨¡å¼äº,æ¤æ¬¡å¾ªç¯ç»æ"; |
| | | continue; |
| | | } |
| | | rbRunMode.LineRunMode = (int)RbRunModeEnum.åºåºæ¨¡å¼; |
| | | rbRunMode.LineRunModeName = RbRunModeEnum.åºåºæ¨¡å¼.ToString(); |
| | | rbRunMode.UpdateTime = DateTime.Now; |
| | | |
| | | //æ¨éç»PLCåæ¢æ¨¡å¼ |
| | | using (StationServiceClient client = new StationServiceClient()) |
| | | { |
| | | var res = await client.ChangeModeAsync((int)EDevice.Station, (int)RbRunModeEnum.åºåºæ¨¡å¼, rgvLocation); |
| | | if (!res.result) |
| | | { |
| | | 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}"); |
| | | } |
| | | |
| | | wmsDB.SaveChanges(); |
| | | } |
| | | // |
| | | |
| | | |
| | | //æ´æ°å¼ |
| | | bz30Config.Value = ""; |
| | | var package = wmsDB.mes_package_gather.Where(x => x.PackageCode == packageCode).FirstOrDefault(); |
| | | if (package != null) |
| | | { |
| | | 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) |
| | | { |
| | | item.UpiStatus = (int)UpiStatusEnum.å·²ä¸çº¿; |
| | | item.AreaCode = (int)AreaCodeEnum.ä¸çº¿åºå; |
| | | item.UpdateTime = DateTime.Now; |
| | | } |
| | | //å é¤éåä¿¡æ¯ |
| | | var lineQueue = wmsDB.mes_package_linequeue.Where(x => x.PackageCode == packageCode).FirstOrDefault(); |
| | | if (lineQueue != null) |
| | | { |
| | | wmsDB.mes_package_linequeue.Remove(lineQueue); |
| | | } |
| | | |
| | | |
| | | //å¤ç表 mes_order_gather |
| | | var errmsg = ""; |
| | | var result = MyExtendHelper.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>(package); |
| | | record.Id = Yitter.IdGenerator.YitIdHelper.NextId(); |
| | | record.CreateTime = DateTime.Now; |
| | | record.UpdateTime = DateTime.Now; |
| | | record.OpRemark = "ä¸çº¿"; |
| | | wmsDB.mes_package_unline_record.Add(record); |
| | | |
| | | WmsRecordUpiProcessHandler.SaveWmsRecordPackageProcess(wmsDB, package, "BZ30", "é½å¥éªè¯"); |
| | | |
| | | |
| | | wmsDB.SaveChanges(); |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | } |