wbc
2025-11-01 9b6f4dbc6d19664da69e8d9bb7b8b1e16d19ffcb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
using MES.Service.Modes;
using NewPdaSqlServer.DB;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
using NewPdaSqlServer.entity.Base;
using SqlSugar;
using System.Data;
using System.Data.SqlClient;
using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
 
namespace NewPdaSqlServer.service.Warehouse;
 
/// <summary>
///     托板码绑定管理类
///     负责处理托板码绑定相关的业务逻辑
/// </summary>
public class tbbdManager : Repository<MesInvItemBarcodes>
{
    /// <summary>
    ///     获取托板码已经绑定的相关列表
    /// </summary>
    /// <returns>托板码已经绑定的相关列表</returns>
    public dynamic GetBracodeDetails(TbBarcodeQuery query)
    {
        // 使用ADO.NET直接调用存储过程
        var ds = new DataSet();
 
        // 假设您使用的是SQL Server,创建SqlConnection
        using (var conn = new SqlConnection(DbHelperSQL.strConn))
        {
            conn.Open();
 
            using (var cmd = new SqlCommand("prc_pda_tbbd_bralist", conn))
            {
                cmd.CommandType = CommandType.StoredProcedure;
 
                // 添加参数
                cmd.Parameters.Add(new SqlParameter("@tbBarcode", query.TbBarCode));
                cmd.Parameters.Add(new SqlParameter("@inP1", DBNull.Value));
                cmd.Parameters.Add(new SqlParameter("@inP2", DBNull.Value));
                cmd.Parameters.Add(new SqlParameter("@inP3", DBNull.Value));
                cmd.Parameters.Add(new SqlParameter("@inP4", DBNull.Value));
 
                using (var adapter = new System.Data.SqlClient.SqlDataAdapter(cmd))
                {
                    adapter.Fill(ds);
                }
            }
        }
 
        // 转换结果
        var ItemDetail = Db.Utilities.DataTableToDynamic(ds.Tables[0]);
       
 
        return ItemDetail;
    }
 
 
 
 
 
 
    /// <summary>
    ///     扫描条码进行绑定托板码
    /// </summary>
    /// <param name="query">包含用户名和条码信息的查询参数</param>
    /// <returns>处理后的表单和待处理明细列表</returns>
    public dynamic ScanTBBD(TbBarcodeQuery query)
    {
        var _strMsg = "";
        var _intSum = "";
        var ds = new DataSet();
        using (var conn = new SqlConnection(DbHelperSQL.strConn))
        {
           
 
 
            if (string.IsNullOrEmpty(query.TbBarCode)) throw new Exception("托板码为空");
 
            using (var cmd = new SqlCommand("[prc_pda_tbbd_save]", conn))
            {
                try
                {
                    conn.Open();
                    cmd.CommandType = CommandType.StoredProcedure;
                    SqlParameter[] parameters =
                    {
                        new("@outMsg", SqlDbType.NVarChar, 300),
                        new("@outSum", SqlDbType.NVarChar, 300),
                        new("@tbBarcode", query.TbBarCode),
                        new("@itemBarcode", query.ItemBarcode),
                        new("@ACCOUNT", query.userName),
                        new("@inP1", DBNull.Value),
                        new("@inP2", DBNull.Value),
                        new("@inP3", DBNull.Value)
 
                };
                    parameters[0].Direction = ParameterDirection.Output;
                    parameters[1].Direction = ParameterDirection.Output;
 
                    foreach (var parameter in parameters)
                        cmd.Parameters.Add(parameter);
                    cmd.ExecuteNonQuery();
 
 
 
                    _strMsg = parameters[0].Value.ToString();
                    _intSum = parameters[1].Value.ToString();
 
                    var result = Convert.ToInt32(_intSum);
                    if (result <= 0) throw new Exception(_strMsg);
 
 
                    var dto = new
                    {
                        strMsg = _strMsg,
                        result = _intSum
                       
                    };
 
                    return dto;
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                finally
                {
                    conn.Close();
                }
            }
        }
    }
 
   
 
}