| | |
| | | private readonly ITaskExecuteDetailRepository _taskExecuteDetailRepository; |
| | | private readonly ILocationStatusChangeRecordRepository _locationStatusChangeRecordRepository; |
| | | private readonly IDt_WheelsStockRepository _WheelsStockRepository; |
| | | private readonly IDt_ZdpStockRepository _zdpStockRepository; |
| | | private readonly IMapper _mapper; |
| | | |
| | | public LocationInfoService(ILocationInfoRepository BaseDal, |
| | |
| | | IStockInfoDetailRepository stockInfoDetailRepository, |
| | | IMapper mapper, |
| | | IDt_TaskService taskService, |
| | | IDt_WheelsStockRepository wheelsStockRepository) : base(BaseDal) |
| | | IDt_WheelsStockRepository wheelsStockRepository, |
| | | IDt_ZdpStockRepository zdpStockRepository) : base(BaseDal) |
| | | { |
| | | _unitOfWorkManage = unitOfWorkManage; |
| | | _taskRepository = taskRepository; |
| | |
| | | _mapper = mapper; |
| | | _taskService = taskService; |
| | | _WheelsStockRepository = wheelsStockRepository; |
| | | _zdpStockRepository = zdpStockRepository; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | |
| | | // è·åæ°çåºä½çä»»å¡ |
| | | var internalTransferTask = await _taskRepository.QueryFirstAsync(x => x.SourceAddress == newLocationID && x.Roadway == outboundTask.Roadway && x.TaskState == (int)TaskOutStatusEnum.OutNew); |
| | | |
| | | |
| | | |
| | | LogFactory.GetLog("æ£æ¥æ¯å¦éè¦ç§»åº").InfoFormat(true, "éè¦ç§»åº,è·åæ°åºä½çä»»å¡", $"æ°åºä½ä»»å¡ï¼{internalTransferTask}"); |
| | | // 妿æ°çåºä½æ²¡ææ¾å°å¯¹åºçä»»å¡ |
| | |
| | | // å¤æè¯¥ä½ç½®æ¯å¦æåºå |
| | | var stockInfo = await _WheelsStockRepository.QueryFirstAsync(x => x.Wheels_Location == newLocationID); |
| | | |
| | | // å¤æè¯¥ä½ç½®æ¯å¦æåºå |
| | | var zdpInfo = await _zdpStockRepository.QueryFirstAsync(x => x.Zdp_Location == newLocationID); |
| | | |
| | | |
| | | LogFactory.GetLog("æ£æ¥æ¯å¦éè¦ç§»åº").InfoFormat(true, "éè¦ç§»åº,æªè·åå°æ°åºä½ä»»å¡", $"该ä½ç½®æ¯å¦æåºåï¼{stockInfo}"); |
| | | if (stockInfo == null) |
| | | if (stockInfo == null && zdpInfo==null) |
| | | { |
| | | LogFactory.GetLog("æ£æ¥æ¯å¦éè¦ç§»åº").InfoFormat(true, "éè¦ç§»åº,æªè·åå°åºåæ°æ®", $"ç´æ¥è¿ååå
åºåºä»»å¡ï¼{outboundTask}"); |
| | | // å¦ææ²¡æåºåï¼ç´æ¥è¿åå½ååºåºä»»å¡ |
| | |
| | | { |
| | | CreateDate = DateTime.Now, |
| | | Creater = App.User.UserName == null ? "admin" : App.User.UserName, |
| | | CurrentAddress = stockInfo.Wheels_Location, |
| | | CurrentAddress = stockInfo != null ?stockInfo.Wheels_Location: zdpInfo.Zdp_Location, |
| | | Grade = 99, |
| | | MaterialNo = stockInfo.Wheels_Type, |
| | | MaterialNo = stockInfo != null ? stockInfo.Wheels_Type: "2", |
| | | NextAddress = emptyLocation.LocationCode, |
| | | PalletCode = stockInfo.Wheels_Num, |
| | | PalletCode = stockInfo != null ? stockInfo.Wheels_Num : zdpInfo.Zdp_code, |
| | | Remark = "ç§»åº", |
| | | Roadway = "SC1", |
| | | SourceAddress = stockInfo.Wheels_Location, |
| | | SourceAddress = stockInfo != null ? stockInfo.Wheels_Location : zdpInfo.Zdp_Location, |
| | | TaskNum = taskNo, |
| | | TargetAddress = emptyLocation.LocationCode, |
| | | TaskState = (int)TaskStatus.Created, |
| | |
| | | // å¤æè¯¥ä½ç½®æ¯å¦æåºå |
| | | var stockInfo = await _WheelsStockRepository.QueryFirstAsync(x => x.Wheels_Location == newLocationID); |
| | | |
| | | // å¤æè¯¥ä½ç½®æ¯å¦æåºå |
| | | var zdpInfo = await _zdpStockRepository.QueryFirstAsync(x => x.Zdp_Location == newLocationID); |
| | | |
| | | |
| | | LogFactory.GetLog("æ£æ¥æ¯å¦éè¦ç§»åº").InfoFormat(true, "éè¦ç§»åº,æªè·åå°æ°åºä½ä»»å¡", $"该ä½ç½®æ¯å¦æåºåï¼{stockInfo}"); |
| | | if (stockInfo == null) |
| | | if (stockInfo == null && zdpInfo == null) |
| | | { |
| | | LogFactory.GetLog("æ£æ¥æ¯å¦éè¦ç§»åº").InfoFormat(true, "éè¦ç§»åº,æªè·åå°åºåæ°æ®", $"ç´æ¥è¿ååå
åºåºä»»å¡ï¼{inboundTask}"); |
| | | // å¦ææ²¡æåºåï¼ç´æ¥è¿åå½ååºåºä»»å¡ |
| | |
| | | { |
| | | CreateDate = DateTime.Now, |
| | | Creater = App.User.UserName == null ? "admin" : App.User.UserName, |
| | | CurrentAddress = stockInfo.Wheels_Location, |
| | | CurrentAddress = stockInfo != null ? stockInfo.Wheels_Location : zdpInfo.Zdp_Location, |
| | | Grade = 99, |
| | | MaterialNo = stockInfo.Wheels_Type, |
| | | MaterialNo = stockInfo != null ? stockInfo.Wheels_Type : "2", |
| | | NextAddress = emptyLocation.LocationCode, |
| | | PalletCode = stockInfo.Wheels_Num, |
| | | PalletCode = stockInfo != null ? stockInfo.Wheels_Num : zdpInfo.Zdp_code, |
| | | Remark = "ç§»åº", |
| | | Roadway = "SC1", |
| | | SourceAddress = stockInfo.Wheels_Location, |
| | | SourceAddress = stockInfo != null ? stockInfo.Wheels_Location : zdpInfo.Zdp_Location, |
| | | TaskNum = taskNo, |
| | | TargetAddress = emptyLocation.LocationCode, |
| | | TaskState = (int)TaskStatus.Created, |
| | |
| | | //List<DtLocationInfo> locations = new List<DtLocationInfo>(); |
| | | if (locationInfos == null || locationInfos.Count == 0) |
| | | { |
| | | locationInfos = BaseDal.QueryData(x => x.LocationStatus == (int)LocationEnum.Free && x.RoadwayNo == "SC1" && x.EnalbeStatus == 1 && x.LocationType == 1); |
| | | locationInfos = BaseDal.QueryData(x => x.LocationStatus == 0 && x.RoadwayNo == "SC1" && x.EnalbeStatus == 1 && x.LocationType == 1); |
| | | |
| | | } |
| | | |
| | |
| | | { |
| | | locationInfos.Remove(location); |
| | | if (locationInfos.Count == 0) return null; |
| | | RequestLocation(RoadWayNo, locationInfos); |
| | | return RequestLocation(RoadWayNo, locationInfos); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | private DtLocationInfo GetEmptyLocation(List<DtLocationInfo> dtLocationInfos) |
| | | { |
| | | var locationinfo = dtLocationInfos.Where(x => x.LocationStatus == (int)LocationEnum.Free && x.RoadwayNo == "SC1" && x.EnalbeStatus == 1 && x.LocationType == 1).OrderBy(x => x.Layer).ThenByDescending(x => x.Depth).ThenBy(x => x.Row).ThenBy(x => x.Column).FirstOrDefault(); |
| | | var locationinfo = dtLocationInfos.Where(x => x.LocationStatus == 0 && x.RoadwayNo == "SC1" && x.EnalbeStatus == 1 && x.LocationType == 1).OrderBy(x => x.Layer).ThenByDescending(x => x.Depth).ThenBy(x => x.Row).ThenBy(x => x.Column).FirstOrDefault(); |
| | | |
| | | return locationinfo; |
| | | } |