| | |
| | | } |
| | | Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode); |
| | | |
| | | if(task.TaskType == TaskTypeEnum.MesPPMove.ObjToInt()) |
| | | { |
| | | |
| | | task.TaskStatus = TaskStatusEnum.Finish.ObjToInt(); |
| | | BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.èªå¨å®æ : OperateTypeEnum.äººå·¥å®æ); |
| | | FeedBackWCSTaskCompleted(taskNum); |
| | | return WebResponseContent.Instance.OK(); |
| | | } |
| | | Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.SourceAddress); |
| | | if (stockInfo == null) |
| | | { |
| | |
| | | List<Dt_OutboundOrderDetail> outboundOrderDetails = new List<Dt_OutboundOrderDetail>(); |
| | | List<Dt_MesOutboundOrder> mesOutboundOrders = new List<Dt_MesOutboundOrder>(); |
| | | List<Dt_MesPPOutboundOrder> mesPPOutboundOrders = new List<Dt_MesPPOutboundOrder>(); |
| | | List<Dt_MesPPCutOutboundOrder> mesPPCutOutboundOrders = new List<Dt_MesPPCutOutboundOrder>(); |
| | | List<Dt_MesPPCutOutboundOrderDetail> mesPPCutOutboundOrderDetails = new List<Dt_MesPPCutOutboundOrderDetail>(); |
| | | Dt_CheckOrder? checkOrder = null; |
| | | Dt_OutboundOrder? outboundOrder = null; |
| | | Dt_MesPPCutOutboundOrder mesPPCutOutboundOrder = null; |
| | | if ((outStockLockInfos == null || outStockLockInfos.Count == 0) && warehouse.WarehouseCode != WarehouseEnum.HA64.ToString() && warehouse.WarehouseCode != WarehouseEnum.HA154.ToString() && (task.TaskType != TaskTypeEnum.OutEmpty.ObjToInt())) |
| | | { |
| | | return WebResponseContent.Instance.Error($"æªæ¾å°åºåºè¯¦æ
ä¿¡æ¯"); |
| | |
| | | mesOutboundOrders.Add(mesOutboundOrder); |
| | | } |
| | | } |
| | | //PPåºåºä»»å¡å®æå¤æããããããããããããããããã |
| | | else if (task.TaskType == TaskTypeEnum.Outbound.ObjToInt() && warehouse.WarehouseCode == WarehouseEnum.HA58.ToString()) |
| | | //PP大å·åºåºä»»å¡å®æå¤æ |
| | | else if (task.TaskType == TaskTypeEnum.MesPPOutbound.ObjToInt() && (warehouse.WarehouseCode == WarehouseEnum.HA581.ToString()|| warehouse.WarehouseCode == WarehouseEnum.HA58.ToString())) |
| | | { |
| | | Dt_MesPPOutboundOrder mesPPOutboundOrder = _outboundService.MesPPOutboundOrderService.Repository.QueryFirst(x => x.OrderNo == item.OrderNo); |
| | | Dt_MesPPOutboundOrder mesPPOutboundOrder = _outboundService.MesPPOutboundOrderService.Repository.QueryFirst(x => x.TaskNo == item.OrderNo); |
| | | if (mesPPOutboundOrder != null) |
| | | { |
| | | mesPPOutboundOrder.OverOutQuantity = item.AssignQuantity; |
| | |
| | | mesPPOutboundOrder.OrderStatus = OrderDetailStatusEnum.Over.ObjToInt(); |
| | | } |
| | | mesPPOutboundOrders.Add(mesPPOutboundOrder); |
| | | } |
| | | } |
| | | else if (task.TaskType == TaskTypeEnum.MesPPCutOutbound.ObjToInt() && warehouse.WarehouseCode == WarehouseEnum.HA581.ToString()) |
| | | { |
| | | Dt_MesPPCutOutboundOrderDetail mesPPCutOutboundOrderDetail = _outboundService.MesPPCutOutboundOrderDetailService.Repository.QueryFirst(x => x.Id == item.OrderDetailId); |
| | | |
| | | if (mesPPCutOutboundOrderDetail != null) |
| | | { |
| | | mesPPCutOutboundOrder = _outboundService.MesPPCutOutboundOrderService.Repository.QueryFirst(x => x.Id == mesPPCutOutboundOrderDetail.OrderId); |
| | | if (mesPPCutOutboundOrder == null) |
| | | { |
| | | return WebResponseContent.Instance.Error($"æªæ¾å°MESå°å·åºåºåä¿¡æ¯"); |
| | | } |
| | | mesPPCutOutboundOrderDetail.OverOutQuantity = item.AssignQuantity; |
| | | if (mesPPCutOutboundOrderDetail.OverOutQuantity == mesPPCutOutboundOrderDetail.OrderQuantity) |
| | | { |
| | | mesPPCutOutboundOrderDetail.OrderDetailStatus = OrderDetailStatusEnum.Over.ObjToInt(); |
| | | } |
| | | mesPPCutOutboundOrderDetails.Add(mesPPCutOutboundOrderDetail); |
| | | } |
| | | } |
| | | else |
| | |
| | | BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.èªå¨å®æ : OperateTypeEnum.äººå·¥å®æ); |
| | | |
| | | _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, (LocationStatusEnum)beforeStatus, LocationStatusEnum.Free, LocationChangeType.OutboundCompleted, stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", task.TaskNum); |
| | | _unitOfWorkManage.CommitTran(); |
| | | |
| | | //PPåºåºä»»å¡å®æå¤æããããããããããããããããã |
| | | //if (warehouse.WarehouseCode == WarehouseEnum.HA58.ToString() && task.TaskType == TaskTypeEnum.Outbound.ObjToInt()) |
| | | //{ |
| | | // _outboundService.MesPPOutboundOrderService.Repository.UpdateData(mesPPOutboundOrders); |
| | | // MesMaterialLotaAceptModel model = GetMesMaterialLotaAceptModel(stockInfo, stockInfo.Details.FirstOrDefault(), mesPPOutboundOrders.FirstOrDefault().TaskNo, warehouse.WarehouseCode, stockInfo.Details.Where(x => x.MaterielCode == mesPPOutboundOrders.FirstOrDefault().MaterialCode).Sum(x => x.StockQuantity)); |
| | | // UploadMesMaterialLotaAcept(model); |
| | | // _stockService.StockInfoService.Repository.DeleteAndMoveIntoHty(stockInfo, App.User.UserId == 0 ? OperateTypeEnum.èªå¨å®æ : OperateTypeEnum.äººå·¥å®æ); |
| | | // _stockService.StockInfoDetailService.Repository.DeleteAndMoveIntoHty(stockInfo.Details, App.User.UserId == 0 ? OperateTypeEnum.èªå¨å®æ : OperateTypeEnum.äººå·¥å®æ); |
| | | //} |
| | | |
| | | //PP大å·åºåºä»»å¡å®æå¤æ |
| | | if (task.TaskType == TaskTypeEnum.MesPPOutbound.ObjToInt() && (warehouse.WarehouseCode == WarehouseEnum.HA581.ToString() || warehouse.WarehouseCode == WarehouseEnum.HA58.ToString())) |
| | | { |
| | | _outboundService.MesPPOutboundOrderService.Repository.UpdateData(mesPPOutboundOrders); |
| | | MesMaterialLotaAceptModel model = PPGetMesMaterialLotaAceptModel(stockInfo, stockInfo.Details.FirstOrDefault(), mesPPOutboundOrders.FirstOrDefault().TaskNo, warehouse.WarehouseCode, stockInfo.Details.Where(x => x.MaterielCode == mesPPOutboundOrders.FirstOrDefault().MaterialCode).Sum(x => x.StockQuantity)); |
| | | UploadMesMaterialLotaAcept(model); |
| | | _stockService.StockInfoService.Repository.DeleteAndMoveIntoHty(stockInfo, App.User.UserId == 0 ? OperateTypeEnum.èªå¨å®æ : OperateTypeEnum.äººå·¥å®æ); |
| | | _stockService.StockInfoDetailService.Repository.DeleteAndMoveIntoHty(stockInfo.Details, App.User.UserId == 0 ? OperateTypeEnum.èªå¨å®æ : OperateTypeEnum.äººå·¥å®æ); |
| | | } |
| | | //PPå°å·åºåºä»»å¡å®æå¤æ |
| | | if (task.TaskType == TaskTypeEnum.MesPPCutOutbound.ObjToInt() && warehouse.WarehouseCode == WarehouseEnum.HA581.ToString()) |
| | | { |
| | | _outboundService.MesPPCutOutboundOrderDetailService.Repository.UpdateData(mesPPCutOutboundOrderDetails); |
| | | |
| | | int completedDetailCount = mesPPCutOutboundOrderDetails.Count(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt()); |
| | | // å¤ææææç»æ¯å¦å®æ |
| | | if (completedDetailCount == mesPPCutOutboundOrderDetails.Count) |
| | | { |
| | | mesPPCutOutboundOrder.OrderStatus = OutOrderStatusEnum.åºåºå®æ.ObjToInt(); |
| | | _outboundService.MesPPCutOutboundOrderService.UpdateData(mesPPCutOutboundOrder); |
| | | } |
| | | MesMaterialLotaAceptModel model = PPGetMesMaterialLotaAceptModel(stockInfo, stockInfo.Details.FirstOrDefault(), mesPPCutOutboundOrder.TaskNo, warehouse.WarehouseCode, stockInfo.Details.Where(x => x.MaterielCode == mesPPCutOutboundOrderDetails.FirstOrDefault().MaterialCode).Sum(x => x.StockQuantity)); |
| | | UploadMesMaterialLotaAcept(model); |
| | | _stockService.StockInfoService.Repository.DeleteAndMoveIntoHty(stockInfo, App.User.UserId == 0 ? OperateTypeEnum.èªå¨å®æ : OperateTypeEnum.äººå·¥å®æ); |
| | | _stockService.StockInfoDetailService.Repository.DeleteAndMoveIntoHty(stockInfo.Details, App.User.UserId == 0 ? OperateTypeEnum.èªå¨å®æ : OperateTypeEnum.äººå·¥å®æ); |
| | | } |
| | | |
| | | |
| | | if (warehouse.WarehouseCode != WarehouseEnum.HA64.ToString() && task.TaskType == TaskTypeEnum.Outbound.ObjToInt()) |
| | | { |
| | | _outboundService.OutboundOrderService.TestOutUpload(outboundOrderDetails.FirstOrDefault().OrderId, outStockLockInfos); |
| | |
| | | MesMaterialLotaAceptModel model = GetMesMaterialLotaAceptModel(stockInfo, stockInfo.Details.FirstOrDefault(), mesOutboundOrders.FirstOrDefault().TaskNo, warehouse.WarehouseCode, stockInfo.Details.Where(x => x.MaterielCode == mesOutboundOrders.FirstOrDefault().MaterialCode).Sum(x => x.StockQuantity)); |
| | | UploadMesMaterialLotaAcept(model); |
| | | } |
| | | |
| | | _unitOfWorkManage.CommitTran(); |
| | | return WebResponseContent.Instance.OK(); |
| | | } |
| | | catch (Exception ex) |