ソースを参照

自定义字段模板

yuqian 8 年 前
コミット
6364b8a1b1

+ 1 - 0
CallCenterApi/CallCenterApi.BLL/CallCenterApi.BLL.csproj

52
     <Compile Include="T_Call_CallRecords_QC.cs" />
52
     <Compile Include="T_Call_CallRecords_QC.cs" />
53
     <Compile Include="T_Call_LeaveRecord.cs" />
53
     <Compile Include="T_Call_LeaveRecord.cs" />
54
     <Compile Include="T_Call_PageField.cs" />
54
     <Compile Include="T_Call_PageField.cs" />
55
+    <Compile Include="T_Call_PageTemp.cs" />
55
     <Compile Include="T_Call_TaskTelNum.cs" />
56
     <Compile Include="T_Call_TaskTelNum.cs" />
56
     <Compile Include="T_Call_WorkOrder.cs" />
57
     <Compile Include="T_Call_WorkOrder.cs" />
57
     <Compile Include="T_Call_ZBDH.cs" />
58
     <Compile Include="T_Call_ZBDH.cs" />

+ 8 - 0
CallCenterApi/CallCenterApi.BLL/T_Call_PageField.cs

46
             return dal.UpdateByTaskId(taskId);
46
             return dal.UpdateByTaskId(taskId);
47
         }
47
         }
48
 
48
 
49
+
50
+        /// <summary>
51
+        /// 更新多条数据
52
+        /// </summary>
53
+        public bool UpdateByTempId(int tempId)
54
+        {
55
+            return dal.UpdateByTempId(tempId);
56
+        }
49
         /// <summary>
57
         /// <summary>
50
         /// 删除一条数据
58
         /// 删除一条数据
51
         /// </summary>
59
         /// </summary>

+ 51 - 0
CallCenterApi/CallCenterApi.BLL/T_Call_PageTemp.cs

1
+using System;
2
+using System.Collections.Generic;
3
+using System.Linq;
4
+using System.Text;
5
+using System.Threading.Tasks;
6
+
7
+namespace CallCenterApi.BLL
8
+{
9
+    public class T_Call_PageTemp
10
+    {
11
+        private readonly DAL.T_Call_PageTemp dal = new DAL.T_Call_PageTemp();
12
+        private readonly DAL.T_Call_PageField dalPageField = new DAL.T_Call_PageField();
13
+        public T_Call_PageTemp()
14
+        { }
15
+
16
+        #region  Method
17
+        /// <summary>
18
+        /// 增加一条数据
19
+        /// </summary>
20
+        public int Add(Model.T_Call_PageTemp model)
21
+        {
22
+            return dal.Add(model);
23
+        }
24
+
25
+        /// <summary>
26
+        /// 修改一条数据
27
+        /// </summary>
28
+        public bool Update(Model.T_Call_PageTemp model)
29
+        {
30
+            return dal.Update(model) > 0;
31
+        }
32
+
33
+        /// <summary>
34
+        /// 获取一条数据
35
+        /// </summary>
36
+        public Model.T_Call_PageTemp GetModel(int id)
37
+        {
38
+            return dal.GetModel(id);
39
+        }
40
+        /// <summary>
41
+        /// 删除一条数据
42
+        /// </summary>
43
+        public bool Delete(int F_Id)
44
+        {
45
+            dalPageField.DeleteByTempId(F_Id);
46
+            dal.Delete(F_Id);
47
+            return true;
48
+        }
49
+        #endregion  Method
50
+    }
51
+}

+ 1 - 0
CallCenterApi/CallCenterApi.DAL/CallCenterApi.DAL.csproj

52
     <Compile Include="T_Call_CallRecords_QC.cs" />
52
     <Compile Include="T_Call_CallRecords_QC.cs" />
53
     <Compile Include="T_Call_LeaveRecord.cs" />
53
     <Compile Include="T_Call_LeaveRecord.cs" />
54
     <Compile Include="T_Call_PageField.cs" />
54
     <Compile Include="T_Call_PageField.cs" />
55
+    <Compile Include="T_Call_PageTemp.cs" />
55
     <Compile Include="T_Call_TaskTelNum.cs" />
