南骏 池
2025-03-13 ae6bbf378b56b3a583527c546f8050b9813c1d1b
service/Wom/WomdaaManager.cs
@@ -1,6 +1,8 @@
using System.Data;
using System.Data.SqlClient;
using Masuit.Tools;
using MES.Service.Modes;
using Microsoft.SqlServer.Server;
using NewPdaSqlServer.DB;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
@@ -172,31 +174,43 @@
        if (womdaa?.Daa001 == null) throw new Exception("工单号不存在");
        var womdabs = Db.Queryable<Womdaa, Womdab, MesItems, Womcab>(
                (a, b, c, d) =>
                    new JoinQueryInfos(
                        JoinType.Left,
                        a.Guid == b.DaaGuid,
                        JoinType.Inner,
                        c.Id.ToString() ==
                        b.Dab003,
                        JoinType.Inner, b.Erpid == d.Erpid
                    ))
            .Where((a, b, c, d) =>
                a.Daa001 == query.daa001 && d.IssueType == "1")
            .Select((a, b, c, d) => new Womdab
            {
                //Pid = b.Pid,
                Dab003 = b.Dab003,
                Dab006 = b.Dab006,
                Dab007 = b.Dab007,
                wNum = b.Dab006 - b.Dab007, // 计算字段 W_NUM
                ItemName = c.ItemName, // 动态字段 ITEM_NAME
                ItemNo = c.ItemNo // 动态字段 ITEM_NO
            })
            .ToList();
        //var womdabs = Db.Queryable<Womdaa, Womdab, MesItems, Womcab>(
        //        (a, b, c, d) =>
        //            new JoinQueryInfos(
        //                JoinType.Left,
        //                a.Guid == b.DaaGuid,
        //                JoinType.Inner,
        //                c.Id.ToString() ==
        //                b.Dab003,
        //                JoinType.Inner, b.Erpid == d.Erpid
        //            ))
        //    .Where((a, b, c, d) =>
        //        a.Daa001 == query.daa001 && d.Iss1ueType == "1")
        //    .Select((a, b, c, d) => new ItemDetailModel
        //    {
        //        ItemNo = c.ItemNo,
        //        ItemName = c.ItemName,
        //        ItemModel = c.ItemModel,
        //        FQty = b.Dab006, // 申请数量
        //        SQty = b.Dab007, // 已扫数量
        //        DSQty = b.Dab006 - b.Dab007, // 已扫数量
        //    })
        //    .ToList();
        var list = womdabs.Where(s => s.wNum > 0).ToList();
        var sql =string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,b.dab006 FQty,b.dab007 SQty,b.dab006 - b.dab007 DSQty ,
       dbo.F_QX_GETRECODEPOTSE(B.dab003) as RecoKw
    FROM WOMDAB B
    LEFT JOIN WOMDAA A ON A.guid = B.daaGuid
    LEFT JOIN MES_ITEMS C ON  B.dab003 = C.item_id
    LEFT JOIN WOMCAB D ON B.erpid = D.ERPID
    WHERE daa001 = '{0}' AND ISSUE_TYPE = 1 ORDER BY DAB002", query.daa001);
        var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql);
        var DS_list = womdabs.Where(s => s.DSQty > 0).ToList();
        var YS_list = womdabs.Where(s => s.SQty > 0).ToList();
        var mesInvItemOutCDetailsList = Db
            .Queryable<MesInvItemOutCDetails, MesItems, MesDepots>
@@ -230,9 +244,9 @@
        {
            daa001 = womdaa.Daa001,
            PlanNo = womcaa.Caa020,
            totals = womdabs,
            daisao = list,
            yisao = mesInvItemOutCDetailsList
            items = DS_list,
            Ysitems = YS_list
            // yisao = mesInvItemOutCDetailsList
        };
        return dto;