HuXiYu
authored
|
1
2
3
4
5
6
7
8
9
10
11
12
|
using Hh.Mes.Common.Infrastructure;
using Hh.Mes.Common.log;
using Hh.Mes.Common.Request;
using Hh.Mes.POJO.Entity;
using Hh.Mes.POJO.Response;
using Hh.Mes.Service.Repository;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using Hh.Mes.Pojo.System;
|
HuXiYu
authored
|
13
|
using NPOI.POIFS.FileSystem;
|
HuXiYu
authored
|
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
namespace Hh.Mes.Service.Base
{
public class BaseSimService : RepositorySqlSugar<base_sim>
{
public dynamic Load(PageReq pageReq, base_sim entity)
{
return ExceptionsHelp.Instance.ExecuteT(() =>
{
var result = new Response<List<base_sim>>();
var expression = LinqWhere(entity);
//先组合查询表达式
var query = Context.Queryable<base_sim>().Where(expression);
//Exel为ture就不分页,因为导出的话是全部导出
if (pageReq != null)
{
int total = 0;
result.Result = query.ToOffsetPage(pageReq.page, pageReq.limit, ref total);
result.Count = total;
}
else
{
result.Result = query.ToList();
|
赖素文
authored
|
37
|
result.Count = result.Result.Count;
|
HuXiYu
authored
|
38
39
40
41
42
43
44
45
46
47
|
}
return result;
}, catchRetrunValue: "list");
}
public dynamic Ins(base_sim entity)
{
return ExceptionsHelp.Instance.ExecuteT(() =>
{
var response = new Response();
|
HuXiYu
authored
|
48
49
|
entity.createBy = sysWebUser?.Account;
entity.createTime = DateTime.Now;
|
HuXiYu
authored
|
50
51
52
53
54
55
56
57
58
59
60
|
response.Status = Add(entity);
if (!response.Status) response.Message = SystemVariable.dataActionError;
return response;
});
}
public dynamic Upd(base_sim entity)
{
return ExceptionsHelp.Instance.ExecuteT(() =>
{
var response = new Response();
|
HuXiYu
authored
|
61
62
63
64
65
66
67
68
69
70
71
72
73
|
//判断如果关联了设备,禁止修改卡号
var historySimInfo = Context.Queryable<base_sim, base_sim_equipment_rel>((x, y) => x.simNumber == y.simNumber)
.Where((x, y) => x.id == entity.id)
.Select((x, y) => new { x.id, x.simNumber })
.First();
if (historySimInfo != null && entity.simNumber != historySimInfo.simNumber)
{
response.Code = 500;
response.Status = false;
response.Message = $"当前sim卡已经关联了设备,禁止修改卡号【{historySimInfo.simNumber}】,如果要修改请先解绑sim卡关联的设备!";
return response;
}
entity.updateBy = sysWebUser.Account;
|
HuXiYu
authored
|
74
|
entity.updateTime = DateTime.Now;
|
HuXiYu
authored
|
75
76
77
78
79
80
|
response.Status = Update(entity);
if (!response.Status) response.Message = SystemVariable.dataActionError;
return response;
});
}
|
HuXiYu
authored
|
81
|
public dynamic DelByIds(string[] ids)
|
HuXiYu
authored
|
82
83
84
85
|
{
return ExceptionsHelp.Instance.ExecuteT(() =>
{
var response = new Response();
|
HuXiYu
authored
|
86
87
88
89
90
91
92
93
94
95
96
97
|
//判断如果关联了设备,禁止删除
var simNumber = ids[0];
var isSimInfo = Context.Queryable<base_sim_equipment_rel>().Any(x => x.simNumber == simNumber);
if (isSimInfo)
{
response.Code = 500;
response.Status = false;
response.Message = "当前sim卡已经关联了设备,禁止删除卡号,如果要修改请先解绑sim卡关联的设备!";
return response;
}
Context.Deleteable<base_sim>(t => ids.Contains(t.simNumber)).ExecuteCommand();
|
HuXiYu
authored
|
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
|
return response;
});
}
public Response ExportData(base_sim entity)
{
return Load(null, entity);
}
public Expression<Func<base_sim, bool>> LinqWhere(base_sim model)
{
try
{
var exp = Expressionable.Create<base_sim>();
//数据过滤条件
//if (!string.IsNullOrWhiteSpace(model.XXX)) exp.And(x => x.XXX.Contains(model.XXX));
if (!string.IsNullOrWhiteSpace(model.simNumber))
{
exp.And(x => x.simNumber.Contains(model.simNumber));
}
if (!string.IsNullOrWhiteSpace(model.ip))
{
exp.And(x => x.ip.Contains(model.ip));
}
if (!string.IsNullOrWhiteSpace(model.suppliersInfo))
{
exp.And(x => x.suppliersInfo.Contains(model.suppliersInfo));
}
return exp.ToExpression();//拼接表达式
}
catch (Exception ex)
{
throw new Exception($"{ex.Message}");
}
}
|
HuXiYu
authored
|
134
|
public dynamic BindEquipment(string simNumber, bool checkeds, string equipmentCode, string projectKeys)
|
HuXiYu
authored
|
135
136
137
138
|
{
return ExceptionsHelp.Instance.ExecuteT(() =>
{
var response = new Response();
|
HuXiYu
authored
|
139
140
141
|
string[] strArray = equipmentCode.Split(new char[] { ',' });
var simBindCount = Context.Queryable<base_sim_equipment_rel>().Where(x => x.simNumber == simNumber).ToList().Count;
if (strArray != null && strArray.Length > 0)
|
HuXiYu
authored
|
142
|
{
|
HuXiYu
authored
|
143
|
foreach (var item in strArray)
|
HuXiYu
authored
|
144
|
{
|
HuXiYu
authored
|
145
|
if (checkeds)
|
赖素文
authored
|
146
147
148
149
150
151
|
{
var isHave = Context.Queryable<base_sim_equipment_rel>()
.Any(x => x.simNumber == simNumber && x.projectKey == new Guid(projectKeys) && x.equipmentCode == item);
if (isHave) continue;
//添加
if (simBindCount < 250 && !isHave)
|
HuXiYu
authored
|
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
|
{
base_sim_equipment_rel bser = new base_sim_equipment_rel();
bser.simNumber = simNumber;
bser.equipmentCode = item;
bser.projectKey = new Guid(projectKeys);
Context.Insertable(bser).AddQueue();
response.Status = Context.SaveQueues() > 0;
if (!response.Status)
{
response.Message = "添加SIM卡关联设备数据失败!";
return response;
}
}
else
{
response.Message = "不可重复绑定!一张SIM卡只允许绑定250个设备,请选择其它SIM卡绑定";
return response;
}
}
else
{
|
赖素文
authored
|
173
174
175
176
177
178
179
180
|
Context.Deleteable<base_sim_equipment_rel>(x => x.simNumber == simNumber && x.projectKey == new Guid(projectKeys) && x.equipmentCode == item).AddQueue();
response.Status = Context.SaveQueues() > 0;
if (!response.Status)
{
response.Message = "删除sim卡与设备绑定关系数据失败!";
return response;
}
}
|
HuXiYu
authored
|
181
|
}
|
HuXiYu
authored
|
182
|
}
|
赖素文
authored
|
183
184
|
response.Message = "业务数据操作成功,稍后刷新列表数据!";
return response;
|
HuXiYu
authored
|
185
186
187
188
|
});
}
}
}
|