| | |
| | | using WIDESEA_Core.Const; |
| | | using WIDESEA_DTO.MOM; |
| | | using WIDESEA_DTO.WMS; |
| | | |
| | | //using WIDESEAWCS_Model.Models; |
| | | |
| | | namespace WIDESEA_StorageTaskServices; |
| | |
| | | private async Task<WebResponseContent> ProcessOCVB(DtBoxingInfo boxing, Dt_AreaInfo area, RequestTaskDto input) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | // 夿éä¸éè¦å»å
è£
ï¼ä¸éè¦å°±å»å¸¸æ¸©ä¸ |
| | | var stationManagers = _stationManagerRepository.QueryData(x => x.stationPLC == "1018" && x.stationArea == "Cache" && x.productLine == input.ProductionLine); |
| | | |
| | | var STATION = _stationManagerRepository.QueryFirst(x => x.stationChildCode == input.Position); |
| | | |
| | | //var station = stationManagers.Select(x => x.stationChildCode).ToList(); |
| | | |
| | | //// è·åWCSipå°åç¸å
³é
ç½® |
| | | var wcsIpAddrss = GetWCSIpAddress(); |
| | | //if (wcsIpAddrss == null) |
| | | //{ |
| | | // throw new InvalidOperationException("WCS IP æªé
ç½®"); |
| | | //} |
| | | |
| | | //var abc = HttpHelper.PostAsync(wcsIpAddrss, station.ToJsonString()).Result; |
| | | //content = JsonConvert.DeserializeObject<WebResponseContent>(abc); |
| | | //var num = content.Data.ObjToInt(); |
| | | |
| | | //妿å½ååºå
å卿¯å½åæ¶é´ç对åºäº§çº¿çæ åå
¥åºè³å¸¸æ¸©3 |
| | | DtStockInfo stockInfo = _stockInfoRepository.QueryFirst(x => x.AreaCode == "CWSC3" && x.IsFull == true && x.ProductionLine == STATION.productLine && x.OutboundTime < DateTime.Now); |
| | | if (stockInfo != null) |
| | | try |
| | | { |
| | | var config = _configService.GetByConfigKey("SYS_InStacker", "CW3InStacker"); |
| | | var strings = config.ConfigValue.Split(',').ToList(); |
| | | // å
¥åºéè³å¸¸æ¸©3 |
| | | var resultContent = await CreateNewTask(input, input.ProductionLine, boxing.ProcessCode, strings); |
| | | if (resultContent.Status) |
| | | // 夿éä¸éè¦å»å
è£
ï¼ä¸éè¦å°±å»å¸¸æ¸©ä¸ |
| | | var stationManagers = _stationManagerRepository.QueryData(x => x.stationPLC == "1018" && x.stationArea == "Cache" && x.productLine == input.ProductionLine); |
| | | |
| | | var STATION = _stationManagerRepository.QueryFirst(x => x.stationChildCode == input.Position); |
| | | |
| | | //var station = stationManagers.Select(x => x.stationChildCode).ToList(); |
| | | |
| | | //// è·åWCSipå°åç¸å
³é
ç½® |
| | | var wcsIpAddrss = GetWCSIpAddress(); |
| | | //if (wcsIpAddrss == null) |
| | | //{ |
| | | // throw new InvalidOperationException("WCS IP æªé
ç½®"); |
| | | //} |
| | | |
| | | //var abc = HttpHelper.PostAsync(wcsIpAddrss, station.ToJsonString()).Result; |
| | | //content = JsonConvert.DeserializeObject<WebResponseContent>(abc); |
| | | //var num = content.Data.ObjToInt(); |
| | | |
| | | //妿å½ååºå
å卿¯å½åæ¶é´ç对åºäº§çº¿çæ åå
¥åºè³å¸¸æ¸©3 |
| | | DtStockInfo stockInfo = _stockInfoRepository.QueryFirst(x => x.AreaCode == "CWSC3" && x.IsFull == true && x.ProductionLine == STATION.productLine && x.OutboundTime < DateTime.Now); |
| | | if (stockInfo != null) |
| | | { |
| | | await _boxingInfoRepository.AddDataNavAsync(boxing); |
| | | var config = _configService.GetByConfigKey("SYS_InStacker", "CW3InStacker"); |
| | | var strings = config.ConfigValue.Split(',').ToList(); |
| | | // å
¥åºéè³å¸¸æ¸©3 |
| | | var resultContent = await CreateNewTask(input, input.ProductionLine, boxing.ProcessCode, strings); |
| | | if (resultContent.Status) |
| | | { |
| | | await _boxingInfoRepository.AddDataNavAsync(boxing); |
| | | } |
| | | return resultContent; |
| | | } |
| | | return resultContent; |
| | | } |
| | | |
| | | // TODO 夿å¨éæ°é |
| | | // TODO 夿å¨éæ°é |
| | | |
| | | var needBarcode = await SqlSugarHelper.DbWCS.Queryable<dt_needBarcode>().FirstAsync(x => x.productLine == STATION.productLine); |
| | | var needCount = needBarcode.inLineNum; |
| | | //var count = BaseDal.QueryData(x => x.TargetAddress == stationManagers[0].Roadway).Count; |
| | | if (needCount < needBarcode.cacheNum) |
| | | { |
| | | // éè³å
è£
|
| | | List<string> strings = stationManagers.Where(x => x.stationType == 0 && x.productLine == input.ProductionLine).Select(x => x.Roadway).ToList(); |
| | | var x = await SqlSugarHelper.DbWCS.Updateable<dt_needBarcode>() |
| | | .SetColumns(x => x.inLineNum == x.inLineNum + 1) |
| | | .Where(x => x.id == needBarcode.id).ExecuteCommandHasChangeAsync(); |
| | | ConsoleHelper.WriteSuccessLine($"å¨éæ°éæ·»å {(x ? "æå" : "失败")}æ°é+1,å½åå·¥åº{boxing.ProcessCode},产线{input.ProductionLine}"); |
| | | return await CreateNewTask(input, input.ProductionLine, boxing.ProcessCode, strings, 3); |
| | | } |
| | | else |
| | | { |
| | | var config = _configService.GetByConfigKey("SYS_InStacker", "CW3InStacker"); |
| | | var strings = config.ConfigValue.Split(',').ToList(); |
| | | // å
¥åºéè³å¸¸æ¸©3 |
| | | var resultContent = await CreateNewTask(input, input.ProductionLine, boxing.ProcessCode, strings); |
| | | if (resultContent.Status) |
| | | var needBarcode = await SqlSugarHelper.DbWCS.Queryable<dt_needBarcode>().FirstAsync(x => x.productLine == STATION.productLine); |
| | | var needCount = needBarcode.inLineNum; |
| | | //var count = BaseDal.QueryData(x => x.TargetAddress == stationManagers[0].Roadway).Count; |
| | | if (needCount < needBarcode.cacheNum) |
| | | { |
| | | await _boxingInfoRepository.AddDataNavAsync(boxing); |
| | | // éè³å
è£
|
| | | List<string> strings = stationManagers.Where(x => x.stationType == 0 && x.productLine == input.ProductionLine).Select(x => x.Roadway).ToList(); |
| | | var x = await SqlSugarHelper.DbWCS.Updateable<dt_needBarcode>() |
| | | .SetColumns(x => x.inLineNum == x.inLineNum + 1) |
| | | .Where(x => x.id == needBarcode.id).ExecuteCommandHasChangeAsync(); |
| | | ConsoleHelper.WriteSuccessLine($"å¨éæ°éæ·»å {(x ? "æå" : "失败")}æ°é+1,å½åå·¥åº{boxing.ProcessCode},产线{input.ProductionLine}"); |
| | | LogFactory.GetLog("OCVB").InfoFormat(true, $"å¨éæ°éæ·»å {(x ? "æå" : "失败")}æ°é+1,å½åå·¥åº{boxing.ProcessCode},产线{input.ProductionLine}", "æ åæ°"); |
| | | return await CreateNewTask(input, input.ProductionLine, boxing.ProcessCode, strings, 3); |
| | | } |
| | | return resultContent; |
| | | else |
| | | { |
| | | var config = _configService.GetByConfigKey("SYS_InStacker", "CW3InStacker"); |
| | | var strings = config.ConfigValue.Split(',').ToList(); |
| | | // å
¥åºéè³å¸¸æ¸©3 |
| | | var resultContent = await CreateNewTask(input, input.ProductionLine, boxing.ProcessCode, strings); |
| | | if (resultContent.Status) |
| | | { |
| | | await _boxingInfoRepository.AddDataNavAsync(boxing); |
| | | } |
| | | return resultContent; |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | ConsoleHelper.WriteErrorLine(ex.Message); |
| | | LogFactory.GetLog("OCVB").InfoFormat(true, $"ï¼å¼å¸¸ä¿¡æ¯ï¼{ex.Message},{ex.StackTrace}", "æ åæ°"); |
| | | return content.Error(ex.Message); |
| | | } |
| | | } |
| | | |