| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Net.NetworkInformation; |
| | | using System.Reflection.Emit; |
| | | using System.ServiceModel.Configuration; |
| | | using System.Text; |
| | | using System.Threading; |
| | |
| | | LogType logType = LogType.DataProcess_BZ01; |
| | | while (true) |
| | | { |
| | | Thread.Sleep(2000);//ä¼ç 2ç§ï¼å°ä¼ç åå°åé¢ï¼æ¯ä¸ºäºä¸é¢çcontinueæ¹æ³æ§è¡å䏿¾ç¤ºé误信æ¯çæç¤ºï¼ï¼ï¼ãEditBy shaocx,2022-05-24ã |
| | | Thread.Sleep(1000);//ä¼ç 2ç§ï¼å°ä¼ç åå°åé¢ï¼æ¯ä¸ºäºä¸é¢çcontinueæ¹æ³æ§è¡å䏿¾ç¤ºé误信æ¯çæç¤ºï¼ï¼ï¼ãEditBy shaocx,2022-05-24ã |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ01 = string.Empty; |
| | | try |
| | | { |
| | | if (SystemValue.isAllowRuning_DataProcess_BZ01 && SystemValue.isStartedModel) |
| | | if (SystemValue.isStartedModel)//SystemValue.isAllowRuning_DataProcess_BZ01 && |
| | | { |
| | | if (FormCC.IsAllowRunOutMode == true) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ01 = $"æ£å¨å¹²åºåºæ¨¡å¼ï¼æ¤æ¹æ³æåãã "; |
| | | continue; |
| | | } |
| | | |
| | | var rgvLocation = StationLocationEnum.BZ01.ToString(); |
| | | /* |
| | | * 1ã仿°æ®åºä¸å¤ææ¯å¦é½å¥ |
| | |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ01 = $"{rgvLocation.ToString()},æ ¹æ®UPI:{upiCode}æ²¡ææ¾å°å¯¹è±¡ "; |
| | | continue; |
| | | } |
| | | |
| | | var isAllow = IsAllloRunOutTaskMode(wmsDB, upiObj); |
| | | if (isAllow) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ01 = $"{rgvLocation.ToString()},å¤æè¦æ§è¡åºåºæ¨¡å¼äºï¼æ¤æ¹æ³æåãã "; |
| | | continue; |
| | | } |
| | | |
| | | //æ¥è¯¢æ¯å¦é½å
|
| | | var allList = wmsDB.mes_batchOrderUPI_new.Where(x => x.PackageCode == upiObj.PackageCode).ToList(); |
| | | var isQiTaoList = allList.Where(x => x.AreaCode == (int)AreaCodeEnum.ç¼å忣åº).ToList(); |
| | | var isQiTaoList = allList.Where(x => x.AreaCode == (int)AreaCodeEnum.å¾
ç¼ååæ£åº |
| | | || |
| | | x.AreaCode == (int)AreaCodeEnum.ç¼ååæ£åº |
| | | || |
| | | x.AreaCode == (int)AreaCodeEnum.ç ååºå |
| | | || |
| | | x.AreaCode == (int)AreaCodeEnum.æºå¨äººå²ç¼ååºå |
| | | ).ToList(); |
| | | if (isQiTaoList.Count() != allList.Count()) |
| | | {//ä¸é½å
|
| | | qitaoReault = false; |
| | | upiObj.AreaCode = (int)AreaCodeEnum.ç¼å忣åº; |
| | | } |
| | | else |
| | | {//é½å
|
| | | qitaoReault = true; |
| | | upiObj.AreaCode = (int)AreaCodeEnum.ç ååºå; |
| | | } |
| | | } |
| | | |
| | | using (StationServiceClient client = new StationServiceClient()) |
| | | using (StationServiceClient client = new StationServiceClient()) |
| | | { |
| | | var res = await client.WriteQiTaoInfoAsync((int)EDevice.Station, rgvLocation, qitaoReault); |
| | | if (!res.result) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ01 = $"{rgvLocation.ToString()}-æ¨éé½å¥ç»æå¤±è´¥,WriteQiTaoInfoAsyncè¿å:{res.resMsg}"; |
| | | continue; |
| | | } |
| | | else |
| | | { |
| | | Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-æ¨éé½å¥ç»ææå,WriteQiTaoInfoAsyncï¼åæ°: ç«ç¹{rgvLocation},é½å¥ç»æ:{qitaoReault}"); |
| | | } |
| | | } |
| | | |
| | | //æ´æ°UPIç¶æ |
| | | var upiObjList = wmsDB.mes_batchOrderUPI_new.Where(x => x.UPI == upiCode).ToList(); |
| | | foreach (var item in upiObjList) |
| | | { |
| | | if (qitaoReault) |
| | | { |
| | | item.UpiStatus = (int)UpiStatusEnum.å·²é½å
; |
| | | } |
| | | else |
| | | { |
| | | item.UpiStatus = (int)UpiStatusEnum.ä¸é½å
; |
| | | } |
| | | } |
| | | //æ´æ° æå䏿¬¡å¨ BZ_01çç³»ç»å¤ççæ¿ä»¶ æ°æ® |
| | | var rbRunMode = wmsDB.wms_rbline_runmode.FirstOrDefault(); |
| | | rbRunMode.PlanNo = upiObj.PlanNo; |
| | | rbRunMode.OrderId = upiObj.OrderId; |
| | | rbRunMode.PackageCode = upiObj.PackageCode; |
| | | |
| | | WmsRecordUpiProcessHandler.SaveWmsRecordUpiProcess(wmsDB, upiObj, "BZ01", "é½å
éªè¯:" + (qitaoReault ? "é½å
" : "ä¸é½å
")); |
| | | |
| | | wmsDB.SaveChanges(); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | using (WmsDBModel wmsDB = new WmsDBModel()) |
| | | { |
| | | var res = await client.WriteQiTaoInfoAsync((int)EDevice.Station, rgvLocation, qitaoReault); |
| | | if (!res.result) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ01 = $"{rgvLocation.ToString()}-æ¨éé½å¥ç»æå¤±è´¥,WriteQiTaoInfoAsyncè¿å:{res.resMsg}"; |
| | | continue; |
| | | } |
| | | else |
| | | { |
| | | Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-æ¨éé½å¥ç»ææå,WriteQiTaoInfoAsyncï¼åæ°: ç«ç¹{rgvLocation},é½å¥ç»æ:{qitaoReault}"); |
| | | } |
| | | var isAllow = IsAllloRunOutTaskMode(wmsDB, null); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// æ¯å¦å¯ä»¥æ§è¡åºåºæ¨¡å¼ |
| | | /// </summary> |
| | | /// <param name="wmsDB"></param> |
| | | /// <param name="curUpiObj"></param> |
| | | /// <returns></returns> |
| | | private static bool IsAllloRunOutTaskMode(WmsDBModel wmsDB, mes_batchOrderUPI_new curUpiObj) |
| | | { |
| | | //é¦å
æ¥è¯¢æ°æ®åºä¸æ¯å¦æ è¦åºåºçæ°æ® |
| | | var isExistOutTaskForNewCreated = wmsDB.wms_rbline_task.Where(x => x.RbTaskType == (int)RbTaskTypeEnum.åºåºä»»å¡ |
| | | && x.TaskStatus == (int)TaskStatusEnum.æ°å»º |
| | | ).Count(); |
| | | if (isExistOutTaskForNewCreated == 0) |
| | | { |
| | | FormCC.IsAllowRunOutMode = false; |
| | | return false;//ä¸è½æ§è¡ åºåºæ¨¡å¼ |
| | | } |
| | | |
| | | var rbRunMode = wmsDB.wms_rbline_runmode.FirstOrDefault(); |
| | | var lastUpi = rbRunMode.UPI; |
| | | var lastPackageCode = rbRunMode.PackageCode; |
| | | |
| | | if (curUpiObj == null) |
| | | {//è¡¨ç¤ºæ¤æ¶æ æ°æ¿è¿æ¥ |
| | | if (!string.IsNullOrEmpty(lastUpi)) |
| | | { |
| | | var lastObj = wmsDB.mes_batchOrderUPI_new.Where(x => x.UPI == lastUpi).FirstOrDefault(); |
| | | if (lastObj.UpiStatus == (int)UpiStatusEnum.ä¸é½å
|| lastObj.UpiStatus == (int)UpiStatusEnum.åå§) |
| | | {//表示æåè¿å»çæ¿æ¯ä¸é½å
çæ¿ |
| | | //å¯ä»¥è¿è¡æ§è¡ åºåºæ¨¡å¼ |
| | | } |
| | | else |
| | | {//表示æåè¿å»çæ¿æ¯é½å
çæ¿ |
| | | //è¦ç»§ç»å¤æåé¢ å¾
忣åºåè¿åå¨ç¸åå
çæ¿æ°æ®å |
| | | var isExistSamePackageCode = wmsDB.mes_batchOrderUPI_new.Where(x => x.PackageCode == lastPackageCode |
| | | && x.AreaCode == (int)AreaCodeEnum.å¾
ç¼å忣åº).Count(); |
| | | if (isExistSamePackageCode > 0) |
| | | { |
| | | FormCC.IsAllowRunOutMode = false; |
| | | return false;//ä¸è½æ§è¡ åºåºæ¨¡å¼ |
| | | } |
| | | else |
| | | { |
| | | //å¯ä»¥è¿è¡æ§è¡ åºåºæ¨¡å¼ |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //å¯ä»¥è¿è¡æ§è¡ åºåºæ¨¡å¼ |
| | | } |
| | | } |
| | | else |
| | | {//è¡¨ç¤ºæ¤æ¶ææ°æ¿è¿æ¥ |
| | | if (!string.IsNullOrEmpty(lastUpi)) |
| | | { |
| | | if (lastPackageCode == curUpiObj.PackageCode) |
| | | { |
| | | FormCC.IsAllowRunOutMode = false; |
| | | return false;//ä¸è½æ§è¡ åºåºæ¨¡å¼ |
| | | } |
| | | else |
| | | {//æ°å
è¿æ¥äº |
| | | //å¯ä»¥è¿è¡æ§è¡ åºåºæ¨¡å¼ |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //å¯ä»¥è¿è¡æ§è¡ åºåºæ¨¡å¼ |
| | | } |
| | | } |
| | | |
| | | FormCC.IsAllowRunOutMode = true; |
| | | return true; |
| | | } |
| | | |
| | | } |
| | | } |