111
tjx
6 天以前 f34f0751ef0c6305c94ff342ca7fbe24aa09844e
StandardPda/MES.Service/service/Warehouse/MesInvItemOutsManager.cs
@@ -16,45 +16,40 @@
        return UseTransaction(db =>
        {
            // 根据AsnNo和MesNo对明细进行分组
            var groupedItems = itemOutLists
                .GroupBy(item => new { item.AsnNo, item.MesNo, item.SqNo })
                .ToList();
            var result = 1;
            foreach (var group in groupedItems)
            // 根据Type执行不同的逻辑
            switch (itemOutFrom.Type)
            {
                // if (group.Key.AsnNo == null)
                // {
                //     throw new NotImplementedException("AsnNo不能为空");
                // }
                if (group.Key.MesNo == null)
                    throw new NotImplementedException("入库单单号不能为空");
                if (group.Key.SqNo == null)
                    throw new NotImplementedException("退货申请单行号不能为空");
                // 创建一个临时的itemOutFrom对象,使用分组的Key作为主要属性
                var tempItemOutFrom = new ItemOutFrom
                case "1":
                {
                    AsnNo = group.Key.AsnNo,
                    MesNo = group.Key.MesNo,
                    SqNo = group.Key.SqNo,
                    // 继承原始itemOutFrom的其他属性
                    RtnNo = itemOutFrom.RtnNo,
                    Type = itemOutFrom.Type,
                    CreateBy = itemOutFrom.CreateBy,
                    FMRMODE = itemOutFrom.FMRMODE,
                    DepotId = itemOutFrom.DepotId,
                    SupperId = itemOutFrom.SupperId
                };
                    // 根据AsnNo和MesNo对明细进行分组
                    var groupedItems = itemOutLists
                        .GroupBy(item => new { item.AsnNo, item.MesNo, item.SqNo })
                        .ToList();
                // 根据Type执行不同的逻辑
                switch (tempItemOutFrom.Type)
                {
                    case "1":
                    var result = 1;
                    foreach (var group in groupedItems)
                    {
                        if (group.Key.MesNo == null)
                            throw new NotImplementedException("入库单单号不能为空");
                        if (group.Key.SqNo == null)
                            throw new NotImplementedException("退货申请单行号不能为空");
                        // 创建一个临时的itemOutFrom对象,使用分组的Key作为主要属性
                        var tempItemOutFrom = new ItemOutFrom
                        {
                            AsnNo = group.Key.AsnNo,
                            MesNo = group.Key.MesNo,
                            SqNo = group.Key.SqNo,
                            // 继承原始itemOutFrom的其他属性
                            RtnNo = itemOutFrom.RtnNo,
                            Type = itemOutFrom.Type,
                            CreateBy = itemOutFrom.CreateBy,
                            FMRMODE = itemOutFrom.FMRMODE,
                            DepotId = itemOutFrom.DepotId,
                            SupperId = itemOutFrom.SupperId
                        };
                        var mesInvItemOuts = Db.Queryable<MesInvItemOuts>()
                            .Where(s => s.BillTypeId == BILL_TYPE_ID
                                        && s.TransactionNo == TRANSACTION_NO
@@ -71,21 +66,17 @@
                        // 为当前分组保存数据
                        var groupResult = Save(tempItemOutFrom, group.ToList());
                        if (!groupResult) result = 0;
                        break;
                    }
                    case "4":
                        var removeResult = Remove(tempItemOutFrom);
                        if (!removeResult) result = 0;
                        break;
                    default:
                        result = 0;
                        break;
                    return result;
                }
                case "4":
                    // 删除操作不需要分组,直接根据RtnNo删除即可
                    var removeResult = Remove(itemOutFrom);
                    return removeResult ? 1 : 0;
                default:
                    return 0;
            }
            return result;
        }) > 0;
    }