Просмотр исходного кода

Merge branch 'master' of http://192.168.1.222:3000/zhengbingbing/XinXiangXLX_API

zhengbingbing лет назад: 6
Родитель
Сommit
695630f842

+ 7 - 0
codegit/CallCenterApi/CallCenterApi.BLL/T_Cus_CustomerBaseNew.cs

@@ -64,7 +64,14 @@ namespace CallCenterApi.BLL
64 64
 
65 65
             return dal.GetModel(F_CustomerId);
66 66
         }
67
+        /// <summary>
68
+        /// 得到一个对象实体
69
+        /// </summary>
70
+        public CallCenterApi.Model.T_Cus_CustomerBaseNew GetModel(string F_CustomerID)
71
+        {
67 72
 
73
+            return dal.GetModel(F_CustomerID);
74
+        }
68 75
         /// <summary>
69 76
         /// 获得数据列表
70 77
         /// </summary>

+ 7 - 0
codegit/CallCenterApi/CallCenterApi.BLL/T_RegionCategory.cs

@@ -63,7 +63,14 @@ namespace CallCenterApi.BLL
63 63
 
64 64
             return dal.GetModel(F_RegionId);
65 65
         }
66
+        /// <summary>
67
+        /// 得到一个对象实体
68
+        /// </summary>
69
+        public Model.T_RegionCategory GetModel(string F_RegionName)
70
+        {
66 71
 
72
+            return dal.GetModel(F_RegionName);
73
+        }
67 74
         /// <summary>
68 75
         /// 获得数据列表
69 76
         /// </summary>

+ 8 - 0
codegit/CallCenterApi/CallCenterApi.BLL/T_Wo_MaterialManage.cs

@@ -64,6 +64,14 @@ namespace CallCenterApi.BLL
64 64
 
65 65
             return dal.GetModel(F_Id);
66 66
         }
67
+        /// <summary>
68
+        /// 得到一个对象实体
69
+        /// </summary>
70
+        public CallCenterApi.Model.T_Wo_MaterialManage GetModel(string F_MaterialCode)
71
+        {
72
+
73
+            return dal.GetModel(F_MaterialCode);
74
+        }
67 75
 
68 76
         /// <summary>
69 77
         /// 获得数据列表

+ 23 - 0
codegit/CallCenterApi/CallCenterApi.DAL/T_Cus_CustomerBaseNew.cs

@@ -341,7 +341,30 @@ namespace CallCenterApi.DAL
341 341
                 return false;
342 342
             }
343 343
         }
344
+        /// <summary>
345
+        /// 得到一个对象实体
346
+        /// </summary>
347
+        public CallCenterApi.Model.T_Cus_CustomerBaseNew GetModel(string F_CustomerCode)
348
+        {
349
+
350
+            StringBuilder strSql = new StringBuilder();
351
+            strSql.Append("select  top 1 * from T_Cus_CustomerBaseNew ");
352
+            strSql.Append(" where F_CustomerCode=@F_CustomerCode");
353
+            SqlParameter[] parameters = {
354
+                    new SqlParameter("@F_CustomerCode", SqlDbType.VarChar,50)         };
355
+            parameters[0].Value = F_CustomerCode;
344 356
 
357
+            CallCenterApi.Model.T_Cus_CustomerBaseNew model = new CallCenterApi.Model.T_Cus_CustomerBaseNew();
358
+            DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
359
+            if (ds.Tables[0].Rows.Count > 0)
360
+            {
361
+                return DataRowToModel(ds.Tables[0].Rows[0]);
362
+            }
363
+            else
364
+            {
365
+                return null;
366
+            }
367
+        }
345 368
 
346 369
         /// <summary>
347 370
         /// 得到一个对象实体

+ 79 - 29
codegit/CallCenterApi/CallCenterApi.DAL/T_RegionCategory.cs

@@ -181,7 +181,30 @@ namespace CallCenterApi.DAL
181 181
                 return false;
182 182
             }
183 183
         }
184
+        /// <summary>
185
+        /// 得到一个对象实体
186
+        /// </summary>
187
+        public CallCenterApi.Model.T_RegionCategory GetModel(string F_RegionName)
188
+        {
184 189
 
190
+            StringBuilder strSql = new StringBuilder();
191
+            strSql.Append("select  top 1 * from T_RegionCategory ");
192
+            strSql.Append(" where F_RegionName=@F_RegionName");
193
+            SqlParameter[] parameters = {
194
+                    new SqlParameter("@F_RegionName", SqlDbType.VarChar,50)         };
195
+            parameters[0].Value = F_RegionName;
196
+
197
+            CallCenterApi.Model.T_RegionCategory model = new CallCenterApi.Model.T_RegionCategory();
198
+            DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
199
+            if (ds.Tables[0].Rows.Count > 0)
200
+            {
201
+                return DataRowToModel(ds.Tables[0].Rows[0]);
202
+            }
203
+            else
204
+            {
205
+                return null;
206
+            }
207
+        }
185 208
 
186 209
         /// <summary>
187 210
         /// 得到一个对象实体
@@ -190,68 +213,95 @@ namespace CallCenterApi.DAL
190 213
         {
191 214
 
192 215
             StringBuilder strSql = new StringBuilder();
193
-            strSql.Append("select  top 1 F_RegionId,F_AreaId,F_RegionNumber,F_RegionName,F_RegionEName,F_Sort,F_Layer,F_ParentId,F_CreateBy,F_CreateOn,F_ModifyBy,F_ModifyOn,F_DeleteFlag from T_RegionCategory ");
216
+            strSql.Append("select  top 1 * from T_RegionCategory ");
194 217
             strSql.Append(" where F_RegionId=@F_RegionId");
195 218
             SqlParameter[] parameters = {
196
-					new SqlParameter("@F_RegionId", SqlDbType.Int,4)
197
-};
219
+                    new SqlParameter("@F_RegionId", SqlDbType.Int,4)
220
+            };
198 221
             parameters[0].Value = F_RegionId;
199 222
 
200 223
             CallCenterApi.Model.T_RegionCategory model = new CallCenterApi.Model.T_RegionCategory();
201 224
             DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
202 225
             if (ds.Tables[0].Rows.Count > 0)
