刘磊
2025-04-19 823752496e2a4cdb6a1fb36227cd15b8b7135336
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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
using Mapster;
using Masuit.Tools;
using Microsoft.EntityFrameworkCore.Metadata.Internal;
using System.ComponentModel.DataAnnotations;
using WIDESEA_Core;
using WIDESEA_Core.HttpContextUser;
using WIDESEA_StorageBasicRepository;
 
namespace WIDESEA_StorageBasicService;
 
public class Dt_InWheels_mesService : ServiceBase<Dt_InWheels_mes, IDt_InWheels_mesRepository>, IDt_InWheels_mesService
{
    private readonly IDt_WheelsStockRepository _WheelsStockRepository;
    private readonly IDt_InWheels_mes_htyRepository _InWheels_Mes_HtyRepository;
 
    public Dt_InWheels_mesService(IDt_WheelsStockRepository wheelsStockRepository, IDt_InWheels_mes_htyRepository inWheels_Mes_HtyRepository, IDt_InWheels_mesRepository BaseDal) : base(BaseDal)
    {
        _WheelsStockRepository = wheelsStockRepository;
        _InWheels_Mes_HtyRepository = inWheels_Mes_HtyRepository;
    }
 
    public override PageGridData<Dt_InWheels_mes> GetPageData(PageDataOptions options)
    {
        return base.GetPageData(options);
    }
 
    public override WebResponseContent AddData(SaveModel saveModel)
    {
        WebResponseContent content = new WebResponseContent();
        try
        {
            //如当前存在未开始入库的车轮或制动盘数据,则禁止保存新数据 以防数据混乱
            var waitInbound = BaseDal.QueryFirst(x => x.Wheels_CurrentStatue == "0");
            if (waitInbound != null) throw new Exception("当前存在未开始入库的车轮或制动盘,请先入库后再保存信息!");
 
 
            //车轮码
            string clCode = saveModel.MainData["Wheels_code"].ToString();
            if (string.IsNullOrEmpty(clCode))
                throw new Exception($"车轮条码不能为空");
 
            var clinfo = BaseDal.QueryFirst(x => x.Wheels_code == clCode);
            if (clinfo != null) throw new Exception("车轮录入信息已存在");
 
            //检测库存是否已存在
            var wheelsStock = _WheelsStockRepository.QueryFirst(x => x.Wheels_code == clCode);
            if (wheelsStock != null) throw new Exception("库内已存在,请检查库存");
 
            //序列号
            //string madeUnit = saveModel.MainData["xlh"].ToString();
            //车轮号
            //string clh = saveModel.MainData["clh"].ToString();
            //轮对条码  
            //string ldtm = saveModel.MainData["ldtm"].ToString();
            ////车型
            string Cartype = saveModel.MainData["Wheels_ldxh"].ToString();
            ////配属局
            //string psj = saveModel.MainData["psj"].ToString();
            ////车组号
            //string lcch = saveModel.MainData["lcch"].ToString();
            ////新旧
            string newOrOld = saveModel.MainData["wheels_NewOrOld"].ToString();
            ////轮对号
            //string ldh = saveModel.MainData["ldh"].ToString();
            ////轮对型号
            //string ldxh = saveModel.MainData["ldxh"].ToString();
            ////毂孔等级
            string gkdj = saveModel.MainData["wheels_level"].ToString();
            ////毂孔a界面均值
            //string gkzja = saveModel.MainData["gkzja"].ToString();
            ////毂孔b界面均值
            //string gkzjb = saveModel.MainData["gkzjb"].ToString();
            ////毂孔c界面均值
            //string gkzjc = saveModel.MainData["gkzjc"].ToString();
            ////轮径值
            //string ljz = saveModel.MainData["ljz"].ToString();
            ////预估轮径值
            //string yglj = saveModel.MainData["yglj"].ToString();
            ////入库时间
            //string rksj = saveModel.MainData["rksj"].ToString();
            ////属性
            //string WheelsProps = saveModel.MainData["clsx"].ToString();
            ////动拖属性
            string mttype = saveModel.MainData["Wheels_mttype"].ToString();
            if (mttype != "M" && mttype != "T") throw new Exception("动拖属性仅能为M或T");
 
            //毂孔均值
            string gkcc = saveModel.MainData["gkcc"].ToString();
 
            //创建人
            //string user = saveModel.MainData["user"].ToString();
 
 
            Dt_InWheels_mes wheels_Mes = new Dt_InWheels_mes
            {
                Wheels_code = DateTime.Now.ToString("yyyyMMddHHmmss") + clCode,
                Wheels_Type = "1",
                Wheels_Num = DateTime.Now.ToString("yyyyMMddHHmmss") + clCode,
                CreateDate = DateTime.Now,
                Creater = App.User.UserName == null ? "admin" : App.User.UserName,
                WheelsProps = "",
                Wheels_CarNo = "",
                Wheels_CarType = Cartype,
                Wheels_ldxh = "",
                Wheels_CurrentStatue = "0",
                Wheels_ldtm = "",
                Wheels_InDate = DateTime.Now.ToString(),
                Wheels_level = gkdj,
                Wheels_NewOrOld = newOrOld,
                Wheels_psj = "psj",
                Wheels_gkcc = gkcc,
                Wheels_gkzja = "",//gkzja
                Wheels_gkzjb = "",//gkzjb
                Wheels_gkzjc = "",// gkzjc
                Wheels_ldh = "",
                Wheels_ljz = "",
                Wheels_mttype = mttype,
                //Wheels_SequenceNum = "",
                Wheels_ygljz = "",
            };
 
            if (BaseDal.AddData(wheels_Mes) > 0)
            {
                return content.OK("保存成功");
            }
            else
            {
                return content.Error("保存失败");
            }
        }
        catch (Exception ex)
        {
            return content.Error($"保存失败:{ex.Message}");
        }
    }
 
