service/Warehouse/MesItemTblManager.cs
@@ -2,6 +2,7 @@
using NewPdaSqlServer.DB;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
using NewPdaSqlServer.entity.Base;
using NewPdaSqlServer.util;
using SqlSugar;
using System.Security.Cryptography;
@@ -33,7 +34,7 @@
    /// </summary>
    /// <param name="query">仓库查询参数</param>
    /// <returns>物料明细列表</returns>
    public List<MesItemTblDetail> GetMesItemTblDetailByBillNo(
    public ProductionPickDto GetMesItemTblDetailByBillNo(
        WarehouseQuery query)
    {
        // 关联查询物料表、物料明细表和物料基础信息表
@@ -45,22 +46,31 @@
                    JoinType.Left,
                    b.Tld009 == c.Id)
            ).Where((a, b, c) => a.BillNo == query.billNo && (a.Tbl013 ?? 0) == 1)
            .Select<MesItemTblDetail>((a, b, c) => new MesItemTblDetail
            .Select<ItemDetailModel>((a, b, c) => new ItemDetailModel
            {
                BillNo = a.BillNo,
                Tlid = b.Tlid,
                Tlmid = b.Tlmid,
                Tld005 = b.Tld005 ?? 0, // 待退数量
                Tld006 = b.Tld006 ?? 0, // 已退数量
                Tld009 = b.Tld009,
                FQty = b.Tld005 ?? 0, // 待退数量
                SQty = b.Tld006 ?? 0, // 已退数量
                DSQty = (b.Tld005 ?? 0) - (b.Tld006 ?? 0),
                ItemNo = c.ItemNo, // 物料编号
                ItemName = c.ItemName, // 物料名称
                ItemModel = c.ItemModel // 物料型号
            }).ToList();
        // 筛选出待退数量大于已退数量的记录
        var itemTblDetails = mesItemTblDetails
            .Where(s => (s.Tld005 ?? 0) - (s.Tld006 ?? 0) > 0).ToList();
        if (mesItemTblDetails.Count<1)
            throw new Exception("该申请单【" + query.billNo + "】 明细不存在,请确认!");
        var DS_list = mesItemTblDetails.Where(s => s.DSQty > 0).ToList();
        var YS_list = mesItemTblDetails.Where(s => s.SQty > 0).ToList();
        var itemTblDetails = new ProductionPickDto
        {
            items = DS_list,
            Ysitems = YS_list
            // yisao = mesInvItemOutCDetailsList
        };
        return itemTblDetails;
    }
@@ -312,7 +322,8 @@
                    LineK3id = c_mes_inv_item_barcodes.LineK3id,
                    ItemId = c_mes_inv_item_barcodes.ItemId,
                    DepotCode = c_mes_depots.DepotCode,
                    DepotId = c_depot_code.ToString()
                    DepotId = c_depot_code.ToString(),
                    itemDabid = C_MES_ITEM_TBL_DETAIL.Tlid.ToString()
                }).IgnoreColumns(true).ExecuteCommand();
            else
                // 存在时更新数量
@@ -554,6 +565,11 @@
                throw new Exception(
                    $"关键数据插入失败,预期至少{minimumExpectedOperations}个操作,实际执行{totalResult}个操作");
            // 创建 插入日志
            var logService = new LogService();
            var LogMsg = "[PDA]生产退料。条码【" + query.barcode + "】 退料单号【" + c_bill_no + "】";
            logService.CreateLog(db, query.userName, tbWOMDAA.Guid.ToString(), "WOMDAA", LogMsg, tbWOMDAA.Daa001);
            return totalResult;
        });