56
     <Compile Include="T_Call_TaskTelNum.cs" />
56
     <Compile Include="T_Call_WorkOrder.cs" />
57
     <Compile Include="T_Call_WorkOrder.cs" />
57
     <Compile Include="T_Call_ZBDH.cs" />
58
     <Compile Include="T_Call_ZBDH.cs" />

+ 42 - 4
CallCenterApi/CallCenterApi.DAL/T_Call_PageField.cs

40
         {
40
         {
41
             StringBuilder strSql = new StringBuilder();
41
             StringBuilder strSql = new StringBuilder();
42
             strSql.Append("insert into T_Call_PageField(");
42
             strSql.Append("insert into T_Call_PageField(");
43
-            strSql.Append("F_TaskId,F_FeildId,F_Name,F_DBFieldlName,F_Sort)");
43
+            strSql.Append("F_TaskId,F_FeildId,F_Name,F_DBFieldlName,F_Sort,F_TempId)");
44
             strSql.Append(" values (");
44
             strSql.Append(" values (");
45
-            strSql.Append("@F_TaskId,@F_FeildId,@F_Name,@F_DBFieldlName,@F_Sort)");
45
+            strSql.Append("@F_TaskId,@F_FeildId,@F_Name,@F_DBFieldlName,@F_Sort,@F_TempId)");
46
             strSql.Append(";select @@IDENTITY");
46
             strSql.Append(";select @@IDENTITY");
47
             SqlParameter[] parameters = {
47
             SqlParameter[] parameters = {
48
                     new SqlParameter("@F_TaskId", SqlDbType.Int,4),
48
                     new SqlParameter("@F_TaskId", SqlDbType.Int,4),
49
                     new SqlParameter("@F_FeildId", SqlDbType.Int,4),
49
                     new SqlParameter("@F_FeildId", SqlDbType.Int,4),
50
                     new SqlParameter("@F_Name", SqlDbType.NVarChar,50),
50
                     new SqlParameter("@F_Name", SqlDbType.NVarChar,50),
51
                     new SqlParameter("@F_DBFieldlName", SqlDbType.NVarChar,50),
51
                     new SqlParameter("@F_DBFieldlName", SqlDbType.NVarChar,50),
52
-                    new SqlParameter("@F_Sort", SqlDbType.Int,4)};
52
+                    new SqlParameter("@F_Sort", SqlDbType.Int,4),
53
+                    new SqlParameter("@F_TempId", SqlDbType.Int,8)
54
+            };
53
             parameters[0].Value = model.F_TaskId;
55
             parameters[0].Value = model.F_TaskId;
54
             parameters[1].Value = model.F_FeildId;
56
             parameters[1].Value = model.F_FeildId;
55
             parameters[2].Value = model.F_Name;
57
             parameters[2].Value = model.F_Name;
56
             parameters[3].Value = model.F_DBFieldlName;
58
             parameters[3].Value = model.F_DBFieldlName;
57
             parameters[4].Value = model.F_Sort;
59
             parameters[4].Value = model.F_Sort;
60
+            parameters[5].Value = model.F_TempId;
58
 
61
 
59
             object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
62
             object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
60
             if (obj == null)
63
             if (obj == null)
124
         }
127
         }
125
 
128
 
126
         /// <summary>
129
         /// <summary>
130
+        /// 更新多条数据
131
+        /// </summary>
132
+        public bool UpdateByTempId(int tempId)
133
+        {
134
+            StringBuilder strSql = new StringBuilder();
135
+            strSql.Append("UPDATE  T_Call_PageField set F_TaskId=0,F_TempId=@F_TempId WHERE  F_TaskId=-1");
136
+            int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), new SqlParameter("@F_TempId", tempId));
137
+            if (rows > 0)
138
+            {
139
+                return true;
140
+            }
141
+            else
142
+            {
143
+                return false;
144
+            }
145
+        }
146
+
147
+        /// <summary>
127
         /// 删除一条数据
148
         /// 删除一条数据
128
         /// </summary>
149
         /// </summary>
129
         public bool Delete(int F_Id)
