浏览代码

添加新工单类

mengjie 6 年之前
父节点
当前提交
fb06634731

+ 138 - 0
codegit/CallCenterApi/CallCenterApi.BLL/T_Wo_WorkOrderNew.cs

@@ -0,0 +1,138 @@
1
+using System;
2
+using System.Data;
3
+using System.Collections.Generic;
4
+using CallCenterApi.Model;
5
+namespace CallCenterApi.BLL
6
+{
7
+    /// <summary>
8
+    /// T_Wo_WorkOrderNew
9
+    /// </summary>
10
+    public partial class T_Wo_WorkOrderNew
11
+    {
12
+        private readonly CallCenterApi.DAL.T_Wo_WorkOrderNew dal = new CallCenterApi.DAL.T_Wo_WorkOrderNew();
13
+        public T_Wo_WorkOrderNew()
14
+        { }
15
+        #region  BasicMethod
16
+
17
+        /// <summary>
18
+        /// 增加一条数据
19
+        /// </summary>
20
+        public int Add(CallCenterApi.Model.T_Wo_WorkOrderNew model)
21
+        {
22
+            return dal.Add(model);
23
+        }
24
+
25
+        /// <summary>
26
+        /// 更新一条数据
27
+        /// </summary>
28
+        public bool Update(CallCenterApi.Model.T_Wo_WorkOrderNew model)
29
+        {
30
+            return dal.Update(model);
31
+        }
32
+
33
+        /// <summary>
34
+        /// 删除一条数据
35
+        /// </summary>
36
+        public bool Delete()
37
+        {
38
+            //该表无主键信息,请自定义主键/条件字段
39
+            return dal.Delete();
40
+        }
41
+        /// <summary>
42
+        /// 删除一条数据
43
+        /// </summary>
44
+        public bool DeleteList(string IDlist)
45
+        {
46
+            return dal.DeleteList(IDlist);
47
+        }
48
+        /// <summary>
49
+        /// 得到一个对象实体
50
+        /// </summary>
51
+        public CallCenterApi.Model.T_Wo_WorkOrderNew GetModel(long ID)
52
+        {
53
+
54
+            return dal.GetModel(ID);
55
+        }
56
+
57
+
58
+        /// <summary>
59
+        /// 获得数据列表
60
+        /// </summary>
61
+        public DataSet GetList(string strWhere)
62
+        {
63
+            return dal.GetList(strWhere);
64
+        }
65
+        /// <summary>
66
+        /// 获得前几行数据
67
+        /// </summary>
68
+        public DataSet GetList(int Top, string strWhere, string filedOrder)
69
+        {
70
+            return dal.GetList(Top, strWhere, filedOrder);
71
+        }
72
+        /// <summary>
73
+        /// 获得数据列表
74
+        /// </summary>
75
+        public List<CallCenterApi.Model.T_Wo_WorkOrderNew> GetModelList(string strWhere)
76
+        {
77
+            DataSet ds = dal.GetList(strWhere);
78
+            return DataTableToList(ds.Tables[0]);
79
+        }
80
+        /// <summary>
81
+        /// 获得数据列表
82
+        /// </summary>
83
+        public List<CallCenterApi.Model.T_Wo_WorkOrderNew> DataTableToList(DataTable dt)
84
+        {
85
+            List<CallCenterApi.Model.T_Wo_WorkOrderNew> modelList = new List<CallCenterApi.Model.T_Wo_WorkOrderNew>();
86
+            int rowsCount = dt.Rows.Count;
87
+            if (rowsCount > 0)
88
+            {
89
+                CallCenterApi.Model.T_Wo_WorkOrderNew model;
90
+                for (int n = 0; n < rowsCount; n++)
91
+                {
92
+                    model = dal.DataRowToModel(dt.Rows[n]);
93
+                    if (model != null)
94
+                    {
95
+                        modelList.Add(model);
96
+                    }
97
+                }
98
+            }
99
+            return modelList;
100
+        }
101
+
102
+        /// <summary>
103
+        /// 获得数据列表
104
+        /// </summary>
105
+        public DataSet GetAllList()
106
+        {
107
+            return GetList("");
108
+        }
109
+
110
+        /// <summary>
111
+        /// 分页获取数据列表
112
+        /// </summary>
113
+        public int GetRecordCount(string strWhere)
114
+        {
115
+            return dal.GetRecordCount(strWhere);
116
+        }
117
+        /// <summary>
118
+        /// 分页获取数据列表
119
+        /// </summary>
120
+        public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)
121
+        {
122
+            return dal.GetListByPage(strWhere, orderby, startIndex, endIndex);
123
+        }
124
+        /// <summary>
125
+        /// 分页获取数据列表
126
+        /// </summary>
127
+        //public DataSet GetList(int PageSize,int PageIndex,string strWhere)
128
+        //{
129
+        //return dal.GetList(PageSize,PageIndex,strWhere);
130
+        //}
131
+
132
+        #endregion  BasicMethod
133
+        #region  ExtensionMethod
134
+
135
+        #endregion  ExtensionMethod
136
+    }
137
+}
138
+

+ 583 - 0
codegit/CallCenterApi/CallCenterApi.DAL/T_Wo_WorkOrderNew.cs

