| | |
| | | using WIDESEA_Common.MES.Request; |
| | | using WIDESEA_Core; |
| | | using WIDESEA_Core.Const; |
| | | using WIDESEA_Core.Enums; |
| | | using WIDESEA_Core.Helper; |
| | | using WIDESEA_DTO.WMS; |
| | | using WIDESEA_Model.Models; |
| | | using WIDESEAWCS_BasicInfoService; |
| | | using WIDESEAWCS_Model.Models; |
| | | |
| | |
| | | try |
| | | { |
| | | if (string.IsNullOrEmpty(jsondata.ToString())) throw new Exception("请æ±åæ°ä¸ºç©º"); |
| | | Console.WriteLine(jsondata); |
| | | var result = JsonConvert.DeserializeObject<List<pullLockInfo>>(jsondata.ToString()); |
| | | |
| | | var result = JsonConvert.DeserializeObject<pullLockInfo>(jsondata.ToString()); |
| | | |
| | | foreach (var item in result.data) |
| | | foreach (var item in result) |
| | | { |
| | | var carInfo = _palletStockInfoRepository.QueryFirst(x => x.PVI == item.pvi); |
| | | if (carInfo == null) |
| | | var assemblyOrderInfo = _assemblyOrderInfoRepository.QueryFirst(x => x.workOrderNo == item.workOrderNo && x.orderType == item.workOrderType); |
| | | if (assemblyOrderInfo == null) throw new Exception($"æå¨é车失败:æªç¥æ»è£
å·¥åå·{item.workOrderNo}"); |
| | | |
| | | //Dt_PalletStockInfo carinfo = null; |
| | | VV_StockInfo OutStock = new VV_StockInfo(); |
| | | //Dt_CarBodyInfo carbodyinfo = null; |
| | | if (!string.IsNullOrEmpty(item.pvi)) |
| | | { |
| | | throw new Exception("æªç¥è½¦èº«"); |
| | | // carinfo = _palletStockInfoRepository.QueryFirst(x => x.PVI == item.pvi && x.pbMaterial == item.pbMaterial); |
| | | //carbodyinfo = _carBodyRepository.QueryFirst(x => x.pbMaterial == item.pbMaterial && x.PVI == item.pvi); |
| | | OutStock = _VVStockInfoRepository.QueryFirst(x => x.PVI == item.pvi && x.pbMaterial == item.pbMaterial && x.StockStatus == 0 && x.LockOrder == 0 && x.StayStatus == 0); |
| | | if (OutStock == null) |
| | | { |
| | | throw new Exception($"æªæ¾å°æå®PVI车身信æ¯{item.pvi}"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //carinfo = _palletStockInfoRepository.QueryData(x => x.pbMaterial == item.pbMaterial).OrderBy(x => x.biwInPassTime).FirstOrDefault(); |
| | | //carbodyinfo = _carBodyRepository.QueryData(x => x.pbMaterial == item.pbMaterial && x.BodyStatus == 0).OrderBy(x => x.biwInPassTime).FirstOrDefault(); |
| | | OutStock = _VVStockInfoRepository.QueryData(x => x.pbMaterial == item.pbMaterial && x.StockStatus == 0 && x.LockOrder == 0 && x.StayStatus == 0 && x.workOrderType == item.workOrderType).OrderBy(x => x.biwInPassTime).FirstOrDefault(); |
| | | } |
| | | |
| | | content.lockpvi = carInfo.PVI; |
| | | if (OutStock == null) |
| | | { |
| | | throw new Exception("æªå¹é
å°è½¦èº«,æå¨éå®å¤±è´¥"); |
| | | } |
| | | var stockInfo = _palletStockInfoRepository.QueryFirst(x => x.CarBodyInfo.PVI == OutStock.PVI); |
| | | |
| | | var carBody = _carBodyRepository.QueryFirst(x => x.PVI == OutStock.PVI); |
| | | |
| | | var lockInfo = _MESLockInfoRepository.QueryData().OrderByDescending(x => x.sequenceNo).FirstOrDefault(); |
| | | int serial = 1; |
| | | if (lockInfo != null) |
| | | { |
| | | serial = lockInfo.sequenceNo + 1; |
| | | } |
| | | |
| | | Dt_MESLockInfo mESLockInfo = new Dt_MESLockInfo |
| | | { |
| | | carBodyID = stockInfo.carBodyID, |
| | | CarBodyInfo = carBody, |
| | | CreateDate = DateTime.Now, |
| | | Creater = "System", |
| | | LockStatue = 0, |
| | | sequenceNo = serial, |
| | | TCLine = OutStock.RoadwayNo |
| | | }; |
| | | |
| | | #region ä»»å¡ä¸å |
| | | //Dt_Task task = new Dt_Task() |
| | | //{ |
| | | // CreateDate = DateTime.Now, |
| | | // Creater = "System", |
| | | // CurrentAddress = carinfo.LocationCode, |
| | | // Grade = 5, |
| | | // PalletCode = carinfo.PalletCode, |
| | | // PVI = item.pvi, |
| | | // Roadway = carinfo.RoadwayNo, |
| | | // SourceAddress = carinfo.LocationCode, |
| | | // TaskNum = _taskRepository.GetTaskNo().Result, |
| | | // TaskType = (int)TaskOutboundTypeEnum.Outbound, |
| | | // TaskState = (int)TaskOutStatusEnum.OutNew, |
| | | // TargetAddress = "" |
| | | //}; |
| | | |
| | | //WMSTaskDTO taskDTO = new WMSTaskDTO() |
| | | //{ |
| | | // Grade = task.Grade.Value, |
| | | // PalletCode = task.PalletCode, |
| | | // SourceAddress = task.SourceAddress, |
| | | // TargetAddress = task.TargetAddress, |
| | | // RoadWay = task.Roadway, |
| | | // TaskState = task.TaskState.Value, |
| | | // TaskType = task.TaskType, |
| | | // TaskNum = task.TaskNum.Value |
| | | //}; |
| | | |
| | | //var configs = _configService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); |
| | | //var wmsBase = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.WCSIPAddress)?.ConfigValue; |
| | | //var ipAddress = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.ReceiveTask)?.ConfigValue; |
| | | //if (wmsBase == null || ipAddress == null) |
| | | //{ |
| | | // throw new InvalidOperationException("WMS IP æªé
ç½®"); |
| | | //} |
| | | //var wmsIpAddress = wmsBase + ipAddress; |
| | | #endregion |
| | | |
| | | _unitOfWorkManage.BeginTran(); |
| | | //var WCSresult = HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result; |
| | | //content = JsonConvert.DeserializeObject<WebResponseContent>(WCSresult); |
| | | //if (content != null && content.Status) |
| | | //{ |
| | | stockInfo.StockStatus = 0; |
| | | stockInfo.LockOrder = 1; |
| | | carBody.BodyStatus = 1; |
| | | |
| | | _MESLockInfoRepository.AddData(mESLockInfo); |
| | | //_taskRepository.AddData(task); |
| | | _palletStockInfoRepository.UpdateData(stockInfo); |
| | | //_carBodyRepository.UpdateData(carbodyinfo); |
| | | _unitOfWorkManage.CommitTran(); |
| | | //} |
| | | |
| | | LogFactory.GetLog("MESæå¨é车").Info(true, $"\r\r--------------------------------------"); |
| | | LogFactory.GetLog("MESæå¨é车").Info(true, jsondata.ToJsonString()); |
| | | LockResult lockResult = new LockResult { result = "1", lockPvi = carBody.PVI }; |
| | | content.OK(data: lockResult); |
| | | } |
| | | |
| | | LogFactory.GetLog("MESæå¨é车").Info(true, $"\r\r--------------------------------------"); |
| | | LogFactory.GetLog("MESæå¨é车").Info(true, jsondata.ToJsonString()); |
| | | |
| | | return content; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return content.Error(ex.Message); |
| | | LogFactory.GetLog("MESæå¨é车").Info(true, $"é车失败:{ex.Message};请æ±åæ°{jsondata.ToJsonString()}ï¼ "); |
| | | _unitOfWorkManage.RollbackTran(); |
| | | content.result = "2"; |
| | | LockResult result = new LockResult { result = "2", lockPvi = "" }; |
| | | content.Error(ex.Message, result); |
| | | } |
| | | return content; |
| | | } |
| | | } |
| | | } |