南骏 池
2025-06-26 5df60eb35037611aaa977428c5cd41ad391f72af
service/Warehouse/MesItemBlManager.cs
@@ -487,7 +487,7 @@
    ///     - Num: 发料数量(必填,必须大于0)
    ///     - blNo: 补料单号(必填)
    /// </remarks>
    public (bool success, List<MesItemBlDetail> pendingList) SplitBarcode(
    public ProductionPickDto SplitBarcode(
        WarehouseQuery query)
    {
        if (string.IsNullOrEmpty(query.userName))
@@ -543,134 +543,135 @@
            // 拆分条码
            if (totalQty > query.Num)
            {
                var mesItems = db.Queryable<MesItems>()
                    .Where(s => s.Id == stockBarcode.ItemId).First();
                newBarcode = BillNo.ExecuteBarcodeSplit(query.userName, query.barcode, query.Num);
                //var mesItems = db.Queryable<MesItems>()
                //    .Where(s => s.Id == stockBarcode.ItemId).First();
                // 生成新条码号
                newBarcode = BillNo.GetBillNo("TM(条码)", mesItems.ItemNo);
                //// 生成新条码号
                //newBarcode = BillNo.GetBillNo("TM(条码)", mesItems.ItemNo);
                // 写入新条码
                executeCommand += db.Insertable(new MesInvItemBarcodes
                {
                    Guid = Guid.NewGuid(),
                    ItemBarcode = newBarcode,
                    CustNo = stockBarcode.CustomerNo,
                    // ProductCode = stockBarcode.ProductCode,
                    // ItemBarcode2 = stockBarcode.ItemBarcode2,
                    // ItemCode = stockBarcode.ItemCode,
                    ItemNo = stockBarcode.ItemNo,
                    LotNo = stockBarcode.LotNo,
                    Quantity = query.Num,
                    EpFlag = true,
                    TaskNo = stockBarcode.TaskNo,
                    CreateBy = query.userName,
                    CreateDate = DateTime.Now,
                    LastupdateBy = query.userName,
                    LastupdateDate = DateTime.Now,
                    OldItemBarcode = query.barcode,
                    // Mblnr = stockBarcode.Mblnr,
                    // Zeile = stockBarcode.Zeile,
                    // RohInId = stockBarcode.RohInId,
                    Barcodestatus = false,
                    Oldqty = query.Num as long?,
                    // Unit = stockBarcode.Unit,
                    // WeightUnit = stockBarcode.WeightUnit,
                    Factory = stockBarcode.Factory,
                    Company = stockBarcode.Company,
                    BillNo = stockBarcode.BillNo,
                    BoardStyle = stockBarcode.BoardStyle,
                    // ColorName = stockBarcode.ColorName,
                    WorkNo = stockBarcode.WorkNo,
                    WorkLine = stockBarcode.WorkLine,
                    // MemoBad = stockBarcode.MemoBad,
                    ComeFlg = 5,
                    // Memo = stockBarcode.Memo,
                    SuppId = stockBarcode.SuppId,
                    SuppNo = stockBarcode.SuppNo,
                    InsDate = stockBarcode.IndepDate, // Added InsDate
                    ItemId = stockBarcode.ItemId
                    // ItemUnit = stockBarcode.ItemUnit // Added ItemUnit
                }).IgnoreColumns(true).ExecuteCommand();
                //// 写入新条码
                //executeCommand += db.Insertable(new MesInvItemBarcodes
                //{
                //    Guid = Guid.NewGuid(),
                //    ItemBarcode = newBarcode,
                //    CustNo = stockBarcode.CustomerNo,
                //    // ProductCode = stockBarcode.ProductCode,
                //    // ItemBarcode2 = stockBarcode.ItemBarcode2,
                //    // ItemCode = stockBarcode.ItemCode,
                //    ItemNo = stockBarcode.ItemNo,
                //    LotNo = stockBarcode.LotNo,
                //    Quantity = query.Num,
                //    EpFlag = true,
                //    TaskNo = stockBarcode.TaskNo,
                //    CreateBy = query.userName,
                //    CreateDate = DateTime.Now,
                //    LastupdateBy = query.userName,
                //    LastupdateDate = DateTime.Now,
                //    OldItemBarcode = query.barcode,
                //    // Mblnr = stockBarcode.Mblnr,
                //    // Zeile = stockBarcode.Zeile,
                //    // RohInId = stockBarcode.RohInId,
                //    Barcodestatus = false,
                //    Oldqty = query.Num as long?,
                //    // Unit = stockBarcode.Unit,
                //    // WeightUnit = stockBarcode.WeightUnit,
                //    Factory = stockBarcode.Factory,
                //    Company = stockBarcode.Company,
                //    BillNo = stockBarcode.BillNo,
                //    BoardStyle = stockBarcode.BoardStyle,
                //    // ColorName = stockBarcode.ColorName,
                //    WorkNo = stockBarcode.WorkNo,
                //    WorkLine = stockBarcode.WorkLine,
                //    // MemoBad = stockBarcode.MemoBad,
                //    ComeFlg = 5,
                //    // Memo = stockBarcode.Memo,
                //    SuppId = stockBarcode.SuppId,
                //    SuppNo = stockBarcode.SuppNo,
                //    InsDate = stockBarcode.IndepDate, // Added InsDate
                //    ItemId = stockBarcode.ItemId
                //    // ItemUnit = stockBarcode.ItemUnit // Added ItemUnit
                //}).IgnoreColumns(true).ExecuteCommand();
                // 更新原条码数量
                executeCommand += db.Updateable<MesInvItemBarcodes>()
                    .SetColumns(it => it.Quantity == it.Quantity - query.Num)
                    .Where(it => it.ItemBarcode == query.barcode)
                    .ExecuteCommand();
                // 更新原条码数量
                executeCommand += db.Updateable<MesInvItemStocks>()
                    .SetColumns(it => it.Quantity == it.Quantity - query.Num)
                    .Where(it => it.ItemBarcode == query.barcode)
                    .ExecuteCommand();
                //// 删除原条码库存记录
                //executeCommand += db.Deleteable<MesInvItemStocks>()
                //// 更新原条码数量
                //executeCommand += db.Updateable<MesInvItemBarcodes>()
                //    .SetColumns(it => it.Quantity == it.Quantity - query.Num)
                //    .Where(it => it.ItemBarcode == query.barcode)
                //    .ExecuteCommand();
                // 插入剩余条码数量的新库存记录
                executeCommand += db.Insertable(new MesInvItemStocks
                {
                    Guid = Guid.NewGuid(),
                    TaskNo = stockBarcode.TaskNo,
                    ItemBarcode = newBarcode,
                    ItemNo = stockBarcode.ItemNo,
                    LotNo = stockBarcode.LotNo,
                    Quantity = query.Num,
                    EpFlag = stockBarcode.EpFlag,
                    CustomerNo = stockBarcode.CustomerNo,
                    ItemWt = stockBarcode.ItemWt,
                    DepotsCode = stockBarcode.DepotsCode,
                    DepotsId = stockBarcode.DepotsId,
                    DepotSectionsCode = stockBarcode.DepotSectionsCode,
                    CheckDate = stockBarcode.CheckDate,
                    ItemType = stockBarcode.ItemType,
                    IndepDate = stockBarcode.IndepDate,
                    Factory = stockBarcode.Factory,
                    Company = stockBarcode.Company,
                    IqcStatus = stockBarcode.IqcStatus,
                    BoardStyle = stockBarcode.BoardStyle,
                    WorkNo = stockBarcode.WorkNo,
                    WorkLine = stockBarcode.WorkLine,
                    SuppNo = stockBarcode.SuppNo,
                    ItemId = stockBarcode.ItemId
                    // UnitId = stockBarcode.ItemUnit
                }).IgnoreColumns(true).ExecuteCommand();
                //// 更新原条码数量
                //executeCommand += db.Updateable<MesInvItemStocks>()
                //    .SetColumns(it => it.Quantity == it.Quantity - query.Num)
                //    .Where(it => it.ItemBarcode == query.barcode)
                //    .ExecuteCommand();
                // 写入新条码的交易记录
                executeCommand += db.Insertable(new MesInvBusiness2
                {
                    Guid = Guid.NewGuid(),
                    Status = 1,
                    BillTypeId = 200, // p_bill_type_id
                    TransactionCode = "209", // p_transaction_no
                    BusinessType = 0,
                    ItemBarcode = newBarcode,
                    ItemNo = stockBarcode.ItemNo,
                    LotNo = stockBarcode.LotNo,
                    EpFlag = true,
                    Quantity = query.Num,
                    FromInvDepotsCode = null,
                    FromInvDepotSectionsCode = null,
                    ToInvDepotsCode = stockBarcode.DepotsCode,
                    ToInvDepotSectionsCode = stockBarcode.DepotSectionsCode,
                    Description = query.Type + "拆分生成",
                    CreateBy = query.userName,
                    CreateDate = DateTime.Now,
                    LastupdateBy = query.userName,
                    LastupdateDate = DateTime.Now,
                    Factory = stockBarcode.Factory,
                    Company = stockBarcode.Company,
                    TaskNo = stockBarcode.TaskNo,
                    BillNo = stockBarcode.BillNo,
                    WorkNo = stockBarcode.WorkNo,
                    WorkLine = stockBarcode.WorkLine,
                    SuppNo = stockBarcode.SuppNo,
                    SuppId = stockBarcode.SuppId,
                    ItemId = stockBarcode.ItemId
                    // CkDepot = stockBarcode.DepotsId
                }).IgnoreColumns(true).ExecuteCommand();
                ////// 删除原条码库存记录
                ////executeCommand += db.Deleteable<MesInvItemStocks>()
                ////    .Where(it => it.ItemBarcode == query.barcode)
                ////    .ExecuteCommand();
                //// 插入剩余条码数量的新库存记录
                //executeCommand += db.Insertable(new MesInvItemStocks
                //{
                //    Guid = Guid.NewGuid(),
                //    TaskNo = stockBarcode.TaskNo,
                //    ItemBarcode = newBarcode,
                //    ItemNo = stockBarcode.ItemNo,
                //    LotNo = stockBarcode.LotNo,
                //    Quantity = query.Num,
                //    EpFlag = stockBarcode.EpFlag,
                //    CustomerNo = stockBarcode.CustomerNo,
                //    ItemWt = stockBarcode.ItemWt,
                //    DepotsCode = stockBarcode.DepotsCode,
                //    DepotsId = stockBarcode.DepotsId,
                //    DepotSectionsCode = stockBarcode.DepotSectionsCode,
                //    CheckDate = stockBarcode.CheckDate,
                //    ItemType = stockBarcode.ItemType,
                //    IndepDate = stockBarcode.IndepDate,
                //    Factory = stockBarcode.Factory,
                //    Company = stockBarcode.Company,
                //    IqcStatus = stockBarcode.IqcStatus,
                //    BoardStyle = stockBarcode.BoardStyle,
                //    WorkNo = stockBarcode.WorkNo,
                //    WorkLine = stockBarcode.WorkLine,
                //    SuppNo = stockBarcode.SuppNo,
                //    ItemId = stockBarcode.ItemId
                //    // UnitId = stockBarcode.ItemUnit
                //}).IgnoreColumns(true).ExecuteCommand();
                //// 写入新条码的交易记录
                //executeCommand += db.Insertable(new MesInvBusiness2
                //{
                //    Guid = Guid.NewGuid(),
                //    Status = 1,
                //    BillTypeId = 200, // p_bill_type_id
                //    TransactionCode = "209", // p_transaction_no
                //    BusinessType = 0,
                //    ItemBarcode = newBarcode,
                //    ItemNo = stockBarcode.ItemNo,
                //    LotNo = stockBarcode.LotNo,
                //    EpFlag = true,
                //    Quantity = query.Num,
                //    FromInvDepotsCode = null,
                //    FromInvDepotSectionsCode = null,
                //    ToInvDepotsCode = stockBarcode.DepotsCode,
                //    ToInvDepotSectionsCode = stockBarcode.DepotSectionsCode,
                //    Description = query.Type + "拆分生成",
                //    CreateBy = query.userName,
                //    CreateDate = DateTime.Now,
                //    LastupdateBy = query.userName,
                //    LastupdateDate = DateTime.Now,
                //    Factory = stockBarcode.Factory,
                //    Company = stockBarcode.Company,
                //    TaskNo = stockBarcode.TaskNo,
                //    BillNo = stockBarcode.BillNo,
                //    WorkNo = stockBarcode.WorkNo,
                //    WorkLine = stockBarcode.WorkLine,
                //    SuppNo = stockBarcode.SuppNo,
                //    SuppId = stockBarcode.SuppId,
                //    ItemId = stockBarcode.ItemId
                //    // CkDepot = stockBarcode.DepotsId
                //}).IgnoreColumns(true).ExecuteCommand();
            }
            else if (totalQty < query.Num)
            {
@@ -847,7 +848,7 @@
            {
                Guid = Guid.NewGuid(),
                ItemOutId = outId,
                ItemBarcode = newBarcode ?? query.barcode,
                ItemBarcode = newBarcode ,
                ItemNo = stockBarcode.ItemNo,
                LotNo = stockBarcode.LotNo,
                Quantity = query.Num,
@@ -882,7 +883,7 @@
                BillTypeId = 200, // p_bill_type_id
                TransactionCode = "209", // p_transaction_no 
                BusinessType = 1,
                ItemBarcode = newBarcode ?? query.barcode,
                ItemBarcode = newBarcode ,
                ItemNo = stockBarcode.ItemNo,
                LotNo = stockBarcode.LotNo,
                EpFlag = true,
@@ -961,7 +962,7 @@
            // 创建 插入日志
            var logService = new LogService();
            var LogMsg = "[PDA]" + query.Type + "。条码【" + query.barcode + "】 出库单号【" + outNo + "】";
            var LogMsg = "[PDA]" + query.Type + "。条码【" + newBarcode + "】 出库单号【" + outNo + "】";
            logService.CreateLog(db, query.userName, womdaa.Guid.ToString(), "WOMDAA", LogMsg, womdaa.Daa001);
@@ -984,7 +985,14 @@
            })
            .ToList();
        return (success, pendingList);
        var dto = new ProductionPickDto
        {
            daa001 = query.billNo,
            barcode = query.barcode,//原条码
            cfBarcode = newBarcode//拆分后条码
        };
        return dto;
    }
    #endregion