| | |
| | | content = CJCarryTaske(task, item.taskType); |
| | | objects.Add(content.Data); |
| | | break; |
| | | case (int)TaskTypeEnum.STUPTBY: |
| | | content = HKSTUPTP(task, item.taskType); |
| | | objects.Add(content.Data); |
| | | break; |
| | | #endregion |
| | | default: |
| | | objects.Add(new |
| | |
| | | bool isAGV = dt_Task.TaskType == (int)TaskTypeEnum.CPInbound || dt_Task.TaskType == (int)TaskTypeEnum.CPOutbound; |
| | | |
| | | //海康 |
| | | bool isHK = dt_Task.TaskType == (int)TaskTypeEnum.F01 || dt_Task.TaskType == (int)TaskTypeEnum.RK3F || dt_Task.TaskType == (int)TaskTypeEnum.CK3F || dt_Task.TaskType == (int)TaskTypeEnum.Q1TSJ4 || dt_Task.TaskType == (int)TaskTypeEnum.STU0003 || dt_Task.TaskType == (int)TaskTypeEnum.F02 || dt_Task.TaskType == (int)TaskTypeEnum.CHUKU1 || dt_Task.TaskType == (int)TaskTypeEnum.Q3RK || dt_Task.TaskType == (int)TaskTypeEnum.Q3CK; |
| | | bool isHK = dt_Task.TaskType == (int)TaskTypeEnum.F01 || dt_Task.TaskType == (int)TaskTypeEnum.RK3F || dt_Task.TaskType == (int)TaskTypeEnum.CK3F || dt_Task.TaskType == (int)TaskTypeEnum.Q1TSJ4 || dt_Task.TaskType == (int)TaskTypeEnum.STU0003 || dt_Task.TaskType == (int)TaskTypeEnum.F02 || dt_Task.TaskType == (int)TaskTypeEnum.CHUKU1 || dt_Task.TaskType == (int)TaskTypeEnum.Q3RK || dt_Task.TaskType == (int)TaskTypeEnum.Q3CK||dt_Task.TaskType == (int)TaskTypeEnum.STUPTBY; |
| | | //ä¿®æ¹åæ¬ä»»å¡ä¼å
级 |
| | | dt_Task.Grade = updateTaskPriority.taskPriority; |
| | | #region å¯ä¹å£« |
| | |
| | | initPriority = updateTaskPriority.taskPriority//ä¼å
级 |
| | | }; |
| | | Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(HIKROBOTTaskGrade)); |
| | | if (apiInfo == null) throw new Exception("æªæ¾å°åå车AGVä»»å¡ä¸åæ¥å£é
置信æ¯ï¼è¯·æ£æ¥æ¥å£é
ç½®"); |
| | | string response = HttpHelper.Post(apiInfo.ApiAddress, Hkrequest.Serialize()); |
| | | if (apiInfo == null) throw new Exception("æªæ¾å°æµ·åº·AGVä»»å¡ä¸åæ¥å£é
置信æ¯ï¼è¯·æ£æ¥æ¥å£é
ç½®"); |
| | | var headers = new Dictionary<string, string> |
| | | { |
| | | { "X-lr-request-id", DateTimeOffset.Now.ToUnixTimeSeconds().ToString() + dt_Task.WMSTaskNum } |
| | | }; |
| | | string response = HttpHelper.Post(apiInfo.ApiAddress, Hkrequest.Serialize(), headers: headers); |
| | | HIKROBOTReturn hIKROBOTReturn = response.DeserializeObject<HIKROBOTReturn>(); |
| | | content.OK(data: hIKROBOTReturn); |
| | | if (hIKROBOTReturn.code == "SUCCESS0" && hIKROBOTReturn.message == "æå") |
| | | if (hIKROBOTReturn.code == "SUCCESS" && hIKROBOTReturn.message == "æå") |
| | | { |
| | | BaseDal.UpdateData(dt_Task); |
| | | content.OK("ä¿®æ¹{dt_Task.WMSTaskNum}ä»»å¡ä¼å
级æå", dt_Task); |
| | |
| | | var rgv = new List<Dt_RGVLocationInfo>(); |
| | | var kls = new List<Dt_KLSLocationInfo>(); |
| | | var hk = new List<Dt_HKLocationInfo>(); |
| | | List<Dt_StationInfo> pk = new List<Dt_StationInfo>(); |
| | | if (wMSUpdateLocationArea==null) |
| | | { |
| | | return content.Error("请æ±åæ°ä¸è½ä¸ºç©º"); |
| | | } |
| | | var validWarehouseIds = new[] { 1, 2, 3, 4 }; |
| | | if (!validWarehouseIds.Contains(wMSUpdateLocationArea.WarehouseId)) |
| | | { |
| | | return content.Error($"æ æçä»åºIDï¼{wMSUpdateLocationArea.WarehouseId}ï¼ææå¼ä¸ºï¼1-æååºï¼2-颿åºï¼3-è´§åºï¼4-è£åªåº"); |
| | | } |
| | | if (wMSUpdateLocationArea.WarehouseId == 1) |
| | | { |
| | | var rgvList = _rGVLocationInfoService.Repository.QueryData(x => wMSUpdateLocationArea.LocationCodes.Contains(x.LocationCode)).ToList(); |
| | |
| | | item.WarehouseId = wMSUpdateLocationArea.UpdateAreaCode.ObjToInt(); |
| | | } |
| | | rgv.AddRange(rgvList); |
| | | _rGVLocationInfoService.Repository.UpdateData(rgv); |
| | | } |
| | | if (wMSUpdateLocationArea.WarehouseId == 2) |
| | | { |
| | |
| | | item.WarehouseId = wMSUpdateLocationArea.UpdateAreaCode.ObjToInt(); |
| | | } |
| | | kls.AddRange(KLSLocationInfoList); |
| | | _kLSLocationInfoService.Repository.UpdateData(kls); |
| | | } |
| | | if (wMSUpdateLocationArea.WarehouseId == 3) |
| | | { |
| | |
| | | item.WarehouseId = wMSUpdateLocationArea.UpdateAreaCode.ObjToInt(); |
| | | } |
| | | hk.AddRange(hkList); |
| | | _hKLocationInfoService.Repository.UpdateData(hk); |
| | | } |
| | | Db.Ado.BeginTran(); |
| | | _rGVLocationInfoService.UpdateData(rgv); |
| | | _kLSLocationInfoService.UpdateData(kls); |
| | | _hKLocationInfoService.UpdateData(hk); |
| | | Db.Ado.CommitTran(); |
| | | if (wMSUpdateLocationArea.WarehouseId == 4) |
| | | { |
| | | var pkList = _stationInfo.Repository.QueryData(x => wMSUpdateLocationArea.LocationCodes.Contains(x.StationCode)).ToList(); |
| | | foreach (var item in pkList) |
| | | { |
| | | item.StationRegion = wMSUpdateLocationArea.UpdateAreaCode.ObjToInt(); |
| | | } |
| | | pk.AddRange(pkList); |
| | | _stationInfo.Repository.UpdateData(pk); |
| | | } |
| | | content.OK(); |
| | | } |
| | | catch (Exception ex) |
| | |
| | | LoctionCode = item.LocationCode, |
| | | LocationStatus = item.LocationStatus, |
| | | EnableStatus = item.EnableStatus, |
| | | PalletCode = item.PalletCode |
| | | PalletCode = item.PalletCode, |
| | | AreaCode=item.WarehouseId |
| | | |
| | | }); |
| | | } |
| | |
| | | LoctionCode = item.LocationCode, |
| | | LocationStatus = item.LocationStatus, |
| | | EnableStatus = item.EnableStatus, |
| | | PalletCode = item.PalletCode |
| | | PalletCode = item.PalletCode, |
| | | AreaCode = item.WarehouseId |
| | | }); |
| | | } |
| | | content.OK(data: list); |
| | |
| | | LoctionCode = item.LocationCode, |
| | | LocationStatus = item.LocationStatus, |
| | | EnableStatus = item.EnableStatus, |
| | | PalletCode = item.PalletCode |
| | | PalletCode = item.PalletCode, |
| | | AreaCode = item.WarehouseId |
| | | }); |
| | | } |
| | | content.OK(data: list); |
| | |
| | | LoctionCode = item.StationCode, |
| | | LocationStatus = value ? 100 : 0, |
| | | EnableStatus = 0, |
| | | }); |
| | | } |
| | | content.OK(data: list); |
| | | } |
| | | else if (getLocationInfo.WarehouseId == 6) |
| | | { |
| | | List<Dt_StationInfo> StationInfo = new List<Dt_StationInfo>(); |
| | | if (!string.IsNullOrEmpty(getLocationInfo.AreaCode)) |
| | | StationInfo = _stationInfo.Repository.QueryData(x => x.StationRegion == getLocationInfo.AreaCode.ObjToInt()); |
| | | else |
| | | StationInfo = _stationInfo.Repository.QueryData(); |
| | | foreach (var item in StationInfo) |
| | | { |
| | | list.Add(new |
| | | { |
| | | LoctionCode = item.StationCode, |
| | | LocationStatus = item.StationStatus, |
| | | EnableStatus = item.IsOccupied, |
| | | PalletCode = item.PalletCode, |
| | | AreaCode = item.StationRegion |
| | | |
| | | }); |
| | | } |
| | | content.OK(data: list); |
| | |
| | | string dataJson = wMSReturn.result.ToString(); |
| | | Exists? exists = JsonConvert.DeserializeObject<Exists>(dataJson); |
| | | if (exists == null) throw new Exception($"WMSè¿åç»æçresult转æ¢å¤±è´¥"); |
| | | //妿æåå°±ä¸è¿å |
| | | if (exists.taskExists) return WebResponseContent.Instance.OK(); |
| | | //å¦æå¤±è´¥äºå°±è¿åexists.errorAreaCode |
| | | return WebResponseContent.Instance.OK(exists.errorAreaCode); |
| | | } |
| | | catch (Exception ex) |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// æ´æ°åºä½å¯ç¨ç¦ç¨ç¶æ |
| | | /// </summary> |
| | | /// <param name="upLocationStatusDTO"></param> |
| | | /// <returns></returns> |
| | | public WebResponseContent UpLocationStatus(UpLocationStatusDTO upLocationStatusDTO) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | List<object> resultList = new List<object>(); |
| | | |
| | | try |
| | | { |
| | | // åæ°éªè¯ |
| | | if (upLocationStatusDTO == null) |
| | | { |
| | | return content.Error("请æ±åæ°ä¸è½ä¸ºç©º"); |
| | | } |
| | | |
| | | if (upLocationStatusDTO.LocationNubList == null || upLocationStatusDTO.LocationNubList.Length == 0) |
| | | { |
| | | return content.Error("è´§ä½ç¼å·å表ä¸è½ä¸ºç©º"); |
| | | } |
| | | |
| | | // æ ¹æ® EnableStatus çå¼å¤ææ¯å¯ç¨è¿æ¯ç¦ç¨ |
| | | // 0=å¯ç¨ï¼3=ç¦ç¨ |
| | | bool isEnable = (upLocationStatusDTO.EnableStatus == 0); |
| | | int targetStatus = isEnable ? (int)EnableStatusEnum.Normal : (int)EnableStatusEnum.Disable; |
| | | |
| | | var updatedList = new List<object>(); // ç¨äºæ¹éæ´æ° |
| | | var notFoundLocations = new List<string>(); |
| | | |
| | | // æååº (WarehouseId = 1) |
| | | if (upLocationStatusDTO.WarehouseId == 1) |
| | | { |
| | | var locationsToUpdate = new List<Dt_RGVLocationInfo>(); |
| | | |
| | | foreach (var locationCode in upLocationStatusDTO.LocationNubList) |
| | | { |
| | | var agv = _rGVLocationInfoService.Repository.QueryFirst(x => x.LocationCode == locationCode); |
| | | if (agv != null) |
| | | { |
| | | agv.EnableStatus = targetStatus; |
| | | locationsToUpdate.Add(agv); |
| | | |
| | | resultList.Add(new |
| | | { |
| | | LoctionCode = agv.LocationCode, |
| | | EnableStatus = agv.EnableStatus, |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | notFoundLocations.Add(locationCode); |
| | | } |
| | | } |
| | | |
| | | if (locationsToUpdate.Any()) |
| | | { |
| | | _rGVLocationInfoService.UpdateData(locationsToUpdate); |
| | | |
| | | string message = $"æåæ´æ° {locationsToUpdate.Count} 个货ä½çç¶æ"; |
| | | if (notFoundLocations.Any()) |
| | | { |
| | | message += $"ï¼æªæ¾å°è´§ä½ï¼{string.Join(",", notFoundLocations)}"; |
| | | } |
| | | content.OK(data: resultList, message: message); |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"æªæ¾å°ä»»ä½å¯æ´æ°çè´§ä½ãæªæ¾å°çè´§ä½ï¼{string.Join(",", notFoundLocations)}"); |
| | | } |
| | | } |
| | | // é¢æåº (WarehouseId = 2) |
| | | else if (upLocationStatusDTO.WarehouseId == 2) |
| | | { |
| | | var locationsToUpdate = new List<Dt_KLSLocationInfo>(); |
| | | |
| | | foreach (var locationCode in upLocationStatusDTO.LocationNubList) |
| | | { |
| | | var kls = _kLSLocationInfoService.Repository.QueryFirst(x => x.LocationCode == locationCode); |
| | | if (kls != null) |
| | | { |
| | | kls.EnableStatus = targetStatus; |
| | | locationsToUpdate.Add(kls); |
| | | |
| | | resultList.Add(new |
| | | { |
| | | LoctionCode = kls.LocationCode, |
| | | EnableStatus = kls.EnableStatus, |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | notFoundLocations.Add(locationCode); |
| | | } |
| | | } |
| | | |
| | | if (locationsToUpdate.Any()) |
| | | { |
| | | _kLSLocationInfoService.UpdateData(locationsToUpdate); |
| | | |
| | | string message = $"æåæ´æ° {locationsToUpdate.Count} 个货ä½çç¶æ"; |
| | | if (notFoundLocations.Any()) |
| | | { |
| | | message += $"ï¼æªæ¾å°è´§ä½ï¼{string.Join(",", notFoundLocations)}"; |
| | | } |
| | | content.OK(data: resultList, message: message); |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"æªæ¾å°ä»»ä½å¯æ´æ°çè´§ä½ãæªæ¾å°çè´§ä½ï¼{string.Join(",", notFoundLocations)}"); |
| | | } |
| | | } |
| | | // è£åªåº (WarehouseId = 3) |
| | | else if (upLocationStatusDTO.WarehouseId == 3) |
| | | { |
| | | var locationsToUpdate = new List<Dt_HKLocationInfo>(); |
| | | |
| | | foreach (var locationCode in upLocationStatusDTO.LocationNubList) |
| | | { |
| | | var hk = _hKLocationInfoService.Repository.QueryFirst(x => x.LocationCode == locationCode); |
| | | if (hk != null) |
| | | { |
| | | hk.EnableStatus = targetStatus; |
| | | locationsToUpdate.Add(hk); |
| | | |
| | | resultList.Add(new |
| | | { |
| | | LoctionCode = hk.LocationCode, |
| | | EnableStatus = hk.EnableStatus, |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | notFoundLocations.Add(locationCode); |
| | | } |
| | | } |
| | | |
| | | if (locationsToUpdate.Any()) |
| | | { |
| | | _hKLocationInfoService.UpdateData(locationsToUpdate); |
| | | |
| | | string message = $"æåæ´æ° {locationsToUpdate.Count} 个货ä½çç¶æ"; |
| | | if (notFoundLocations.Any()) |
| | | { |
| | | message += $"ï¼æªæ¾å°è´§ä½ï¼{string.Join(",", notFoundLocations)}"; |
| | | } |
| | | content.OK(data: resultList, message: message); |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"æªæ¾å°ä»»ä½å¯æ´æ°çè´§ä½ãæªæ¾å°çè´§ä½ï¼{string.Join(",", notFoundLocations)}"); |
| | | } |
| | | } |
| | | // 3-4å¹³åº |
| | | else if (upLocationStatusDTO.WarehouseId == 4) |
| | | { |
| | | var locationsToUpdate = new List<Dt_StationInfo>(); |
| | | |
| | | foreach (var locationCode in upLocationStatusDTO.LocationNubList) |
| | | { |
| | | var station = _stationInfo.Repository.QueryFirst(x => x.StationCode == locationCode); |
| | | if (station != null) |
| | | { |
| | | station.IsOccupied = upLocationStatusDTO.EnableStatus==0?0:1; |
| | | locationsToUpdate.Add(station); |
| | | |
| | | resultList.Add(new |
| | | { |
| | | LoctionCode = station.StationCode, |
| | | EnableStatus = station.IsOccupied, |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | notFoundLocations.Add(locationCode); |
| | | } |
| | | } |
| | | |
| | | if (locationsToUpdate.Any()) |
| | | { |
| | | _stationInfo.UpdateData(locationsToUpdate); |
| | | |
| | | string message = $"æåæ´æ° {locationsToUpdate.Count} 个货ä½çç¶æ"; |
| | | if (notFoundLocations.Any()) |
| | | { |
| | | message += $"ï¼æªæ¾å°è´§ä½ï¼{string.Join(",", notFoundLocations)}"; |
| | | } |
| | | content.OK(data: resultList, message: message); |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"æªæ¾å°ä»»ä½å¯æ´æ°çè´§ä½ãæªæ¾å°çè´§ä½ï¼{string.Join(",", notFoundLocations)}"); |
| | | } |
| | | } |
| | | else if (upLocationStatusDTO.WarehouseId == 5) |
| | | { |
| | | var locationsToUpdate = new List<Dt_StationManger>(); |
| | | |
| | | foreach (var locationCode in upLocationStatusDTO.LocationNubList) |
| | | { |
| | | var station = _stationMangerService.Repository.QueryFirst(x => x.StationCode == locationCode); |
| | | if (station != null) |
| | | { |
| | | station.IsOccupied = upLocationStatusDTO.EnableStatus == 0 ? 0 : 1; |
| | | locationsToUpdate.Add(station); |
| | | |
| | | resultList.Add(new |
| | | { |
| | | LoctionCode = station.StationCode, |
| | | EnableStatus = station.IsOccupied, |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | notFoundLocations.Add(locationCode); |
| | | } |
| | | } |
| | | |
| | | if (locationsToUpdate.Any()) |
| | | { |
| | | _stationMangerService.UpdateData(locationsToUpdate); |
| | | |
| | | string message = $"æåæ´æ° {locationsToUpdate.Count} 个货ä½çç¶æ"; |
| | | if (notFoundLocations.Any()) |
| | | { |
| | | message += $"ï¼æªæ¾å°ç«å°ï¼{string.Join(",", notFoundLocations)}"; |
| | | } |
| | | content.OK(data: resultList, message: message); |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"æªæ¾å°ä»»ä½å¯æ´æ°çç«å°ãæªæ¾å°çç«å°ï¼{string.Join(",", notFoundLocations)}"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"䏿¯æçä»åºç±»åï¼{upLocationStatusDTO.WarehouseId}"); |
| | | } |
| | | |
| | | return content; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return content.Error($"æ´æ°ç«å°ç¶æå¤±è´¥ï¼{ex.Message}"); |
| | | } |
| | | } |
| | | } |
| | | } |