203 226
             {
204
-                if (ds.Tables[0].Rows[0]["F_RegionId"] != null && ds.Tables[0].Rows[0]["F_RegionId"].ToString() != "")
227
+                return DataRowToModel(ds.Tables[0].Rows[0]);
228
+            }
229
+            else
230
+            {
231
+                return null;
232
+            }
233
+        }
234
+    
235
+        /// <summary>
236
+        /// 得到一个对象实体
237
+        /// </summary>
238
+        public CallCenterApi.Model.T_RegionCategory DataRowToModel(DataRow row)
239
+        {
240
+            CallCenterApi.Model.T_RegionCategory model = new CallCenterApi.Model.T_RegionCategory();
241
+//            StringBuilder strSql = new StringBuilder();
242
+//            strSql.Append("select  top 1 F_RegionId,F_AreaId,F_RegionNumber,F_RegionName,F_RegionEName,F_Sort,F_Layer,F_ParentId,F_CreateBy,F_CreateOn,F_ModifyBy,F_ModifyOn,F_DeleteFlag from T_RegionCategory ");
243
+//            strSql.Append(" where F_RegionId=@F_RegionId");
244
+//            SqlParameter[] parameters = {
245
+//					new SqlParameter("@F_RegionId", SqlDbType.Int,4)
246
+//};
247
+//            parameters[0].Value = F_RegionId;
248
+
249
+//            CallCenterApi.Model.T_RegionCategory model = new CallCenterApi.Model.T_RegionCategory();
250
+//            DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
251
+            if (row != null)
252
+            {
253
+               
254
+                if (row["F_RegionId"] != null && row["F_RegionId"].ToString() != "")
205 255
                 {
206
-                    model.F_RegionId = int.Parse(ds.Tables[0].Rows[0]["F_RegionId"].ToString());
256
+                    model.F_RegionId = int.Parse(row["F_RegionId"].ToString());
207 257
                 }
208
-                if (ds.Tables[0].Rows[0]["F_AreaId"] != null && ds.Tables[0].Rows[0]["F_AreaId"].ToString() != "")
258
+                if (row["F_AreaId"] != null && row["F_AreaId"].ToString() != "")
209 259
                 {
210
-                    model.F_AreaId = int.Parse(ds.Tables[0].Rows[0]["F_AreaId"].ToString());
260
+                    model.F_AreaId = int.Parse(row["F_AreaId"].ToString());
211 261
                 }
212
-                if (ds.Tables[0].Rows[0]["F_RegionNumber"] != null && ds.Tables[0].Rows[0]["F_RegionNumber"].ToString() != "")
262
+                if (row["F_RegionNumber"] != null && row["F_RegionNumber"].ToString() != "")
213 263
                 {
214
-                    model.F_RegionNumber = ds.Tables[0].Rows[0]["F_RegionNumber"].ToString();
264
+                    model.F_RegionNumber = row["F_RegionNumber"].ToString();
215 265
                 }
216
-                if (ds.Tables[0].Rows[0]["F_RegionName"] != null && ds.Tables[0].Rows[0]["F_RegionName"].ToString() != "")
266
+                if (row["F_RegionName"] != null && row["F_RegionName"].ToString() != "")
217 267
                 {
218
-                    model.F_RegionName = ds.Tables[0].Rows[0]["F_RegionName"].ToString();
268
+                    model.F_RegionName = row["F_RegionName"].ToString();
219 269
                 }
220
-                if (ds.Tables[0].Rows[0]["F_RegionEName"] != null && ds.Tables[0].Rows[0]["F_RegionEName"].ToString() != "")
270
+                if (row["F_RegionEName"] != null && row["F_RegionEName"].ToString() != "")
221 271
                 {
222
-                    model.F_RegionEName = ds.Tables[0].Rows[0]["F_RegionEName"].ToString();
272
+                    model.F_RegionEName = row["F_RegionEName"].ToString();
223 273
                 }
224
-                if (ds.Tables[0].Rows[0]["F_Sort"] != null && ds.Tables[0].Rows[0]["F_Sort"].ToString() != "")
274
+                if (row["F_Sort"] != null && row["F_Sort"].ToString() != "")
225 275
                 {
226
-                    model.F_Sort = int.Parse(ds.Tables[0].Rows[0]["F_Sort"].ToString());
276
+                    model.F_Sort = int.Parse(row["F_Sort"].ToString());
227 277
                 }
228
-                if (ds.Tables[0].Rows[0]["F_Layer"] != null && ds.Tables[0].Rows[0]["F_Layer"].ToString() != "")
278
+                if (row["F_Layer"] != null && row["F_Layer"].ToString() != "")
229 279
                 {
230
-                    model.F_Layer = int.Parse(ds.Tables[0].Rows[0]["F_Layer"].ToString());
280
+                    model.F_Layer = int.Parse(row["F_Layer"].ToString());
231 281
                 }
232
-                if (ds.Tables[0].Rows[0]["F_ParentId"] != null && ds.Tables[0].Rows[0]["F_ParentId"].ToString() != "")
282
+                if (row["F_ParentId"] != null && row["F_ParentId"].ToString() != "")
233 283
                 {
234
-                    model.F_ParentId = int.Parse(ds.Tables[0].Rows[0]["F_ParentId"].ToString());
284
+                    model.F_ParentId = int.Parse(row["F_ParentId"].ToString());
235 285
                 }
236
-                if (ds.Tables[0].Rows[0]["F_CreateBy"] != null && ds.Tables[0].Rows[0]["F_CreateBy"].ToString() != "")
286
+                if (row["F_CreateBy"] != null && row["F_CreateBy"].ToString() != "")
237 287
                 {
238
-                    model.F_CreateBy = int.Parse(ds.Tables[0].Rows[0]["F_CreateBy"].ToString());
288
+                    model.F_CreateBy = int.Parse(row["F_CreateBy"].ToString());
239 289
                 }
240
-                if (ds.Tables[0].Rows[0]["F_CreateOn"] != null && ds.Tables[0].Rows[0]["F_CreateOn"].ToString() != "")
290
+                if (row["F_CreateOn"] != null && row["F_CreateOn"].ToString() != "")
241 291
                 {
242
-                    model.F_CreateOn = DateTime.Parse(ds.Tables[0].Rows[0]["F_CreateOn"].ToString());
292
+                    model.F_CreateOn = DateTime.Parse(row["F_CreateOn"].ToString());
243 293
                 }
244
-                if (ds.Tables[0].Rows[0]["F_ModifyBy"] != null && ds.Tables[0].Rows[0]["F_ModifyBy"].ToString() != "")
294
+                if (row["F_ModifyBy"] != null && row["F_ModifyBy"].ToString() != "")
245 295
                 {
246
-                    model.F_ModifyBy = int.Parse(ds.Tables[0].Rows[0]["F_ModifyBy"].ToString());
296
+                    model.F_ModifyBy = int.Parse(row["F_ModifyBy"].ToString());
247 297
                 }
248
-                if (ds.Tables[0].Rows[0]["F_ModifyOn"] != null && ds.Tables[0].Rows[0]["F_ModifyOn"].ToString() != "")
298
+                if (row["F_ModifyOn"] != null && row["F_ModifyOn"].ToString() != "")
249 299
                 {
250
-                    model.F_ModifyOn = DateTime.Parse(ds.Tables[0].Rows[0]["F_ModifyOn"].ToString());
300
+                    model.F_ModifyOn = DateTime.Parse(row["F_ModifyOn"].ToString());
251 301
                 }
252
-                if (ds.Tables[0].Rows[0]["F_DeleteFlag"] != null && ds.Tables[0].Rows[0]["F_DeleteFlag"].ToString() != "")
302
+                if (row["F_DeleteFlag"] != null && row["F_DeleteFlag"].ToString() != "")
253 303
                 {
254
-                    model.F_DeleteFlag = int.Parse(ds.Tables[0].Rows[0]["F_DeleteFlag"].ToString());
304
+                    model.F_DeleteFlag = int.Parse(row["F_DeleteFlag"].ToString());
255 305
                 }
256 306
                 return model;
257 307
             }

+ 23 - 0
codegit/CallCenterApi/CallCenterApi.DAL/T_Wo_MaterialManage.cs

@@ -232,7 +232,30 @@ namespace CallCenterApi.DAL
232 232
                 return false;
233 233
             }
234 234
         }
235
+        /// <summary>
236
+        /// 得到一个对象实体
237
+        /// </summary>
238
+        public CallCenterApi.Model.T_Wo_MaterialManage GetModel(string F_MaterialCode)
239
+        {
235 240
 
241
+            StringBuilder strSql = new StringBuilder();
242
+            strSql.Append("select  top 1 * from T_Wo_MaterialManage ");
243
+            strSql.Append(" where F_MaterialCode=@F_MaterialCode");
244
+           SqlParameter[] parameters = {
245
+                    new SqlParameter("@F_MaterialCode", SqlDbType.VarChar,50)         };
246
+            parameters[0].Value = F_MaterialCode;
247
+
248
+            CallCenterApi.Model.T_Wo_MaterialManage model = new CallCenterApi.Model.T_Wo_MaterialManage();
249
+            DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
250
+            if (ds.Tables[0].Rows.Count > 0)
251
+            {
252
+                return DataRowToModel(ds.Tables[0].Rows[0]);
253
+            }
254
+            else
255
+            {
256
+                return null;
257
+            }
258
+        }
236 259
 
237 260
         /// <summary>
238 261
         /// 得到一个对象实体

Разница между файлами не показана из-за своего большого размера
+ 49 - 15
codegit/CallCenterApi/CallCenterApi.DAL/T_Wo_WorkOrder.cs


+ 47 - 0
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/DepartmentController.cs

@@ -30,7 +30,54 @@ namespace CallCenterApi.Interface.Controllers
30 30
             //}
31 31
             //return NoToken("未知错误,请重新登录");
32 32
         }