    public override WebResponseContent DeleteData(object[] keys)
    {
        WebResponseContent content = new WebResponseContent();
        try
        {
            var wheels_Mes = BaseDal.QueryFirst(x => x.Wheels_ID == keys[0].ObjToInt());
 
            if (wheels_Mes == null) throw new Exception("未找到信息,请重试");
 
            var wheels_Mes_Hty = wheels_Mes.Adapt<Dt_InWheels_mes_hty>();
 
            //wheels_Mes_Hty.Wheels_CurrentStatue = "2";
            wheels_Mes_Hty.FinishDate = DateTime.Now;
            wheels_Mes_Hty.Wheels_CurrentStatue = "4";
            wheels_Mes_Hty.OperateType = (int)OperateTypeEnum.人工删除;
 
            _InWheels_Mes_HtyRepository.AddData(wheels_Mes_Hty);
 
            return base.DeleteData(keys[0]);
        }
        catch (Exception ex)
        {
            return content.Error($"删除失败:{ex.Message}");
        }
    }
 
    public override WebResponseContent DeleteData(object key)
    {
        WebResponseContent content = new WebResponseContent();
        try
        {
            var wheels_Mes = BaseDal.QueryFirst(x => x.Wheels_ID == key.ObjToInt());
 
            if (wheels_Mes == null) throw new Exception("未找到信息,请重试");
 
            var wheels_Mes_Hty = wheels_Mes.Adapt<Dt_InWheels_mes_hty>();
 
            wheels_Mes_Hty.Wheels_CurrentStatue = "4";
            wheels_Mes_Hty.FinishDate = DateTime.Now;
            wheels_Mes_Hty.OperateType = (int)OperateTypeEnum.人工删除;
            wheels_Mes_Hty.Modifier = App.User.UserName;
 
            _InWheels_Mes_HtyRepository.AddData(wheels_Mes_Hty);
 
            if (BaseDal.DeleteData(wheels_Mes))
            {
                return content.OK("删除完成");
            }
            else
            {
                return content.Error("删除失败");
            }
        }
        catch (Exception ex)
        {
            return content.Error($"删除失败:{ex.Message}");
        }
    }
 
 
    // 验证模型
    public static List<ValidationResult> ValidateModel(object model)
    {
        // 创建一个验证结果列表
        var validationResults = new List<ValidationResult>();
        // 创建一个验证上下文
        var validationContext = new ValidationContext(model, serviceProvider: null, items: null);
 
        // 使用验证器尝试验证模型,并将验证结果添加到验证结果列表中
        Validator.TryValidateObject(model, validationContext, validationResults, validateAllProperties: true);
 
        // 返回验证结果列表
        return validationResults;
    }
}