@@ -0,0 +1,583 @@
1
+using System;
2
+using System.Data;
3
+using System.Text;
4
+using System.Data.SqlClient;
5
+using CallCenterApi.DB;
6
+
7
+namespace CallCenterApi.DAL
8
+{
9
+    /// <summary>
10
+    /// 数据访问类:T_Wo_WorkOrderNew
11
+    /// </summary>
12
+    public partial class T_Wo_WorkOrderNew
13
+    {
14
+        public T_Wo_WorkOrderNew()
15
+        { }
16
+        #region  BasicMethod
17
+
18
+
19
+
20
+        /// <summary>
21
+        /// 增加一条数据
22
+        /// </summary>
23
+        public int Add(CallCenterApi.Model.T_Wo_WorkOrderNew model)
24
+        {
25
+            StringBuilder strSql = new StringBuilder();
26
+            strSql.Append("insert into T_Wo_WorkOrderNew(");
27
+            strSql.Append("WorkOrderID,CustomerName,CustomerTel,Gender,Location,Reservation,IDnumber,Department,Expert,AppointmentTime,IsMedical,Project,TranDepartment,DriveoutTime,AboutcarMan,CarTel,Condition,IsCar,TreatmentAddress,ComplaintDepartment,ComplaintTarget,IsRelevant,Remarks,Problem,IsOver,DealContents,DealTime,F_State,Files,CreateTime,Createby,CallID,IsDelete,DelTime,TypeClass,DealBy)");
28
+            strSql.Append(" values (");
29
+            strSql.Append("@WorkOrderID,@CustomerName,@CustomerTel,@Gender,@Location,@Reservation,@IDnumber,@Department,@Expert,@AppointmentTime,@IsMedical,@Project,@TranDepartment,@DriveoutTime,@AboutcarMan,@CarTel,@Condition,@IsCar,@TreatmentAddress,@ComplaintDepartment,@ComplaintTarget,@IsRelevant,@Remarks,@Problem,@IsOver,@DealContents,@DealTime,@F_State,@Files,@CreateTime,@Createby,@CallID,@IsDelete,@DelTime,@TypeClass,@DealBy)");
30
+            strSql.Append(";select @@IDENTITY");
31
+            SqlParameter[] parameters = {
32
+
33
+                    new SqlParameter("@WorkOrderID", SqlDbType.VarChar,-1),
34
+                    new SqlParameter("@CustomerName", SqlDbType.VarChar,200),
35
+                    new SqlParameter("@CustomerTel", SqlDbType.VarChar,200),
36
+                    new SqlParameter("@Gender", SqlDbType.Int,4),
37
+                    new SqlParameter("@Location", SqlDbType.VarChar,-1),
38
+                    new SqlParameter("@Reservation", SqlDbType.VarChar,200),
39
+                    new SqlParameter("@IDnumber", SqlDbType.VarChar,-1),
40
+                    new SqlParameter("@Department", SqlDbType.VarChar,200),
41
+                    new SqlParameter("@Expert", SqlDbType.VarChar,-1),
42
+                    new SqlParameter("@AppointmentTime", SqlDbType.DateTime),
43
+                    new SqlParameter("@IsMedical", SqlDbType.Int,4),
44
+                    new SqlParameter("@Project", SqlDbType.VarChar,-1),
45
+                    new SqlParameter("@TranDepartment", SqlDbType.VarChar,200),
46
+                    new SqlParameter("@DriveoutTime", SqlDbType.DateTime),
47
+                    new SqlParameter("@AboutcarMan", SqlDbType.VarChar,-1),
48
+                    new SqlParameter("@CarTel", SqlDbType.VarChar,-1),
49
+                    new SqlParameter("@Condition", SqlDbType.VarChar,-1),
50
+                    new SqlParameter("@IsCar", SqlDbType.Int,4),
51
+                    new SqlParameter("@TreatmentAddress", SqlDbType.VarChar,-1),
52
+                    new SqlParameter("@ComplaintDepartment", SqlDbType.VarChar,200),
53
+                    new SqlParameter("@ComplaintTarget", SqlDbType.VarChar,200),
54
+                    new SqlParameter("@IsRelevant", SqlDbType.Int,4),
55
+                    new SqlParameter("@Remarks", SqlDbType.VarChar,-1),
56
+                    new SqlParameter("@Problem", SqlDbType.VarChar,-1),
57
+                    new SqlParameter("@IsOver", SqlDbType.Int,4),
58
+                    new SqlParameter("@DealContents", SqlDbType.VarChar,-1),
59
+                    new SqlParameter("@DealTime", SqlDbType.DateTime),
60
+                    new SqlParameter("@F_State", SqlDbType.Int,4),
61
+                    new SqlParameter("@Files", SqlDbType.VarChar,-1),
62
+                    new SqlParameter("@CreateTime", SqlDbType.DateTime),
63
+                    new SqlParameter("@Createby", SqlDbType.VarChar,100),
64
+                    new SqlParameter("@CallID", SqlDbType.VarChar,100),
65
+                    new SqlParameter("@IsDelete", SqlDbType.Int,4),
66
+                    new SqlParameter("@DelTime", SqlDbType.DateTime),
67
+                    new SqlParameter("@TypeClass", SqlDbType.NVarChar,200),
68
+            new SqlParameter("@DealBy", SqlDbType.NVarChar,200)};
69
+            parameters[0].Value = model.WorkOrderID;
70
+            parameters[1].Value = model.CustomerName;
71
+            parameters[2].Value = model.CustomerTel;
72
+            parameters[3].Value = model.Gender;
73
+            parameters[4].Value = model.Location;
74
+            parameters[5].Value = model.Reservation;
75
+            parameters[6].Value = model.IDnumber;
76
+            parameters[7].Value = model.Department;
77
+            parameters[8].Value = model.Expert;
78
+            parameters[9].Value = model.AppointmentTime;
79
+            parameters[10].Value = model.IsMedical;
80
+            parameters[11].Value = model.Project;
81
+            parameters[12].Value = model.TranDepartment;
82
+            parameters[13].Value = model.DriveoutTime;
83
+            parameters[14].Value = model.AboutcarMan;
84
+            parameters[15].Value = model.CarTel;
85
+            parameters[16].Value = model.Condition;
86
+            parameters[17].Value = model.IsCar;
87
+            parameters[18].Value = model.TreatmentAddress;
88
+            parameters[19].Value = model.ComplaintDepartment;
89
+            parameters[20].Value = model.ComplaintTarget;
90
+            parameters[21].Value = model.IsRelevant;
91
+            parameters[22].Value = model.Remarks;
92
+            parameters[23].Value = model.Problem;
93
+            parameters[24].Value = model.IsOver;
94
+            parameters[25].Value = model.DealContents;
95
+            parameters[26].Value = model.DealTime;
96
+            parameters[27].Value = model.F_State;
97
+            parameters[28].Value = model.Files;
98
+            parameters[29].Value = model.CreateTime;
99
+            parameters[30].Value = model.Createby;
100
+            parameters[31].Value = model.CallID;
101
+            parameters[32].Value = model.IsDelete;
102
+            parameters[33].Value = model.DelTime;
103
+            parameters[34].Value = model.TypeClass;
104
+            parameters[35].Value = model.DealBy;
105
+            int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
106
+            return rows;
107
+
108
+        }
109
+        /// <summary>
110
+        /// 更新一条数据
111
+        /// </summary>
112
+        public bool Update(CallCenterApi.Model.T_Wo_WorkOrderNew model)
113
+        {
114
+            StringBuilder strSql = new StringBuilder();
115
+            strSql.Append("update T_Wo_WorkOrderNew set ");
116
+
117
+            strSql.Append("WorkOrderID=@WorkOrderID,");
118
+            strSql.Append("CustomerName=@CustomerName,");
119
+            strSql.Append("CustomerTel=@CustomerTel,");
120
+            strSql.Append("Gender=@Gender,");
121
+            strSql.Append("Location=@Location,");
122
+            strSql.Append("Reservation=@Reservation,");
123
+            strSql.Append("IDnumber=@IDnumber,");
124
+            strSql.Append("Department=@Department,");
125
+            strSql.Append("Expert=@Expert,");
126
+            strSql.Append("AppointmentTime=@AppointmentTime,");
127
+            strSql.Append("IsMedical=@IsMedical,");
128
+            strSql.Append("Project=@Project,");
129
+            strSql.Append("TranDepartment=@TranDepartment,");
130
+            strSql.Append("DriveoutTime=@DriveoutTime,");
131
+            strSql.Append("AboutcarMan=@AboutcarMan,");
132
+            strSql.Append("CarTel=@CarTel,");
133
+            strSql.Append("Condition=@Condition,");
134
+            strSql.Append("IsCar=@IsCar,");
135
+            strSql.Append("TreatmentAddress=@TreatmentAddress,");
136
+            strSql.Append("ComplaintDepartment=@ComplaintDepartment,");
137
+            strSql.Append("ComplaintTarget=@ComplaintTarget,");
138
+            strSql.Append("IsRelevant=@IsRelevant,");
139
+            strSql.Append("Remarks=@Remarks,");
140
+            strSql.Append("Problem=@Problem,");
141
+            strSql.Append("IsOver=@IsOver,");
142
+            strSql.Append("DealContents=@DealContents,");
143
+            strSql.Append("DealTime=@DealTime,");
144
+            strSql.Append("F_State=@F_State,");
145
+            strSql.Append("Files=@Files,");
146
+            strSql.Append("CreateTime=@CreateTime,");
147
+            strSql.Append("Createby=@Createby,");
148
+            strSql.Append("CallID=@CallID,");
149
+            strSql.Append("IsDelete=@IsDelete,");
150
+            strSql.Append("DelTime=@DelTime,");
151
+            strSql.Append("TypeClass=@TypeClass,");
152
+            strSql.Append("DealBy=@DealBy");
153
+            strSql.Append(" where ID=@ID");
154
+            SqlParameter[] parameters = {
155
+
156
+                    new SqlParameter("@WorkOrderID", SqlDbType.VarChar,-1),
157
+                    new SqlParameter("@CustomerName", SqlDbType.VarChar,200),
158
+                    new SqlParameter("@CustomerTel", SqlDbType.VarChar,200),
159
+                    new SqlParameter("@Gender", SqlDbType.Int,4),
160
+                    new SqlParameter("@Location", SqlDbType.VarChar,-1),
161
+                    new SqlParameter("@Reservation", SqlDbType.VarChar,200),
162
+                    new SqlParameter("@IDnumber", SqlDbType.VarChar,-1),
163
+                    new SqlParameter("@Department", SqlDbType.VarChar,200),
164
+                    new SqlParameter("@Expert", SqlDbType.VarChar,-1),
165
+                    new SqlParameter("@AppointmentTime", SqlDbType.DateTime),
166
+                    new SqlParameter("@IsMedical", SqlDbType.Int,4),
167
+                    new SqlParameter("@Project", SqlDbType.VarChar,-1),
168
+                    new SqlParameter("@TranDepartment", SqlDbType.VarChar,200),
169
+                    new SqlParameter("@DriveoutTime", SqlDbType.DateTime),
170
+                    new SqlParameter("@AboutcarMan", SqlDbType.VarChar,-1),
171
+                    new SqlParameter("@CarTel", SqlDbType.VarChar,-1),
172
+                    new SqlParameter("@Condition", SqlDbType.VarChar,-1),
173
+                    new SqlParameter("@IsCar", SqlDbType.Int,4),
174
+                    new SqlParameter("@TreatmentAddress", SqlDbType.VarChar,-1),
175
+                    new SqlParameter("@ComplaintDepartment", SqlDbType.VarChar,200),
176
+                    new SqlParameter("@ComplaintTarget", SqlDbType.VarChar,200),
177
+                    new SqlParameter("@IsRelevant", SqlDbType.Int,4),
178
+                    new SqlParameter("@Remarks", SqlDbType.VarChar,-1),
179
+                    new SqlParameter("@Problem", SqlDbType.VarChar,-1),
180
+                    new SqlParameter("@IsOver", SqlDbType.Int,4),
181
+                    new SqlParameter("@DealContents", SqlDbType.VarChar,-1),
182
+                    new SqlParameter("@DealTime", SqlDbType.DateTime),
183
+                    new SqlParameter("@F_State", SqlDbType.Int,4),
184
+                    new SqlParameter("@Files", SqlDbType.VarChar,-1),
185
+                    new SqlParameter("@CreateTime", SqlDbType.DateTime),
186
+                    new SqlParameter("@Createby", SqlDbType.VarChar,100),
187
+                    new SqlParameter("@CallID", SqlDbType.VarChar,100),
188
+                    new SqlParameter("@IsDelete", SqlDbType.Int,4),
189
+                    new SqlParameter("@DelTime", SqlDbType.DateTime),
190
+                    new SqlParameter("@TypeClass", SqlDbType.NVarChar,200),
191
+             new SqlParameter("@DealBy", SqlDbType.NVarChar,200),
192
+              new SqlParameter("@ID", SqlDbType.BigInt,8)};
193
+
194
+            parameters[0].Value = model.WorkOrderID;
195
+            parameters[1].Value = model.CustomerName;
196
+            parameters[2].Value = model.CustomerTel;
197
+            parameters[3].Value = model.Gender;
198
+            parameters[4].Value = model.Location;
199
+            parameters[5].Value = model.Reservation;
200
+            parameters[6].Value = model.IDnumber;
201
+            parameters[7].Value = model.Department;
202
+            parameters[8].Value = model.Expert;
203
+            parameters[9].Value = model.AppointmentTime;
204
+            parameters[10].Value = model.IsMedical;
205
+            parameters[11].Value = model.Project;
206
+            parameters[12].Value = model.TranDepartment;
207
+            parameters[13].Value = model.DriveoutTime;
208
+            parameters[14].Value = model.AboutcarMan;
209
+            parameters[15].Value = model.CarTel;
210
+            parameters[16].Value = model.Condition;
211
+            parameters[17].Value = model.IsCar;
212
+            parameters[18].Value = model.TreatmentAddress;
213
+            parameters[19].Value = model.ComplaintDepartment;
214
+            parameters[20].Value = model.ComplaintTarget;
215
+            parameters[21].Value = model.IsRelevant;
216
+            parameters[22].Value = model.Remarks;
217
+            parameters[23].Value = model.Problem;
218
+            parameters[24].Value = model.IsOver;
219
+            parameters[25].Value = model.DealContents;
220
+            parameters[26].Value = model.DealTime;
221
+            parameters[27].Value = model.F_State;
222
+            parameters[28].Value = model.Files;
223
+            parameters[29].Value = model.CreateTime;
224
+            parameters[30].Value = model.Createby;
225
+            parameters[31].Value = model.CallID;
226
+            parameters[32].Value = model.IsDelete;
227
+            parameters[33].Value = model.DelTime;
228
+            parameters[34].Value = model.TypeClass;
229
+            parameters[35].Value = model.DealBy;
230
+            parameters[36].Value = model.ID;
231
+            int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
232
+            if (rows > 0)
233
+            {
234
+                return true;
235
+            }
236
+            else
237
+            {
238
+                return false;
239
+            }
240
+        }
241
+
242
+        /// <summary>
243
+        /// 删除一条数据
244
+        /// </summary>
245
+        public bool Delete()
246
+        {
247
+            //该表无主键信息,请自定义主键/条件字段
248
+            StringBuilder strSql = new StringBuilder();
249
+            strSql.Append("delete from T_Wo_WorkOrderNew ");
250
+            strSql.Append(" where ");
251
+            SqlParameter[] parameters = {
252
+            };
253
+
254
+            int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
255
+            if (rows > 0)
256
+            {
257
+                return true;
258
+            }
259
+            else
260
+            {
261
+                return false;
262
+            }
263
+        }
264
+        /// <summary>
265
+        /// 批量删除数据
266
+        /// </summary>
267
+        public bool DeleteList(string IDlist)
268
+        {
269
+            StringBuilder strSql = new StringBuilder();
270
+            strSql.Append("update T_Wo_WorkOrderNew set IsDelete=1 ");
271
+            //  strSql.Append("delete from T_Wo_WorkOrder ");
272
+            strSql.Append(" where ID in (" + IDlist + ")  ");
273
+            int rows = DbHelperSQL.ExecuteSql(strSql.ToString());
274
+            if (rows > 0)
275
+            {
276
+                return true;
277
+            }
278
+            else
279
+            {
280
+                return false;
281
+            }
282
+        }
283
+
284
+        /// <summary>
285
+        /// 得到一个对象实体
286
+        /// </summary>
287
+        public CallCenterApi.Model.T_Wo_WorkOrderNew GetModel(long ID)
288
+        {
289
+            //该表无主键信息,请自定义主键/条件字段
290
+            StringBuilder strSql = new StringBuilder();
291
+            strSql.Append("select  top 1 ID,WorkOrderID,CustomerName,CustomerTel,Gender,Location,Reservation,IDnumber,Department,Expert,AppointmentTime,IsMedical,Project,TranDepartment,DriveoutTime,AboutcarMan,CarTel,Condition,IsCar,TreatmentAddress,ComplaintDepartment,ComplaintTarget,IsRelevant,Remarks,Problem,IsOver,DealContents,DealTime,F_State,Files,CreateTime,Createby,CallID,IsDelete,DelTime,TypeClass,DealBy from T_Wo_WorkOrderNew ");
292
+            strSql.Append(" where ID=@ID");
293
+            SqlParameter[] parameters = {
294
+                 new SqlParameter("@ID", SqlDbType.BigInt)
295
+            };
296
+            parameters[0].Value = ID;
297
+            CallCenterApi.Model.T_Wo_WorkOrderNew model = new CallCenterApi.Model.T_Wo_WorkOrderNew();
298
+            DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
299
+            if (ds.Tables[0].Rows.Count > 0)
300
+            {
301
+                return DataRowToModel(ds.Tables[0].Rows[0]);
302
+            }
303
+            else
304
+            {
305
+                return null;
306
+            }
307
+        }
308
+
309
+
310
+        /// <summary>
311
+        /// 得到一个对象实体
312
+        /// </summary>
313
+        public CallCenterApi.Model.T_Wo_WorkOrderNew DataRowToModel(DataRow row)
314
+        {
315
+            CallCenterApi.Model.T_Wo_WorkOrderNew model = new CallCenterApi.Model.T_Wo_WorkOrderNew();
316
+            if (row != null)
317
+            {
318
+                if (row["ID"] != null && row["ID"].ToString() != "")
319
+                {
320
+                    model.ID = long.Parse(row["ID"].ToString());
321
+                }
322
+                if (row["WorkOrderID"] != null)
323
+                {
324
+                    model.WorkOrderID = row["WorkOrderID"].ToString();
325
+                }
326
+                if (row["CustomerName"] != null)
327
+                {
328
+                    model.CustomerName = row["CustomerName"].ToString();
329
+                }
330
+                if (row["CustomerTel"] != null)
331
+                {
332
+                    model.CustomerTel = row["CustomerTel"].ToString();
333
+                }
334
+                if (row["Gender"] != null && row["Gender"].ToString() != "")
335
+                {
336
+                    model.Gender = int.Parse(row["Gender"].ToString());
337
+                }
338
+                if (row["Location"] != null)
339
+                {
340
+                    model.Location = row["Location"].ToString();
341
+                }
342
+                if (row["Reservation"] != null)
343
+                {
344
+                    model.Reservation = row["Reservation"].ToString();
345
+                }
346
+                if (row["IDnumber"] != null)
347
+                {
348
+                    model.IDnumber = row["IDnumber"].ToString();
349
+                }
350
+                if (row["Department"] != null)
351
+                {
352
+                    model.Department = row["Department"].ToString();
353
+                }
354
+                if (row["Expert"] != null)
355
+                {
356
+                    model.Expert = row["Expert"].ToString();
357
+                }
358
+                if (row["AppointmentTime"] != null && row["AppointmentTime"].ToString() != "")
359
+                {
360
+                    model.AppointmentTime = DateTime.Parse(row["AppointmentTime"].ToString());
361
+                }
362
+                if (row["IsMedical"] != null && row["IsMedical"].ToString() != "")
363
+                {
364
+                    model.IsMedical = int.Parse(row["IsMedical"].ToString());
365
+                }
366
+                if (row["Project"] != null)
367
+                {
368
+                    model.Project = row["Project"].ToString();
369
+                }
370
+                if (row["TranDepartment"] != null)
371
+                {
372
+                    model.TranDepartment = row["TranDepartment"].ToString();
373
+                }
374
+                if (row["DriveoutTime"] != null && row["DriveoutTime"].ToString() != "")
375
+                {
376
+                    model.DriveoutTime = DateTime.Parse(row["DriveoutTime"].ToString());
377
+                }
378
+                if (row["AboutcarMan"] != null)
379
+                {
380
+                    model.AboutcarMan = row["AboutcarMan"].ToString();
381
+                }
382
+                if (row["CarTel"] != null)
383
+                {
384
+                    model.CarTel = row["CarTel"].ToString();
385
+                }
386
+                if (row["Condition"] != null)
387
+                {
388
+                    model.Condition = row["Condition"].ToString();
389
+                }
390
+                if (row["IsCar"] != null && row["IsCar"].ToString() != "")
391
+                {
392
+                    model.IsCar = int.Parse(row["IsCar"].ToString());
393
+                }
394
+                if (row["TreatmentAddress"] != null)
395
+                {
396
+                    model.TreatmentAddress = row["TreatmentAddress"].ToString();
397
+                }
398
+                if (row["ComplaintDepartment"] != null)
399
+                {
400
+                    model.ComplaintDepartment = row["ComplaintDepartment"].ToString();
401
+                }
402
+                if (row["ComplaintTarget"] != null)
403
+                {
404
+                    model.ComplaintTarget = row["ComplaintTarget"].ToString();
405
+                }
406
+                if (row["IsRelevant"] != null && row["IsRelevant"].ToString() != "")
407
+                {
408
+                    model.IsRelevant = int.Parse(row["IsRelevant"].ToString());
409
+                }
410
+                if (row["Remarks"] != null)
411
+                {
412
+                    model.Remarks = row["Remarks"].ToString();
413
+                }
414
+                if (row["Problem"] != null)
415
+                {
416
+                    model.Problem = row["Problem"].ToString();
417
+                }
418
+                if (row["IsOver"] != null && row["IsOver"].ToString() != "")
419
+                {
420
+                    model.IsOver = int.Parse(row["IsOver"].ToString());
421
+                }
422
+                if (row["DealContents"] != null)
423
+                {
424
+                    model.DealContents = row["DealContents"].ToString();
425
+                }
426
+                if (row["DealTime"] != null && row["DealTime"].ToString() != "")
427
+                {
428
+                    model.DealTime = DateTime.Parse(row["DealTime"].ToString());
429
+                }
430
+                if (row["F_State"] != null && row["F_State"].ToString() != "")
431
+                {
432
+                    model.F_State = int.Parse(row["F_State"].ToString());
433
+                }
434
+                if (row["Files"] != null)
435
+                {
436
+                    model.Files = row["Files"].ToString();
437
+                }
438
+                if (row["CreateTime"] != null && row["CreateTime"].ToString() != "")
439
+                {
440
+                    model.CreateTime = DateTime.Parse(row["CreateTime"].ToString());
441
+                }
442
+                if (row["Createby"] != null)
443
+                {
444
+                    model.Createby = row["Createby"].ToString();
445
+                }
446
+                if (row["CallID"] != null)
447
+                {
448
+                    model.CallID = row["CallID"].ToString();
449
+                }
450
+                if (row["IsDelete"] != null && row["IsDelete"].ToString() != "")
451
+                {
452
+                    model.IsDelete = int.Parse(row["IsDelete"].ToString());
453
+                }
454
+                if (row["DelTime"] != null && row["DelTime"].ToString() != "")
455
+                {
456
+                    model.DelTime = DateTime.Parse(row["DelTime"].ToString());
457
+                }
458
+                if (row["TypeClass"] != null)
459
+                {
460
+                    model.TypeClass = row["TypeClass"].ToString();
461
+                }
462
+                if (row["DealBy"] != null)
463
+                {
464
+                    model.DealBy = row["DealBy"].ToString();
465
+                }
466
+            }
467
+            return model;
468
+        }
469
+
470
+        /// <summary>
471
+        /// 获得数据列表
472
+        /// </summary>
473
+        public DataSet GetList(string strWhere)
474
+        {
475
+            StringBuilder strSql = new StringBuilder();
476
+            strSql.Append("select ID,WorkOrderID,CustomerName,CustomerTel,Gender,Location,Reservation,IDnumber,Department,Expert,AppointmentTime,IsMedical,Project,TranDepartment,DriveoutTime,AboutcarMan,CarTel,Condition,IsCar,TreatmentAddress,ComplaintDepartment,ComplaintTarget,IsRelevant,Remarks,Problem,IsOver,DealContents,DealTime,F_State,Files,CreateTime,Createby,CallID,IsDelete,DelTime,TypeClass ");
477
+            strSql.Append(" FROM T_Wo_WorkOrderNew ");
478
+            if (strWhere.Trim() != "")
479
+            {
480
+                strSql.Append(" where " + strWhere);
481
+            }
482
+            return DbHelperSQL.Query(strSql.ToString());
483
+        }
484
+
485
+        /// <summary>
486
+        /// 获得前几行数据
487
+        /// </summary>
488
+        public DataSet GetList(int Top, string strWhere, string filedOrder)
489
+        {
490
+            StringBuilder strSql = new StringBuilder();
491
+            strSql.Append("select ");
492
+            if (Top > 0)
493
+            {
494
+                strSql.Append(" top " + Top.ToString());
495
+            }
496
+            strSql.Append(" ID,WorkOrderID,CustomerName,CustomerTel,Gender,Location,Reservation,IDnumber,Department,Expert,AppointmentTime,IsMedical,Project,TranDepartment,DriveoutTime,AboutcarMan,CarTel,Condition,IsCar,TreatmentAddress,ComplaintDepartment,ComplaintTarget,IsRelevant,Remarks,Problem,IsOver,DealContents,DealTime,F_State,Files,CreateTime,Createby,CallID,IsDelete,DelTime,TypeClass ");
497
+            strSql.Append(" FROM T_Wo_WorkOrderNew ");
498
+            if (strWhere.Trim() != "")
499
+            {
500
+                strSql.Append(" where " + strWhere);
501
+            }
502
+            strSql.Append(" order by " + filedOrder);
503
+            return DbHelperSQL.Query(strSql.ToString());
504
+        }
505
+
506
+        /// <summary>
507
+        /// 获取记录总数
508
+        /// </summary>
509
+        public int GetRecordCount(string strWhere)
510
+        {
511
+            StringBuilder strSql = new StringBuilder();
512
+            strSql.Append("select count(1) FROM T_Wo_WorkOrderNew ");
513
+            if (strWhere.Trim() != "")
514
+            {
515
+                strSql.Append(" where " + strWhere);
516
+            }
517
+            object obj = DbHelperSQL.GetSingle(strSql.ToString());
518
+            if (obj == null)
519
+            {
520
+                return 0;
521
+            }
522
+            else
523
+            {
524
+                return Convert.ToInt32(obj);
525
+            }
526
+        }
527
+        /// <summary>
528
+        /// 分页获取数据列表
529
+        /// </summary>
530
+        public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)
531
+        {
532
+            StringBuilder strSql = new StringBuilder();
533
+            strSql.Append("SELECT * FROM ( ");
534
+            strSql.Append(" SELECT ROW_NUMBER() OVER (");
535
+            if (!string.IsNullOrEmpty(orderby.Trim()))
536
+            {
537
+                strSql.Append("order by T." + orderby);
538
+            }
539
+            else
540
+            {
541
+                strSql.Append("order by T. desc");
542
+            }
543
+            strSql.Append(")AS Row, T.*  from T_Wo_WorkOrderNew T ");
544
+            if (!string.IsNullOrEmpty(strWhere.Trim()))
545
+            {
546
+                strSql.Append(" WHERE " + strWhere);
547
+            }
548
+            strSql.Append(" ) TT");
549
+            strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex);
550
+            return DbHelperSQL.Query(strSql.ToString());
551
+        }
552
+
553
+        /*
554
+		/// <summary>
555
+		/// 分页获取数据列表
556
+		/// </summary>
557
+		public DataSet GetList(int PageSize,int PageIndex,string strWhere)
558
+		{
559
+			SqlParameter[] parameters = {
560
+					new SqlParameter("@tblName", SqlDbType.VarChar, 255),
561
+					new SqlParameter("@fldName", SqlDbType.VarChar, 255),
562
+					new SqlParameter("@PageSize", SqlDbType.Int),
563
+					new SqlParameter("@PageIndex", SqlDbType.Int),
564
+					new SqlParameter("@IsReCount", SqlDbType.Bit),
565
+					new SqlParameter("@OrderType", SqlDbType.Bit),
566
+					new SqlParameter("@strWhere", SqlDbType.VarChar,1000),
567
+					};
568
+			parameters[0].Value = "T_Wo_WorkOrderNew";
569
+			parameters[1].Value = "";
570
+			parameters[2].Value = PageSize;
571
+			parameters[3].Value = PageIndex;
572
+			parameters[4].Value = 0;
573
+			parameters[5].Value = 0;
574
+			parameters[6].Value = strWhere;	
575
+			return DbHelperSQL.RunProcedure("UP_GetRecordByPage",parameters,"ds");
576
+		}*/
577
+
578
+        #endregion  BasicMethod
579
+        #region  ExtensionMethod
580
+
581
+        #endregion  ExtensionMethod
582
+    }
583
+}