33
+        /// <summary>
34
+        /// 获取大区分公司
35
+        /// </summary>
36
+        /// <returns></returns>
37
+        public ActionResult GetLinkList(int F_Layer)
38
+        {
39
+            DataTable dt = new DataTable();
40
+            dt = new BLL.T_Sys_Department().GetList(" F_State=1 and F_Layer=+" + F_Layer).Tables[0];
41
+            List<Model.TreeModel> modelList = BindTree(dt, "0");
33 42
 
43
+            if (modelList != null)
44
+            {
45
+                if (modelList.Count > 0)
46
+                    return Success("加载成功", modelList);
47
+            }
48
+            return Error("加载失败");
49
+        }
50
+        /// <summary>
51
+        /// 获取大区分公司
52
+        /// </summary>
53
+        /// <returns></returns>
54
+        public ActionResult GetList(int F_Layer, string F_DeptName="" )
55
+        {
56
+                DataTable dt = new DataTable();
57
+            if (F_DeptName!="")
58
+            {
59
+                Model.T_Sys_Department dModel = departmentBLL.GetModel(F_DeptName);
60
+                if (dModel!=null )
61
+                {
62
+                    dt = new BLL.T_Sys_Department().GetList(" F_State=1 and F_Layer=" + F_Layer+ " and F_ParentId=" + dModel.F_DeptId ).Tables[0];
63
+                }
64
+                else
65
+                {
66
+                    return Error("加载失败");
67
+                }
68
+               
69
+            }
70
+            else
71
+            {
72
+                dt = new BLL.T_Sys_Department().GetList(" F_State=1 and F_Layer=" + F_Layer  ).Tables[0];
73
+            }
74
+             if (dt != null)
75
+                {
76
+                    if (dt.Rows .Count > 0)
77
+                        return Success("加载成功", dt);
78
+                }
79
+                return Error("加载失败");
80
+            }
34 81
         /// <summary>
35 82
         /// 获取部门
36 83
         /// </summary>

+ 11 - 5
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/customer/CustomerNewController.cs

@@ -116,11 +116,17 @@ namespace CallCenterApi.Interface.Controllers.customer
116 116
                 sql += " and F_IsDelete=0";
117 117
                 list = cusbll.GetModelList(sql);
118 118
             }
119
-            List<CustomerBaseNewInput> Input = modeltooip(list);
120
-            if (Input.Count > 0)
121
-                return Success("根据关键字获取公司信息", Input.FirstOrDefault());
119
+            if (list.Count >0)
120
+            {
121
+                List<CustomerBaseNewInput> Input = modeltooip(list);
122
+                if (Input!=null )
123
+                    return Success("根据关键字获取公司信息", Input.FirstOrDefault());
124
+                else
125
+                    return Error("没有获取到相关公司,请重新搜索");
126
+            }
122 127
             else
123 128
                 return Error("没有获取到相关公司,请重新搜索");
129
+
124 130
         }
125 131
         /// <summary>
126 132
         /// 获取客户信息
