1
2
3
4
5
6
using Hh.Mes.Common.log ;
using Hh.Mes.Common.Request ;
using Hh.Mes.Pojo.System ;
using Hh.Mes.POJO.Entity ;
using Hh.Mes.POJO.Response ;
using Hh.Mes.Service.Repository ;
HuXiYu
authored
about a year ago
7
using NPOI.POIFS.FileSystem ;
8
9
10
11
using SqlSugar ;
using System ;
using System.Collections.Generic ;
using System.Data ;
HuXiYu
authored
about a year ago
12
using System.Linq ;
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using System.Text ;
using System.Threading.Tasks ;
namespace Hh.Mes.Service.Configure
{
/// < summary >
/// 工厂
/// </ summary >
public class FactoryService : RepositorySqlSugar < base_factory >
{
/// < summary >
/// 新增 code = 字典前缀 + 对应表标识最大值
/// </ summary >
/// < returns ></ returns >
public dynamic Ins ( base_factory model )
{
var response = new Response ();
return ExceptionsHelp . Instance . ExecuteT (() =>
{
HuXiYu
authored
about a year ago
32
model . keys = Guid . NewGuid ();
33
34
model . createBy = base . sysWebUser ?. Account ;
model . createTime = DateTime . Now ;
赖素文
authored
about a year ago
35
36
37
// var prefix = base . GetDictionaryDictValue ( "base_factory" );
// var maxValue = GetTableMaxValue < base_factory >( "id" );
// model . factoryCode = prefix + maxValue ;
38
39
40
41
42
43
44
45
46
response . Status = Add ( model );
if (! response . Status ) response . Message = "新增失败" ;
return response ;
});
}
/// < summary >
/// 根据主键数组 删除
/// </ summary >
HuXiYu
authored
about a year ago
47
public dynamic DelByIds ( string [] ids )
48
49
50
51
52
53
54
{
return ExceptionsHelp . Instance . ExecuteT (() =>
{
var Result = new Response { Message = "" };
var index = 0 ;
foreach ( var id in ids )
{
HuXiYu
authored
about a year ago
55
var isExist = Context . Queryable < base_equipment >(). Any ( u => u . factoryCode == id );// 是否存在
56
57
58
59
60
if ( isExist )
{
index ++;
// 提示
Result . Code = 500 ;
HuXiYu
authored
about a year ago
61
Result . Message += $ "keys为【{id}】的在设备表里面存在数据不能删除!!!" ;
62
63
64
}
}
if ( index > 0 ) return Result ;
HuXiYu
authored
about a year ago
65
var result = Context . Deleteable < base_factory >(). In ( x => x . factoryCode , ids ). ExecuteCommand () > 0 ;
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
if (! result )
{
Result . Code = 300 ;
Result . Message = SystemVariable . dataActionError ;
}
return Result ;
});
}
/// < summary >
/// 更新
/// </ summary >
public dynamic Upd ( base_factory model )
{
var response = new Response ();
return ExceptionsHelp . Instance . ExecuteT (() =>
{
response . Status = Update ( model );
if (! response . Status ) response . Message = SystemVariable . dataActionError ;
return response ;
});
}
public Task < DataSet > Load ( PageReq pageReq , base_factory mode )
{
HuXiYu
authored
about a year ago
92
93
94
95
96
97
98
99
100
101
102
103
// 用户 - 客户 客户关联的项目
string user = sysWebUser . Account ;
if ( user != SystemVariable . DefaultCreated )// 非管理员
{
sys_user_client_rel clientKeys = Context . Queryable < sys_user_client_rel >(). Where ( x => x . userAccount == user ). First ();
if ( clientKeys != null )
{
List < Guid > projectKeysList = Context . Queryable < base_project_client_rel >(). Where ( x => x . clientKeys == clientKeys . clientKeys ). Select ( x => x . projectKeys ). ToList ();
mode . projectKeysString = string . Join ( "," , projectKeysList );
}
}
104
105
106
107
108
109
110
111
112
113
114
string orderBy = ( pageReq == null || string . IsNullOrEmpty ( pageReq . field )) ? " id desc" : $ "{pageReq.field} {pageReq.order} " ;
string sqlWhere = LoadSqlWhere ( mode );
var stringBuilder = new StringBuilder ();
// 页码,页数
// Exel ture 不分页
if (! mode . Exel && pageReq != null )
{
stringBuilder . Append ( "declare @pageIndex int,@pageSize int,@offset int" );
stringBuilder . AppendLine ( $ " select @pageIndex={pageReq.page}, @pageSize={pageReq.limit}, @offset=(@pageIndex - 1) * @pageSize" );
}
HuXiYu
authored
about a year ago
115
stringBuilder . AppendLine ( $@" select t1 .* from base_factory t1
116
117
118
119
120
121
122
123
124
125
126
127
where { sqlWhere }
order by { orderBy } " );
// Exel false 分页
if (! mode . Exel )
{
stringBuilder . AppendLine ( " offset @offset row fetch next @pageSize row only " );
stringBuilder . Append ( $ " select rowTotal= count(*) from base_factory t1 with(nolock) where {sqlWhere}" );
}
return base . Context . Ado . GetDataSetAllAsync ( stringBuilder . ToString (), new List < SugarParameter >(){
new SugarParameter ( "@factoryCode" , $ "%{mode.factoryCode}%" ),
new SugarParameter ( "@factoryName" , $ "%{mode.factoryName}%" ),
HuXiYu
authored
about a year ago
128
new SugarParameter ( "@factorySelectWhere" , $ "{mode.factorySelectWhere}" ),
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
});
}
private string LoadSqlWhere ( base_factory mode )
{
var stringBuilder = new StringBuilder ();
stringBuilder . Append ( " 1=1 " );
if (! string . IsNullOrEmpty ( mode . factoryCode ))
{
stringBuilder . Append ( " and t1.factoryCode like @factoryCode" );
}
if (! string . IsNullOrEmpty ( mode . factoryName ))
{
stringBuilder . Append ( " and t1.factoryName like @factoryName" );
}
HuXiYu
authored
about a year ago
144
145
146
147
148
149
150
if (! string . IsNullOrEmpty ( mode . projectKeysString ))
{
var projectKeysList = mode . projectKeysString . Split ( ',' , StringSplitOptions . RemoveEmptyEntries );
var projectKeys = string . Join ( "','" , projectKeysList . ToArray ());
stringBuilder . AppendFormat ( " and t1.projectKeys in ('{0}')" , projectKeys );
}
HuXiYu
authored
about a year ago
151
152
153
154
if (! string . IsNullOrEmpty ( mode . factorySelectWhere ))
{
stringBuilder . Append ( " and t1.projectKeys = @factorySelectWhere" );
}
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
return stringBuilder . ToString ();
}
/// < summary >
/// 导出
/// </ summary >
public dynamic ExportData ( base_factory entity )
{
return ExceptionsHelp . Instance . ExecuteT (() =>
{
var result = new Response ();
var ds = Load ( null , entity );
if ( ds == null || ds . Result . Tables [ 0 ]. Rows . Count == 0 )
{
result . Result = "[]" ;
result . Count = 0 ;
}
else
{
result . Result = ds . Result . Tables [ 0 ];
result . Count = result . Result . Rows . Count ;
}
return result ;
}, catchRetrunValue : "list" );
}
}
}