南骏 池
2025-06-05 6ec09f73c6515297294d24cdec4c815927450607
service/Warehouse/MesItemQtrkManager.cs
@@ -1,6 +1,7 @@
using NewPdaSqlServer.DB;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
using NewPdaSqlServer.entity.Base;
using NewPdaSqlServer.util;
using SqlSugar;
using System.Text.RegularExpressions;
@@ -17,42 +18,41 @@
            .ToList();
    }
    public List<MesItemQtrrDetail> GetQtckDetailList(WarehouseQuery query)
    public ProductionPickDto GetQtckDetailList(WarehouseQuery query)
    {
        // 1. 验证申请单是否存在
        var qtrk = Db.Queryable<MesItemQtrk>()
            .Where(x => x.Qtck == query.billNo)
            .First();
        if (qtrk == null)
            throw new Exception($"未查询到此其他入库申请单 {query.billNo}");
        // 关联查询物料表、物料明细表和物料基础信息表
        if (string.IsNullOrEmpty(query.billNo)) throw new Exception("申请单号为空");
        // 2. 验证申请单状态
        if (qtrk.Qt015 != 1)
            throw new Exception($"其他入库申请单 {query.billNo} 未审核,请确认!");
        var mesInvItemOuts = base.GetSingle(it => it.Qtck == query.billNo);
        if (mesInvItemOuts == null) throw new Exception("其他入库申请单不存在");
        if (qtrk.Qt014 == 1)
            throw new Exception($"其他入库申请单 {query.billNo} 已完结,请确认!");
        var sql = @"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,
                    A.qd007 FQty,A.qd008 SQty,A.qd007 - A.qd008 DSQty
                    FROM MES_ITEM_QTRR_DETAIL A
                    LEFT JOIN MES_ITEM_QTRK B ON A.qtrkGuid = B.guid
                    LEFT JOIN MES_ITEMS C ON A.itemId = C.item_id
                    WHERE B.qtck = @billNo";
        // 3. 查询申请单明细
        var details = Db.Queryable<MesItemQtrk, MesItemQtrrDetail, MesItems>(
                (a, b, c) => new JoinQueryInfos(
                    JoinType.Left, a.Guid == b.QtrkGuid,
                    JoinType.Left, c.Id.ToString() == b.ItemId))
            .Where((a, b, c) =>
                a.Qtck == query.billNo &&
                (b.Qd007 ?? 0) - (b.Qd008 ?? 0) > 0)
            .OrderBy((a, b, c) => b.Qd002)
            .Select((a, b, c) => new MesItemQtrrDetail
            {
                Qtck = a.Qtck,
                ItemNo = c.ItemNo,
                ItemName = c.ItemName,
                Qd007 = b.Qd007 ?? 0,
                Qd008 = b.Qd008 ?? 0
            })
            .ToList();
        var sqlParams = new List<SugarParameter> {
            new("@billNo", query.billNo)
        };
        return details;
        var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql, sqlParams);
        var DS_list = womdabs.Where(s => s.DSQty > 0).ToList();
        var YS_list = womdabs.Where(s => s.SQty > 0).ToList();
        var dto = new ProductionPickDto
        {
            //daa001 = womdaa.Daa001,
            //PlanNo = womcaa.Caa020,
            items = DS_list,
            Ysitems = YS_list
        };
        return dto;
    }
    public string ScanInDepotsQT(WarehouseQuery query)
@@ -284,7 +284,8 @@
                    EbelnK3id = barcode.EbelnK3id,
                    LineK3id = barcode.LineK3id,
                    ItemId = barcode.ItemId,
                    DepotId = c_depot_id.ToString()
                    DepotId = c_depot_id.ToString(),
                    itemDabid = barcode.AboutGuid.ToString(),
                }).IgnoreColumns(true).ExecuteCommand();
            else
                // 存在则更新数量