dengjunjie
2025-02-24 733e63cb362f17aea4a1020654fa348a0d0c1f06
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
@@ -264,18 +264,9 @@
                {
                    int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
                    if (WMStask.TaskState != nextStatus) return WebResponseContent.Instance.Error($"该任务状态有误,任务号:【{task.TaskNum}】,任务状态:【{task.TaskState}】");
                    task.TaskState = nextStatus;
                    switch (nextStatus)
                    {
                        case (int)TaskInStatusEnum.SC_InFinish:
                            content = UpdateTaskStatusInFinish(task);
                            break;
                        case (int)TaskInStatusEnum.Car_InFinish:
                            content = InboundTaskCompleted(task);
                            break;
                        default:
                            break;
                    }
                    //task.TaskState = nextStatus;
                    task.TaskState = TaskInStatusEnum.InFinish.ObjToInt();
                    content = UpdateTaskStatusInFinish(task);
                }
                else if (task.TaskType == (int)TaskTypeEnum.Outbound)
                {
@@ -289,6 +280,10 @@
                        default:
                            break;
                    }
                }
                else if (task.TaskType == (int)TaskTypeEnum.Relocation)
                {
                }
            }
            catch (Exception ex)
@@ -334,12 +329,6 @@
                }
                #endregion
                #region åˆ¤æ–­æ˜¯å¦ä¸ºå †åž›æœºå–放货位
                if (task.IsPickPlace)
                {
                }
                #endregion
                List<Dt_StockInfo> stockInfos = _stockService.StockInfoService.Repository.LocationCodesGetStockInfos(new List<string> { stockInfo.LocationCode }).Where(x => x.StockStatus == StockStatusEmun.已入库.ObjToInt()).ToList();
                stockInfo.SerialNumber = stockInfos.Count + 1;
                stockInfo.InDate = DateTime.Now;
@@ -347,14 +336,26 @@
                stockInfoDetail.Status = StockStatusEmun.已入库.ObjToInt();
                int beforeStatus = locationInfo.LocationStatus;
                locationInfo.LocationStatus = locationInfo.MaxQty - locationInfo.CurrentQty == 0 ? LocationStatusEnum.Fullload.ObjToInt() : LocationStatusEnum.InStock.ObjToInt();
                task.CurrentAddress = task.NextAddress;
                task.NextAddress = string.Empty;
                Db.Ado.BeginTran();
                BaseDal.UpdateData(task);
                #region ä»»åŠ¡å’Œå…¥åº“å•
                //BaseDal.UpdateData(task);
                BaseDal.DeleteAndMoveIntoHty(task, OperateType.自动完成);
                if (inboundOrder.OrderStatus != InboundStatusEnum.入库完成.ObjToInt())
                {
                    _inboundService.InbounOrderService.Repository.UpdateData(inboundOrder);
                    _inboundService.InboundOrderDetailService.Repository.UpdateData(inboundOrderDetail);
                }
                else
                {
                    _inboundService.InbounOrderService.Repository.DeleteAndMoveIntoHty(inboundOrder, OperateType.自动完成);
                    _inboundService.InboundOrderDetailService.Repository.DeleteAndMoveIntoHty(inboundOrder.Details, OperateType.自动完成);
                }
                #endregion
                _basicService.LocationInfoService.Repository.UpdateData(locationInfo);
                _stockService.StockInfoService.Repository.UpdateData(stockInfo);
                _stockService.StockInfoDetailService.Repository.UpdateData(stockInfoDetail);
                _inboundService.InbounOrderService.Repository.UpdateData(inboundOrder);
                _inboundService.InboundOrderDetailService.Repository.UpdateData(inboundOrderDetail);
                _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockChangeType.Inbound.ObjToInt(), stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", task.TaskNum);
                Db.Ado.CommitTran();
            }