+ 653 - 0
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/workorder/WorkOrderNewController.cs

@@ -0,0 +1,653 @@
1
+using CallCenter.Utility;
2
+using CallCenterApi.DB;
3
+using CallCenterApi.Interface.Controllers.Base;
4
+using CallCenterApi.Interface.Models.Enum;
5
+using CallCenterAPI.WechatSDK;
6
+using System;
7
+using System.Collections.Generic;
8
+using System.Data;
9
+using System.Linq;
10
+using System.Web;
11
+using System.Web.Mvc;
12
+
13
+namespace CallCenterApi.Interface.Controllers.workorder
14
+{
15
+    public class WorkOrderNewController : BaseController
16
+    {
17
+        BLL.T_Wo_WorkOrderNew workOrder = new BLL.T_Wo_WorkOrderNew();
18
+        BLL.T_Wo_WorkOrderItem_New itembll = new BLL.T_Wo_WorkOrderItem_New();
19
+        BLL.T_Sys_Department departmentBLL = new BLL.T_Sys_Department();
20
+        BLL.T_Sys_UserAccount sysUserAccountBll = new BLL.T_Sys_UserAccount();
21
+        BLL.T_Sys_DictionaryValue dicvalueBll = new BLL.T_Sys_DictionaryValue();
22
+        public ActionResult GetList()
23
+        {
24
+            int userId = CurrentUser.UserData.F_UserId;
25
+            if (userId != 0)
26
+            {
27
+                Model.T_Sys_UserAccount ua = sysUserAccountBll.GetModel(userId);
28
+                if (ua != null)
29
+                {
30
+                    DataTable dt = new DataTable();
31
+                    string sql = " and IsDelete=0";
32
+                    //工单状态
33
+                    string state = RequestString.GetQueryString("state");
34
+                    //反馈类型
35
+                    string typeClass = RequestString.GetQueryString("typeClass");
36
+                    //工单编号
37
+                    string workOrderID = RequestString.GetQueryString("workOrderID");
38
+                    //客户电话
39
+                    string customerTel = RequestString.GetQueryString("customerTel");
40
+                    //关键字
41
+                    string keyword = RequestString.GetQueryString("keyword");
42
+                    string strpageindex = RequestString.GetQueryString("pageindex");
43
+                    int pageindex = 1;
44
+                    string strpagesize = RequestString.GetQueryString("pagesize");
45
+                    int pagesize = 10;
46
+                    if (keyword.Trim() != "" && keyword != "undefined")
47
+                    {
48
+                        sql += $"  and CustomerName like '%" + keyword.Trim() + "%' or CustomerTel like '%" + keyword.Trim() + "%'or Location like '%" + keyword.Trim() + "%'  or Reservation like '%" + keyword.Trim() + "%'";
49
+                    }
50
+                    if (state.Trim() != "" && state != "undefined")
51
+                    {
52
+                        sql += "and  F_State=" + state;
53
+                        if (state == "10")
54
+                            sql += "and  Createby=" + ua.F_UserCode;
55
+                    }
56
+                    if (typeClass.Trim() != "" && typeClass != "undefined")
57
+                    {
58
+                        sql += "and  TypeClass=" + typeClass;
59
+                    }
60
+                    if (workOrderID.Trim() != "" && workOrderID != "undefined")
61
+                    {
62
+                        sql += "and  WorkOrderID like'%" + workOrderID + "%'";
63
+                    }
64
+                    if (customerTel.Trim() != "" && customerTel != "undefined")
65
+                    {
66
+                        sql += "and  CustomerTel=" + customerTel;
67
+                    }
68
+                    if (strpageindex.Trim() != "")
69
+                    {
70
+                        pageindex = Convert.ToInt32(strpageindex);
71
+                    }
72
+                    if (strpagesize.Trim() != "")
73
+                    {
74
+                        pagesize = Convert.ToInt32(strpagesize);
75
+                    }
76
+                    int recordCount = 0;
77
+                    dt = BLL.PagerBLL.GetListPager(
78
+                            "T_Wo_WorkOrderNew",
79
+                            "T_Wo_WorkOrderNew.ID",
80
+                            "*",
81
+                            sql,
82
+                           "ORDER BY T_Wo_WorkOrderNew.ID desc",
83
+                            pagesize,
84
+                            pageindex,
85
+                            true,
86
+                            out recordCount);
87
+                    List<Model.T_Wo_WorkOrderNew> modlelist = new BLL.T_Wo_WorkOrderNew().DataTableToList(dt);
88
+                    var model = modeltoip(modlelist);
89
+                    var obj = new
90
+                    {
91
+                        state = "success",
92
+                        message = "成功",
93
+                        rows = model,
94
+                        total = recordCount
95
+                    };
96
+                    return Content(obj.ToJson());
97
+                }
98
+            }
99
+            return Error("无操作权限!");
100
+        }
101
+        /// <summary>
102
+        /// 添加工单
103
+        /// </summary>
104
+        /// <returns></returns>
105
+        public ActionResult Add(WorkOrder input)
106
+        {
107
+            int userId = CurrentUser.UserData.F_UserId;
108
+            if (userId != 0)
109
+            {
110
+                string usercode = CurrentUser.UserData.F_UserCode;
111
+                Model.T_Sys_UserAccount ua = new BLL.T_Sys_UserAccount().GetModel(userId);
112
+
113
+                if (!(int.Parse(input.TypeClass) > 0 && int.Parse(input.TypeClass) < 5))
114
+                    return Error("反馈类型错误!");
115
+                if (string.IsNullOrEmpty(input.CustomerName))
116
+                    return Error("请输入客户姓名!");
117
+                if (string.IsNullOrEmpty(input.CustomerTel))
118
+                    return Error("请输入客户电话!");
119
+                var model = new Model.T_Wo_WorkOrderNew();
120
+                #region 保存
121
+                model = inputtoobj(model, input, 1);
122
+                #endregion
123
+                model.Createby = ua.F_UserCode;
124
+                model.CreateTime = DateTime.Now;
125
+                model.F_State = 0;
126
+                long n = workOrder.Add(model);
127
+                string deptname = "";
128
+                var deptmodel = departmentBLL.GetModel(ua.F_DeptId);
129
+                if (deptmodel != null)
130
+                {
131
+                    deptname = deptmodel.F_DeptName + "-";
132
+                }
133
+                if (n > 0)
134
+                {
135
+                    AddLog(n, (int)EnumWorkOrderState.neworder, deptname + ua.F_UserName + "(" + ua.F_UserCode + ")" + "添加工单", (int)EnumItemType.neworder, (int)EnumItemOpt.create, "", 0, ua);
136
+                    if (input.IsOver == 1)
137
+                    {
138
+                        Model.T_Wo_WorkOrderNew WorkOrder = workOrder.GetModel(n);
139
+                        if (WorkOrder == null)
140
+                            return Error("处理失败!");
141
+                        else
142
+                        {
143
+                            bool b = DealWO(ua, WorkOrder, input.DealContents, 1);
144
+                            if (b)
145
+                            {
146
+                                return Success("处理成功!");
147
+                            }
148
+                            else
149
+                            {
150
+                                return Error("处理失败!");
151
+                            }
152
+                        }
153
+
154
+                    }
155
+                    else
156
+                    {
157
+                        return Success("添加成功!");
158
+                    }
159
+                }
160
+                else
161
+                    return Error("添加失败!");
162
+
163
+            }
164
+            else
165
+                return Error("无操作权限!");
166
+        }
167
+        public ActionResult Update(WorkOrder input)
168
+        {
169
+            int userId = CurrentUser.UserData.F_UserId;
170
+            if (userId != 0)
171
+            {
172
+                string usercode = CurrentUser.UserData.F_UserCode;
173
+                Model.T_Sys_UserAccount ua = new BLL.T_Sys_UserAccount().GetModel(userId);
174
+                if (string.IsNullOrEmpty(input.CustomerName))
175
+                    return Error("请输入客户姓名!");
176
+                if (string.IsNullOrEmpty(input.CustomerTel))
177
+                    return Error("请输入客户电话!");
178
+                var model = workOrder.GetModel(input.ID);
179
+                if (model == null)
180
+                    return Error("查询不到此工单!");
181
+                #region 保存
182
+                model = inputtoobj(model, input, 2);
183
+                #endregion
184
+                bool n = workOrder.Update(model);
185
+                string deptname = "";
186
+                var deptmodel = departmentBLL.GetModel(ua.F_DeptId);
187
+                if (deptmodel != null)
188
+                {
189
+                    deptname = deptmodel.F_DeptName + "-";
190
+                }
191
+                if (n)
192
+                {
193
+                    AddLog((int)model.ID, (int)model.F_State, deptname + ua.F_UserName + "(" + ua.F_UserCode + ")" + "修改工单", (int)EnumItemType.update, (int)EnumItemOpt.update, "", 0, ua);
194
+                    return Success("修改成功!");
195
+                }
196
+                else
197
+                    return Error("修改失败!");
198
+
199
+            }
200
+            else
201
+                return Error("无操作权限!");
202
+        }
203
+        /// <summary>
204
+        /// 删除工单
205
+        /// </summary>
206
+        /// <param name="ids"></param>
207
+        /// <returns></returns>
208
+        public ActionResult DelWorkOrder(string[] ids)
209
+        {
210
+            int userId = CurrentUser.UserData.F_UserId;
211
+            if (userId != 0)
212
+            {
213
+
214
+                if (ids != null && ids.Length > 0)
215
+                {
216
+                    bool res = true;
217
+                    string idd = " ";
218
+                    foreach (string str in ids)
219
+                    {
220
+                        idd += str + ",";
221
+                    }
222
+
223
+                    if (!string.IsNullOrEmpty(idd.Trim()))
224
+                    {
225
+                        if (itembll.DeleteList(idd.TrimEnd(',')))
226
+                        {
227
+                            if (workOrder.DeleteList(idd.TrimEnd(',')))
228
+                            {
229
+
230
+                                return Success("设置成功");
231
+
232
+                            }
233
+                            else
234
+                            {
235
+                                return Error("设置失败");
236
+                            }
237
+                        }
238
+                        else
239
+                        {
240
+                            return Error("设置失败");
241
+                        }
242
+
243
+                    }
244
+                    else
245
+                    {
246
+                        return Error("请选择工单");
247
+                    }
248
+                }
249
+                else
250
+                {
251
+                    return Error("获取参数失败");
252
+                }
253
+            }
254
+            else
255
+            {
256
+                return Error("无操作权限!");
257
+            }
258
+        }
259
+        /// <summary>
260
+        /// 查询工单详情
261
+        /// </summary>
262
+        public ActionResult GetDetails(int id)
263
+        {
264
+            int userId = CurrentUser.UserData.F_UserId;
265
+            if (userId != 0)
266
+            {
267
+                Model.T_Sys_UserAccount ua = sysUserAccountBll.GetModel(userId);
268
+
269
+                if (id <= 0)
270
+                {
271
+                    return Error("请输入正确的id");
272
+                }
273
+                var list = new List<Model.T_Wo_WorkOrderNew>();
274
+                var model = workOrder.GetModel(id);
275
+                if (model != null)
276
+                    list.Add(model);
277
+                var modellist = modeltoip(list);
278
+                var itemlasts = itembll.GetModelList("  F_WoID=" + +id + " ");
279
+                if (list.Count > 0)
280
+                {
281
+                    var obj = new
282
+                    {
283
+                        state = "success",
284
+                        message = "成功",
285
+                        rows = modellist,
286
+                        total = itemlasts,
287
+                    };
288
+                    return Content(obj.ToJson());
289
+                }
290
+                else
291
+                    return Error("没有查询到此工单");
292
+
293
+            }
294
+            else
295
+            {
296
+                return Error("无操作权限!");
297
+            }
298
+        }
299
+        public ActionResult DealWorkOrder(long id, string cont,
300
+          int isover = 0)
301
+        {
302
+            int userId = CurrentUser.UserData.F_UserId;
303
+            if (userId != 0)
304
+            {
305
+                Model.T_Sys_UserAccount ua = sysUserAccountBll.GetModel(userId);
306
+                if (ua != null)
307
+                {
308
+                    Model.T_Wo_WorkOrderNew model = workOrder.GetModel(id);
309
+                    if (model != null)
310
+                    {
311
+                        var res = DealWO(ua, model, cont, isover);
312
+                        if (res)
313
+                            return Success("处理成功");
314
+                        else
315
+                            return Error("处理失败!");
316
+                    }
317
+                    else
318
+                    {
319
+                        return Error("工单不存在");
320
+
321
+                    }
322
+                }
323
+            }
324
+            return Error("无操作权限");
325
+        }
326
+        /// <summary>
327
+        /// 处理工单
328
+        /// </summary>
329
+        public bool DealWO(Model.T_Sys_UserAccount nowUser, Model.T_Wo_WorkOrderNew model, string cont, int isover = 0)
330
+        {
331
+            #region 工单处理
332
+            var opt = "处理";
333
+            model.F_State = (int)EnumWorkOrderState.finish;
334
+            if (isover == 1)
335
+            {
336
+                opt = "处理";
337
+                model.DealBy = nowUser.F_UserCode;
338
+                model.DealTime = DateTime.Now;
339
+                model.F_State = 0;
340
+            }
341
+            #region 读取当前登录人部门
342
+            string deptname = "";
343
+            var deptmodel = departmentBLL.GetModel(nowUser.F_DeptId);
344
+            if (deptmodel != null)
345
+            {
346
+                deptname = deptmodel.F_DeptName + "-";
347
+            }
348
+            #endregion
349
+            var optcont = "";
350
+            if (!string.IsNullOrEmpty(cont))
351
+                optcont = ",处理内容:" + cont;
352
+            var content = deptname + nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ")" + opt + "工单" + optcont;
353
+
354
+            var itemid = AddLog((int)model.ID, (int)EnumWorkOrderState.finish, content, (int)EnumItemType.deal, (int)EnumItemOpt.end, "", 0, nowUser);
355
+            if (itemid > 0)
356
+            {
357
+                #region 处理工单
358
+
359
+                //处理内容
360
+                if (!string.IsNullOrEmpty(cont))
361
+                    model.DealContents += cont + ";";
362
+                model.DealTime = DateTime.Now;
363
+                workOrder.Update(model);
364
+                #endregion
365
+                #region 推送消息
366
+                #region 推送消息给添加的坐席 -处理情况
367
+                if (nowUser.F_UserCode != model.Createby)
368
+                {
369
+                    sendsysmsg(model, nowUser, model.Createby, (int)model.ID, opt);//推送系统消息
370
+                    var createmodel = sysUserAccountBll.GetModel(model.Createby);  //被指派人
371
+                    if (createmodel != null)
372
+                    {
373
+                        if (!string.IsNullOrEmpty(createmodel.F_WxOpenId))
374
+                        {
375
+                            sendwxmsg(model, createmodel.F_WxOpenId, nowUser, opt);
376
+                        }
377
+                    }
378
+                }
379
+                #endregion
380
+                #region 向上一级操作人员推送消息
381
+                var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID='" + model.ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_CreateTime desc").FirstOrDefault();
382
+                if (itemlast != null)
383
+                {
384
+                    if (itemlast.F_CreateUser != model.Createby)
385
+                    {
386
+                        sendsysmsg(model, nowUser, itemlast.F_CreateUser, (int)itemid, opt);
387
+                        var lastUser = sysUserAccountBll.GetModel(itemlast.F_CreateUser);
388
+                        if (lastUser != null && !string.IsNullOrEmpty(lastUser.F_WxOpenId))
389
+                            sendwxmsg(model, lastUser.F_WxOpenId, nowUser, opt);
390
+                    }
391
+                }
392
+                #endregion
393
+
394
+                #endregion
395
+                return true;
396
+            }
397
+            else
398
+                return false;
399
+            #endregion
400
+        }
401
+        public List<WorkOrder> modeltoip(List<Model.T_Wo_WorkOrderNew> WorkOrderNew)
402
+        {
403
+            List<WorkOrder> workOrders = new List<WorkOrder>();
404
+            if (WorkOrderNew != null)
405
+            {
406
+                foreach (var it in WorkOrderNew)
407
+                {
408
+                    WorkOrder model = new WorkOrder();
409
+                    model.ID = (int)it.ID;
410
+                    model.WorkOrderID = it.WorkOrderID;
411
+                    if (it.TypeClass == "1")
412
+                    {
413
+                        model.TypeClass = "就医咨询";
414
+                    }
415
+                    else if (it.TypeClass == "2")
416
+                    {
417
+                        model.TypeClass = "预约诊疗";
418
+                    }
419
+                    else if (it.TypeClass == "3")
420
+                    {
421
+                        model.TypeClass = "投诉";
422
+                    }
423
+                    else
424
+                    {
425
+                        model.TypeClass = "建议";
426
+                    }
427
+                    model.CustomerName = it.CustomerName;
428
+                    model.CustomerTel = it.CustomerTel;
429
+                    if (it.Gender == 1)
430
+                    {
431
+                        model.Gender = "男";
432
+                    }
433
+                    else
434
+                    {
435
+                        model.Gender = "女";
436
+                    }
437
+                    model.Location = it.Location;
438
+                    model.Reservation = it.Reservation;
439
+                    model.IDnumber = it.IDnumber;
440
+                    model.Department = it.Department;
441
+                    model.Expert = it.Expert;
442
+                    model.Location = it.Location;
443
+                    model.AppointmentTime = it.AppointmentTime.ToString();
444
+
445
+                    if (it.IsMedical == 1)
446
+                    {
447
+                        model.IsMedical = "是";
448
+                    }
449
+                    else
450
+                    {
451
+                        model.IsMedical = "否";
452
+                    }
453
+                    model.Project = it.Project;
454
+                    model.TranDepartment = it.TranDepartment;
455
+                    model.DriveoutTime = it.DriveoutTime.ToString();
456
+                    model.AboutcarMan = it.AboutcarMan;
457
+                    model.CarTel = it.CarTel;
458
+                    model.Condition = it.Condition;
459
+                    if (it.IsCar == 1)
460
+                    {
461
+                        model.IsCar = "是";
462
+                    }
463
+                    else
464
+                    {
465
+                        model.IsCar = "否";
466
+                    }
467
+                    model.TreatmentAddress = it.TreatmentAddress;
468
+                    model.ComplaintDepartment = it.ComplaintDepartment;
469
+                    model.ComplaintTarget = it.ComplaintTarget;
470
+                    if (it.IsRelevant == 1)
471
+                    {
472
+                        model.IsRelevant = "是";
473
+                    }
474
+                    else
475
+                    {
476
+                        model.IsRelevant = "否";
477
+                    }
478
+                    model.Remarks = it.Remarks;
479
+                    model.Problem = it.Problem;
480
+                    model.DealContents = it.DealContents;
481
+                    model.DealBy = it.DealBy;
482
+                    model.DealTime = it.DealTime.ToString();
483
+                    model.CreateTime = it.CreateTime.ToString();
484
+                    model.Createby = it.Createby;
485
+                    if (it.F_State == 0)
486
+                    {
487
+                        model.F_State = "未处理";
488
+                    }
489
+                    else
490
+                    {
491
+                        model.F_State = "已处理";
492
+                    }
493
+                    workOrders.Add(model);
494
+                }
495
+
496
+            }
497
+            return workOrders;
498
+        }
499
+        /// <summary>
500
+        /// 根据传入的对象和input的内容返回对象(添加修改使用)
501
+        /// </summary>
502
+        private Model.T_Wo_WorkOrderNew inputtoobj(Model.T_Wo_WorkOrderNew model, WorkOrder input, int type)
503
+        {
504
+            string usercode = CurrentUser.UserData.F_UserCode;
505
+            var newmodel = model;
506
+            if (type == 1)
507
+            {
508
+                model.WorkOrderID = DateTime.Now.ToString("yyyyMMddHHmmssfff");  //工单编号 
509
+                model.TypeClass = input.TypeClass.ToString();//工单来源
510
+            }
511
+            else
512
+            {
513
+                model.WorkOrderID = model.WorkOrderID;//工单编号
514
+                model.TypeClass = model.TypeClass.ToString();//工单来源
515
+                model.ID = model.ID;//工单ID
516
+            }
517
+            model.CustomerName = input.CustomerName;//客户姓名
518
+            model.CustomerTel = input.CustomerTel;//客户电话
519
+            model.Gender = int.Parse(input.Gender);//性别
520
+            model.Location = input.Location;//客户地址
521
+            model.Reservation = input.Reservation;//预约类型(预约挂号,预约检查,预约床位,预约车辆)
522
+            model.IDnumber = input.IDnumber;//身份证
523
+            model.Department = input.Department;//预约科室
524
+            model.Expert = input.Expert;//身份证
525
+            if (!string.IsNullOrEmpty(input.AppointmentTime))
526
+                model.AppointmentTime = DateTime.Parse(input.AppointmentTime);//预约时间
527
+            model.IsMedical = int.Parse(input.IsMedical);//是否来院就医
528
+            model.Project = input.Project;//预约项目
529
+            model.TranDepartment = input.TranDepartment;//一键转接科室
530
+            if (!string.IsNullOrEmpty(input.DriveoutTime))
531
+                model.DriveoutTime = DateTime.Parse(input.DriveoutTime);//预约出车时间
532
+            model.AboutcarMan = input.AboutcarMan;//约车人
533
+            model.CarTel = input.CarTel;//约车人电话
534
+            model.Condition = input.Condition;//患者病情
535
+            model.IsCar = int.Parse(input.IsCar);//是否出车
536
+            model.TreatmentAddress = input.TreatmentAddress;//接诊地址
537
+            model.ComplaintDepartment = input.ComplaintDepartment;//被投诉科室
538
+            model.ComplaintTarget = input.ComplaintTarget;//被投诉对象
539
+            model.IsRelevant = int.Parse(input.IsRelevant);//是否专至相关部门
540
+            model.Remarks = input.Remarks;//备注
541
+            model.Problem = input.Problem;//问题描述
542
+            model.IsDelete = 0;//问题描述
543
+            return model;
544
+        }
545
+        public long AddLog(long woid, int wostate, string content, int itemtype, int opttype, string nextuser, int nextdept, Model.T_Sys_UserAccount nowUser)
546
+        {
547
+            Model.T_Wo_WorkOrderItem_New itemModel = new Model.T_Wo_WorkOrderItem_New();
548
+            #region 
549
+            //处理当前工单的记录之前的记录过期
550
+            var itemlast = itembll.GetModelList(" isnull(F_IsUsed,'0')='0' and F_ItemType=" + itemtype + " and  F_WoID=" + woid + " ");
551
+            if (itemlast.Count > 0)
552
+            {
553
+                foreach (var it in itemlast)
554
+                {
555
+                    it.F_IsUsed = 1;
556
+                    itembll.Update(it);
557
+                }
558
+            }
559
+            #endregion
560
+            itemModel.F_WoID = woid;
561
+            itemModel.F_WoState = wostate;
562
+            itemModel.F_ItemType = itemtype;
563
+            itemModel.F_OptType = opttype;
564
+            itemModel.F_OptContent = content;
565
+            itemModel.F_NextUser = nextuser;
566
+            itemModel.F_NextDept = nextdept;
567
+            itemModel.F_IsUsed = 0;
568
+            itemModel.F_CreateUser = nowUser.F_UserCode;
569
+            itemModel.F_CreateTime = DateTime.Now;
570
+            var res = itembll.Add(itemModel);
571
+            return res;
572
+        }
573
+        //推送系统提醒
574
+        public void sendsysmsg(Model.T_Wo_WorkOrderNew womodel, Model.T_Sys_UserAccount nowUser, string touser, int toid, string opt)
575
+        {
576
+            #region 消息提醒
577
+            string strmsg = string.Empty;
578
+            strmsg = nowUser.F_UserName + "(" + nowUser.F_UserCode + ")" + "操作" + opt + "工单";
579
+            Model.T_Msg_List msg = new Model.T_Msg_List();
580
+            msg.Type = (int)Model.MSGType.workorder;//处理
581
+            msg.ToUser = touser;
582
+            msg.ToID = toid;
583
+            msg.Detail = strmsg;
584
+            msg.State = 0;
585
+            msg.IsDel = 0;
586
+            msg.CreateUser = nowUser.F_UserCode;
587
+            msg.CreateDate = DateTime.Now;
588
+
589
+            new BLL.T_Msg_List().Add(msg);
590
+            #endregion
591
+        }
592
+        //推送微信消息
593
+        public void sendwxmsg(Model.T_Wo_WorkOrderNew womodel, string openid, Model.T_Sys_UserAccount nowUser, string opt)
594
+        {
595
+            #region 推送微信
596
+            try
597
+            {
598
+                if (!string.IsNullOrEmpty(openid))
599
+                {
600
+                    var dicv = dicvalueBll.GetModel(int.Parse(womodel.TypeClass));
601
+                    string content = string.Empty;
602
+                    var wotype = "";
603
+                    if (dicv != null)
604
+                    {
605
+                        wotype = dicv.F_Name;
606
+                    }
607
+                    content = "编号" + womodel.WorkOrderID + "的工单已" + opt + ",操作人:" + nowUser.F_UserName + "(" + nowUser.F_UserCode + ")";
608
+                    var msg = WxHelper.SendWechatMsg1(womodel.WorkOrderID, "你有工单已" + opt, wotype, womodel.F_State.ToString(), content, womodel.ID.ToString(), openid, "");
609
+                    Error("推送微信::::::" + msg.ToString());
610
+                }
611
+            }
612
+            catch { }
613
+            #endregion
614
+        }
615
+        public class WorkOrder
616
+        {
617
+            public int ID { get; set; }
618
+            public string WorkOrderID { get; set; }//工单编号
619
+            public string TypeClass { get; set; }//工单类型(1就医咨询2预约诊疗3投诉4建议)
620
+            public string CustomerName { get; set; }//客户姓名
621
+            public string CustomerTel { get; set; }//客户电话
622
+            public string Gender { get; set; }//性别
623
+            public string Location { get; set; }//客户地址
624
+            public string Reservation { get; set; }//预约类型(预约挂号,预约检查,预约床位,预约车辆)
625
+            public string IDnumber { get; set; }//身份证
626
+            public string Department { get; set; }//预约科室
627
+            public string Expert { get; set; }//预约专家
628
+            public string AppointmentTime { get; set; }//预约时间
629
+            public string IsMedical { get; set; }//是否来院就医
630
+            public string Project { get; set; }//预约项目
631
+            public string TranDepartment { get; set; }//一键转接科室
632
+            public string DriveoutTime { get; set; }//预约出车时间
633
+            public string AboutcarMan { get; set; }//约车人
634
+            public string CarTel { get; set; }//约车人电话
635
+            public string Condition { get; set; }//患者病情
636
+            public string IsCar { get; set; }//是否出车
637
+            public string TreatmentAddress { get; set; }//接诊地址
638
+            public string ComplaintDepartment { get; set; }//被投诉科室
639
+            public string ComplaintTarget { get; set; }//被投诉对象
640
+            public string IsRelevant { get; set; }//是否转至相关部门
641
+            public string Remarks { get; set; }//备注
642
+            public string Problem { get; set; }//问题描述
643
+            public int IsOver { get; set; }//是否处理
644
+            public string DealContents { get; set; }//处理结果
645
+            public string DealBy { get; set; }//处理人
646
+            public string DealTime { get; set; }//处理时间
647
+            public string F_State { get; set; }//工单状态
648
+            public string CreateTime { get; set; }//创建时间
649
+            public string Createby { get; set; }//创建人
650
+            public string DelTime { get; set; }//删除时间
651
+        }
652
+    }
653
+}