@@ -245,7 +251,7 @@ namespace CallCenterApi.Interface.Controllers.customer
245 251
                 {
246 252
                     CustomerBaseNewInput Input1 = new CustomerBaseNewInput();
247 253
                     #region 基本字段
248
-                    Input1.F_CustomerId = model[i].F_CustomerId;
254
+                    Input1.F_CustomerId = model[i].F_CustomerId;//业务员
249 255
                     if (!string.IsNullOrWhiteSpace(model[i].F_CustomerCode))
250 256
                         Input1.F_CustomerCode = model[i].F_CustomerCode;
251 257
                  
@@ -263,7 +269,7 @@ namespace CallCenterApi.Interface.Controllers.customer
263 269
                     {
264 270
                         Input1.F_BranchName = pdModel1.F_DeptName.ToString();
265 271
                     }
266
-                   
272
+                    
267 273
                     Input1.F_Salesman = model[i].F_Salesman;//业务员
268 274
                     Input1.F_SalesPhone = model[i].F_SalesPhone;//业务员电话
269 275
                     Input1.F_CustomerNature = model[i].F_CustomerNature;//客户性质

+ 27 - 18
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/customer/RegionCategoryController.cs

@@ -16,28 +16,26 @@ namespace CallCenterApi.Interface.Controllers.customer
16 16
     public class RegionCategoryController : BaseController
17 17
     {
18 18
         private BLL.T_RegionCategory regionBLL = new BLL.T_RegionCategory();
19
+
19 20
         /// <summary>
20
-        /// 获取省
21
+        /// 获取省市县乡镇
21 22
         /// </summary>
22 23
         /// <returns></returns>
23
-        public ActionResult GetProvinceList()
24
+        public ActionResult GetAllList(int F_Layer, string F_RegionName = "")
24 25
         {
25
-        
26
-            return NoToken("未知错误,请重新登录");
27
-            if (Request.IsAuthenticated)
26
+            int F_RegionId = 0;
27
+            if (F_RegionName!= "")
28 28
             {
29
-                DataTable dt = new DataTable();
30
-                dt = new BLL.T_RegionCategory().GetList(" F_Layer=1 ").Tables[0];
31
-                return Success("加载成功", dt);
29
+                Model.T_RegionCategory userModel = regionBLL.GetModel(F_RegionName);
30
+                if (userModel !=null )
31
+                {
32
+                    F_RegionId = userModel.F_RegionId;
33
+                }
34
+                else
35
+                {
36
+                    return Success("获取失败,内容为空");
37
+                }
32 38
             }
33
-            return NoToken("未知错误,请重新登录");
34
-        }
35
-        /// <summary>
36
-        /// 获取省市县乡镇
37
-        /// </summary>
38
-        /// <returns></returns>
39
-        public ActionResult GetAllList(int F_Layer, int F_RegionId = 0)
40
-        {
41 39
             var entityJson = new BLL.T_RegionCategory().GetModelList("F_Layer = " + F_Layer + "AND F_ParentId=" + F_RegionId);
42 40
             if (entityJson.Count > 0)
43 41
             {
@@ -52,7 +50,7 @@ namespace CallCenterApi.Interface.Controllers.customer
52 50
         /// 导入excel
53 51
         /// </summary>
54 52
         /// <returns></returns>
55
-        public ActionResult ImportExcel(int F_Layer, int F_RegionId = 0)
53
+        public ActionResult ImportExcel(int F_Layer, string F_RegionName="")
56 54
         {
57 55
             string userscode = CurrentUser.UserData.F_UserCode;
58 56
             HttpPostedFile _upFile = RequestString.GetFile("upFile");
@@ -105,7 +103,18 @@ namespace CallCenterApi.Interface.Controllers.customer
105 103
                             Model.T_RegionCategory dModel = new Model.T_RegionCategory();
106 104
                             dModel.F_RegionName = dr["地区名称"].ToString();//地区名称
107 105
                             dModel.F_Layer = F_Layer;
108
-                            dModel.F_ParentId = F_RegionId;
106
+                            if (F_RegionName != "")
107
+                            {
108
+                                Model.T_RegionCategory userModel = regionBLL.GetModel(F_RegionName);
109
+                                if (userModel != null)
110
+                                {
111
+                                    dModel.F_ParentId = userModel.F_RegionId;
112
+                                }
113
+                                else
114
+                                {
115
+                                    dModel.F_ParentId = 0;
116
+                                }
117
+                            }
109 118
                             dModel.F_CreateBy = int .Parse (userscode);
110 119
                             dModel.F_CreateOn = DateTime.Now;
111 120
                             dModel.F_DeleteFlag = 0;

+ 380 - 3
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/workorder/WorkOrderNewController.cs

@@ -1,16 +1,393 @@
1
-using System;
1
+using CallCenter.Utility;
2
+using CallCenterApi.Interface.Controllers.Base;
3
+using CallCenterApi.Interface.Models.Input;
4
+using System;
2 5
 using System.Collections.Generic;
6
+using System.Data;
3 7
 using System.Linq;
8
+using System.Text.RegularExpressions;
4 9
 using System.Web;
5 10
 using System.Web.Mvc;
6 11
 
7 12
 namespace CallCenterApi.Interface.Controllers.workorder
8 13
 {
9
-    public class WorkOrderNewController : Controller
14
+    public class WorkOrderNewController : BaseController
10 15
     {
16
+        BLL.T_Wo_WorkOrder workOrder = new BLL.T_Wo_WorkOrder();
17
+        BLL.T_Cus_CustomerBaseNew cusbll = new BLL.T_Cus_CustomerBaseNew();
18
+        BLL.T_Sys_Department departmentBLL = new BLL.T_Sys_Department();
19
+        BLL.T_Wo_MaterialManage mmBLL = new BLL.T_Wo_MaterialManage();
11 20
         // GET: WorkOrderNew
12
-        public ActionResult Index()
21
+        /// <summary>
22
+        /// 获取工单列表
23
+        /// </summary>
24
+        /// <returns></returns>
25
+        public ActionResult GetList(string code,int  type, string cusname, string cusphone, string companyname, string province, string city,
26
+            string country, string township, int pageindex = 1, int pagesize = 10)
13 27
         {
28
+
29
+            string sql = $" and F_IsDelete=0";
30
+            DataTable dt = new DataTable();
31
+            #region 筛选条件
32
+            if (type > 0&& type <4)//工单类型
33
+                sql += $" and F_Type=" + type;
34
+            if (!string.IsNullOrWhiteSpace(code))//工单编号
35
+                sql += $" and F_WorkOrderCode like '%" + code.Trim() + "%'";
36
+            if (!string.IsNullOrWhiteSpace(cusname))//客户姓名
37
+                sql += $" and F_CusName like '%" + cusname.Trim() + "%'";
38
+            if (!string.IsNullOrWhiteSpace(cusphone))//客户电话
39
+                sql += $" and F_CusPhone like '%" + cusphone.Trim() + "%'";
40
+            if (!string.IsNullOrWhiteSpace(companyname))//公司名称
41
+                sql += $" and F_CompanyName like '%" + companyname.Trim() + "%'";
42
+            if (!string.IsNullOrWhiteSpace(province))//省
43
+                sql += $" and F_IncidentProvince like '%" + province.Trim() + "%'";
44
+            if (!string.IsNullOrWhiteSpace(province))//市
45
+                sql += $" and F_IncidentCity like '%" + city.Trim() + "%'";
46
+            if (!string.IsNullOrWhiteSpace(province))//县
47
+                sql += $" and F_IncidentCountry like '%" + country.Trim() + "%'";
48
+            if (!string.IsNullOrWhiteSpace(province))//乡
49
+                sql += $" and F_IncidentTownship like '%" + township.Trim() + "%'";
50
+            #endregion
51
+
52
+            int recordCount = 0;
53
+            if (!string.IsNullOrWhiteSpace(sql))
54
+            {
55
+                dt = BLL.PagerBLL.GetListPager(
56
+                    "T_Wo_WorkOrder",
57
+                    "F_ID",
58
+                    "*,dbo.GetUserName(F_CreateBy) as F_CreateByName",
59
+                    sql,
60
+                    "ORDER BY F_CustomerId desc",
61
+                    pagesize,
62
+                    pageindex,
63
+                    true,
64
+                    out recordCount);
65
+            }
66
+            List<Model.T_Wo_WorkOrder> modlelist = new BLL.T_Wo_WorkOrder().DataTableToList(dt);
67
+            List<WorkOrderNewInput> Input = modeltooip(modlelist);
68
+            var obj = new
69
+            {
70
+                state = "success",
71
+                message = "成功",
72
+                rows = Input,
73
+                total = recordCount
74
+            };
75
+
76
+            return Content(obj.ToJson()); ;
77
+        }
78
+        /// <summary>
79
+        /// 查询工单详情
80
+        /// </summary>
81
+        public ActionResult GetDetails(int  id)
82
+        {
83
+            string sql = "";
84
+            if (id >0)
85
+            {
86
+                sql += $" ( F_ID like '%"  + id + "%' ) ";
87
+            }
88
+            else
89
+                return Error("请输入正确的id");
90
+            var list = new List<Model.T_Wo_WorkOrder>();
91
+            if (!string.IsNullOrWhiteSpace(sql))
92
+            {
93
+                sql += " and F_IsDelete=0";
94
+                list = workOrder.GetModelList(sql);
95
+            }
96
+            if (list.Count >0)
97
+            {
98
+                List<WorkOrderNewInput> Input = modeltooip(list);
99
+                if (Input!=null )
100
+                    return Success("获取工单详情成功", Input.FirstOrDefault());
101
+                else
102
+                    return Error("没有查询到此工单");
103
+            }
104
+            else
105
+                return Error("没有查询到此工单");
106
+
107
+        }
108
+        /// <summary>
109
+        /// 添加工单
110
+        /// </summary>
111
+        /// <returns></returns>
112
+        public ActionResult Add(WorkOrderNewInput input)
113
+        {
114
+            string usercode = CurrentUser.UserData.F_UserCode;
115
+            #region 添加验证判断
116
+            if (!(input.F_Type>0 && input.F_Type<4))
117
+                return Error("工单类型错误!");
118
+            #endregion
119
+            var model = new Model.T_Wo_WorkOrder();
120
+            #region 保存客户基本信息
121
+            model = inputtoobj(model, input);
122
+            model.F_CreateBy = usercode;
123
+            model.F_CreateOn = DateTime.Now;
124
+            model.F_IsDelete = 0;
125
+            #endregion
126
+            long n = workOrder.Add(model);
127
+            if (n > 0)
128
+            {
129
+                return Success("添加成功!");
130
+            }
131
+            else
132
+                return Error("添加失败!");
133
+        }
134
+        /// <summary>
135
+        /// 删除工单
136
+        /// </summary>
137
+        /// <param name="ids"></param>
138
+        /// <returns></returns>
139
+        public ActionResult DelWorkOrder(string[] ids)
140
+        {
141
+            if (ids != null && ids.Length > 0)
142
+            {
143
+                string idd = " ";
144
+                foreach (string str in ids)
145
+                {
146
+                    idd += str + ",";
147
+                }
148
+                if (!string.IsNullOrEmpty(idd.Trim()))
149
+                {
150
+                    if (workOrder.DeleteList(idd.TrimEnd(',')))
151
+                    {
152
+                        return Success("设置成功");
153
+                    }
154
+                    else
155
+                    {
156
+                        return Error("设置失败");
157
+                    }
158
+                }
159
+                else
160
+                {
161
+                    return Error("请选择用户");
162
+                }
163
+            }
164
+            else
165
+            {
166
+                return Error("获取参数失败");
167
+            }
168
+        }
169
+        /// <summary>
170
+        /// 修改工单
171
+        /// </summary>
172
+        /// <returns></returns>
173
+        public ActionResult Update(WorkOrderNewInput input)
174
+        {
175
+            string usercode = CurrentUser.UserData.F_UserCode;
176
+            #region 添加验证判断
177
+            if (input.F_ID <= 0)
178
+                return Error("参数错误!");
179
+            if (!(input.F_Type > 0 && input.F_Type < 4))
180
+                return Error("工单类型错误!");
181
+            if (input.F_Type==1|| input.F_Type == 3)
182
+            {
183
+                if (input.F_CustomerID>0)
184
+                {
185
+                    if (!valcode(input.F_CustomerID.ToString(), 10))
186
+                    {
187
+                        return Error("客户编号为10为纯数字!");
188
+                    }
189
+                }
190
+               if (input.F_MaterialID>0)
191
+                {
192
+                  if (!valcode(input.F_MaterialID.ToString(), 11))
193
+                    {
194
+                        return Error("物料编码为11为纯数字!");
195
+                    }
196
+                }
197
+               
198
+            }
199
+            #endregion
200
+            var model = workOrder.GetModel(input.F_ID);
201
+            #region 保存客户基本信息
202
+            model = inputtoobj(model, input);
203
+            #endregion
204
+            bool n = workOrder.Update(model);
205
+            if (n)
206
+            {
207
+                return Success("保存成功!");
208
+            }
209
+            else
210
+                return Error("保存失败!");
211
+        }
212
+        /// <summary>
213
+        /// 验证物料编码为10位纯数字
214
+        /// </summary>
215
+        private bool valcode(string code,int number)
216
+        {
217
+            var res = false;
218
+            //11位数字
219
+            if (code.Length == number && Regex.IsMatch(code, @"^\d{"+ number+"}$"))
220
+                res = true;
221
+            return res;
222
+        }
223
+      
224
+        /// <summary>
225
+        /// 根据model返回CustomerBaseNewInput对象
226
+        /// </summary>
227
+        private List<WorkOrderNewInput> modeltooip(List<Model.T_Wo_WorkOrder> model1)
228
+        {
229
+            if (model1 != null && model1.Count > 0)
230
+            {
231
+                List<WorkOrderNewInput> Input = new List<WorkOrderNewInput>(model1.Count);
232
+                for (int i = 0; i < model1.Count; i++)
233
+                {
234
+                    WorkOrderNewInput model = new WorkOrderNewInput();
235
+                    if (!valcode(model1[i].F_CustomerID.ToString (),10) )//验证客户编码为10位纯数字
236
+                    {
237
+                        model.F_CustomerID = model1[i].F_CustomerID;//客户编码
238
+                        Model.T_Cus_CustomerBaseNew cuModel = cusbll.GetModel(model1[i].F_CustomerID.ToString());//通过客户编号获取客户资料
239
+                        if (cuModel!=null )
240
+                        {
241
+                            Model.T_Sys_Department pdModel = departmentBLL.GetModel(cuModel.F_AreaID);//通过公司id获取部门
242
+                            if (pdModel!=null )
243
+                            {
244
+                                model.F_AreaName = pdModel.F_DeptName;
245
+                            }
246
+                            Model.T_Sys_Department pdModel1 = departmentBLL.GetModel(cuModel.F_BranchID);
247
+                            if (pdModel1!=null )
248
+                            {
249
+                                model.F_BranchName = pdModel1.F_DeptName;
250
+                            }
251
+                            model.F_Salesman = cuModel.F_Salesman;
252
+                            model.F_SalesPhone = cuModel.F_SalesPhone;
253
+                            model.F_Brands = cuModel.F_Brands;
254
+                        }
255
+                    }
256
+                    if (!valcode(model1[i].F_MaterialID.ToString(), 11))
257
+                    {
258
+                        model.F_MaterialID =int .Parse ( model1[i].F_MaterialID);//验证物料编码为11位纯数字
259
+                        Model.T_Wo_MaterialManage maModel = mmBLL .GetModel(model1[i].F_MaterialID.ToString());//通过物料编码获取物料信息
260
+                        if (maModel!=null )
261
+                        {
262
+                            model.F_MaterialName = maModel.F_MaterialName;
263
+                            model.F_Model = maModel.F_Model;
264
+                            model.F_Specs = maModel.F_Specs;
265
+                            model.F_Level1 = maModel.F_Level1;
266
+                            model.F_Level2 = maModel.F_Level2;
267
+                            model.F_Level3 = maModel.F_Level3;
268
+                            model.F_Brand = maModel.F_Brand;
269
+                            model.F_MaterialEffect = maModel.F_MaterialEffect;
270
+                            model.F_Pipeline = maModel.F_Pipeline;
271
+                            model.F_Craft = maModel.F_Craft;
272
+                        }
273
+                    }
274
+                    #region 基本字段
275
+                    model.F_ID = model1[i].F_ID;//
276
+                    model.F_WorkOrderCode = model1[i].F_WorkOrderCode;//工单编号
277
+                    model.F_Source =int .Parse (  model1[i].F_Source );//工单来源
278
+                    model.F_Type =int .Parse ( model1[i].F_Type ) ;//工单类型:咨询及需求、投诉、抽检、其他(其它手动输入别的点选)
279
+                    model.F_CusName = model1[i].F_CusName;//客户姓名
280
+                    model.F_CusPhone = model1[i].F_CusPhone;//客户电话
281
+                    model.F_CompanyName = model1[i].F_CompanyName;//公司名称
282
+                    model.F_IncidentProvince = model1[i].F_IncidentProvince;//事发地-省
283
+                    model.F_IncidentCity = model1[i].F_IncidentCity;//事发地-市
284
+                    model.F_IncidentCountry = model1[i].F_IncidentCountry;//事发地-县
285
+                    model.F_IncidentTownship = model1[i].F_IncidentTownship;//事发地-乡
286
+                    model.F_IncidentDetailed = model1[i].F_IncidentDetailed;//事发地-详细
287
+                    model.F_SalesBase = model1[i].F_SalesBase;//销售基地:新乡、新疆、九江、东北、其他(其它手动输入别的点选)
288
+                    model.F_Description = model1[i].F_Description;//问题描述
289
+                    model.F_Files = "0";//附件上传ids
290
+                    model.F_DealType = model1[i].F_DealType;//处理方式:当即办理、电话转接、网络转办(点选)
291
+                    #endregion
292
+                    model.F_QuestionType = model1[i].F_QuestionType;//问题类别(投诉抽捡和咨询类别不一样)
293
+                    #region 投诉类
294
+                    model.F_BatchNumber = model1[i].F_BatchNumber;//生产批次号
295
+                    model.F_TS_Formula = model1[i].F_TS_Formula;// 投诉-配方
296
+                    model.F_TS_Category = model1[i].F_TS_Category;//投诉-产品种类:化肥、化工、其他
297
+                    model.F_TS_Quantity = model1[i].F_TS_Quantity;//投诉-问题数量(吨)
298
+                    model.F_TS_Level = model1[i].F_TS_Level;//投诉-重要级别:轻微、一般、较大、重大
299
+                    #endregion
300
+                    #region 咨询类
301
+                    model.F_ZX_ProName = model1[i].F_ZX_ProName;//咨询-产品名称:三聚氰胺、甲醇、液氨、二甲醚、糠醇、其他
302
+                    model.F_ZX_Quantity = model1[i].F_ZX_Quantity;// 咨询-问题数量(吨)
303
+                    model.F_ZX_Area = model1[i].F_ZX_Area;// 咨询-大区
304
+                    model.F_ZX_Branch = model1[i].F_ZX_Branch;// 咨询-分公司
305
+                    #endregion
306
+                    #region 抽检类
307
+                    model.F_CJ_Time = model1[i].F_CJ_Time;// 抽检-抽检时间
308
+                    model.F_CJ_Level = model1[i].F_CJ_Level;// 抽检-抽检级别:乡镇级、县级、市级、省级及以上、个人送检
309
+                    model.F_CJ_Unit = model1[i].F_CJ_Unit;// 抽检-抽检单位:市场监督、农业部、土肥站、工商、联合执法、其他
310
+                    model.F_CJ_TestUnit = model1[i].F_CJ_TestUnit;//抽检-化验单位
311
+                    model.F_CJ_Tonnage = model1[i].F_CJ_Tonnage;//抽检-抽检吨数
312
+                    model.F_CJ_BagNo = model1[i].F_CJ_BagNo;//抽检-抽检袋数
313
+                    model.F_CJ_Outlay = model1[i].F_CJ_Outlay;//抽检-公关费用金额:单位元
314
+                    #endregion
315
+                    Input.Add(model);
316
+                  
317
+                }
318
+
319
+                return Input;
320
+            }
321
+            else
322
+            {
323
+                return null;
324
+            }
325
+
326
+        }
327
+        /// <summary>
328
+        /// 根据传入的对象和input的内容返回对象(添加修改使用)
329
+        /// </summary>
330
+        private Model.T_Wo_WorkOrder inputtoobj(Model.T_Wo_WorkOrder model, WorkOrderNewInput input)
331
+        {
332
+            var newmodel = model;
333
+            if (input.F_ID!=0)
334
+                model.F_ID = input.F_ID;
335
+            else
336
+                model.F_ID = model.F_ID;//工单ID
337
+            if (!string.IsNullOrWhiteSpace(input.F_WorkOrderCode))
338
+                model.F_WorkOrderCode = input.F_WorkOrderCode;//工单编号
339
+            else
340
+                model.F_WorkOrderCode = DateTime.Now.ToString("yyyyMMddHHmmssfff");  //工单编号  
341
+            #region 基本字段
342
+            model.F_Source =input.F_Source.ToString ();//工单来源
343
+            model.F_Type = input.F_Type.ToString();//工单类型:咨询及需求、投诉、抽检、其他(其它手动输入别的点选)
344
+            model.F_CusName = input.F_CusName;//客户姓名
345
+            model.F_CusPhone = input.F_CusPhone;//客户电话
346
+            model.F_CompanyName = input.F_CompanyName;//公司名称
347
+            model.F_IncidentProvince = input.F_IncidentProvince;//事发地-省
348
+            model.F_IncidentCity = input.F_IncidentCity;//事发地-市
349
+            model.F_IncidentCountry = input.F_IncidentCountry;//事发地-县
350
+            model.F_IncidentTownship = input.F_IncidentTownship;//事发地-乡
351
+            model.F_IncidentDetailed = input.F_IncidentDetailed;//事发地-详细
352
+            model.F_SalesBase = input.F_SalesBase;//销售基地:新乡、新疆、九江、东北、其他(其它手动输入别的点选)
353
+            model.F_Description = input.F_Description;//问题描述
354
+            model.F_Files = "0";//附件上传ids
355
+            model.F_DealType = input.F_DealType;//处理方式:当即办理、电话转接、网络转办(点选)
356
+            #endregion
357
+            model.F_QuestionType = input.F_QuestionType;//问题类别(投诉抽捡和咨询类别不一样)
358
+            model.F_CustomerID = input.F_CustomerID;//客户编号为10为纯数字
359
+            model.F_MaterialID = input.F_MaterialID.ToString ();//物料编码为11为纯数字
360
+            #region 投诉类
361
+            model.F_BatchNumber = input.F_BatchNumber;//生产批次号
362
+            model.F_TS_Formula = input.F_TS_Formula;// 投诉-配方
363
+            model.F_TS_Category = input.F_TS_Category;//投诉-产品种类:化肥、化工、其他
364
+            model.F_TS_Quantity = input.F_TS_Quantity;//投诉-问题数量(吨)
365
+            model.F_TS_Level = input.F_TS_Level;//投诉-重要级别:轻微、一般、较大、重大
366
+            #endregion
367
+            #region 咨询类
368
+            model.F_ZX_ProName = input.F_ZX_ProName;//咨询-产品名称:三聚氰胺、甲醇、液氨、二甲醚、糠醇、其他
369
+            model.F_ZX_Quantity = input.F_ZX_Quantity;// 咨询-问题数量(吨)
370
+            model.F_ZX_Area = input.F_ZX_Area;// 咨询-大区
371
+            model.F_ZX_Branch = input.F_ZX_Branch;// 咨询-分公司
372
+            #endregion
373
+            #region 抽检类
374
+            model.F_CJ_Time = input.F_CJ_Time;// 抽检-抽检时间
375
+            model.F_CJ_Level = input.F_CJ_Level;// 抽检-抽检级别:乡镇级、县级、市级、省级及以上、个人送检
376
+            model.F_CJ_Unit = input.F_CJ_Unit;// 抽检-抽检单位:市场监督、农业部、土肥站、工商、联合执法、其他
377
+            model.F_CJ_TestUnit = input.F_CJ_TestUnit;//抽检-化验单位
378
+            model.F_CJ_Tonnage = input.F_CJ_Tonnage;//抽检-抽检吨数
379
+            model.F_CJ_BagNo = input.F_CJ_BagNo;//抽检-抽检袋数
380
+            model.F_CJ_Outlay = input.F_CJ_Outlay;//抽检-公关费用金额:单位元
381
+            #endregion
382
+            return model;
383
+        }
384
+        /// <summary>
385
+        /// 获取工单详情
386
+        /// </summary>
387
+        /// <returns></returns>
388
+        public ActionResult GetDetailes()
389
+        {
390
+
14 391
             return View();
15 392
         }
16 393
     }

+ 631 - 0
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Models/Input/WorkOrderNewInput.cs

@@ -0,0 +1,631 @@
1
+using System;
2
+using System.Collections.Generic;
3
+using System.Linq;
4
+using System.Web;
5
+
6
+namespace CallCenterApi.Interface.Models.Input
7
+{
8
+    public class WorkOrderNewInput
9
+    {/// <summary>
10
+            /// 工单ID
11
+            /// </summary>
12
+            public int F_ID { get; set; }
13
+
14
+            /// <summary>
15
+            /// 工单编号
16
+            /// </summary>
17
+            public string F_WorkOrderCode
18
+            {
19
+                get; set;
20
+            }
21
+            /// <summary>
22
+            /// 工单来源:电话、微信业务员、微信客户、官网
23
+            /// </summary>
24
+            public int    F_Source
25
+            {
26
+                get; set;
27
+            }
28
+            /// <summary>
29
+            /// 工单类型:咨询及需求、投诉、抽检、其他
30
+            /// </summary>
31
+            public int  F_Type
32
+            {
33
+                get; set;
34
+            }
35
+            /// <summary>
36
+            /// 客户姓名
37
+            /// </summary>
38
+            public string F_CusName
39
+            {
40
+                get; set;
41
+            }
42
+            /// <summary>
43
+            /// 客户电话
44
+            /// </summary>
45
+            public string F_CusPhone
46
+            {
47
+                get; set;
48
+            }
49
+            /// <summary>
50
+            /// 公司名称
51
+            /// </summary>
52
+            public string F_CompanyName
53
+            {
54
+                get; set;
55
+            }
56
+
57
+        /// <summary>
58
+        /// 通话记录ID
59
+        /// </summary>
60
+        public string F_CallID
61
+        {
62
+            get; set;
63
+        }
64
+      
65
+        /// <summary>
66
+        /// 事发地-省
67
+        /// </summary>
68
+        public string F_IncidentProvince
69
+        {
70
+            get; set;
71
+        }
72
+        /// <summary>
73
+        /// 事发地-市
74
+        /// </summary>
75
+        public string F_IncidentCity
76
+        {
77
+            get; set;
78
+        }
79
+        /// <summary>
80
+        /// 事发地-县
81
+        /// </summary>
82
+        public string F_IncidentCountry
83
+        {
84
+            get; set;
85
+        }
86
+        /// <summary>
87
+        /// 事发地-乡
88
+        /// </summary>
89
+        public string F_IncidentTownship
90
+        {
91
+            get; set;
92
+        }
93
+        /// <summary>
94
+        /// 事发地-详细
95
+        /// </summary>
96
+        public string F_IncidentDetailed
97
+        {
98
+            get; set;
99
+        }
100
+        /// <summary>
101
+        /// 销售基地:新乡、新疆、九江、东北、其他
102
+        /// </summary>
103
+        public string F_SalesBase
104
+        {
105
+            get; set;
106
+        }
107
+        /// <summary>
108
+        /// 问题描述
109
+        /// </summary>
110
+        public string F_Description
111
+        {
112
+            get; set;
113
+        }
114
+        /// <summary>
115
+        /// 附件上传ids
116
+        /// </summary>
117
+        public string F_Files
118
+        {
119
+            get; set;
120
+        }
121
+        /// <summary>
122
+        /// 处理方式:当即办理、电话转接、网络转办
123
+        /// </summary>
124
+        public string F_DealType
125
+        {
126
+            get; set;
127
+        }
128
+        /// <summary>
129
+        /// 客户id
130
+        /// </summary>
131
+        public int?   F_CustomerID
132
+        {
133
+            get; set;
134
+        }
135
+        /// <summary>
136
+        /// 大区名称
137
+        /// </summary>
138
+        public string F_AreaName { set; get; }
139
+        /// <summary>
140
+        /// 分公司名称
141
+        /// </summary>
142
+        public string F_BranchName { set; get; }
143
+        /// <summary>
144
+        /// 业务员
145
+        /// </summary>
146
+        public string F_Salesman { set; get; }
147
+        /// <summary>
148
+        /// 业务员电话
149
+        /// </summary>
150
+        public string F_SalesPhone { set; get; }
151
+        /// <summary>
152
+        /// 产品
153
+        /// </summary>
154
+        public string F_Brands { set; get; }
155
+        /// <summary>
156
+        /// 物料id
157
+        /// </summary>
158
+        public int  F_MaterialID
159
+        {
160
+            get; set;
161
+        }
162
+        /// <summary>
163
+        /// 物料名称
164
+        /// </summary>
165
+        public string F_MaterialName { get; set; }
166
+        /// <summary>
167
+        /// 型号
168
+        /// </summary>
169
+        public string F_Model { get; set; }
170
+        /// <summary>
171
+        /// 规格
172
+        /// </summary>
173
+        public string F_Specs { get; set; }
174
+        /// <summary>
175
+        /// 一级分类
176
+        /// </summary>
177
+        public string F_Level1 { get; set; }
178
+        /// <summary>
179
+        /// 二级分类
180
+        /// </summary>
181
+        public string F_Level2 { get; set; }
182
+        /// <summary>
183
+        /// 三级分类
184
+        /// </summary>
185
+        public string F_Level3 { get; set; }
186
+        /// <summary>
187
+        /// 品牌
188
+        /// </summary>
189
+        public string F_Brand { get; set; }
190
+        /// <summary>
191
+        /// 复合肥肥效
192
+        /// </summary>
193
+        public string F_MaterialEffect { get; set; }
194
+        /// <summary>
195
+        /// 产品线
196
+        /// </summary>
197
+        public string F_Pipeline { get; set; }
198
+        /// <summary>
199
+        /// 工艺
200
+        /// </summary>
201
+        public string F_Craft { get; set; }
202
+        /// <summary>
203
+        /// 问题类别
204
+        /// </summary>
205
+        public string F_QuestionType
206
+        {
207
+            get; set;
208
+        }
209
+        /// <summary>
210
+        /// 生产批次号
211
+        /// </summary>
212
+        public string F_BatchNumber
213
+        {
214
+            get; set;
215
+        }
216
+        /// <summary>
217
+        /// 投诉-配方
218
+        /// </summary>
219
+        public string F_TS_Formula
220
+        {
221
+            get; set;
222
+        }
223
+        /// <summary>
224
+        /// 投诉-产品种类:化肥、化工、其他
225
+        /// </summary>
226
+        public string F_TS_Category
227
+        {
228
+            get; set;
229
+        }
230
+        /// <summary>
231
+        /// 投诉-问题数量(吨)
232
+        /// </summary>
233
+        public string F_TS_Quantity
234
+        {
235
+            get; set;
236
+        }
237
+        /// <summary>
238
+        /// 投诉-重要级别:轻微、一般、较大、重大
239
+        /// </summary>
240
+        public string F_TS_Level
241
+        {
242
+            get; set;
243
+        }
244
+        /// <summary>
245
+        /// 咨询-产品名称:三聚氰胺、甲醇、液氨、二甲醚、糠醇、其他
246
+        /// </summary>
247
+        public string F_ZX_ProName
248
+        {
249
+            get; set;
250
+        }
251
+        /// <summary>
252
+        /// 咨询-问题数量
253
+        /// </summary>
254
+        public string F_ZX_Quantity
255
+        {
256
+            get; set;
257
+        }
258
+        /// <summary>
259
+        /// 咨询-大区
260
+        /// </summary>
261
+        public string F_ZX_Area
262
+        {
263
+            get; set;
264
+        }
265
+        /// <summary>
266
+        /// 咨询-分公司
267
+        /// </summary>
268
+        public string F_ZX_Branch
269
+        {
270
+            get; set;
271
+        }
272
+        /// <summary>
273
+        /// 抽检-抽检时间
274
+        /// </summary>
275
+        public DateTime? F_CJ_Time
276
+        {
277
+            get; set;
278
+        }
279
+        /// <summary>
280
+        /// 抽检-抽检级别:乡镇级、县级、市级、省级及以上、个人送检
281
+        /// </summary>
282
+        public string F_CJ_Level
283
+        {
284
+            get; set;
285
+        }
286
+        /// <summary>
287
+        /// 抽检-抽检单位:市场监督、农业部、土肥站、工商、联合执法、其他
288
+        /// </summary>
289
+        public string F_CJ_Unit
290
+        {
291
+            get; set;
292
+        }
293
+        /// <summary>
294
+        /// 抽检-化验单位
295
+        /// </summary>
296
+        public string F_CJ_TestUnit
297
+        {
298
+            get; set;
299
+        }
300
+        /// <summary>
301
+        /// 抽检-抽检吨数
302
+        /// </summary>
303
+        public string F_CJ_Tonnage
304
+        {
305
+            get; set;
306
+        }
307
+        /// <summary>
308
+        /// 抽检-抽检袋数
309
+        /// </summary>
310
+        public string F_CJ_BagNo
311
+        {
312
+            get; set;
313
+        }
314
+        /// <summary>
315
+        /// 抽检-公关费用金额:单位元
316
+        /// </summary>
317
+        public string F_CJ_Outlay
318
+        {
319
+            get; set;
320
+        }
321
+        /// <summary>
322
+        /// 工单状态
323
+        /// </summary>
324
+        public int? F_State
325
+        {
326
+            get; set;
327
+        }
328
+        /// <summary>
329
+        /// 市场管理科-生产基地(新乡、新疆、九江、东北、贴牌、无法确定)
330
+        /// </summary>
331
+        public string F_SC_ProductBase
332
+        {
333
+            get; set;
334
+        }
335
+        /// <summary>
336
+        /// 市场管理科-初审意见:退货、换货、补偿、自行处理
337
+        /// </summary>
338
+        public string F_SC_PreliminaryOpinion
339
+        {
340
+            get; set;
341
+        }
342
+        /// <summary>
343
+        /// 市场管理科-超出质保期限(算法:工单创建日期-生产日期,生产日期根据生产批次号获取,单位:月)
344
+        /// </summary>
345
+        public string F_SC_QualityMonth
346
+        {
347
+            get; set;
348
+        }
349
+        /// <summary>
350
+        /// 市场管理科-抽检-抽检结果(视同合格、合格、不合格、复检后合格、未送检)
351
+        /// </summary>
352
+        public string F_SC_CJ_SpotResult
353
+        {
354
+            get; set;
355
+        }
356
+        /// <summary>
357
+        /// 市场管理科-抽检-自检结果
358
+        /// </summary>
359
+        public string F_SC_CJ_SelfResult
360
+        {
361
+            get; set;
362
+        }
363
+        /// <summary>
364
+        /// 市场管理科-抽检-对应审批工作流单号
365
+        /// </summary>
366
+        public string F_SC_CJ_ApprovalNo
367
+        {
368
+            get; set;
369
+        }
370
+        /// <summary>
371
+        /// 市场管理科-抽检-确认返账金额(元)
372
+        /// </summary>
373
+        public string F_SC_CJ_ReturnAccount
374
+        {
375
+            get; set;
376
+        }
377
+        /// <summary>
378
+        /// 质量管理科-质量事件等级(未遂、一般、较大、重大)
379
+        /// </summary>
380
+        public string F_ZL_QualityEventLevel
381
+        {
382
+            get; set;
383
+        }
384
+        /// <summary>
385
+        /// 质量管理科-索赔金额(单位元,对应责任单位)
386
+        /// </summary>
387
+        public string F_ZL_ClaimAmount
388
+        {
389
+            get; set;
390
+        }
391
+        /// <summary>
392
+        /// 质量管理科-责任单位(需列出,可选多个)
393
+        /// </summary>
394
+        public string F_ZL_ResponsibleUnit
395
+        {
396
+            get; set;
397
+        }
398
+        /// <summary>
399
+        /// 质量管理科-审批意见(同意、不同意,若选择不同意,增加输入框输入补充内容)
400
+        /// </summary>
401
+        public string F_ZL_ApprovalOpinions
402
+        {
403
+            get; set;
404
+        }
405
+        /// <summary>
406
+        /// 质量管理科-审批不同意意见
407
+        /// </summary>
408
+        public string F_ZL_ApprovalDisagree
409
+        {
410
+            get; set;
411
+        }
412
+        /// <summary>
413
+        /// 质量管理科-补偿方式(实物、钱款【单位元】,若选择钱款,增加输入框输入补充内容)
414
+        /// </summary>
415
+        public string F_ZL_CompensationMethod
416
+        {
417
+            get; set;
418
+        }
419
+        /// <summary>
420
+        /// 质量管理科-补偿钱款
421
+        /// </summary>
422
+        public string F_ZL_CompensationMoney
423
+        {
424
+            get; set;
425
+        }
426
+        /// <summary>
427
+        /// 质量管理科-对应责任单位(生产、研发、农化、物流、质量管理科,销售内勤)
428
+        /// </summary>
429
+        public string F_ZL_CResponsibleUnits
430
+        {
431
+            get; set;
432
+        }
433
+        /// <summary>
434
+        /// 质量管理科-确认实收数量(吨)
435
+        /// </summary>
436
+        public string F_ZL_Fquantity
437
+        {
438
+            get; set;
439
+        }
440
+        /// <summary>
441
+        /// 质量管理科-改进要求
442
+        /// </summary>
443
+        public string F_ZL_ImprovementRequirements
444
+        {
445
+            get; set;
446
+        }
447
+        /// <summary>
448
+        /// 质量管理科-对应审批工作流单号
449
+        /// </summary>
450
+        public string F_ZL_CApprovalNo
451
+        {
452
+            get; set;
453
+        }
454
+        /// <summary>
455
+        /// 质量管理科-抽检-未备案、已备案
456
+        /// </summary>
457
+        public string F_ZL_CJ_IsRecord
458
+        {
459
+            get; set;
460
+        }
461
+        /// <summary>
462
+        /// 是否审核
463
+        /// </summary>
464
+        public int? F_IsAudit
465
+        {
466
+            get; set;
467
+        }
468
+        /// <summary>
469
+        /// 审核状态
470
+        /// </summary>
471
+        public int? F_AuditState
472
+        {
473
+            get; set;
474
+        }
475
+        /// <summary>
476
+        /// 审核人
477
+        /// </summary>
478
+        public string F_AuditBy
479
+        {
480
+            get; set;
481
+        }
482
+        /// <summary>
483
+        /// 审核时间
484
+        /// </summary>
485
+        public DateTime? F_AuditOn
486
+        {
487
+            get; set;
488
+        }
489
+        /// <summary>
490
+        /// 审核内容
491
+        /// </summary>
492
+        public string F_AuditCont
493
+        {
494
+            get; set;
495
+        }
496
+        /// <summary>
497
+        /// 是否超时
498
+        /// </summary>
499
+        public int? F_IsOver
500
+        {
501
+            get; set;
502
+        }
503
+        /// <summary>
504
+        /// 处理人
505
+        /// </summary>
506
+        public string F_DealBy
507
+        {
508
+            get; set;
509
+        }
510
+        /// <summary>
511
+        /// 处理时间
512
+        /// </summary>
513
+        public DateTime? F_DealTime
514
+        {
515
+            get; set;
516
+        }
517
+        /// <summary>
518
+        /// 处理内容
519
+        /// </summary>
520
+        public string F_DealContent
521
+        {
522
+            get; set;
523
+        }
524
+        /// <summary>
525
+        /// 处理结果:已处理,未处理
526
+        /// </summary>
527
+        public string F_DealResult
528
+        {
529
+            get; set;
530
+        }
531
+        /// <summary>
532
+        /// 未处理原因:资金、技术、人员、其他(若选其他,则手输)
533
+        /// </summary>
534
+        public string F_DealReasons
535
+        {
536
+            get; set;
537
+        }
538
+        /// <summary>
539
+        /// 是否建议回访(是,否)此项若选是,则流转到客服-待回访工单,若选否,则流转至客服待完结工单
540
+        /// </summary>
541
+        public int? F_IsVisit
542
+        {
543
+            get; set;
544
+        }
545
+        /// <summary>
546
+        /// 回访时间
547
+        /// </summary>
548
+        public DateTime? F_VisitOn
549
+        {
550
+            get; set;
551
+        }
552
+        /// <summary>
553
+        /// 回访人
554
+        /// </summary>
555
+        public string F_VisitBy
556
+        {
557
+            get; set;
558
+        }
559
+        /// <summary>
560
+        /// 回访结果:非常满意、满意、一般、不满意
561
+        /// </summary>
562
+        public string F_VisitResult
563
+        {
564
+            get; set;
565
+        }
566
+        /// <summary>
567
+        /// 回访不满意原因
568
+        /// </summary>
569
+        public string F_VisitReason
570
+        {
571
+            get; set;
572
+        }
573
+        /// <summary>
574
+        /// 添加人工号
575
+        /// </summary>
576
+        public string F_CreateBy
577
+        {
578
+            get; set;
579
+        }
580
+        /// <summary>
581
+        /// 添加时间
582
+        /// </summary>
583
+        public DateTime? F_CreateOn
584
+        {
585
+            get; set;
586
+        }
587
+        /// <summary>
588
+        /// 修改次数
589
+        /// </summary>
590
+        public int? F_UpdateCount
591
+        {
592
+            get; set;
593
+        }
594
+        /// <summary>
595
+        /// 修改人工号
596
+        /// </summary>
597
+        public string F_UpdateBy
598
+        {
599
+            get; set;
600
+        }
601
+        /// <summary>
602
+        /// 修改时间
603
+        /// </summary>
604
+        public DateTime? F_UpdateOn
605
+        {
606
+            get; set;
607
+        }
608
+        /// <summary>
609
+        /// 是否删除:0否,1是
610
+        /// </summary>
611
+        public int? F_IsDelete
612
+        {
613
+            get; set;
614
+        }
615
+        /// <summary>
616
+        /// 删除人工号
617
+        /// </summary>
618
+        public string F_DeleteBy
619
+        {
620
+            get; set;
621
+        }
622
+        /// <summary>
623
+        /// 删除时间
624
+        /// </summary>
625
+        public DateTime? F_DeleteOn
626
+        {
627
+            get; set;
628
+        }
629
+
630
+    }
631
+}

+ 28 - 1
codegit/CallCenterApi/CallCenterApi.Model/T_Wo_WorkOrder.cs

@@ -89,6 +89,9 @@ namespace CallCenterApi.Model
89 89
         private int? _f_isdelete;
90 90
         private string _f_deleteby;
91 91
         private DateTime? _f_deleteon;
92
+        private string _f_cusphone;
93
+        private string _f_cusname;
94
+        private string _f_companyname;
92 95
         /// <summary>
93 96
         /// 工单ID
94 97
         /// </summary>
@@ -106,6 +109,30 @@ namespace CallCenterApi.Model
106 109
             get { return _f_workordercode; }
107 110
         }
108 111
         /// <summary>
112
+        /// 客户姓名
113
+        /// </summary>
114
+        public string F_CusName
115
+        {
116
+            set { _f_cusname = value; }
117
+            get { return _f_cusname; }
118
+        }
119
+        /// <summary>
120
+        /// 客户电话
121
+        /// </summary>
122
+        public string F_CusPhone
123
+        {
124
+            set { _f_cusphone = value; }
125
+            get { return _f_cusphone; }
126
+        }
127
+        /// <summary>
128
+        /// 公司名称
129
+        /// </summary>
130
+        public string F_CompanyName
131
+        {
132
+            set { _f_companyname = value; }
133
+            get { return _f_companyname; }
134
+        }
135
+        /// <summary>
109 136
         /// 通话记录ID
110 137
         /// </summary>
111 138
         public string F_CallID
@@ -188,7 +215,7 @@ namespace CallCenterApi.Model
188 215
         /// <summary>
189 216
         /// 附件上传ids
190 217
         /// </summary>
191
-        public string F_Files
218
+        public string  F_Files
192 219
         {
193 220
             set { _f_files = value; }
194 221
             get { return _f_files; }