提交 | 用户 | age
|
90c6eb
|
1 |
using DIXWeb.Entity.GlobalM; |
J |
2 |
using DIXWeb.Util; |
|
3 |
using DIXWeb.DataRepository; |
|
4 |
using System; |
|
5 |
using System.Collections.Generic; |
|
6 |
using System.Linq; |
|
7 |
using System.Linq.Dynamic; |
8e1d1f
|
8 |
using DIXWeb.DAL; |
A |
9 |
using System.Data.Entity.Infrastructure; |
|
10 |
using System.Data; |
|
11 |
using DIXWeb.Entity.Workflow; |
90c6eb
|
12 |
|
J |
13 |
namespace DIXWeb.Business.GlobalM |
|
14 |
{ |
|
15 |
public class WorkflowNodeBusiness : BaseBusiness<WorkflowNode> |
|
16 |
{ |
|
17 |
#region 外部接口 |
|
18 |
|
|
19 |
/// <summary> |
|
20 |
/// 获取数据列表 |
|
21 |
/// </summary> |
|
22 |
/// <param name="condition">查询类型</param> |
|
23 |
/// <param name="keyword">关键字</param> |
|
24 |
/// <returns></returns> |
|
25 |
public List<WorkflowNode> GetDataList(string condition, string keyword, Pagination pagination) |
|
26 |
{ |
|
27 |
var q = GetIQueryable(); |
|
28 |
|
|
29 |
//模糊查询 |
|
30 |
if (!condition.IsNullOrEmpty() && !keyword.IsNullOrEmpty()) |
|
31 |
q = q.Where($@"{condition}.Contains(@0)", keyword); |
|
32 |
|
|
33 |
return q.GetPagination(pagination).ToList(); |
|
34 |
} |
|
35 |
|
|
36 |
|
|
37 |
/// <summary> |
|
38 |
/// 获取指定的单条数据 |
|
39 |
/// </summary> |
|
40 |
/// <param name="id">主键</param> |
|
41 |
/// <returns></returns> |
|
42 |
public WorkFlowNodeModel GetTheData(int pid,int id) |
|
43 |
{ |
|
44 |
List<WorkFlowNodeModel> r = GetNodeModelList(pid, id, "", ""); |
|
45 |
if (r.Count > 0) return r[0]; |
|
46 |
else return new WorkFlowNodeModel(); |
|
47 |
} |
|
48 |
void ReArrangeNodeModel(WorkFlowNodeModel data) { |
|
49 |
//直接流向下一节点 |
|
50 |
if (data.NextType == 1) |
|
51 |
{ |
|
52 |
data.RoleIds = ""; |
|
53 |
data.RoleNames = ""; |
|
54 |
data.RoleTypeNames = ""; |
|
55 |
data.RoleTypeIds = ""; |
|
56 |
data.MinRoleId = 0; |
|
57 |
data.MinRoleLevel = 0; |
|
58 |
data.MinRoleName = ""; |
|
59 |
} |
|
60 |
//单据提交部门上级角色类别,单据提交部门指定角色类别 |
|
61 |
else if (data.NextType == 2 || data.NextType == 3) |
|
62 |
{ |
|
63 |
data.RoleIds = ""; |
|
64 |
data.RoleNames = ""; |
|
65 |
|
|
66 |
|
|
67 |
} |
|
68 |
//指定部门角色 |
|
69 |
else if (data.NextType == 4) { |
|
70 |
|
|
71 |
data.RoleTypeNames = ""; |
|
72 |
data.RoleTypeIds = ""; |
|
73 |
} |
|
74 |
} |
|
75 |
|
|
76 |
public object GetWorkflowNodeList(int pid, string name, string code) |
|
77 |
{ |
|
78 |
var plist = new List<System.Data.Common.DbParameter>(); |
|
79 |
plist.Add(GlobalDataHelper.NewSqlParameter("@pid", pid)); |
|
80 |
plist.Add(GlobalDataHelper.NewSqlParameter("@name", name)); |
|
81 |
plist.Add(GlobalDataHelper.NewSqlParameter("@code", code)); |
|
82 |
List<WorkFlowNodeModel> r = Service.GetListByProcNew<WorkFlowNodeModel>("wp_WorkflowNode_getsimpledata", plist); |
|
83 |
return r; |
|
84 |
} |
|
85 |
|
|
86 |
/// <summary> |
|
87 |
/// 添加数据 |
|
88 |
/// </summary> |
|
89 |
/// <param name="newData">数据</param> |
|
90 |
public ResultMessage AddData(WorkFlowNodeModel newData) |
|
91 |
{ |
|
92 |
ReArrangeNodeModel(newData); |
|
93 |
var plist = new List<System.Data.Common.DbParameter>(); |
|
94 |
|
|
95 |
plist.Add(GlobalDataHelper.NewSqlParameter("@WorkflowId", newData.WorkflowId)); |
|
96 |
plist.Add(GlobalDataHelper.NewSqlParameter("@Name", newData.Name)); |
|
97 |
plist.Add(GlobalDataHelper.NewSqlParameter("@Code", newData.Code)); |
|
98 |
plist.Add(GlobalDataHelper.NewSqlParameter("@NodeType", newData.NodeType)); |
|
99 |
plist.Add(GlobalDataHelper.NewSqlParameter("@NextType", newData.NextType)); |
|
100 |
plist.Add(GlobalDataHelper.NewSqlParameter("@RoleTypeIds", newData.RoleTypeIds)); |
|
101 |
plist.Add(GlobalDataHelper.NewSqlParameter("@RoleIds", string.IsNullOrEmpty(newData.RoleIds)?"": newData.RoleIds)); |
|
102 |
plist.Add(GlobalDataHelper.NewSqlParameter("@MinRoleId", newData.MinRoleId)); |
|
103 |
plist.Add(GlobalDataHelper.NewSqlParameter("@MinRoleName", string.IsNullOrEmpty(newData.MinRoleName)?"": newData.MinRoleName)); |
|
104 |
plist.Add(GlobalDataHelper.NewSqlParameter("@MinRoleLevel", newData.MinRoleLevel)); |
|
105 |
plist.Add(GlobalDataHelper.NewSqlParameter("@OrderNo", newData.OrderNo)); |
|
106 |
plist.Add(GlobalDataHelper.NewSqlParameter("@rolenames", string.IsNullOrEmpty(newData.RoleNames)?"": newData.RoleNames)); |
|
107 |
plist.Add(GlobalDataHelper.NewSqlParameter("@UserId", GlobalDataHelper.GetLoginUserNo())); |
|
108 |
ResultMessage r = Service.SubmitDataByProc("wp_WorkflowNode_newdata", plist); |
|
109 |
return r; |
|
110 |
} |
|
111 |
|
|
112 |
public List<WorkFlowNodeModel> GetNodeList(int pid, string name, string code, Pagination pagination) |
|
113 |
{ |
|
114 |
List<WorkFlowNodeModel> r = GetNodeModelList(pid,-1,name,code); |
|
115 |
r= r.GetPagination(pagination).ToList(); |
|
116 |
return r; |
|
117 |
} |
|
118 |
public List<WorkFlowNodeModel> GetNodeModelList(int pid,int id, string name, string code) |
|
119 |
{ |
|
120 |
var plist = new List<System.Data.Common.DbParameter>(); |
|
121 |
plist.Add(GlobalDataHelper.NewSqlParameter("@pid", pid)); |
|
122 |
plist.Add(GlobalDataHelper.NewSqlParameter("@id", id)); |
|
123 |
plist.Add(GlobalDataHelper.NewSqlParameter("@name", name)); |
|
124 |
plist.Add(GlobalDataHelper.NewSqlParameter("@code", code)); |
|
125 |
List<WorkFlowNodeModel> r = Service.GetListByProcNew<WorkFlowNodeModel>("wp_WorkflowNode_getdata", plist); |
|
126 |
return r; |
|
127 |
} |
|
128 |
/// <summary> |
|
129 |
/// 更新数据 |
|
130 |
/// </summary> |
|
131 |
public ResultMessage UpdateData(WorkFlowNodeModel theData) |
|
132 |
{ |
|
133 |
ReArrangeNodeModel(theData); |
|
134 |
var plist = new List<System.Data.Common.DbParameter>(); |
|
135 |
plist.Add(GlobalDataHelper.NewSqlParameter("@id", theData.Id)); |
|
136 |
plist.Add(GlobalDataHelper.NewSqlParameter("@WorkflowId", theData.WorkflowId)); |
|
137 |
plist.Add(GlobalDataHelper.NewSqlParameter("@Name", theData.Name)); |
|
138 |
plist.Add(GlobalDataHelper.NewSqlParameter("@Code", theData.Code)); |
|
139 |
plist.Add(GlobalDataHelper.NewSqlParameter("@NodeType", theData.NodeType)); |
|
140 |
plist.Add(GlobalDataHelper.NewSqlParameter("@NextType", theData.NextType)); |
|
141 |
plist.Add(GlobalDataHelper.NewSqlParameter("@RoleTypeIds", theData.RoleTypeIds)); |
|
142 |
plist.Add(GlobalDataHelper.NewSqlParameter("@RoleIds", string.IsNullOrEmpty(theData.RoleIds) ? "" : theData.RoleIds)); |
|
143 |
plist.Add(GlobalDataHelper.NewSqlParameter("@MinRoleId", theData.MinRoleId)); |
|
144 |
plist.Add(GlobalDataHelper.NewSqlParameter("@MinRoleName", string.IsNullOrEmpty(theData.MinRoleName) ? "" : theData.MinRoleName)); |
|
145 |
plist.Add(GlobalDataHelper.NewSqlParameter("@MinRoleLevel", theData.MinRoleLevel)); |
|
146 |
plist.Add(GlobalDataHelper.NewSqlParameter("@OrderNo", theData.OrderNo)); |
|
147 |
plist.Add(GlobalDataHelper.NewSqlParameter("@rolenames", string.IsNullOrEmpty(theData.RoleNames) ? "" : theData.RoleNames)); |
|
148 |
plist.Add(GlobalDataHelper.NewSqlParameter("@UserId", GlobalDataHelper.GetLoginUserNo())); |
|
149 |
ResultMessage r = Service.SubmitDataByProc("wp_WorkflowNode_editdata", plist); |
|
150 |
return r; |
|
151 |
} |
8e1d1f
|
152 |
|
90c6eb
|
153 |
/// <summary> |
J |
154 |
/// 删除数据 |
|
155 |
/// </summary> |
|
156 |
/// <param name="theData">删除的数据</param> |
|
157 |
public ResultMessage DeleteData(string ids) |
|
158 |
{ |
|
159 |
ids = string.IsNullOrEmpty(ids) ? "" : ids; |
|
160 |
ids = ids.Replace("[", "").Replace("]", ""); |
|
161 |
var plist = new List<System.Data.Common.DbParameter>(); |
|
162 |
plist.Add(GlobalDataHelper.NewSqlParameter("@Ids", ids)); |
|
163 |
plist.Add(GlobalDataHelper.NewSqlParameter("@UserId", GlobalDataHelper.GetLoginUserNo())); |
|
164 |
ResultMessage r = Service.SubmitDataByProc("wp_WorkflowNode_deletedata", plist); |
|
165 |
return r; |
|
166 |
} |
|
167 |
|
|
168 |
#endregion |
|
169 |
|
|
170 |
#region 私有成员 |
|
171 |
|
|
172 |
#endregion |
|
173 |
|
|
174 |
#region 数据模型 |
|
175 |
|
|
176 |
#endregion |
8e1d1f
|
177 |
|
A |
178 |
|
7b83a6
|
179 |
public Receive GetWorkflowNode(string Code,string Name, int pageIndex, int pageSize) { |
A |
180 |
Receive receive = new Receive(); |
|
181 |
try |
8e1d1f
|
182 |
{ |
7b83a6
|
183 |
using (DBContext db = new DBContext()) |
A |
184 |
{ |
|
185 |
System.Data.SqlClient.SqlParameter[] paramList = new System.Data.SqlClient.SqlParameter[] { |
|
186 |
new System.Data.SqlClient.SqlParameter("@Code", Code), |
|
187 |
new System.Data.SqlClient.SqlParameter("@Name", Name), |
|
188 |
new System.Data.SqlClient.SqlParameter("@pageIndex", pageIndex), |
|
189 |
new System.Data.SqlClient.SqlParameter("@pageSize", pageSize), |
|
190 |
new System.Data.SqlClient.SqlParameter("@Total", 0), |
|
191 |
}; |
|
192 |
int index = paramList.Length - 1; |
|
193 |
paramList[index].Direction = ParameterDirection.Output; |
|
194 |
receive.rows = db.Database.SqlQuery<ReceiveNode>("exec meta.p_getWorkflowNode @Code,@Name,@pageIndex,@pageSize,@Total output ", paramList).ToList(); |
|
195 |
receive.total = int.Parse(paramList[index].Value.ToString()); |
|
196 |
receive.Code = 200; |
|
197 |
receive.Message = "SUCCESS"; |
|
198 |
} |
8e1d1f
|
199 |
} |
7b83a6
|
200 |
catch (Exception ex) |
A |
201 |
{ |
|
202 |
receive.Code = 500; |
|
203 |
receive.Message = ex.Message; |
|
204 |
} |
|
205 |
return receive; |
8e1d1f
|
206 |
} |
A |
207 |
|
|
208 |
public List<WorkflowNodeType> GetWorkflowNodeType() |
|
209 |
{ |
|
210 |
List<WorkflowNodeType> list = null; |
|
211 |
using (DBContext db =new DBContext()) |
|
212 |
{ |
|
213 |
list = db.WorkflowNodeType.ToList(); |
|
214 |
} |
|
215 |
return list; |
|
216 |
} |
|
217 |
|
|
218 |
public void Insert(WorkflowNode record) |
|
219 |
{ |
|
220 |
using (DBContext db = new DBContext()) |
|
221 |
{ |
|
222 |
db.WorkflowNode.Add(record); |
|
223 |
db.SaveChanges(); |
|
224 |
} |
|
225 |
} |
|
226 |
public void Update(WorkflowNode record) |
|
227 |
{ |
|
228 |
using (DBContext db = new DBContext()) |
|
229 |
{ |
|
230 |
WorkflowNode tempRecord = db.WorkflowNode.Find(record.Id); |
|
231 |
tempRecord.Code = record.Code; |
|
232 |
tempRecord.Name = record.Name; |
1bf8ef
|
233 |
tempRecord.WorkflowId = record.WorkflowId; |
8e1d1f
|
234 |
tempRecord.NodeTypeId = record.NodeTypeId; |
1bf8ef
|
235 |
tempRecord.NextNodeTypeId = record.NextNodeTypeId; |
8e1d1f
|
236 |
tempRecord.MinRoleId = record.MinRoleId; |
A |
237 |
tempRecord.MaxRoleId = record.MaxRoleId; |
|
238 |
tempRecord.OrderNo = record.OrderNo; |
|
239 |
tempRecord.ChUserId = record.ChUserId; |
|
240 |
tempRecord.ChTime = record.ChTime; |
|
241 |
db.SaveChanges(); |
|
242 |
} |
|
243 |
} |
|
244 |
public ReceiveNode SelectById(int Id) |
|
245 |
{ |
|
246 |
ReceiveNode record = null; |
|
247 |
using (DBContext db = new DBContext()) |
|
248 |
{ |
|
249 |
System.Data.SqlClient.SqlParameter[] paramList = new System.Data.SqlClient.SqlParameter[] { |
|
250 |
new System.Data.SqlClient.SqlParameter("@Id", Id), |
|
251 |
}; |
|
252 |
record = db.Database.SqlQuery<ReceiveNode>("EXEC meta.p_getWorkflowNodeById @Id ", paramList).FirstOrDefault(); |
|
253 |
} |
|
254 |
return record; |
|
255 |
} |
90c6eb
|
256 |
} |
J |
257 |
public class WorkFlowNodeModel |
|
258 |
{ |
|
259 |
public int Id { get; set; } |
|
260 |
public int WorkflowId { get; set; } |
|
261 |
public string Name { get; set; } |
|
262 |
public string Code { get; set; } |
|
263 |
public int NodeType { get; set; } |
|
264 |
public string RoleNames { get; set; } |
|
265 |
public string RoleIds { get; set; } |
|
266 |
|
|
267 |
public string RoleTypeNames { get; set; } |
|
268 |
public string RoleTypeIds { get; set; } |
|
269 |
|
|
270 |
|
|
271 |
public int MinRoleLevel { get; set; } |
|
272 |
public string MinRoleName { get; set; } |
|
273 |
public int MinRoleId { get; set; } |
|
274 |
public int OrderNo { get; set; } |
|
275 |
public DateTime CreateTime { get; set; } |
|
276 |
public string CreateUserId { get; set; } |
|
277 |
public DateTime ChTime { get; set; } |
|
278 |
public string ChUserId { get; set; } |
|
279 |
public string RouteCode { get; set; } |
|
280 |
public string RouteName { get; set; } |
|
281 |
public int? ActionType { get; set; } |
|
282 |
public int? RouteOrderNo { get; set; } |
|
283 |
public int? NextType { get; set; } |
|
284 |
|
|
285 |
public string ToNodeName { get; set; } |
|
286 |
public int? ToNodeId { get; set; } |
|
287 |
public int? RouteId { get; set; } |
|
288 |
|
|
289 |
public DateTime RouteChTime { get; set; } |
|
290 |
public string RouteChUserId { get; set; } |
|
291 |
|
|
292 |
} |
|
293 |
} |