150
         public bool Delete(int F_Id)
183
                 return false;
204
                 return false;
184
             }
205
             }
185
         }
206
         }
186
-
207
+        /// <summary>
208
+        /// 批量删除数据
209
+        /// </summary>
210
+        public bool DeleteByTempId(int tempId)
211
+        {
212
+            StringBuilder strSql = new StringBuilder();
213
+            strSql.Append("delete from T_Call_PageField ");
214
+            strSql.Append(" where F_TempId=" + tempId);
215
+            int rows = DbHelperSQL.ExecuteSql(strSql.ToString());
216
+            if (rows > 0)
217
+            {
218
+                return true;
219
+            }
220
+            else
221
+            {
222
+                return false;
223
+            }
224
+        }
187
 
225
 
188
         /// <summary>
226
         /// <summary>
189
         /// 得到一个对象实体
227
         /// 得到一个对象实体

+ 110 - 0
CallCenterApi/CallCenterApi.DAL/T_Call_PageTemp.cs

1
+using CallCenterApi.DB;
2
+using System;
3
+using System.Collections.Generic;
4
+using System.Data;
5
+using System.Data.SqlClient;
6
+using System.Linq;
7
+using System.Text;
8
+using System.Threading.Tasks;
9
+
10
+namespace CallCenterApi.DAL
11
+{
12
+    public class T_Call_PageTemp
13
+    {
14
+        public T_Call_PageTemp()
15
+        { }
16
+        #region  Method
17
+
18
+        /// <summary>
19
+        /// 增加一条数据
20
+        /// </summary>
21
+        public int Add(Model.T_Call_PageTemp model)
22
+        {
23
+            StringBuilder strSql = new StringBuilder();
24
+            strSql.Append("insert into T_Call_PageTemp(");
25
+            strSql.Append("F_Name)");
26
+            strSql.Append(" values (");
27
+            strSql.Append("@F_Name)");
28
+            strSql.Append(";select @@IDENTITY");
29
+            SqlParameter[] parameters = {
30
+                    new SqlParameter("@F_Name",System.Data.SqlDbType.NVarChar,300),
31
+                };
32
+            parameters[0].Value = model.F_Name;
33
+            object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
34
+            if (obj == null)
35
+            {
36
+                return 0;
37
+            }
38
+            else
39
+            {
40
+                return Convert.ToInt32(obj);
41
+            }
42
+        }
43
+
44
+        /// <summary>
45
+        /// 修改一条数据
46
+        /// </summary>
47
+        public int Update(Model.T_Call_PageTemp model)
48
+        {
49
+            StringBuilder strSql = new StringBuilder();
50
+            strSql.Append("Update T_Call_PageTemp Set F_Name=@F_Name where F_Id=@F_Id");
51
+
52
+            SqlParameter[] parameters = {
53
+                    new SqlParameter("@F_Name",System.Data.SqlDbType.NVarChar,300),
54
+                    new SqlParameter("@F_Id",System.Data.SqlDbType.Int,8),
55
+                };
56
+            parameters[0].Value = model.F_Name;
57
+            parameters[1].Value = model.F_Id;
58
+            return DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
59
+        }
60
+
61
+        /// <summary>
62
+        /// 删除一条数据
63
+        /// </summary>
64
+        public bool Delete(int F_Id)
65
+        {
66
+
67
+            StringBuilder strSql = new StringBuilder();
68
+            strSql.Append("delete from T_Call_PageTemp where F_Id=@F_Id");
69
+            strSql.Append("");
70
+            SqlParameter[] parameters = {
71
+                    new SqlParameter("@F_Id", SqlDbType.Int,4)
72
+            };
73
+            parameters[0].Value = F_Id;
74
+
75
+            int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
76
+            if (rows > 0)
77
+            {
78
+                return true;
79
+            }
80
+            else
81
+            {
82
+                return false;
83
+            }
84
+        }
85
+
86
+        /// <summary>
87
+        /// 获取一条数据
88
+        /// </summary>
89
+        public Model.T_Call_PageTemp GetModel(int id)
90
+        {
91
+
92
+            StringBuilder strSql = new StringBuilder();
93
+            strSql.Append("select * from T_Call_PageTemp where F_Id=@F_Id");
94
+            strSql.Append("");
95
+            SqlParameter[] parameters = {
96
+                    new SqlParameter("@F_Id", SqlDbType.Int,4)
97
+            };
98
+            parameters[0].Value = id;
99
+
100
+            var dt = DbHelperSQL.Query(strSql.ToString(), parameters).Tables[0];
101
+            var model = new Model.T_Call_PageTemp();
102
+            model.F_Id = Convert.ToInt32(dt.Rows[0]["F_Id"]);
103
+            model.F_Name = dt.Rows[0]["F_Name"] == DBNull.Value ? "" : dt.Rows[0]["F_Name"].ToString();
104
+            return model;
105
+        }
106
+
107
+
108
+        #endregion  Method
109
+    }
110
+}

