kyy
2025-10-16 853849f9c3095036e4a3a28624e1a2907cf4d8ed
service/Wom/MesWorkProdManager.cs
@@ -3,6 +3,7 @@
using NewPdaSqlServer.entity;
using NewPdaSqlServer.entity.Base;
using NewPdaSqlServer.util;
using SharpCompress;
using SqlSugar;
using System.Data;
using System.Data.SqlClient;
@@ -294,31 +295,60 @@
        var po_outSum = parameters[3].Value != DBNull.Value ? Convert.ToInt32(parameters[3].Value) : -1;
        var po_womInBarSum = parameters[4].Value != DBNull.Value ? Convert.ToDecimal(parameters[4].Value) : 0m;
        var rksqOrder = Db.Queryable<MesInvItemIns>()
            .Where(x => x.RbillNo == barcode.BillNo && x.TransctionNo=="181" && x.CreateBy==request.StaffNo)
            .First();
        var sql = string.Format(@"SELECT A.item_barcode ItemBarcode,B.QUANTITY BgQuantity,c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel
    FROM MES_INV_ITEM_IN_RKSQ_DETAILS A
    LEFT JOIN MES_INV_ITEM_BARCODES B ON A.item_barcode = B.ITEM_BARCODE
    LEFT JOIN MES_ITEMS C ON  B.ITEM_ID = C.item_id
    WHERE A.bill_no= '{0}' ORDER BY A.create_date DESC", rksqOrder.BillNo);
        // 声明变量在外层,确保在所有分支中都可访问
        MesInvItemIns rksqOrder = null;
        List<MesInvItemInRksqDetails> rksqDetails = new List<MesInvItemInRksqDetails>();
        var RKSQ = Db.Ado.SqlQuery<MesInvItemInRksqDetails>(sql);
        if (po_outSum == 1)
        {
            rksqOrder = Db.Queryable<MesInvItemIns>()
        .LeftJoin<Womdaa>((a, daa) => a.TaskNo == daa.Daa001)
        .Where(a => a.Status == 0)
        .Where(a => a.TransctionNo == "181")
        .Where((a, daa) => daa.Daa029 == item.ItemNo)
        .Where((a, daa) => daa.Daa015 == workOrder.Daa015)
        .Where(a => a.InsDate.Value.Date == DateTime.Today)
        .First();
            if (rksqOrder != null)
            {
                var sql = string.Format(@"SELECT A.item_barcode ItemBarcode,B.QUANTITY BgQuantity,c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel
FROM MES_INV_ITEM_IN_RKSQ_DETAILS A
LEFT JOIN MES_INV_ITEM_BARCODES B ON A.item_barcode = B.ITEM_BARCODE
LEFT JOIN MES_ITEMS C ON  B.ITEM_ID = C.item_id
WHERE A.bill_no= '{0}' ORDER BY A.create_date DESC", rksqOrder.BillNo);
        var rksqDetails = RKSQ.ToList();
                rksqDetails = Db.Ado.SqlQuery<MesInvItemInRksqDetails>(sql).ToList();
            }
        }
        else if (po_outSum == 2)
        {
            rksqOrder = Db.Queryable<MesInvItemIns>()
        .LeftJoin<Womdaa>((a, daa) => a.TaskNo == daa.Daa001)
        .Where(a => a.Status == 0)
        .Where(a => a.TransctionNo == "181")
        .Where((a, daa) => daa.Daa029 == item.ItemNo)
        .Where((a, daa) => daa.Daa015 == workOrder.Daa015)
        .Where(a => a.InsDate.Value.Date == DateTime.Today)
        .First();
            if (rksqOrder != null)
            {
                rksqOrder.BillNo = "";
            }
        //var rksqDetails = Db.Queryable<MesInvItemInRksqDetails>()
        //    .Where(x => x.BillNo == )
        //    .ToList();
            rksqDetails = new List<MesInvItemInRksqDetails>();
        }
        // Check if the procedure failed
        if (po_outSum == -1)
        {
            throw new Exception(po_outMsg);
        }
        // 处理rksqOrder为null的情况
        string sjBillNo = rksqOrder?.BillNo ?? "";
        // 15. Return processing result
        return new ScanWorkResult
@@ -332,7 +362,7 @@
            ItemName = item.ItemName,
            ItemModel = workOrder.Daa004,
            Message = po_outMsg,
            sjBillNo  = rksqOrder.BillNo,
            sjBillNo = sjBillNo,
            BarcodesDetail = rksqDetails,
        };
@@ -564,7 +594,7 @@
            throw new Exception("请先选择人员");
        var rksqOrder = Db.Queryable<MesInvItemIns>()
            .Where(x => x.TransctionNo=="181"&& x.Status == 0 && x.CreateBy== request.StaffNo)
            .Where(x => x.TransctionNo=="181"&& x.Status == 0)
            .ToList();
        return new ScanWorkResult