wbc
2025-12-10 50269b4df8c311908bca39aedad08f22d44f1ec6
service/Wom/MesWorkProdManager.cs
@@ -2,7 +2,7 @@
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
using NewPdaSqlServer.entity.Base;
using NewPdaSqlServer.util;
using SharpCompress;
using SqlSugar;
using System.Data;
using System.Data.SqlClient;
@@ -249,9 +249,9 @@
        // };
        //1.验证员工信息
         var staff = Db.Queryable<MesStaff>()
             .Where(x => x.StaffNo == request.StaffNo)
             .First();
        var staff = Db.Queryable<MesStaff>()
            .Where(x => x.StaffNo == request.StaffNo)
            .First();
        if (staff == null)
            throw new Exception("请先选择人员");
@@ -298,12 +298,18 @@
        // 声明变量在外层,确保在所有分支中都可访问
        MesInvItemIns rksqOrder = null;
        List<MesInvItemInRksqDetails> rksqDetails = new List<MesInvItemInRksqDetails>();
        List<MesInvItemInRksqDetails> itemDetails = new List<MesInvItemInRksqDetails>();
        if (po_outSum == 1)
        {
            rksqOrder = Db.Queryable<MesInvItemIns>()
               .Where(x => x.RbillNo == barcode.BillNo && x.TransctionNo == "181" && x.CreateBy == request.StaffNo)
               .First();
        .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)
            {
@@ -313,14 +319,33 @@
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 sql1 = string.Format(@"SELECT
    SUM(ISNULL(B.QUANTITY,0)) as BgQuantity,
    c.item_no as ItemNo,
    c.item_name as ItemName,
    c.item_model as ItemModel,
    MAX(A.create_date) as LatestCreateDate  -- 添加这个字段
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}'
GROUP BY c.item_no, c.item_name, c.item_model
ORDER BY MAX(A.create_date) DESC", rksqOrder.BillNo);
                rksqDetails = Db.Ado.SqlQuery<MesInvItemInRksqDetails>(sql).ToList();
                itemDetails = Db.Ado.SqlQuery<MesInvItemInRksqDetails>(sql1).ToList();
            }
        }
        else if (po_outSum == 2)
        {
            rksqOrder = Db.Queryable<MesInvItemIns>()
              .Where(x => x.RbillNo == barcode.BillNo && x.TransctionNo == "181" && x.CreateBy == request.StaffNo)
              .First();
        .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)
            {
@@ -328,6 +353,7 @@
            }
            rksqDetails = new List<MesInvItemInRksqDetails>();
            itemDetails = new List<MesInvItemInRksqDetails>();
        }
        // Check if the procedure failed
@@ -353,6 +379,7 @@
            Message = po_outMsg,
            sjBillNo = sjBillNo,
            BarcodesDetail = rksqDetails,
            itemDetail = itemDetails
        };
    }
@@ -556,10 +583,25 @@
    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 sql1 = string.Format(@"SELECT
    SUM(ISNULL(B.QUANTITY,0)) as BgQuantity,
    c.item_no as ItemNo,
    c.item_name as ItemName,
    c.item_model as ItemModel,
    MAX(A.create_date) as LatestCreateDate  -- 添加这个字段
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}'
GROUP BY c.item_no, c.item_name, c.item_model
ORDER BY MAX(A.create_date) DESC", rksqOrder.BillNo);
        var RKSQ = Db.Ado.SqlQuery<MesInvItemInRksqDetails>(sql);
        var wlhz = Db.Ado.SqlQuery<MesInvItemInRksqDetails>(sql1);
        var rksqDetails = RKSQ.ToList();
        var wlhzDetails = wlhz.ToList();
        //var rksqDetails = Db.Queryable<MesInvItemInRksqDetails>()
@@ -570,6 +612,7 @@
        return new ScanWorkResult
        {
            BarcodesDetail = rksqDetails,
            itemDetail = wlhzDetails
        };
    }
@@ -583,7 +626,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