0a167891e323c630741072a6c6d8a430b2f698b5..3c6795a2bc7874ad57dbc7ae33712683f015a486
2026-03-20 647556386
1
3c6795 对比 | 目录
2026-03-20 647556386
1
ed289c 对比 | 目录
已修改2个文件
87 ■■■■ 文件已修改
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs 73 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs
@@ -330,7 +330,19 @@
                    foreach (var detail in materielCalc.Details)
                    {
                        if (remainingToLock <= 0) break;
                        decimal maxLockableQty = detail.OrderQuantity - detail.OverOutQuantity-detail.LockQuantity;
                        decimal maxLockableQty = 0;
                        if (detail.LockQuantity > detail.OverOutQuantity && detail.OverOutQuantity > 0)
                        {
                             maxLockableQty = detail.OrderQuantity - detail.LockQuantity;
                        }
                        else if(detail.OverOutQuantity > 0)
                        {
                            maxLockableQty = detail.OrderQuantity - detail.OverOutQuantity;
                        }
                        else
                        {
                            maxLockableQty = detail.OrderQuantity - detail.OverOutQuantity - detail.LockQuantity;
                        }
                        if (maxLockableQty <= 0) continue;
                        decimal currentLockQty = Math.Min(remainingToLock, maxLockableQty);
                        detail.LockQuantity += currentLockQty;
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
@@ -397,13 +397,22 @@
                                bool isAll = detailStatusList.Any()
                                    ? detailStatusList.All(x => x == OrderDetailStatusEnum.Over.ObjToInt())
                                    : false;
                                    : false;
                                int mainReturnToMESStatus = isAll ? 1 : 3;
                                _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = mainReturnToMESStatus })
                                .Where(it => it.Id == inboundOrder.Id ).ExecuteCommand();
                                _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = mainReturnToMESStatus })
                                .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
                                if (isAll)
                                {
                                    _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 1, Remark = "" })
                                .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
                                    _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 1 })
                                    .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
                                }
                                else
                                {
                                    _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 3, Remark = "" })
                                .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
                                    _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 3 })
                                    .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
                                }
                                //回传成功库存才可用
                                _stockRepository.Db.Updateable<Dt_StockInfoDetail>().SetColumns(it => new Dt_StockInfoDetail
                                {
@@ -421,11 +430,20 @@
                                    ? detailStatusList.All(x => x == OrderDetailStatusEnum.Over.ObjToInt())
                                    : false;
                                int mainReturnToMESStatus = isAll ? 2 : 4;
                                _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = mainReturnToMESStatus, Remark = response.ErrorMessage })
                                if (isAll)
                                {
                                    _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 2, Remark = "" })
                                .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
                                _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = mainReturnToMESStatus })
                               .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
                                    _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 2 })
                                    .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
                                }
                                else
                                {
                                    _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 4, Remark = "" })
                                .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
                                    _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 4 })
                                    .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
                                }
                            }
                        }
                    }
@@ -486,11 +504,21 @@
                                    ? detailStatusList.All(x => x == OrderDetailStatusEnum.Over.ObjToInt())
                                    : false;
                                int mainReturnToMESStatus = isAll ? 1 : 3;
                                _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = mainReturnToMESStatus, Remark = "" })
                                if (isAll)
                                {
                                    _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 1, Remark = "" })
                                .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
                                _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = mainReturnToMESStatus })
                                .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
                                    _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 1 })
                                    .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
                                }
                                else
                                {
                                    _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 3, Remark = "" })
                                .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
                                    _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 3 })
                                    .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
                                }
                                //回传成功库存才可用
                                _stockRepository.Db.Updateable<Dt_StockInfoDetail>().SetColumns(it => new Dt_StockInfoDetail
                                {
@@ -508,11 +536,20 @@
                                    ? detailStatusList.All(x => x == OrderDetailStatusEnum.Over.ObjToInt())
                                    : false;
                                int mainReturnToMESStatus = isAll ? 2 : 4;
                                _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = mainReturnToMESStatus, Remark = response.ErrorMessage })
                                if (isAll)
                                {
                                    _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 2, Remark = "" })
                                .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
                                _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = mainReturnToMESStatus })
                               .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
                                    _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 2 })
                                    .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
                                }
                                else
                                {
                                    _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 4, Remark = "" })
                                .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
                                    _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 4 })
                                    .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
                                }
                            }
                        }
                    }