1
dengjunjie
2025-05-08 092971a8ba7848f024427694c642959d0fbc8599
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
@@ -300,7 +300,7 @@
                else if (task.TaskType == (int)TaskTypeEnum.Relocation)
                {
                    task.TaskState = WMStask.TaskState;
                    if (task.TaskState == (int)WIDESEA_Core.Enums.TaskRelocationStatusEnum.RelocationFinish)
                    if (task.TaskState == (int)WIDESEA_Core.Enums.TaskRelocationStatusEnum.SC_RelocationFinish)
                        content = UpdateTaskStatusRelocationCarFinish(task);
                    else
                        content = UpdateData(task);
@@ -334,21 +334,11 @@
                {
                    /*if (task.TaskType == TaskOutboundTypeEnum.Outbound.ObjToInt())*/
                    Sourcelocation.CurrentQty--;
                    if (Sourcelocation.CurrentQty <= 0 && Sourcelocation.Row != 2)
                    if (Sourcelocation.CurrentQty <= 0)
                    {
                        Sourcelocation.CurrentQty = 0;
                        Sourcelocation.LocationStatus = LocationStatusEnum.Free.ObjToInt();
                        Sourcelocation.EnableStatus = EnableStatusEnum.Normal.ObjToInt();
                    }
                    if (Sourcelocation.Row == 1 && Sourcelocation.LocationStatus == LocationStatusEnum.Free.ObjToInt())
                    {
                        Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.Row == 2 && x.Column == Sourcelocation.Column && x.Layer == Sourcelocation.Layer);
                        if (locationInfo.CurrentQty == 0 /*&& locationInfo.LocationStatus == LocationStatusEnum.Free.ObjToInt()*/)
                        {
                            locationInfo.LocationStatus = LocationStatusEnum.Free.ObjToInt();
                            locationInfo.EnableStatus = EnableStatusEnum.Normal.ObjToInt();
                            _basicService.LocationInfoService.Repository.UpdateData(locationInfo);
                        }
                    }
                    _basicService.LocationInfoService.Repository.UpdateData(Sourcelocation);
                }
@@ -378,10 +368,11 @@
            {
                Dt_OutStockLockInfo? outStockLockInfo = _outboundService.OutboundStockLockInfoService.Repository.QueryFirst(x => x.TaskNum == task.TaskNum);
                Dt_OutboundOrder? outboundOrder = null;
                Dt_OutboundOrderDetail? outboundOrderDetail = null;
                int overCount = 0;
                if (outStockLockInfo != null)
                {
                    Dt_OutboundOrderDetail outboundOrderDetail = _outboundService.OutboundOrderDetailService.Repository.QueryFirst(x => x.Id == outStockLockInfo.OrderDetailId);
                    outboundOrderDetail = _outboundService.OutboundOrderDetailService.Repository.QueryFirst(x => x.Id == outStockLockInfo.OrderDetailId);
                    if (outboundOrderDetail != null)
                    {
                        outboundOrder = Db.Queryable<Dt_OutboundOrder>().Where(x => x.Id == outboundOrderDetail.OrderId).Includes(x => x.Details).First();
@@ -400,8 +391,14 @@
                if (outboundOrder != null && outboundOrder.Details.Count == overCount)
                {
                    outboundOrder.OrderStatus = OutboundStatusEnum.出库完成.ObjToInt();
                    _outboundService.OutboundOrderService.Repository.DeleteAndMoveIntoHty(outboundOrder, App.User.UserId == 0 ? OperateType.自动完成 : OperateType.人工完成);
                    _outboundService.OutboundOrderDetailService.Repository.DeleteAndMoveIntoHty(outboundOrder.Details, App.User.UserId == 0 ? OperateType.自动完成 : OperateType.人工完成);
                    outboundOrder.Details = null;
                    _outboundService.OutboundOrderService.Repository.DeleteAndMoveIntoHty(outboundOrder, App.User.UserId == 0 ? OperateType.自动完成 : OperateType.人工完成);
                }
                else
                {
                    if (outboundOrderDetail != null)
                        _outboundService.OutboundOrderDetailService.Repository.UpdateData(outboundOrderDetail);
                }
                BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateType.自动完成 : OperateType.人工完成);
                if (outStockLockInfo != null) _outboundService.OutboundStockLockInfoService.Repository.UpdateData(outStockLockInfo);
@@ -430,6 +427,7 @@
                Targetlocation.CurrentQty++;
                stockInfo.LocationCode = Targetlocation.LocationCode;
                stockInfo.SerialNumber = Targetlocation.CurrentQty;
                stockInfo.StockStatus = StockStatusEmun.已入库.ObjToInt();
                if (Sourcelocation.CurrentQty == 0) Sourcelocation.LocationStatus = LocationStatusEnum.Free.ObjToInt();
                Dt_Task _Task = BaseDal.QueryFirst(x => x.TaskNum != task.TaskNum && x.TaskType == task.TaskType && x.SourceAddress == Sourcelocation.LocationCode && x.TargetAddress == Targetlocation.LocationCode);
                if (_Task == null)