+ 2 - 0
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Models/Enum/EnumWorkOrderState.cs

@@ -33,6 +33,8 @@ namespace CallCenterApi.Interface.Models.Enum
33 33
     /// </summary>
34 34
     public enum EnumItemType
35 35
     {
36
+        [Description("添加")]
37
+        neworder = 0,
36 38
         [Description("办理")]
37 39
         deal = 1,
38 40
         [Description("催办")]

+ 350 - 0
codegit/CallCenterApi/CallCenterApi.Model/T_Wo_WorkOrderNew.cs

@@ -0,0 +1,350 @@
1
+using System;
2
+namespace CallCenterApi.Model
3
+{
4
+    /// <summary>
5
+    /// T_Wo_WorkOrderNew:实体类(属性说明自动提取数据库字段的描述信息)
6
+    /// </summary>
7
+    [Serializable]
8
+    public partial class T_Wo_WorkOrderNew
9
+    {
10
+        public T_Wo_WorkOrderNew()
11
+        { }
12
+        #region Model
13
+        private long? _id;
14
+        private string _workorderid;
15
+        private string _customername;
16
+        private string _customertel;
17
+        private int? _gender;
18
+        private string _location;
19
+        private string _reservation;
20
+        private string _idnumber;
21
+        private string _department;
22
+        private string _expert;
23
+        private DateTime? _appointmenttime;
24
+        private int? _ismedical;
25
+        private string _project;
26
+        private string _trandepartment;
27
+        private DateTime? _driveouttime;
28
+        private string _aboutcarman;
29
+        private string _cartel;
30
+        private string _condition;
31
+        private int? _iscar;
32
+        private string _treatmentaddress;
33
+        private string _complaintdepartment;
34
+        private string _complainttarget;
35
+        private int? _isrelevant;
36
+        private string _remarks;
37
+        private string _problem;
38
+        private int? _isover;
39
+        private string _dealcontents;
40
+        private DateTime? _dealtime;
41
+        private int? _f_state;
42
+        private string _files;
43
+        private DateTime? _createtime;
44
+        private string _createby;
45
+        private string _callid;
46
+        private int? _isdelete;
47
+        private DateTime? _deltime;
48
+        private string _typeclass;
49
+        public string _dealBy;
50
+        /// <summary>
51
+        /// 
52
+        /// </summary>
53
+        public long? ID
54
+        {
55
+            set { _id = value; }
56
+            get { return _id; }
57
+        }
58
+        /// <summary>
59
+        /// 工单编号
60
+        /// </summary>
61
+        public string WorkOrderID
62
+        {
63
+            set { _workorderid = value; }
64
+            get { return _workorderid; }
65
+        }
66
+        /// <summary>
67
+        /// 客户姓名
68
+        /// </summary>
69
+        public string CustomerName
70
+        {
71
+            set { _customername = value; }
72
+            get { return _customername; }
73
+        }
74
+        /// <summary>
75
+        /// 客户电话
76
+        /// </summary>
77
+        public string CustomerTel
78
+        {
79
+            set { _customertel = value; }
80
+            get { return _customertel; }
81
+        }
82
+        /// <summary>
83
+        /// 性别
84
+        /// </summary>
85
+        public int? Gender
86
+        {
87
+            set { _gender = value; }
88
+            get { return _gender; }
89
+        }
90
+        /// <summary>
91
+        /// 客户地址
92
+        /// </summary>
93
+        public string Location
94
+        {
95
+            set { _location = value; }
96
+            get { return _location; }
97
+        }
98
+        /// <summary>
99
+        /// 预约类型(预约挂号,预约检查,预约床位,预约车辆)
100
+        /// </summary>
101
+        public string Reservation
102
+        {
103
+            set { _reservation = value; }
104
+            get { return _reservation; }
105
+        }
106
+        /// <summary>
107
+        /// 身份证
108
+        /// </summary>
109
+        public string IDnumber
110
+        {
111
+            set { _idnumber = value; }
112
+            get { return _idnumber; }
113
+        }
114
+        /// <summary>
115
+        /// 预约科室
116
+        /// </summary>
117
+        public string Department
118
+        {
119
+            set { _department = value; }
120
+            get { return _department; }
121
+        }
122
+        /// <summary>
123
+        /// 预约专家
124
+        /// </summary>
125
+        public string Expert
126
+        {
127
+            set { _expert = value; }
128
+            get { return _expert; }
129
+        }
130
+        /// <summary>
131
+        /// 预约时间
132
+        /// </summary>
133
+        public DateTime? AppointmentTime
134
+        {
135
+            set { _appointmenttime = value; }
136
+            get { return _appointmenttime; }
137
+        }
138
+        /// <summary>
139
+        /// 是否来院就医
140
+        /// </summary>
141
+        public int? IsMedical
142
+        {
143
+            set { _ismedical = value; }
144
+            get { return _ismedical; }
145
+        }
146
+        /// <summary>
147
+        /// 预约项目
148
+        /// </summary>
149
+        public string Project
150
+        {
151
+            set { _project = value; }
152
+            get { return _project; }
153
+        }
154
+        /// <summary>
155
+        /// 一键转接科室
156
+        /// </summary>
157
+        public string TranDepartment
158
+        {
159
+            set { _trandepartment = value; }
160
+            get { return _trandepartment; }
161
+        }
162
+        /// <summary>
163
+        /// 预约出车时间
164
+        /// </summary>
165
+        public DateTime? DriveoutTime
166
+        {
167
+            set { _driveouttime = value; }
168
+            get { return _driveouttime; }
169
+        }
170
+        /// <summary>
171
+        /// 约车人
172
+        /// </summary>
173
+        public string AboutcarMan
174
+        {
175
+            set { _aboutcarman = value; }
176
+            get { return _aboutcarman; }
177
+        }
178
+        /// <summary>
179
+        /// 约车人电话
180
+        /// </summary>
181
+        public string CarTel
182
+        {
183
+            set { _cartel = value; }
184
+            get { return _cartel; }
185
+        }
186
+        /// <summary>
187
+        /// 患者病情
188
+        /// </summary>
189
+        public string Condition
190
+        {
191
+            set { _condition = value; }
192
+            get { return _condition; }
193
+        }
194
+        /// <summary>
195
+        /// 是否出车
196
+        /// </summary>
197
+        public int? IsCar
198
+        {
199
+            set { _iscar = value; }
200
+            get { return _iscar; }
201
+        }
202
+        /// <summary>
203
+        /// 接诊地址
204
+        /// </summary>
205
+        public string TreatmentAddress
206
+        {
207
+            set { _treatmentaddress = value; }
208
+            get { return _treatmentaddress; }
209
+        }
210
+        /// <summary>
211
+        /// 被投诉科室
212
+        /// </summary>
213
+        public string ComplaintDepartment
214
+        {
215
+            set { _complaintdepartment = value; }
216
+            get { return _complaintdepartment; }
217
+        }
218
+        /// <summary>
219
+        /// 被投诉对象
220
+        /// </summary>
221
+        public string ComplaintTarget
222
+        {
223
+            set { _complainttarget = value; }
224
+            get { return _complainttarget; }
225
+        }
226
+        /// <summary>
227
+        /// 是否转至相关部门
228
+        /// </summary>
229
+        public int? IsRelevant
230
+        {
231
+            set { _isrelevant = value; }
232
+            get { return _isrelevant; }
233
+        }
234
+        /// <summary>
235
+        /// 备注
236
+        /// </summary>
237
+        public string Remarks
238
+        {
239
+            set { _remarks = value; }
240
+            get { return _remarks; }
241
+        }
242
+        /// <summary>
243
+        /// 问题描述
244
+        /// </summary>
245
+        public string Problem
246
+        {
247
+            set { _problem = value; }
248
+            get { return _problem; }
249
+        }
250
+        /// <summary>
251
+        /// 是否处理
252
+        /// </summary>
253
+        public int? IsOver
254
+        {
255
+            set { _isover = value; }
256
+            get { return _isover; }
257
+        }
258
+        /// <summary>
259
+        /// 处理结果
260
+        /// </summary>
261
+        public string DealContents
262
+        {
263
+            set { _dealcontents = value; }
264
+            get { return _dealcontents; }
265
+        }
266
+        /// <summary>
267
+        /// 处理时间
268
+        /// </summary>
269
+        public DateTime? DealTime
270
+        {
271
+            set { _dealtime = value; }
272
+            get { return _dealtime; }
273
+        }
274
+        /// <summary>
275
+        /// 工单状态
276
+        /// </summary>
277
+        public int? F_State
278
+        {
279
+            set { _f_state = value; }
280
+            get { return _f_state; }
281
+        }
282
+        /// <summary>
283
+        /// 
284
+        /// </summary>
285
+        public string Files
286
+        {
287
+            set { _files = value; }
288
+            get { return _files; }
289
+        }
290
+        /// <summary>
291
+        /// 创建时间
292
+        /// </summary>
293
+        public DateTime? CreateTime
294
+        {
295
+            set { _createtime = value; }
296
+            get { return _createtime; }
297
+        }
298
+        /// <summary>
299
+        /// 创建人
300
+        /// </summary>
301
+        public string Createby
302
+        {
303
+            set { _createby = value; }
304
+            get { return _createby; }
305
+        }
306
+        /// <summary>
307
+        /// 
308
+        /// </summary>
309
+        public string CallID
310
+        {
311
+            set { _callid = value; }
312
+            get { return _callid; }
313
+        }
314
+        /// <summary>
315
+        /// 
316
+        /// </summary>
317
+        public int? IsDelete
318
+        {
319
+            set { _isdelete = value; }
320
+            get { return _isdelete; }
321
+        }
322
+        /// <summary>
323
+        /// 删除时间
324
+        /// </summary>
325
+        public DateTime? DelTime
326
+        {
327
+            set { _deltime = value; }
328
+            get { return _deltime; }
329
+        }
330
+        /// <summary>
331
+        /// 
332
+        /// </summary>
333
+        public string TypeClass
334
+        {
335
+            set { _typeclass = value; }
336
+            get { return _typeclass; }
337
+        }
338
+        /// <summary>
339
+        /// 处理人
340
+        /// </summary>
341
+        public string DealBy
342
+        {
343
+            set { _dealBy = value; }
344
+            get { return _dealBy; }
345
+        }
346
+        #endregion Model
347
+
348
+    }
349
+}
350
+