| | |
| | | using Masuit.Tools; |
| | | using SqlSugar; |
| | | using WIDESEA_Core.Const; |
| | | using WIDESEA_DTO.MOM; |
| | | using WIDESEA_DTO.WMS; |
| | | //using WIDESEAWCS_Model.Models; |
| | | |
| | | namespace WIDESEA_StorageTaskServices; |
| | | |
| | |
| | | // 判断需不需要去包装,不需要就去常温三 |
| | | 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 num = content.Data.ObjToInt(); |
| | | |
| | | //如果当前库内存在比当前时间的对应产线的料 则入库至常温3 |
| | | DtStockInfo stockInfo = _stockInfoRepository.QueryFirst(x => x.AreaCode == "CWSC3" && x.IsFull == true && x.ProductionLine == input.ProductionLine && x.OutboundTime < DateTime.Now); |
| | | DtStockInfo stockInfo = _stockInfoRepository.QueryFirst(x => x.AreaCode == "CWSC3" && x.IsFull == true && x.ProductionLine == STATION.productLine && x.OutboundTime < DateTime.Now); |
| | | if (stockInfo != null) |
| | | { |
| | | var config = _configService.GetByConfigKey("SYS_InStacker", "CW3InStacker"); |
| | | var strings = config.ConfigValue.Split(',').ToList(); |
| | | // 入库送至常温3 |
| | | var resultContent = await CreateNewTask(input, strings); |
| | | var resultContent = await CreateNewTask(input, input.ProductionLine, boxing.ProcessCode, strings); |
| | | if (resultContent.Status) |
| | | { |
| | | await _boxingInfoRepository.AddDataNavAsync(boxing); |
| | |
| | | } |
| | | |
| | | // TODO 判断在途数量 |
| | | var count = BaseDal.QueryData(x => x.TargetAddress == stationManagers[0].Roadway).Count; |
| | | if (count <= 10) |
| | | |
| | | 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 < 2) |
| | | { |
| | | // 送至包装 |
| | | List<string> strings = stationManagers.Where(x => x.stationType == 0).Select(x => x.Roadway).ToList(); |
| | | return await CreateNewTask(input, strings, 3); |
| | | var x = await SqlSugarHelper.DbWCS.Updateable<dt_needBarcode>().SetColumns(x => x.inLineNum == x.inLineNum + 1).ExecuteCommandHasChangeAsync(); |
| | | ConsoleHelper.WriteSuccessLine($"在途数量添加{(x ? "成功" : "失败")}数量+1"); |
| | | 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, strings); |
| | | var resultContent = await CreateNewTask(input, input.ProductionLine, boxing.ProcessCode, strings); |
| | | if (resultContent.Status) |
| | | { |
| | | await _boxingInfoRepository.AddDataNavAsync(boxing); |
| | |
| | | } |
| | | List<string> strings = stationManagers.Roadway.Split(',').ToList(); |
| | | |
| | | var resultContent = await CreateNewTask(input, strings); |
| | | var resultContent = await CreateNewTask(input, result.ProductionLine, boxing.ProcessCode, strings); |
| | | if (resultContent.Status) |
| | | { |
| | | var isBox = await _boxingInfoRepository.AddDataNavAsync(boxing); |
| | |
| | | // NGStation = stationManagers.stationNGChildCode.Split(',').ToList(); |
| | | //} |
| | | List<string> NGStation = stationManagers.stationNGChildCode.Split(',').ToList(); |
| | | content = await CreateNewTask(input, NGStation, 2); |
| | | content = await CreateNewTask(input, input.ProductionLine, "", NGStation, 2); |
| | | return content.Error("存在异常电芯"); |
| | | } |
| | | |
| | |
| | | TargetAddress = task.Roadway, |
| | | TaskState = task.TaskState.Value, |
| | | Id = 0, |
| | | TaskType = task.TaskType |
| | | TaskType = task.TaskType, |
| | | ProductionLine = task.ProductionLine, |
| | | }; |
| | | return new WebResponseContent().OK(data: taskDTO); |
| | | } |