huangxiaoqiang
2025-04-25 a8f4641741af34ffbe5fd565003cc5d55bbec119
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
@@ -1050,6 +1050,7 @@
                                  .ToList()
                : null;
            #region
            //// 从缓存中获取库存信息
            //IDictionary<string, DtStockInfo>? stockInfos = _simpleCacheService.HashGetAll<DtStockInfo>(WIDESEA_Cache.CacheConst.Cache_DtStockInfo);
            //List<DtStockInfo> stockInfoList = stockInfos.Values.ToList();
@@ -1069,6 +1070,7 @@
            //    .WhereIF(!materielCodes.IsNullOrEmpty(), x => x.StockInfoDetails != null && x.StockInfoDetails.Any(y => materielCodes.Contains(y.MaterielCode)))
            //    .FirstOrDefault();
            // 修改后的查询代码
            #endregion
            var stockInfo = await _stockInfoRepository.Db.Queryable<DtStockInfo>()
                                .Includes(x => x.LocationInfo)
                                .Includes(x => x.StockInfoDetails)
@@ -1145,16 +1147,34 @@
            if (emergencyTask == null) throw new Exception("火警参数为空");
            DtLocationInfo locationInfo = _locationRepository.QueryFirst(x => x.Row == emergencyTask.row && x.Column == emergencyTask.column && x.Layer == emergencyTask.layer && x.AreaId == emergencyTask.zone);
            string[] strings = emergencyTask.LocationCode.Split("-");
            string[] Roadways = strings[0].Select(x => x.ToString()).ToArray();
            string Roadway = string.Empty;
            switch (Roadways[0])
            {
                case "J":
                    Roadway = "JZSC" + Roadways[1];
                        break;
                case "G":
                    Roadway = "GWSC" + Roadways[1];
                    break;
                case "C":
                    Roadway = "CWSC" + Roadways[1];
                    break;
                default: throw new Exception("未识别库位编码");
            }
            for (int i = 0; i < 2; i++)
            {
                DtLocationInfo locationInfo = _locationRepository.QueryFirst(x => x.Row == Convert.ToInt16(strings[1]) && x.Column == Convert.ToInt16(strings[2]) && x.Layer == (i == 0 ? Convert.ToInt16(strings[3]) * 2 - 1 : Convert.ToInt16(strings[3]) * 2) && x.RoadwayNo == Roadway);
            if (locationInfo == null)
            {
                throw new Exception("未知库位");
            }
            //查找消防站台
            var station = _stationManagerRepository.QueryFirst(t => t.Roadway == locationInfo.RoadwayNo
                 && t.stationType == (int)StationManager.FireStation
                 /*&& t. == "Enable"*/);
                var station = _stationManagerRepository.QueryFirst(t => t.Roadway == locationInfo.RoadwayNo && t.stationType == (int)StationManager.FireStation);
            if (station == null)
            {
                throw new Exception("消防站台未配置!");
@@ -1174,7 +1194,7 @@
                barcode = "M" + DateTime.Now.ToString("MMddHHmmss") + "-" + new Random().Next(100, 1000);
            }
            Dt_Task fireTask = BaseDal.QueryFirst(x => x.TaskType == 500 && x.SourceAddress == locationInfo.LocationCode && x.Roadway == station.Roadway);
                Dt_Task fireTask = BaseDal.QueryFirst(x => x.TaskType == (int)TaskOutboundTypeEnum.OutFireAlarm && x.SourceAddress == locationInfo.LocationCode && x.Roadway == station.Roadway);
            if (fireTask != null)
            {
@@ -1187,15 +1207,15 @@
                CreateDate = DateTime.Now,
                Creater = "DTS",
                CurrentAddress = locationInfo.LocationCode,
                Grade = 1,
                    Grade = i == 0 ? 5 : 3,
                Dispatchertime = DateTime.Now,
                PalletCode = barcode,
                Roadway = station.Roadway,
                SourceAddress = locationInfo.LocationCode,
                TaskState = (int)TaskOutStatusEnum.OutNew,
                TaskType = 500,
                    TaskType = (int)TaskOutboundTypeEnum.OutFireAlarm,
                TargetAddress = station.stationLocation,
                NextAddress = station.stationChildCode,
                    NextAddress = station.stationLocation,
                TaskNum = taskNum, //_taskRepository.GetTaskNo().Result,
                TaskId = 0,
            };
@@ -1211,7 +1231,7 @@
                TargetAddress = task.TargetAddress,
                TaskState = task.TaskState.Value,
                Id = 0,
                TaskType = 500,
                    TaskType = task.TaskType,
            };
            var configs = _configService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
@@ -1240,6 +1260,7 @@
            {
                throw new Exception("请求处理失败");
            }
            }
            LogFactory.GetLog("DTS火警出库").Info(true, $"\r\r--------------------------------------");
            LogFactory.GetLog("DTS火警出库").Info(true, obj.ToJsonString());
            return content.OK();