+ 22 - 3
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/callout/CallPlanController.cs

253
                 {
253
                 {
254
                     try
254
                     try
255
                     {
255
                     {
256
-                        pageFieldBLL.UpdateByTaskId(taskId);
256
+                        if (input.TempId > 0)
257
+                        {
258
+                            var fields = pageFieldBLL.DataTableToList(pageFieldBLL.GetList($" F_TaskId=0 and  F_TempId={input.TempId}").Tables[0]);
259
+                            foreach (var item in fields)
260
+                            {
261
+                                pageFieldBLL.Add(new T_Call_PageField()
262
+                                {
263
+                                    F_Name = item.F_Name,
264
+                                    F_FeildId = item.F_FeildId,
265
+                                    F_TaskId = (int)taskId,
266
+                                    F_Sort = item.F_Sort,
267
+                                    F_DBFieldlName = item.F_DBFieldlName
268
+                                });
269
+                            }
270
+                        }
271
+                        else
272
+                        {
273
+                            pageFieldBLL.UpdateByTaskId(taskId);
274
+                        }
275
+
257
 
276
 
258
 
277
 
259
 
278
 
738
             if (Request.Files.Count <= 0)
757
             if (Request.Files.Count <= 0)
739
                 return Error("请正确上传Excel文件");
758
                 return Error("请正确上传Excel文件");
740
             var file = Request.Files[0];
759
             var file = Request.Files[0];
741
-            if (!file.ContentType.Equals("application/vnd.ms-excel") && !file.ContentType.Equals("application/x-xls"))
742
-                return Error("请正确上传Excel文件");
760
+            if (!file.ContentType.Equals("application/vnd.ms-excel") && !file.ContentType.Equals("application/x-xls") && !file.ContentType.Equals("application/x-xlsx") && !file.ContentType.Equals("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"))
761
+                return Error($"请正确上传Excel文件:file.ContentType={file.ContentType}");
743
             var filePath = "";
762
             var filePath = "";
744
             NPOIHelper npoi = new NPOIHelper();
763
             NPOIHelper npoi = new NPOIHelper();
745
             var dt = npoi.ExcelToTable(file, 0, out filePath);
764
             var dt = npoi.ExcelToTable(file, 0, out filePath);

+ 52 - 29
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/callout/ExcelTmpController.cs

1
 using CallCenter.Utility;
1
 using CallCenter.Utility;
2
+using CallCenterApi.DB;
2
 using CallCenterApi.Interface.Controllers.Base;
3
 using CallCenterApi.Interface.Controllers.Base;
3
 using CallCenterApi.Interface.Models.Filter;
4
 using CallCenterApi.Interface.Models.Filter;
4
 using CallCenterApi.Model;
5
 using CallCenterApi.Model;
14
     {
15
     {
15
         private readonly BLL.T_Form_EntityAttribute formEntityAttrBLL = new BLL.T_Form_EntityAttribute();
16
         private readonly BLL.T_Form_EntityAttribute formEntityAttrBLL = new BLL.T_Form_EntityAttribute();
16
         private readonly BLL.T_Call_PageField pageFieldBLL = new BLL.T_Call_PageField();
17
         private readonly BLL.T_Call_PageField pageFieldBLL = new BLL.T_Call_PageField();
17
-
18
+        private readonly BLL.T_Call_PageTemp pageTempBLL = new BLL.T_Call_PageTemp();
18
         /// <summary>
19
         /// <summary>
19
         /// 获取所有自定义字段
20
         /// 获取所有自定义字段
20
         /// </summary>
21
         /// </summary>
70
             {
71
             {
71
                 sql += " and [F_TaskId]=" + filter.TaskId + " ";
72
                 sql += " and [F_TaskId]=" + filter.TaskId + " ";
72
             }
73
             }
74
+            else if (filter.TaskId == 0 && filter.TempId > 0)
75
+            {
76
+                sql += " and [F_TaskId]=0 and F_TempId=" + filter.TempId;
77
+            }
73
             else
78
             else
74
             {
79
             {
75
                 sql += " and [F_TaskId]=-1 ";
80
                 sql += " and [F_TaskId]=-1 ";
159
         /// <param name="ids"></param>
164
         /// <param name="ids"></param>
160
         /// <param name="taskId"></param>
165
         /// <param name="taskId"></param>
161
         /// <returns></returns>
166
         /// <returns></returns>
162
-        public ActionResult Add(int[] ids, int taskId)
167
+        public ActionResult Add(int[] ids, int taskId, int tempId)
163
         {
168
         {
164
             if (ids == null)
169
             if (ids == null)
165
                 return Error("");
170
                 return Error("");
172
                 var itemmodel = new T_Call_PageField();
177
                 var itemmodel = new T_Call_PageField();
173
                 itemmodel.F_Name = fieldmodel.F_Name;
178
                 itemmodel.F_Name = fieldmodel.F_Name;
174
                 itemmodel.F_DBFieldlName = fieldmodel.F_DBFieldlName;
179
                 itemmodel.F_DBFieldlName = fieldmodel.F_DBFieldlName;
175
-                itemmodel.F_TaskId = taskId;
180
+                itemmodel.F_TaskId = tempId > 0 ? 0 : taskId;
176
                 itemmodel.F_Sort = sort++;
181
                 itemmodel.F_Sort = sort++;
177
                 itemmodel.F_FeildId = id;
182
                 itemmodel.F_FeildId = id;
183
+                itemmodel.F_TempId = tempId;
178
                 if (pageFieldBLL.Add(itemmodel) > 0)
184
                 if (pageFieldBLL.Add(itemmodel) > 0)
179
                     continue;
185
                     continue;
180
             }
186
             }
181
             return Success("添加成功");
187
             return Success("添加成功");
182
         }
188
         }
183
 
189
 
184
-        ///// <summary>
185
-        ///// 去除自定义字段
186
-        ///// </summary>
187
-        ///// <param name="ids"></param>
188
-        ///// <returns></returns>
189
-        //public ActionResult Remove(int[] ids, int taskId)
190
-        //{
191
-        //    pageFieldBLL.DeleteByTaskId(taskId);
192
-        //    var sort = 0;
193
-        //    foreach (var id in ids)
194
-        //    {
195
-        //        var fieldmodel = formEntityAttrBLL.GetModel(id);
196
-        //        if (fieldmodel == null)
197
-        //            continue;
198
-        //        var itemmodel = new T_Call_PageField();
199
-        //        itemmodel.F_Name = fieldmodel.F_Name;
200
-        //        itemmodel.F_DBFieldlName = fieldmodel.F_DBFieldlName;
201
-        //        itemmodel.F_TaskId = taskId;
202
-        //        itemmodel.F_Sort = sort++;
203
-        //        itemmodel.F_FeildId = id;
204
-        //        if (pageFieldBLL.Add(itemmodel) > 0)
205
-        //            continue;
206
-        //    }
207
-        //    return Success("删除成功");
208
-        //}
209
-
210
         /// <summary>
190
         /// <summary>
211
         /// 去除自定义字段
191
         /// 去除自定义字段
212
         /// </summary>
192
         /// </summary>
237
                 return Success("修改成功");
217
                 return Success("修改成功");
238
             return Error("修改失败");
218
             return Error("修改失败");
239
         }
219
         }
220
+
221
+        public ActionResult AddTemp(int id = 0, string name = "")
222
+        {
223
+            if (string.IsNullOrWhiteSpace(name))
224
+                return Error("请填写模板名称");
225
+            T_Call_PageTemp model = new T_Call_PageTemp();
226
+            if (id <= 0)
227
+            {
228
+                model = new T_Call_PageTemp
229
+                {
230
+                    F_Name = name
231
+                };
232
+                id = pageTempBLL.Add(model);
233
+                if (id > 0)
234
+                {
235
+                    pageFieldBLL.UpdateByTempId(id);
236
+                }
237
+                return Success("");
238
+            }
239
+            model = pageTempBLL.GetModel(id);
240
+            model.F_Name = name;
241
+            if (pageTempBLL.Update(model))
242
+                return Success("");
243
+            return Error("");
244
+        }
245
+
246
+        public ActionResult GetAllTemp()
247
+        {
248
+            var dt = DbHelperSQL.Query("SELECT F_ID,F_Name from T_Call_PageTemp").Tables[0];
249
+            return Success("", dt);
250
+        }
251
+
252
+        public ActionResult DeleteTemp(int id)
253
+        {
254
+            if (id <= 0)
255
+                return Error("请选择需要删除的模板");
256
+            if (pageTempBLL.Delete(id))
257
+                return Success("");
258
+            return Error("删除失败");
259
+        }
260
+
261
+
262
+
240
     }
263
     }
241
 }
264
 }

