xwt
7 天以前 65438b8c1f9ec323c3c2ae265561dae4ff536379
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
138
139
140
141
142
143
144
145
146
using Masuit.Tools;
using MES.Service.DB;
using MES.Service.Dto.webApi.SRM;
using MES.Service.Modes.SRM;
using SqlSugar;
 
public class MesDeliveryNoteBarcodeManager : Repository<MesDeliveryNoteBarcode>
{
 
    public dynamic Save(PrintBarcode barcode)
    {
        var mesDeliveryBarcode= GetMesDeliveryBarcode(barcode);
 
        return UseTransaction(db =>
        {
            return SaveOrUpdateData(db, mesDeliveryBarcode) ? 1 : 0;
        }) > 0;
    }
 
    public dynamic SaveList(List<PrintBarcode> barcode)
    {
        var result = barcode.Select(Save).ToList();
        return result.All(b => b);
    }
 
    public dynamic DeleteBarcode(ErpBarcode barcode)
    {
        return UseTransaction(db =>
        {
            return DeleteData(db, barcode) ? 1 : 0;
        }) > 0;
    }
    public dynamic DeleteBarcodeList(List<ErpBarcode> barcode)
    {
        var result = barcode.Select(DeleteBarcode).ToList();
        return result.All(b => b);
    }
 
    public dynamic DeleteByNo(ErpDelivery delivery)
    {
        return UseTransaction(db =>
        {
            return DeleteDataByShd(db, delivery) ? 1 : 0;
        }) > 0;
    }
 
    public dynamic DeleteListByNo(List<ErpDelivery> delivery)
    {
        var result = delivery.Select(DeleteByNo).ToList();
        return result.All(b => b);
    }
 
    public dynamic DeleteByItem(DeliveryItem dt)
    {
        return UseTransaction(db =>
        {
            return DeleteDataByItem(db, dt) ? 1 : 0;
        }) > 0;
    }
 
    public dynamic DeleteListByItem(List<DeliveryItem> dts)
    {
        var result = dts.Select(DeleteByItem).ToList();
        return result.All(b => b);
    }
 
    // 删除数据的方法
    private bool DeleteDataByItem(SqlSugarScope db, DeliveryItem dt)
    {
        var del = db.Deleteable<MesDeliveryNoteBarcode>().Where(s => s.DeliveryNo == dt.DeliveryNo && s.ProductCode==dt.ItemNo).ExecuteCommand() > 0;
 
        if (del)
        {
            return true;
        }
        throw new NotImplementedException("删除失败");
    }
 
    // 删除数据的方法
    private bool DeleteData(SqlSugarScope db, ErpBarcode barcode)
    {
        var del = db.Deleteable<MesDeliveryNoteBarcode>().Where(s => s.SmallBarcode == barcode.SmallBarcode).ExecuteCommand() > 0;
 
        if (del) { 
            return true;
        } 
        throw new NotImplementedException("删除失败");
    }
 
    // 删除数据的方法
    private bool DeleteDataByShd(SqlSugarScope db, ErpDelivery delivery)
    {
        var del = db.Deleteable<MesDeliveryNoteBarcode>().
            Where(s => s.DeliveryNo == delivery.DeliveryNo)
            .ExecuteCommand() > 0;
 
        if (del)
        {
            return true;
        }
        throw new NotImplementedException("删除失败");
    }
 
    // 插入或更新数据的方法
    private bool SaveOrUpdateData(SqlSugarScope db, MesDeliveryNoteBarcode mesDeliveryBarcode)
    {
        if (mesDeliveryBarcode.Id != null)
        {
            base.DeleteById(mesDeliveryBarcode.Id);
        }
 
        var orUpdate = base.Insert(mesDeliveryBarcode);
        if (orUpdate)
        {
            return true;
        }
        throw new NotImplementedException("插入或更新失败");
    }
 
 
 
    public MesDeliveryNoteBarcode GetMesDeliveryBarcode(PrintBarcode barcode)
    {
        var mesDeliveryBarcode = new MesDeliveryNoteBarcode();
        var single = base.GetSingle(it => it.SmallBarcode == barcode.SmallBarcode);
        if (single != null)
        {
            mesDeliveryBarcode.Id = single.Id;
        }
 
 
        mesDeliveryBarcode.DeliveryNo = barcode.DeliveryNo;
        mesDeliveryBarcode.ProductCode = barcode.ProductCode;
 
        mesDeliveryBarcode.LineNo = barcode.LineNo;
        mesDeliveryBarcode.SmallBarcode = barcode.SmallBarcode;
        mesDeliveryBarcode.IncludeQty = Convert.ToDecimal(barcode.IncludeQty);
        mesDeliveryBarcode.CreateDate = DateTime.Now;
        mesDeliveryBarcode.OuterBarcode = barcode.OuterBarcode;
        mesDeliveryBarcode.BarcodeType = barcode.BarcodeType;
        mesDeliveryBarcode.IsMegre = Convert.ToDecimal(barcode.IsMerge);
 
        return mesDeliveryBarcode;
    }
 
}