111
啊鑫
2 天以前 8b7abd97e7b69800789134ed8e809e19a5b5ba74
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
using NewPdaSqlServer.DB;
using SqlSugar;
 
namespace NewPdaSqlServer.service.@base;
 
public class MesPrintMangeer : Repository<dynamic>
{
    public dynamic getPrintInfo(dynamic query)
    {
        // 使用参数化查询防止SQL注入
        var sqlParams = new List<SugarParameter>
            { new("@userAccount", query.userName) };
 
        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);
 
        if (printInfo.Count < 1) throw new Exception("当前用户未绑定打印机,请维护后使用拆分功能!");
 
        return printInfo;
    }
 
 
    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>
        {
            new("@cfBar", query.cfBarcode.Trim()),
            new("@oldBar", query.barcode.Trim())
        };
 
        var sql = @"EXEC prc_pda_base_selBarCfInfo @cfBar,@oldBar";
 
        var mergedData = Db.Ado.SqlQuery<dynamic>(sql, sqlParams);
 
        //if (mergedData.Count < 2) throw new Exception("条码信息存在异常,请联系管理员!");
 
        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("原始条码不能为空");
 
        // 使用强类型参数
        var sqlParams = new List<SugarParameter>
        {
            new("@pi_Bar", query.barcode.Trim())
        };
 
        var sql = @"EXEC prc_pda_basePrint_selBarInfo @pi_Bar ";
 
        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);
 
        if (mergedData.Count < 2) throw new Exception("条码信息存在异常,请联系管理员!");
 
        return mergedData;
    }
}