+ 1 - 0
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Models/Filter/FilterExcelTmp.cs

10
     {
10
     {
11
         public long TaskId { get; set; } = 0;
11
         public long TaskId { get; set; } = 0;
12
         public int Type { get; set; } = 0;
12
         public int Type { get; set; } = 0;
13
+        public int TempId { get; set; } = 0;
13
     }
14
     }
14
 }
15
 }

+ 1 - 0
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Models/Input/CallPlanInput.cs

92
         /// </summary>
92
         /// </summary>
93
         public string FilePath { get; set; }
93
         public string FilePath { get; set; }
94
         public string SelectIds { get; set; }
94
         public string SelectIds { get; set; }
95
+        public int TempId { get; set; } = 0;
95
 
96
 
96
     }
97
     }
97
 }
98
 }

+ 1 - 0
CallCenterApi/CallCenterApi.Model/CallCenterApi.Model.csproj

56
     <Compile Include="T_Call_CallRecords_QC.cs" />
56
     <Compile Include="T_Call_CallRecords_QC.cs" />
57
     <Compile Include="T_Call_LeaveRecord.cs" />
57
     <Compile Include="T_Call_LeaveRecord.cs" />
58
     <Compile Include="T_Call_PageField.cs" />
58
     <Compile Include="T_Call_PageField.cs" />
