啊鑫
8 天以前 0aa54059b26e6641196e9953490dd18616e916e3
service/base/MesPrintMangeer.cs
@@ -1,114 +1,119 @@
namespace NewPdaSqlServer.service.@base
using NewPdaSqlServer.DB;
using SqlSugar;
namespace NewPdaSqlServer.service.@base;
public class MesPrintMangeer : Repository<dynamic>
{
    using NewPdaSqlServer.Dto.service;
    using NewPdaSqlServer.entity;
    using SqlSugar;
    using System;
    using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
    using System.Data;
    using NewPdaSqlServer.DB;
    using System.Data;
    using System.Data.SqlClient;
    using Microsoft.EntityFrameworkCore.Metadata.Internal;
    public class MesPrintMangeer : Repository<dynamic>
    public dynamic getPrintInfo(dynamic query)
    {
        public dynamic getPrintInfo(dynamic query)
        {
        // 使用参数化查询防止SQL注入
        var sqlParams = new List<SugarParameter>
            { new("@userAccount", query.userName) };
            // 使用参数化查询防止SQL注入
            var sqlParams = new List<SugarParameter> { new("@userAccount", query.userName) };
            var sql1 = @"SELECT TOP 1 ip,port fROM print_info A
        var sql1 = @"SELECT TOP 1 ip,port fROM print_info A
         left join SYS_USER_BIND B on A.guid = B.aboutGuid
         left join SYS_USER C ON C.GUID = B.userGuid
WHERE C.ACCOUNT = @userAccount AND B.fType = '打印机'";
            var printInfo = Db.Ado.SqlQuery<dynamic>(sql1, sqlParams);
        var printInfo = Db.Ado.SqlQuery<dynamic>(sql1, sqlParams);
            if (printInfo.Count < 1 ) throw new Exception("当前用户未绑定打印机,请维护后使用拆分功能!");
        if (printInfo.Count < 1) throw new Exception("当前用户未绑定打印机,请维护后使用拆分功能!");
            return printInfo;
        }
        return printInfo;
    }
        public dynamic getCfInfo(dynamic query) // 使用具体类型替代dynamic
    public dynamic getCfInfo(dynamic query) // 使用具体类型替代dynamic
    {
        // 参数校验
        if (string.IsNullOrEmpty(query?.cfBarcode))
            throw new ArgumentException("拆分条码不能为空");
        if (string.IsNullOrEmpty(query?.barcode))
            throw new ArgumentException("原始条码不能为空");
        // 使用强类型参数
        var sqlParams = new List<SugarParameter>
        {
            // 参数校验
            if (string.IsNullOrEmpty(query?.cfBarcode))
                throw new ArgumentException("拆分条码不能为空");
            if (string.IsNullOrEmpty(query?.barcode))
                throw new ArgumentException("原始条码不能为空");
            new("@cfBar", query.cfBarcode.Trim()),
            new("@oldBar", query.barcode.Trim())
        };
            // 使用强类型参数
            var sqlParams = new List<SugarParameter> {
                new("@cfBar", query.cfBarcode.Trim()),
                new("@oldBar", query.barcode.Trim())
            };
        var sql = @"EXEC prc_pda_base_selBarCfInfo @cfBar,@oldBar";
            var sql = @"SELECT TOP 1 C.ITEM_NO,C.item_name,C.item_model,B.OLDQTY as QUANTITY,B.CREATE_DATE, '拆分条码' AS BarType,A.ITEM_BARCODE,GETDATE() as print_date
            FROM MES_INV_ITEM_STOCKS A
            LEFT JOIN MES_INV_ITEM_BARCODES B ON A.ITEM_BARCODE = B.ITEM_BARCODE
            LEFT JOIN MES_ITEMS C ON C.item_id = B.ITEM_ID
            WHERE A.ITEM_BARCODE = @cfBar
            UNION ALL
            SELECT TOP 1 C.ITEM_NO,C.item_name,C.item_model,A.QUANTITY as QUANTITY,B.CREATE_DATE, '原始条码' AS BarType,A.ITEM_BARCODE,GETDATE() as print_date
            FROM MES_INV_ITEM_STOCKS A
            LEFT JOIN MES_INV_ITEM_BARCODES B ON A.ITEM_BARCODE = B.ITEM_BARCODE
            LEFT JOIN MES_ITEMS C ON C.item_id = B.ITEM_ID
            WHERE A.ITEM_BARCODE = @oldBar";
        var mergedData = Db.Ado.SqlQuery<dynamic>(sql, sqlParams);
            var mergedData = Db.Ado.SqlQuery<dynamic>(sql, sqlParams);
        //if (mergedData.Count < 2) throw new Exception("条码信息存在异常,请联系管理员!");
            if (mergedData.Count < 2) throw new Exception("条码信息存在异常,请联系管理员!");
        return mergedData;
    }
            return mergedData;
        }
    /// <summary>
    ///     PDA重打条码
    /// </summary>
    /// <param name="query"></param>
    /// <returns></returns>
    /// <exception cref="ArgumentException"></exception>
    public dynamic getPrintBarInfo(dynamic query) // 使用具体类型替代dynamic
    {
        // 参数校验
        if (string.IsNullOrEmpty(query?.barcode))
            throw new ArgumentException("原始条码不能为空");
        // // 现场收料展示列表
        // public class PrintBarInfo
        // {
        //     public List<dynamic> cfBarInfo { get; set; }
        //     public List<dynamic> oldBarInfo { get; set; }
        // }
        public dynamic getCfBeforeInfo(dynamic query) // 使用具体类型替代dynamic
        // 使用强类型参数
        var sqlParams = new List<SugarParameter>
        {
            // 参数校验
            if (string.IsNullOrEmpty(query?.cfBarcode))
                throw new ArgumentException("拆分条码不能为空");
            if (string.IsNullOrEmpty(query?.barcode))
                throw new ArgumentException("原始条码不能为空");
            new("@pi_Bar", query.barcode.Trim())
        };
            // 使用强类型参数
            var sqlParams = new List<SugarParameter> {
                new("@cfBar", query.cfBarcode.Trim()),
                new("@oldBar", query.barcode.Trim())
            };
        var sql = @"EXEC prc_pda_basePrint_selBarInfo @pi_Bar ";
            var sql = @"SELECT TOP 1 C.ITEM_NO,C.item_name,C.item_model,B.OLDQTY as QUANTITY,B.CREATE_DATE, '拆分条码' AS BarType,B.ITEM_BARCODE,GETDATE() as print_date
        var mergedData = Db.Ado.SqlQuery<dynamic>(sql, sqlParams);
        //if (mergedData.Count < 2) throw new Exception("条码信息存在异常,请联系管理员!");
        return mergedData;
    }
    // // 现场收料展示列表
    // public class PrintBarInfo
    // {
    //     public List<dynamic> cfBarInfo { get; set; }
    //     public List<dynamic> oldBarInfo { get; set; }
    // }
    public dynamic getCfBeforeInfo(dynamic query) // 使用具体类型替代dynamic
    {
        // 参数校验
        if (string.IsNullOrEmpty(query?.cfBarcode))
            throw new ArgumentException("拆分条码不能为空");
        if (string.IsNullOrEmpty(query?.barcode))
            throw new ArgumentException("原始条码不能为空");
        // 使用强类型参数
        var sqlParams = new List<SugarParameter>
        {
            new("@cfBar", query.cfBarcode.Trim()),
            new("@oldBar", query.barcode.Trim())
        };
        var sql =
            @"SELECT TOP 1 C.ITEM_NO,C.item_name,C.item_model,B.OLDQTY as QUANTITY,B.CREATE_DATE, '拆分条码' AS BarType,B.ITEM_BARCODE,GETDATE() as print_date
            FROM MES_INV_ITEM_BARCODES B
            LEFT JOIN MES_ITEMS C ON C.item_id = B.ITEM_ID
            WHERE B.ITEM_BARCODE = @cfBar
            UNION ALL
            SELECT TOP 1 C.ITEM_NO,C.item_name,C.item_model,B.QUANTITY as QUANTITY,B.CREATE_DATE, '原始条码' AS BarType,B.ITEM_BARCODE,GETDATE() as print_date
            FROM  MES_INV_ITEM_BARCODES B
            LEFT JOIN MES_ITEMS C ON C.item_id = B.ITEM_ID
            WHERE B.ITEM_BARCODE = @oldBar";
            var mergedData = Db.Ado.SqlQuery<dynamic>(sql, sqlParams);
        var mergedData = Db.Ado.SqlQuery<dynamic>(sql, sqlParams);
            if (mergedData.Count < 2) throw new Exception("条码信息存在异常,请联系管理员!");
        if (mergedData.Count < 2) throw new Exception("条码信息存在异常,请联系管理员!");
            return mergedData;
        }
}
        return mergedData;
    }
}