59
+    <Compile Include="T_Call_PageTemp.cs" />
59
     <Compile Include="T_Call_TaskTelNum.cs" />
60
     <Compile Include="T_Call_TaskTelNum.cs" />
60
     <Compile Include="T_Call_TaskTelNumRes.cs" />
61
     <Compile Include="T_Call_TaskTelNumRes.cs" />
61
     <Compile Include="T_Call_WorkOrder.cs" />
62
     <Compile Include="T_Call_WorkOrder.cs" />

+ 1 - 0
CallCenterApi/CallCenterApi.Model/T_Call_PageField.cs

68
             set { _f_sort = value; }
68
             set { _f_sort = value; }
69
             get { return _f_sort; }
69
             get { return _f_sort; }
70
         }
70
         }
71
+        public int? F_TempId { get; set; }
71
         #endregion Model
72
         #endregion Model
72
 
73
 
73
     }
74
     }

+ 14 - 0
CallCenterApi/CallCenterApi.Model/T_Call_PageTemp.cs

1
+using System;
2
+using System.Collections.Generic;
3
+using System.Linq;
4
+using System.Text;
5
+using System.Threading.Tasks;
6
+
7
+namespace CallCenterApi.Model
8
+{
9
+    public class T_Call_PageTemp
10
+    {
11
+        public int F_Id { get; set; }
12
+        public string F_Name { get; set; }
13
+    }
14
+}