zhupei лет назад: 3
Родитель
Сommit
3cfe329809
29 измененных файлов с 3129 добавлено и 784 удалено
  1. 4 0
      codegit/CallCenterApi/CallCenterAPI.WechatSDK/Models/WxLoginDto.cs
  2. 1 0
      codegit/CallCenterApi/CallCenterApi.BLL/CallCenterApi.BLL.csproj
  3. 140 0
      codegit/CallCenterApi/CallCenterApi.BLL/T_Wo_AnnotationTab.cs
  4. 1 0
      codegit/CallCenterApi/CallCenterApi.DAL/CallCenterApi.DAL.csproj
  5. 321 0
      codegit/CallCenterApi/CallCenterApi.DAL/T_Wo_AnnotationTab.cs
  6. 69 69
      codegit/CallCenterApi/CallCenterApi.DAL/T_Wo_WorkCopy.cs
  7. 175 102
      codegit/CallCenterApi/CallCenterApi.DAL/T_Wo_WorkOrder.cs
  8. 19 7
      codegit/CallCenterApi/CallCenterApi.DAL/T_Wo_WorkOrderItem_New.cs
  9. 6 0
      codegit/CallCenterApi/CallCenterApi.DB/CallCenterApi.DB.csproj
  10. 25 7
      codegit/CallCenterApi/CallCenterApi.DB/DbHelperSQL.cs
  11. 2 0
      codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/CallCenterApi.Interface.csproj
  12. 182 0
      codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/AnnotationController.cs
  13. 31 5
      codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/DepartmentController.cs
  14. 2 1
      codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/IndexController.cs
  15. 155 3
      codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/QuestionManageController.cs
  16. 8 5
      codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/UserAccountController.cs
  17. 102 7
      codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/customer/CustomerNewController.cs
  18. 1 1
      codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/knowledge/KnowledgeController.cs
  19. 193 36
      codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/report/WOReportController.cs
  20. 506 210
      codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/weixin/WxLoginController.cs
  21. 966 314
      codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/workorder/WorkOrderNewController.cs
  22. 28 2
      codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Models/Input/WorkOrderNewInput.cs
  23. 1 0
      codegit/CallCenterApi/CallCenterApi.Model/CallCenterApi.Model.csproj
  24. 93 0
      codegit/CallCenterApi/CallCenterApi.Model/T_Wo_AnnotationTab.cs
  25. 31 4
      codegit/CallCenterApi/CallCenterApi.Model/T_Wo_WorkCopy.cs
  26. 54 2
      codegit/CallCenterApi/CallCenterApi.Model/T_Wo_WorkOrder.cs
  27. 4 0
      codegit/CallCenterApi/CallCenterApi.Model/T_Wo_WorkOrderItem_New.cs
  28. 9 3
      codegit/CallCenterApi/CallCenterApi.Model/TreeModel.cs
  29. 0 6
      codegit/CallCenterCommon/CallCenter.Utility/CallCenter.Utility.csproj

+ 4 - 0
codegit/CallCenterApi/CallCenterAPI.WechatSDK/Models/WxLoginDto.cs

19
         /// 登陆时候用: 1员工端,2业主端
19
         /// 登陆时候用: 1员工端,2业主端
20
         /// </summary>
20
         /// </summary>
21
         public int UserType { get; set; }
21
         public int UserType { get; set; }
22
+        /// <summary>
23
+        /// 1外线2内线
24
+        /// </summary>
25
+        public int Flag { get; set; }
22
         #endregion
26
         #endregion
23
     }
27
     }
24
 
28
 

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

114
     <Compile Include="T_Sys_WorkCalendar.cs" />
114
     <Compile Include="T_Sys_WorkCalendar.cs" />
115
     <Compile Include="T_Sys_WorkOFFDays.cs" />
115
     <Compile Include="T_Sys_WorkOFFDays.cs" />
116
     <Compile Include="T_Sys_WorkTimes.cs" />
116
     <Compile Include="T_Sys_WorkTimes.cs" />
117
+    <Compile Include="T_Wo_AnnotationTab.cs" />
117
     <Compile Include="T_Wo_BusinessManage.cs" />
118
     <Compile Include="T_Wo_BusinessManage.cs" />
118
     <Compile Include="T_Wo_MaterialItems.cs" />
119
     <Compile Include="T_Wo_MaterialItems.cs" />
119
     <Compile Include="T_Wo_MaterialManage.cs" />
120
     <Compile Include="T_Wo_MaterialManage.cs" />

+ 140 - 0
codegit/CallCenterApi/CallCenterApi.BLL/T_Wo_AnnotationTab.cs

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

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

114
     <Compile Include="T_Sys_WorkCalendar.cs" />
114
     <Compile Include="T_Sys_WorkCalendar.cs" />
115
     <Compile Include="T_Sys_WorkOFFDays.cs" />
115
     <Compile Include="T_Sys_WorkOFFDays.cs" />
116
     <Compile Include="T_Sys_WorkTimes.cs" />
116
     <Compile Include="T_Sys_WorkTimes.cs" />
117
+    <Compile Include="T_Wo_AnnotationTab.cs" />
117
     <Compile Include="T_Wo_BusinessManage.cs" />
118
     <Compile Include="T_Wo_BusinessManage.cs" />
118
     <Compile Include="T_Wo_MaterialItems.cs" />
119
     <Compile Include="T_Wo_MaterialItems.cs" />
119
     <Compile Include="T_Wo_MaterialManage.cs" />
120
     <Compile Include="T_Wo_MaterialManage.cs" />

+ 321 - 0
codegit/CallCenterApi/CallCenterApi.DAL/T_Wo_AnnotationTab.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
+    /// <summary>
13
+    /// 数据访问类:T_Wo_AnnotationTab
14
+    /// </summary>
15
+    public partial class T_Wo_AnnotationTab
16
+    {
17
+        public T_Wo_AnnotationTab()
18
+        { }
19
+        #region  BasicMethod
20
+        /// <summary>
21
+        /// 是否存在该记录
22
+        /// </summary>
23
+        public bool Exists(int F_Id)
24
+        {
25
+            StringBuilder strSql = new StringBuilder();
26
+            strSql.Append("select count(1) from T_Wo_AnnotationTab");
27
+            strSql.Append(" where F_Id=@F_Id");
28
+            SqlParameter[] parameters = {
29
+                    new SqlParameter("@F_Id", SqlDbType.Int,4)
30
+            };
31
+            parameters[0].Value = F_Id;
32
+
33
+            return DbHelperSQL.Exists(strSql.ToString(), parameters);
34
+        }
35
+
36
+
37
+        /// <summary>
38
+        /// 增加一条数据
39
+        /// </summary>
40
+        public int Add(CallCenterApi.Model.T_Wo_AnnotationTab model)
41
+        {
42
+            StringBuilder strSql = new StringBuilder();
43
+            strSql.Append("insert into T_Wo_AnnotationTab(");
44
+            strSql.Append("F_Contents,F_AnnotationPerson,F_CreateTime,F_ModifyBy,F_ModifyTime,F_IsDelete,F_Wocode)");
45
+            strSql.Append(" values (");
46
+            strSql.Append("@F_Contents,@F_AnnotationPerson,@F_CreateTime,@F_ModifyBy,@F_ModifyTime,@F_IsDelete,@F_Wocode)");
47
+            strSql.Append(";select @@IDENTITY");
48
+            SqlParameter[] parameters = {
49
+                    new SqlParameter("@F_Contents", SqlDbType.NVarChar,200),
50
+                    new SqlParameter("@F_AnnotationPerson", SqlDbType.VarChar,50),
51
+                    new SqlParameter("@F_CreateTime", SqlDbType.DateTime),
52
+                    new SqlParameter("@F_ModifyBy", SqlDbType.VarChar,50),
53
+                    new SqlParameter("@F_ModifyTime", SqlDbType.DateTime),
54
+                    new SqlParameter("@F_IsDelete", SqlDbType.Int,4),
55
+                    new SqlParameter("@F_Wocode", SqlDbType.VarChar,50)};
56
+            parameters[0].Value = model.F_Contents;
57
+            parameters[1].Value = model.F_AnnotationPerson;
58
+            parameters[2].Value = model.F_CreateTime;
59
+            parameters[3].Value = model.F_ModifyBy;
60
+            parameters[4].Value = model.F_ModifyTime;
61
+            parameters[5].Value = model.F_IsDelete;
62
+            parameters[6].Value = model.F_Wocode;
63
+
64
+            object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
65
+            if (obj == null)
66
+            {
67
+                return 0;
68
+            }
69
+            else
70
+            {
71
+                return Convert.ToInt32(obj);
72
+            }
73
+        }
74
+        /// <summary>
75
+        /// 更新一条数据
76
+        /// </summary>
77
+        public bool Update(CallCenterApi.Model.T_Wo_AnnotationTab model)
78
+        {
79
+            StringBuilder strSql = new StringBuilder();
80
+            strSql.Append("update T_Wo_AnnotationTab set ");
81
+            strSql.Append("F_Contents=@F_Contents,");
82
+            strSql.Append("F_AnnotationPerson=@F_AnnotationPerson,");
83
+            strSql.Append("F_CreateTime=@F_CreateTime,");
84
+            strSql.Append("F_ModifyBy=@F_ModifyBy,");
85
+            strSql.Append("F_ModifyTime=@F_ModifyTime,");
86
+            strSql.Append("F_IsDelete=@F_IsDelete,");
87
+            strSql.Append("F_Wocode=@F_Wocode");
88
+            strSql.Append(" where F_Id=@F_Id");
89
+            SqlParameter[] parameters = {
90
+                    new SqlParameter("@F_Contents", SqlDbType.NVarChar,200),
91
+                    new SqlParameter("@F_AnnotationPerson", SqlDbType.VarChar,50),
92
+                    new SqlParameter("@F_CreateTime", SqlDbType.DateTime),
93
+                    new SqlParameter("@F_ModifyBy", SqlDbType.VarChar,50),
94
+                    new SqlParameter("@F_ModifyTime", SqlDbType.DateTime),
95
+                    new SqlParameter("@F_IsDelete", SqlDbType.Int,4),
96
+                    new SqlParameter("@F_Wocode", SqlDbType.VarChar,50),
97
+                    new SqlParameter("@F_Id", SqlDbType.Int,4)};
98
+            parameters[0].Value = model.F_Contents;
99
+            parameters[1].Value = model.F_AnnotationPerson;
100
+            parameters[2].Value = model.F_CreateTime;
101
+            parameters[3].Value = model.F_ModifyBy;
102
+            parameters[4].Value = model.F_ModifyTime;
103
+            parameters[5].Value = model.F_IsDelete;
104
+            parameters[6].Value = model.F_Wocode;
105
+            parameters[7].Value = model.F_Id;
106
+
107
+            int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
108
+            if (rows > 0)
109
+            {
110
+                return true;
111
+            }
112
+            else
113
+            {
114
+                return false;
115
+            }
116
+        }
117
+
118
+        /// <summary>
119
+        /// 删除一条数据
120
+        /// </summary>
121
+        public bool Delete(int F_Id)
122
+        {
123
+
124
+            StringBuilder strSql = new StringBuilder();
125
+            strSql.Append("delete from T_Wo_AnnotationTab ");
126
+            strSql.Append(" where F_Id=@F_Id");
127
+            SqlParameter[] parameters = {
128
+                    new SqlParameter("@F_Id", SqlDbType.Int,4)
129
+            };
130
+            parameters[0].Value = F_Id;
131
+
132
+            int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
133
+            if (rows > 0)
134
+            {
135
+                return true;
136
+            }
137
+            else
138
+            {
139
+                return false;
140
+            }
141
+        }
142
+        /// <summary>
143
+        /// 批量删除数据
144
+        /// </summary>
145
+        public bool DeleteList(string F_Idlist)
146
+        {
147
+            StringBuilder strSql = new StringBuilder();
148
+            strSql.Append("delete from T_Wo_AnnotationTab ");
149
+            strSql.Append(" where F_Id in (" + F_Idlist + ")  ");
150
+            int rows = DbHelperSQL.ExecuteSql(strSql.ToString());
151
+            if (rows > 0)
152
+            {
153
+                return true;
154
+            }
155
+            else
156
+            {
157
+                return false;
158
+            }
159
+        }
160
+
161
+
162
+        /// <summary>
163
+        /// 得到一个对象实体
164
+        /// </summary>
165
+        public CallCenterApi.Model.T_Wo_AnnotationTab GetModel(int F_Id)
166
+        {
167
+
168
+            StringBuilder strSql = new StringBuilder();
169
+            strSql.Append("select  top 1 F_Id,F_Contents,F_AnnotationPerson,F_CreateTime,F_ModifyBy,F_ModifyTime,F_IsDelete,F_Wocode from T_Wo_AnnotationTab ");
170
+            strSql.Append(" where F_Id=@F_Id");
171
+            SqlParameter[] parameters = {
172
+                    new SqlParameter("@F_Id", SqlDbType.Int,4)
173
+            };
174
+            parameters[0].Value = F_Id;
175
+
176
+            CallCenterApi.Model.T_Wo_AnnotationTab model = new CallCenterApi.Model.T_Wo_AnnotationTab();
177
+            DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
178
+            if (ds.Tables[0].Rows.Count > 0)
179
+            {
180
+                return DataRowToModel(ds.Tables[0].Rows[0]);
181
+            }
182
+            else
183
+            {
184
+                return null;
185
+            }
186
+        }
187
+
188
+
189
+        /// <summary>
190
+        /// 得到一个对象实体
191
+        /// </summary>
192
+        public CallCenterApi.Model.T_Wo_AnnotationTab DataRowToModel(DataRow row)
193
+        {
194
+            CallCenterApi.Model.T_Wo_AnnotationTab model = new CallCenterApi.Model.T_Wo_AnnotationTab();
195
+            if (row != null)
196
+            {
197
+                if (row["F_Id"] != null && row["F_Id"].ToString() != "")
198
+                {
199
+                    model.F_Id = int.Parse(row["F_Id"].ToString());
200
+                }
201
+                if (row["F_Contents"] != null)
202
+                {
203
+                    model.F_Contents = row["F_Contents"].ToString();
204
+                }
205
+                if (row["F_AnnotationPerson"] != null)
206
+                {
207
+                    model.F_AnnotationPerson = row["F_AnnotationPerson"].ToString();
208
+                }
209
+                if (row["F_CreateTime"] != null && row["F_CreateTime"].ToString() != "")
210
+                {
211
+                    model.F_CreateTime = DateTime.Parse(row["F_CreateTime"].ToString());
212
+                }
213
+                if (row["F_ModifyBy"] != null)
214
+                {
215
+                    model.F_ModifyBy = row["F_ModifyBy"].ToString();
216
+                }
217
+                if (row["F_ModifyTime"] != null && row["F_ModifyTime"].ToString() != "")
218
+                {
219
+                    model.F_ModifyTime = DateTime.Parse(row["F_ModifyTime"].ToString());
220
+                }
221
+                if (row["F_IsDelete"] != null && row["F_IsDelete"].ToString() != "")
222
+                {
223
+                    model.F_IsDelete = int.Parse(row["F_IsDelete"].ToString());
224
+                }
225
+                if (row["F_Wocode"] != null)
226
+                {
227
+                    model.F_Wocode = row["F_Wocode"].ToString();
228
+                }
229
+            }
230
+            return model;
231
+        }
232
+
233
+        /// <summary>
234
+        /// 获得数据列表
235
+        /// </summary>
236
+        public DataSet GetList(string strWhere)
237
+        {
238
+            StringBuilder strSql = new StringBuilder();
239
+            strSql.Append("select F_Id,F_Contents,F_AnnotationPerson,F_CreateTime,F_ModifyBy,F_ModifyTime,F_IsDelete,F_Wocode ");
240
+            strSql.Append(" FROM T_Wo_AnnotationTab ");
241
+            if (strWhere.Trim() != "")
242
+            {
243
+                strSql.Append(" where " + strWhere);
244
+            }
245
+            return DbHelperSQL.Query(strSql.ToString());
246
+        }
247
+
248
+        /// <summary>
249
+        /// 获得前几行数据
250
+        /// </summary>
251
+        public DataSet GetList(int Top, string strWhere, string filedOrder)
252
+        {
253
+            StringBuilder strSql = new StringBuilder();
254
+            strSql.Append("select ");
255
+            if (Top > 0)
256
+            {
257
+                strSql.Append(" top " + Top.ToString());
258
+            }
259
+            strSql.Append(" F_Id,F_Contents,F_AnnotationPerson,F_CreateTime,F_ModifyBy,F_ModifyTime,F_IsDelete,F_Wocode ");
260
+            strSql.Append(" FROM T_Wo_AnnotationTab ");
261
+            if (strWhere.Trim() != "")
262
+            {
263
+                strSql.Append(" where " + strWhere);
264
+            }
265
+            strSql.Append(" order by " + filedOrder);
266
+            return DbHelperSQL.Query(strSql.ToString());
267
+        }
268
+
269
+        /// <summary>
270
+        /// 获取记录总数
271
+        /// </summary>
272
+        public int GetRecordCount(string strWhere)
273
+        {
274
+            StringBuilder strSql = new StringBuilder();
275
+            strSql.Append("select count(1) FROM T_Wo_AnnotationTab ");
276
+            if (strWhere.Trim() != "")
277
+            {
278
+                strSql.Append(" where " + strWhere);
279
+            }
280
+            object obj = DbHelperSQL.GetSingle(strSql.ToString());
281
+            if (obj == null)
282
+            {
283
+                return 0;
284
+            }
285
+            else
286
+            {
287
+                return Convert.ToInt32(obj);
288
+            }
289
+        }
290
+        /// <summary>
291
+        /// 分页获取数据列表
292
+        /// </summary>
293
+        public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)
294
+        {
295
+            StringBuilder strSql = new StringBuilder();
296
+            strSql.Append("SELECT * FROM ( ");
297
+            strSql.Append(" SELECT ROW_NUMBER() OVER (");
298
+            if (!string.IsNullOrEmpty(orderby.Trim()))
299
+            {
300
+                strSql.Append("order by T." + orderby);
301
+            }
302
+            else
303
+            {
304
+                strSql.Append("order by T.F_Id desc");
305
+            }
306
+            strSql.Append(")AS Row, T.*  from T_Wo_AnnotationTab T ");
307
+            if (!string.IsNullOrEmpty(strWhere.Trim()))
308
+            {
309
+                strSql.Append(" WHERE " + strWhere);
310
+            }
311
+            strSql.Append(" ) TT");
312
+            strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex);
313
+            return DbHelperSQL.Query(strSql.ToString());
314
+        }
315
+
316
+        #endregion  BasicMethod
317
+        #region  ExtensionMethod
318
+
319
+        #endregion  ExtensionMethod
320
+    }
321
+}

+ 69 - 69
codegit/CallCenterApi/CallCenterApi.DAL/T_Wo_WorkCopy.cs

48
         {
48
         {
49
             StringBuilder strSql = new StringBuilder();
49
             StringBuilder strSql = new StringBuilder();
50
             strSql.Append("insert into T_Wo_WorkCopy(");
50
             strSql.Append("insert into T_Wo_WorkCopy(");
51
-            strSql.Append("F_WorkOrderID,F_State,F_CreateBy,F_CreateOn,F_SendCopyUser,F_SendCopyOn,F_Content)");
51
+            strSql.Append("F_WorkOrderID,F_State,F_CreateBy,F_CreateOn,F_SendCopyUser,F_SendCopyOn,F_Content,F_SendCopyDepts,F_Flag,F_Remark)");
52
             strSql.Append(" values (");
52
             strSql.Append(" values (");
53
-            strSql.Append("@F_WorkOrderID,@F_State,@F_CreateBy,@F_CreateOn,@F_SendCopyUser,@F_SendCopyOn,@F_Content)");
53
+            strSql.Append("@F_WorkOrderID,@F_State,@F_CreateBy,@F_CreateOn,@F_SendCopyUser,@F_SendCopyOn,@F_Content,@F_SendCopyDepts,@F_Flag,@F_Remark)");
54
             strSql.Append(";select @@IDENTITY");
54
             strSql.Append(";select @@IDENTITY");
55
             SqlParameter[] parameters = {
55
             SqlParameter[] parameters = {
56
                     new SqlParameter("@F_WorkOrderID", SqlDbType.Int,4),
56
                     new SqlParameter("@F_WorkOrderID", SqlDbType.Int,4),
57
                     new SqlParameter("@F_State", SqlDbType.Int,4),
57
                     new SqlParameter("@F_State", SqlDbType.Int,4),
58
                     new SqlParameter("@F_CreateBy", SqlDbType.NVarChar,50),
58
                     new SqlParameter("@F_CreateBy", SqlDbType.NVarChar,50),
59
                     new SqlParameter("@F_CreateOn", SqlDbType.DateTime),
59
                     new SqlParameter("@F_CreateOn", SqlDbType.DateTime),
60
-                    new SqlParameter("@F_SendCopyUser", SqlDbType.NVarChar,50),
60
+                    new SqlParameter("@F_SendCopyUser", SqlDbType.NText),
61
                     new SqlParameter("@F_SendCopyOn", SqlDbType.DateTime),
61
                     new SqlParameter("@F_SendCopyOn", SqlDbType.DateTime),
62
-                    new SqlParameter("@F_Content", SqlDbType.NVarChar,-1)};
62
+                    new SqlParameter("@F_Content", SqlDbType.NVarChar,-1),
63
+                    new SqlParameter("@F_SendCopyDepts", SqlDbType.Int,4),
64
+                    new SqlParameter("@F_Flag", SqlDbType.Int,4),
65
+                    new SqlParameter("@F_Remark", SqlDbType.NText)};
63
             parameters[0].Value = model.F_WorkOrderID;
66
             parameters[0].Value = model.F_WorkOrderID;
64
             parameters[1].Value = model.F_State;
67
             parameters[1].Value = model.F_State;
65
             parameters[2].Value = model.F_CreateBy;
68
             parameters[2].Value = model.F_CreateBy;
67
             parameters[4].Value = model.F_SendCopyUser;
70
             parameters[4].Value = model.F_SendCopyUser;
68
             parameters[5].Value = model.F_SendCopyOn;
71
             parameters[5].Value = model.F_SendCopyOn;
69
             parameters[6].Value = model.F_Content;
72
             parameters[6].Value = model.F_Content;
73
+            parameters[7].Value = model.F_SendCopyDepts;
74
+            parameters[8].Value = model.F_Flag;
75
+            parameters[9].Value = model.F_Remark;
70
 
76
 
71
             object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
77
             object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
72
             if (obj == null)
78
             if (obj == null)
91
             strSql.Append("F_CreateOn=@F_CreateOn,");
97
             strSql.Append("F_CreateOn=@F_CreateOn,");
92
             strSql.Append("F_SendCopyUser=@F_SendCopyUser,");
98
             strSql.Append("F_SendCopyUser=@F_SendCopyUser,");
93
             strSql.Append("F_SendCopyOn=@F_SendCopyOn,");
99
             strSql.Append("F_SendCopyOn=@F_SendCopyOn,");
94
-            strSql.Append("F_Content=@F_Content");
100
+            strSql.Append("F_Content=@F_Content,");
101
+            strSql.Append("F_SendCopyDepts=@F_SendCopyDepts,");
102
+            strSql.Append("F_Flag=@F_Flag,");
103
+            strSql.Append("F_Remark=@F_Remark");
95
             strSql.Append(" where F_ID=@F_ID");
104
             strSql.Append(" where F_ID=@F_ID");
96
             SqlParameter[] parameters = {
105
             SqlParameter[] parameters = {
97
                     new SqlParameter("@F_WorkOrderID", SqlDbType.Int,4),
106
                     new SqlParameter("@F_WorkOrderID", SqlDbType.Int,4),
98
                     new SqlParameter("@F_State", SqlDbType.Int,4),
107
                     new SqlParameter("@F_State", SqlDbType.Int,4),
99
                     new SqlParameter("@F_CreateBy", SqlDbType.NVarChar,50),
108
                     new SqlParameter("@F_CreateBy", SqlDbType.NVarChar,50),
100
                     new SqlParameter("@F_CreateOn", SqlDbType.DateTime),
109
                     new SqlParameter("@F_CreateOn", SqlDbType.DateTime),
101
-                    new SqlParameter("@F_SendCopyUser", SqlDbType.NVarChar,50),
110
+                    new SqlParameter("@F_SendCopyUser", SqlDbType.NText),
102
                     new SqlParameter("@F_SendCopyOn", SqlDbType.DateTime),
111
                     new SqlParameter("@F_SendCopyOn", SqlDbType.DateTime),
103
                     new SqlParameter("@F_Content", SqlDbType.NVarChar,-1),
112
                     new SqlParameter("@F_Content", SqlDbType.NVarChar,-1),
113
+                    new SqlParameter("@F_SendCopyDepts", SqlDbType.Int,4),
114
+                    new SqlParameter("@F_Flag", SqlDbType.Int,4),
115
+                    new SqlParameter("@F_Remark", SqlDbType.NText),
104
                     new SqlParameter("@F_ID", SqlDbType.Int,4)};
116
                     new SqlParameter("@F_ID", SqlDbType.Int,4)};
105
             parameters[0].Value = model.F_WorkOrderID;
117
             parameters[0].Value = model.F_WorkOrderID;
106
             parameters[1].Value = model.F_State;
118
             parameters[1].Value = model.F_State;
109
             parameters[4].Value = model.F_SendCopyUser;
121
             parameters[4].Value = model.F_SendCopyUser;
110
             parameters[5].Value = model.F_SendCopyOn;
122
             parameters[5].Value = model.F_SendCopyOn;
111
             parameters[6].Value = model.F_Content;
123
             parameters[6].Value = model.F_Content;
112
-            parameters[7].Value = model.F_ID;
124
+            parameters[7].Value = model.F_SendCopyDepts;
125
+            parameters[8].Value = model.F_Flag;
126
+            parameters[9].Value = model.F_Remark;
127
+            parameters[10].Value = model.F_ID;
113
 
128
 
114
             int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
129
             int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
115
             if (rows > 0)
130
             if (rows > 0)
121
                 return false;
136
                 return false;
122
             }
137
             }
123
         }
138
         }
124
-
125
         /// <summary>
139
         /// <summary>
126
         /// 删除一条数据
140
         /// 删除一条数据
127
         /// </summary>
141
         /// </summary>
173
         {
187
         {
174
 
188
 
175
             StringBuilder strSql = new StringBuilder();
189
             StringBuilder strSql = new StringBuilder();
176
-            strSql.Append("select  top 1 F_ID,F_WorkOrderID,F_State,F_CreateBy,F_CreateOn,F_SendCopyUser,F_SendCopyOn,F_Content from T_Wo_WorkCopy ");
190
+            strSql.Append("select  top 1 F_ID,F_WorkOrderID,F_State,F_CreateBy,F_CreateOn,F_SendCopyUser,F_SendCopyOn,F_Content,F_SendCopyDepts,F_Flag,F_Remark from T_Wo_WorkCopy ");
177
             strSql.Append(" where F_ID=@F_ID");
191
             strSql.Append(" where F_ID=@F_ID");
178
             SqlParameter[] parameters = {
192
             SqlParameter[] parameters = {
179
                     new SqlParameter("@F_ID", SqlDbType.Int,4)
193
                     new SqlParameter("@F_ID", SqlDbType.Int,4)
200
         {
214
         {
201
             CallCenterApi.Model.T_Wo_WorkCopy model = new CallCenterApi.Model.T_Wo_WorkCopy();
215
             CallCenterApi.Model.T_Wo_WorkCopy model = new CallCenterApi.Model.T_Wo_WorkCopy();
202
             if (row != null)
216
             if (row != null)
203
-            {
204
-                if (row["F_ID"] != null && row["F_ID"].ToString() != "")
205
-                {
206
-                    model.F_ID = int.Parse(row["F_ID"].ToString());
207
-                }
208
-                if (row["F_WorkOrderID"] != null && row["F_WorkOrderID"].ToString() != "")
209
-                {
210
-                    model.F_WorkOrderID = int.Parse(row["F_WorkOrderID"].ToString());
211
-                }
212
-                if (row["F_State"] != null && row["F_State"].ToString() != "")
213
-                {
214
-                    model.F_State = int.Parse(row["F_State"].ToString());
215
-                }
216
-                if (row["F_CreateBy"] != null)
217
-                {
218
-                    model.F_CreateBy = row["F_CreateBy"].ToString();
219
-                }
220
-                if (row["F_CreateOn"] != null && row["F_CreateOn"].ToString() != "")
221
-                {
222
-                    model.F_CreateOn = DateTime.Parse(row["F_CreateOn"].ToString());
223
-                }
224
-                if (row["F_SendCopyUser"] != null)
225
-                {
226
-                    model.F_SendCopyUser = row["F_SendCopyUser"].ToString();
227
-                }
228
-                if (row["F_SendCopyOn"] != null && row["F_SendCopyOn"].ToString() != "")
229
                 {
217
                 {
230
-                    model.F_SendCopyOn = DateTime.Parse(row["F_SendCopyOn"].ToString());
218
+                    if (row["F_ID"] != null && row["F_ID"].ToString() != "")
219
+                    {
220
+                        model.F_ID = int.Parse(row["F_ID"].ToString());
221
+                    }
222
+                    if (row["F_WorkOrderID"] != null && row["F_WorkOrderID"].ToString() != "")
223
+                    {
224
+                        model.F_WorkOrderID = int.Parse(row["F_WorkOrderID"].ToString());
225
+                    }
226
+                    if (row["F_State"] != null && row["F_State"].ToString() != "")
227
+                    {
228
+                        model.F_State = int.Parse(row["F_State"].ToString());
229
+                    }
230
+                    if (row["F_CreateBy"] != null)
231
+                    {
232
+                        model.F_CreateBy = row["F_CreateBy"].ToString();
233
+                    }
234
+                    if (row["F_CreateOn"] != null && row["F_CreateOn"].ToString() != "")
235
+                    {
236
+                        model.F_CreateOn = DateTime.Parse(row["F_CreateOn"].ToString());
237
+                    }
238
+                    if (row["F_SendCopyUser"] != null)
239
+                    {
240
+                        model.F_SendCopyUser = row["F_SendCopyUser"].ToString();
241
+                    }
242
+                    if (row["F_SendCopyOn"] != null && row["F_SendCopyOn"].ToString() != "")
243
+                    {
244
+                        model.F_SendCopyOn = DateTime.Parse(row["F_SendCopyOn"].ToString());
245
+                    }
246
+                    if (row["F_Content"] != null)
247
+                    {
248
+                        model.F_Content = row["F_Content"].ToString();
249
+                    }
250
+                    if (row["F_SendCopyDepts"] != null && row["F_SendCopyDepts"].ToString() != "")
251
+                    {
252
+                        model.F_SendCopyDepts = int.Parse(row["F_SendCopyDepts"].ToString());
253
+                    }
254
+                    if (row["F_Flag"] != null && row["F_Flag"].ToString() != "")
255
+                    {
256
+                        model.F_Flag = int.Parse(row["F_Flag"].ToString());
257
+                    }
258
+                    if (row["F_Remark"] != null)
259
+                    {
260
+                        model.F_Remark = row["F_Remark"].ToString();
261
+                    }
231
                 }
262
                 }
232
-                if (row["F_Content"] != null)
233
-                {
234
-                    model.F_Content = row["F_Content"].ToString();
235
-                }
236
-            }
237
             return model;
263
             return model;
238
         }
264
         }
239
 
265
 
243
         public DataSet GetList(string strWhere)
269
         public DataSet GetList(string strWhere)
244
         {
270
         {
245
             StringBuilder strSql = new StringBuilder();
271
             StringBuilder strSql = new StringBuilder();
246
-            strSql.Append("select F_ID,F_WorkOrderID,F_State,F_CreateBy,F_CreateOn,F_SendCopyUser,F_SendCopyOn,F_Content ");
272
+            strSql.Append("select * ");
247
             strSql.Append(" FROM T_Wo_WorkCopy ");
273
             strSql.Append(" FROM T_Wo_WorkCopy ");
248
             if (strWhere.Trim() != "")
274
             if (strWhere.Trim() != "")
249
             {
275
             {
263
             {
289
             {
264
                 strSql.Append(" top " + Top.ToString());
290
                 strSql.Append(" top " + Top.ToString());
265
             }
291
             }
266
-            strSql.Append(" F_ID,F_WorkOrderID,F_State,F_CreateBy,F_CreateOn,F_SendCopyUser,F_SendCopyOn,F_Content ");
292
+            strSql.Append(" * ");
267
             strSql.Append(" FROM T_Wo_WorkCopy ");
293
             strSql.Append(" FROM T_Wo_WorkCopy ");
268
             if (strWhere.Trim() != "")
294
             if (strWhere.Trim() != "")
269
             {
295
             {
319
             strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex);
345
             strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex);
320
             return DbHelperSQL.Query(strSql.ToString());
346
             return DbHelperSQL.Query(strSql.ToString());
321
         }
347
         }
322
-
323
-        /*
324
-		/// <summary>
325
-		/// 分页获取数据列表
326
-		/// </summary>
327
-		public DataSet GetList(int PageSize,int PageIndex,string strWhere)
328
-		{
329
-			SqlParameter[] parameters = {
330
-					new SqlParameter("@tblName", SqlDbType.VarChar, 255),
331
-					new SqlParameter("@fldName", SqlDbType.VarChar, 255),
332
-					new SqlParameter("@PageSize", SqlDbType.Int),
333
-					new SqlParameter("@PageIndex", SqlDbType.Int),
334
-					new SqlParameter("@IsReCount", SqlDbType.Bit),
335
-					new SqlParameter("@OrderType", SqlDbType.Bit),
336
-					new SqlParameter("@strWhere", SqlDbType.VarChar,1000),
337
-					};
338
-			parameters[0].Value = "T_Wo_WorkCopy";
339
-			parameters[1].Value = "F_ID";
340
-			parameters[2].Value = PageSize;
341
-			parameters[3].Value = PageIndex;
342
-			parameters[4].Value = 0;
343
-			parameters[5].Value = 0;
344
-			parameters[6].Value = strWhere;	
345
-			return CallCenterApi.RunProcedure("UP_GetRecordByPage",parameters,"ds");
346
-		}*/
347
-
348
         #endregion  BasicMethod
348
         #endregion  BasicMethod
349
         #region  ExtensionMethod
349
         #region  ExtensionMethod
350
 
350
 

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


+ 19 - 7
codegit/CallCenterApi/CallCenterApi.DAL/T_Wo_WorkOrderItem_New.cs

41
         {
41
         {
42
             StringBuilder strSql = new StringBuilder();
42
             StringBuilder strSql = new StringBuilder();
43
             strSql.Append("insert into T_Wo_WorkOrderItem_New(");
43
             strSql.Append("insert into T_Wo_WorkOrderItem_New(");
44
-            strSql.Append("F_WoID,F_WoState,F_ItemType,F_OptType,F_OptContent,F_NextUser,F_NextDept,F_IsUsed,F_LimitTime,F_IsSMS,F_SMSToUser,F_SMSToPhone,F_SMSContent,F_CreateUser,F_CreateTime,F_LastTime,F_Type)");
44
+            strSql.Append("F_WoID,F_WoState,F_ItemType,F_OptType,F_OptContent,F_NextUser,F_NextDept,F_IsUsed,F_LimitTime,F_IsSMS,F_SMSToUser,F_SMSToPhone,F_SMSContent,F_CreateUser,F_CreateTime,F_LastTime,F_Type,F_Flag)");
45
             strSql.Append(" values (");
45
             strSql.Append(" values (");
46
-            strSql.Append("@F_WoID,@F_WoState,@F_ItemType,@F_OptType,@F_OptContent,@F_NextUser,@F_NextDept,@F_IsUsed,@F_LimitTime,@F_IsSMS,@F_SMSToUser,@F_SMSToPhone,@F_SMSContent,@F_CreateUser,@F_CreateTime,@F_LastTime,@F_Type)");
46
+            strSql.Append("@F_WoID,@F_WoState,@F_ItemType,@F_OptType,@F_OptContent,@F_NextUser,@F_NextDept,@F_IsUsed,@F_LimitTime,@F_IsSMS,@F_SMSToUser,@F_SMSToPhone,@F_SMSContent,@F_CreateUser,@F_CreateTime,@F_LastTime,@F_Type,@F_Flag)");
47
             strSql.Append(";select @@IDENTITY");
47
             strSql.Append(";select @@IDENTITY");
48
             SqlParameter[] parameters = {
48
             SqlParameter[] parameters = {
49
                     new SqlParameter("@F_WoID", SqlDbType.BigInt,8),
49
                     new SqlParameter("@F_WoID", SqlDbType.BigInt,8),
62
                     new SqlParameter("@F_CreateUser", SqlDbType.VarChar,50),
62
                     new SqlParameter("@F_CreateUser", SqlDbType.VarChar,50),
63
                     new SqlParameter("@F_CreateTime", SqlDbType.DateTime),
63
                     new SqlParameter("@F_CreateTime", SqlDbType.DateTime),
64
                     new SqlParameter("@F_LastTime", SqlDbType.DateTime),
64
                     new SqlParameter("@F_LastTime", SqlDbType.DateTime),
65
-                    new SqlParameter("@F_Type",  SqlDbType.Int,4)
65
+                    new SqlParameter("@F_Type",  SqlDbType.Int,4),
66
+                    new SqlParameter("@F_Flag",  SqlDbType.Int,4)
66
             };
67
             };
67
             parameters[0].Value = model.F_WoID;
68
             parameters[0].Value = model.F_WoID;
68
             parameters[1].Value = model.F_WoState;
69
             parameters[1].Value = model.F_WoState;
81
             parameters[14].Value = model.F_CreateTime;
82
             parameters[14].Value = model.F_CreateTime;
82
             parameters[15].Value = model.F_LastTime;
83
             parameters[15].Value = model.F_LastTime;
83
             parameters[16].Value = model.F_Type;
84
             parameters[16].Value = model.F_Type;
85
+            parameters[17].Value = model.F_Flag;
84
 
86
 
85
             object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
87
             object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
86
             if (obj == null)
88
             if (obj == null)
115
             strSql.Append("F_CreateUser=@F_CreateUser,");
117
             strSql.Append("F_CreateUser=@F_CreateUser,");
116
             strSql.Append("F_CreateTime=@F_CreateTime,");
118
             strSql.Append("F_CreateTime=@F_CreateTime,");
117
             strSql.Append("F_LastTime=@F_LastTime,");
119
             strSql.Append("F_LastTime=@F_LastTime,");
118
-            strSql.Append("F_Type=@F_Type");
120
+            strSql.Append("F_Type=@F_Type,"); 
121
+            strSql.Append("F_Flag=@F_Flag");
119
             strSql.Append(" where F_ID=@F_ID");
122
             strSql.Append(" where F_ID=@F_ID");
120
             SqlParameter[] parameters = {
123
             SqlParameter[] parameters = {
121
                     new SqlParameter("@F_WoID", SqlDbType.BigInt,8),
124
                     new SqlParameter("@F_WoID", SqlDbType.BigInt,8),
135
                     new SqlParameter("@F_CreateTime", SqlDbType.DateTime),
138
                     new SqlParameter("@F_CreateTime", SqlDbType.DateTime),
136
                     new SqlParameter("@F_LastTime", SqlDbType.DateTime),
139
                     new SqlParameter("@F_LastTime", SqlDbType.DateTime),
137
                     new SqlParameter("@F_Type", SqlDbType.Int,4),
140
                     new SqlParameter("@F_Type", SqlDbType.Int,4),
138
-                    new SqlParameter("@F_ID", SqlDbType.BigInt,8)};
141
+                    new SqlParameter("@F_Flag", SqlDbType.Int,4),
142
+                    new SqlParameter("@F_ID", SqlDbType.BigInt,8)
143
+       
144
+                    
145
+            };
139
             parameters[0].Value = model.F_WoID;
146
             parameters[0].Value = model.F_WoID;
140
             parameters[1].Value = model.F_WoState;
147
             parameters[1].Value = model.F_WoState;
141
             parameters[2].Value = model.F_ItemType;
148
             parameters[2].Value = model.F_ItemType;
152
             parameters[13].Value = model.F_CreateUser;
159
             parameters[13].Value = model.F_CreateUser;
153
             parameters[14].Value = model.F_CreateTime;
160
             parameters[14].Value = model.F_CreateTime;
154
             parameters[15].Value = model.F_LastTime;
161
             parameters[15].Value = model.F_LastTime;
155
-            parameters[16].Value = model.F_Type;
156
-            parameters[17].Value = model.F_ID;
162
+            parameters[16].Value = model.F_Type; 
163
+            parameters[17].Value = model.F_Flag;
164
+            parameters[18].Value = model.F_ID;
157
 
165
 
158
             int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
166
             int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
159
             if (rows > 0)
167
             if (rows > 0)
317
                 {
325
                 {
318
                     model.F_Type = int.Parse(row["F_Type"].ToString());
326
                     model.F_Type = int.Parse(row["F_Type"].ToString());
319
                 }
327
                 }
328
+                if (row["F_Flag"] != null && row["F_Flag"].ToString() != "")
329
+                {
330
+                    model.F_Flag = int.Parse(row["F_Flag"].ToString());
331
+                }
320
 
332
 
321
             }
333
             }
322
             return model;
334
             return model;

+ 6 - 0
codegit/CallCenterApi/CallCenterApi.DB/CallCenterApi.DB.csproj

45
     <Compile Include="DbHelperSQL.cs" />
45
     <Compile Include="DbHelperSQL.cs" />
46
     <Compile Include="Properties\AssemblyInfo.cs" />
46
     <Compile Include="Properties\AssemblyInfo.cs" />
47
   </ItemGroup>
47
   </ItemGroup>
48
+  <ItemGroup>
49
+    <ProjectReference Include="..\..\CallCenterCommon\CallCenter.Utility\CallCenter.Utility.csproj">
50
+      <Project>{4DA219CC-911E-4C81-BB0B-DF5183FD50FF}</Project>
51
+      <Name>CallCenter.Utility</Name>
52
+    </ProjectReference>
53
+  </ItemGroup>
48
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
54
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
49
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
55
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
50
        Other similar extension points exist, see Microsoft.Common.targets.
56
        Other similar extension points exist, see Microsoft.Common.targets.

+ 25 - 7
codegit/CallCenterApi/CallCenterApi.DB/DbHelperSQL.cs

1
-using System;
1
+using CallCenter.Utility;
2
+using System;
2
 using System.Collections;
3
 using System.Collections;
3
 using System.Collections.Generic;
4
 using System.Collections.Generic;
4
 using System.Configuration;
5
 using System.Configuration;
569
                 }
570
                 }
570
                 catch (System.Data.SqlClient.SqlException ex)
571
                 catch (System.Data.SqlClient.SqlException ex)
571
                 {
572
                 {
573
+                    LogFactory.GetLogger("SQL").Error(SQLString, ex);
572
                     throw new Exception(ex.Message);
574
                     throw new Exception(ex.Message);
573
                 }
575
                 }
574
                 return ds;
576
                 return ds;
1010
                     }
1012
                     }
1011
                     catch (System.Data.SqlClient.SqlException ex)
1013
                     catch (System.Data.SqlClient.SqlException ex)
1012
                     {
1014
                     {
1015
+                        LogFactory.GetLogger("SQL").Error(SQLString+"|"+ cmdParms.ToDictionary(p => p.ParameterName, p => p.Value?.ToString() ?? "").ToJson()
1016
+, ex);
1013
                         throw new Exception(ex.Message);
1017
                         throw new Exception(ex.Message);
1014
                     }
1018
                     }
1015
                     return ds;
1019
                     return ds;
1039
                 catch (System.Data.SqlClient.SqlException ex)
1043
                 catch (System.Data.SqlClient.SqlException ex)
1040
                 {
1044
                 {
1041
                     trans.Rollback();
1045
                     trans.Rollback();
1046
+                    LogFactory.GetLogger("SQL").Error(SQLString + "|" + cmdParms.ToDictionary(p => p.ParameterName, p => p.Value?.ToString() ?? "").ToJson()
1047
+, ex);
1042
                     throw new Exception(ex.Message);
1048
                     throw new Exception(ex.Message);
1043
                 }
1049
                 }
1044
                 return ds;
1050
                 return ds;
1124
             using (SqlConnection connection = new SqlConnection(connectionString))
1130
             using (SqlConnection connection = new SqlConnection(connectionString))
1125
             {
1131
             {
1126
                 DataSet dataSet = new DataSet();
1132
                 DataSet dataSet = new DataSet();
1127
-                connection.Open();
1128
-                SqlDataAdapter sqlDA = new SqlDataAdapter();
1129
-                sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters);
1130
-                sqlDA.Fill(dataSet, tableName);
1131
-                connection.Close();
1133
+                try
1134
+                {
1135
+                    connection.Open();
1136
+                    SqlDataAdapter sqlDA = new SqlDataAdapter();
1137
+                    sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters);
1138
+                    sqlDA.Fill(dataSet, tableName);
1139
+                }
1140
+                catch (Exception ex)
1141
+                {
1142
+                    LogFactory.GetLogger("SQL-RunProcedure").Error(parameters.ToDictionary(p => p.ParameterName, p => p.Value?.ToString() ?? "").ToJson()
1143
+, ex);
1144
+                    throw ex;
1145
+                }
1146
+                finally
1147
+                {
1148
+                    connection.Close();
1149
+                }
1132
                 return dataSet;
1150
                 return dataSet;
1133
             }
1151
             }
1134
         }
1152
         }
1311
                 new SqlParameter("@SqlTable",SqlDbType.VarChar,1000),
1329
                 new SqlParameter("@SqlTable",SqlDbType.VarChar,1000),
1312
                 new SqlParameter("@SqlPK",SqlDbType.VarChar,50),
1330
                 new SqlParameter("@SqlPK",SqlDbType.VarChar,50),
1313
                 new SqlParameter("@SqlField",SqlDbType.VarChar,1000),
1331
                 new SqlParameter("@SqlField",SqlDbType.VarChar,1000),
1314
-                new SqlParameter("@SqlWhere",SqlDbType.VarChar,1000),
1332
+                new SqlParameter("@SqlWhere",SqlDbType.VarChar,4000),
1315
                 new SqlParameter("@SqlOrder",SqlDbType.VarChar,200),
1333
                 new SqlParameter("@SqlOrder",SqlDbType.VarChar,200),
1316
                 new SqlParameter("@PageSize",SqlDbType.Int),
1334
                 new SqlParameter("@PageSize",SqlDbType.Int),
1317
                 new SqlParameter("@PageIndex",SqlDbType.Int),
1335
                 new SqlParameter("@PageIndex",SqlDbType.Int),

+ 2 - 0
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/CallCenterApi.Interface.csproj

168
     <Compile Include="App_Start\ErrorAttribute.cs" />
168
     <Compile Include="App_Start\ErrorAttribute.cs" />
169
     <Compile Include="App_Start\RouteConfig.cs" />
169
     <Compile Include="App_Start\RouteConfig.cs" />
170
     <Compile Include="App_Start\WechatActionFilter.cs" />
170
     <Compile Include="App_Start\WechatActionFilter.cs" />
171
+    <Compile Include="Controllers\AnnotationController.cs" />
171
     <Compile Include="Controllers\Base\BaseController.cs" />
172
     <Compile Include="Controllers\Base\BaseController.cs" />
172
     <Compile Include="Controllers\CallOutOptController.cs" />
173
     <Compile Include="Controllers\CallOutOptController.cs" />
173
     <Compile Include="Controllers\callout\CallOutController.cs" />
174
     <Compile Include="Controllers\callout\CallOutController.cs" />
331
   </ItemGroup>
332
   </ItemGroup>
332
   <ItemGroup>
333
   <ItemGroup>
333
     <Folder Include="App_Data\" />
334
     <Folder Include="App_Data\" />
335
+    <Folder Include="Views\Annotation\" />
334
     <Folder Include="Views\MaterialItems\" />
336
     <Folder Include="Views\MaterialItems\" />
335
   </ItemGroup>
337
   </ItemGroup>
336
   <ItemGroup>
338
   <ItemGroup>

+ 182 - 0
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/AnnotationController.cs

1
+using CallCenter.Utility;
2
+using CallCenterApi.DB;
3
+using CallCenterApi.Interface.Controllers.Base;
4
+using System;
5
+using System.Collections.Generic;
6
+using System.Data;
7
+using System.Linq;
8
+using System.Web;
9
+using System.Web.Mvc;
10
+
11
+namespace CallCenterApi.Interface.Controllers
12
+{
13
+    public class AnnotationController : BaseController
14
+    {
15
+        // GET: Annotation
16
+        public ActionResult GetList()
17
+        {
18
+            ActionResult res = NoToken("未知错误,请重新登录");
19
+            string sql = " ";
20
+            DataTable dt = new DataTable();
21
+
22
+            string strpageindex = RequestString.GetQueryString("page");
23
+            int pageindex = 1;
24
+            string strpagesize = RequestString.GetQueryString("pagesize");
25
+            int pagesize = 10;
26
+            if (strpageindex.Trim() != "")
27
+            {
28
+                pageindex = Convert.ToInt32(strpageindex);
29
+            }
30
+
31
+            if (strpagesize.Trim() != "")
32
+            {
33
+                pagesize = Convert.ToInt32(strpagesize);
34
+            }
35
+            int recordCount = 0;
36
+            dt = BLL.PagerBLL.GetListPager(
37
+                "T_Wo_AnnotationTab",
38
+                "F_Id",
39
+                "*",
40
+                sql,
41
+                "ORDER BY F_Id desc",
42
+                pagesize,
43
+                pageindex,
44
+                true,
45
+                out recordCount);
46
+
47
+            var obj = new
48
+            {
49
+                state = "success",
50
+                message = "成功",
51
+                rows = dt,
52
+                total = recordCount
53
+            };
54
+
55
+            res = Content(obj.ToJson());
56
+
57
+            return res;
58
+        }
59
+        /// <summary>
60
+        /// 获取详情
61
+        /// </summary>
62
+        /// <param name="id"></param>
63
+        /// <returns></returns>
64
+        public ActionResult GetModel(int id)
65
+        {
66
+            if (id <= 0)
67
+                return Error("参数错误");
68
+            var model = new BLL.T_Wo_AnnotationTab().GetModel(id);
69
+            return Content(model.ToJson());
70
+        }
71
+        /// <summary>
72
+        ///修改
73
+        /// </summary>
74
+        /// <returns></returns>
75
+        public ActionResult AddAnnotation()
76
+        {
77
+            ActionResult res = NoToken("未知错误,请重新登录");
78
+            if (Request.IsAuthenticated)
79
+            {
80
+                int userId = CurrentUser.UserData.F_UserId;
81
+                if (userId != 0)
82
+                {
83
+                    Model.T_Sys_UserAccount ua = new BLL.T_Sys_UserAccount().GetModel(userId);
84
+                    if (ua != null)
85
+                    {
86
+                        int id = RequestString.GetInt("id", 0);
87
+                        string contents = RequestString.GetFormString("contents");
88
+                        string wocode = RequestString.GetFormString("wocodes");
89
+
90
+
91
+
92
+                        Model.T_Wo_AnnotationTab model = new Model.T_Wo_AnnotationTab();
93
+
94
+                        if (id == 0)
95
+                        {
96
+                            model.F_Contents = contents;
97
+                            model.F_AnnotationPerson = ua.F_UserCode;
98
+                            model.F_CreateTime = DateTime.Now;
99
+                            model.F_Wocode = wocode;
100
+                            if (new BLL.T_Wo_AnnotationTab().Add(model) > 0)
101
+                            {
102
+                                res = Success("注解成功!");
103
+                            }
104
+                            else
105
+                            {
106
+                                res = Error("注解失败!");
107
+                            }
108
+                        }
109
+                        else
110
+                        {
111
+                            model = new BLL.T_Wo_AnnotationTab().GetModel(id);
112
+                            if (model != null)
113
+                            {
114
+                                model.F_Contents = contents;
115
+                                model.F_ModifyBy = ua.F_UserCode;
116
+                                model.F_ModifyTime = DateTime.Now;                           
117
+                                if (new BLL.T_Wo_AnnotationTab().Update(model))
118
+                                {
119
+                                    res = Success("修改成功!");
120
+                                }
121
+                                else
122
+                                {
123
+                                    res = Error("修改失败!");
124
+                                }
125
+                            }
126
+                            else
127
+                            {
128
+                                res = Error("修改失败!");
129
+                            }
130
+                        }
131
+                    }
132
+                }
133
+
134
+            }
135
+            return res;
136
+        }
137
+
138
+
139
+        /// <summary>
140
+        /// 删除
141
+        /// </summary>
142
+        /// <param name="ids"></param>
143
+        /// <returns></returns>
144
+        public ActionResult Delete(string[] ids)
145
+        {
146
+            ActionResult res = NoToken("未知错误,请重新登录");
147
+            if (Request.IsAuthenticated)
148
+            {
149
+
150
+                int userId = CurrentUser.UserData.F_UserId;
151
+                if (userId != 0)
152
+                {
153
+                    Model.T_Sys_UserAccount ua = new BLL.T_Sys_UserAccount().GetModel(userId);
154
+                    if (ua != null)
155
+                    {
156
+                        if (ids != null && ids.Length > 0)
157
+                        {
158
+                            string idd = " ";
159
+                            foreach (string str in ids)
160
+                            {
161
+                                idd += str + ",";
162
+                            }                          
163
+                            if (!string.IsNullOrEmpty(idd.Trim()))
164
+                            {
165
+                                new BLL.T_Wo_AnnotationTab().DeleteList(idd.TrimEnd(','));
166
+                            }
167
+                            else
168
+                            {
169
+                                res = Error("请选择记录");
170
+                            }
171
+                        }
172
+                        else
173
+                        {
174
+                            res = Error("获取参数失败");
175
+                        }
176
+                    }
177
+                }
178
+            }
179
+            return res;
180
+        }
181
+    }
182
+}

+ 31 - 5
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/DepartmentController.cs

265
         /// <param name="tab"></param>
265
         /// <param name="tab"></param>
266
         /// <param name="parentid"></param>
266
         /// <param name="parentid"></param>
267
         /// <returns></returns>
267
         /// <returns></returns>
268
-        private List<Model.TreeModel> BindAssignTree(DataTable tab, string parentid,int type)
268
+        private List<Model.TreeModel> BindAssignTree(DataTable tab, string parentid,int type,int flag=0)
269
         {
269
         {
270
             DataTable tab2 = new DataTable();
270
             DataTable tab2 = new DataTable();
271
 
271
 
282
                     model.IconCls = "";//图标
282
                     model.IconCls = "";//图标
283
                     model.text = categorylist[i].F_DeptName;
283
                     model.text = categorylist[i].F_DeptName;
284
                     model.headerid = categorylist[i].F_Header ?? 0;    //部门权限范围:9全部,1区域,2项目,3期
284
                     model.headerid = categorylist[i].F_Header ?? 0;    //部门权限范围:9全部,1区域,2项目,3期
285
+                    model.flag = 1;//部门标识
286
+                    model.islast = 0; //默认不是最后一层
285
                     string msg = "";
287
                     string msg = "";
286
                     if (type ==0)
288
                     if (type ==0)
287
                     {
289
                     {
288
                         msg = " and F_Layer=0";
290
                         msg = " and F_Layer=0";
289
                     }
291
                     }
290
                     tab2 = new BLL.T_Sys_Department().GetList("F_ParentId=" + currentID + " and F_State=1"+ msg).Tables[0];
292
                     tab2 = new BLL.T_Sys_Department().GetList("F_ParentId=" + currentID + " and F_State=1"+ msg).Tables[0];
291
-                    if (tab2 != null && tab2.Rows.Count > 0)
293
+                    if (flag == 1)
294
+                    {
295
+                        if (tab2 != null && tab2.Rows.Count > 0)
296
+                        {
297
+                            model.children = BindAssignTree(tab2, currentID, type, flag);
298
+                        }
299
+                        else
300
+                        {
301
+                            model.islast = 1; //最后一层部门标识
302
+                            model.children = new BLL.T_Sys_UserAccount().GetModelList($" F_DeptId={currentID}").Select(p =>
303
+                             {
304
+                                 return new Model.TreeModel
305
+                                 {
306
+                                     id = p.F_UserId.ToString(),
307
+                                     code = p.F_UserCode,
308
+                                     text = p.F_UserName + "(" + p.F_UserCode + ")",
309
+                                     flag=2 //人员标识
310
+                                 };                    
311
+                             });
312
+                        }
313
+                    }
314
+                    else
292
                     {
315
                     {
293
-                        model.children = BindAssignTree(tab2, currentID, type);
316
+                        if (tab2 != null && tab2.Rows.Count > 0)
317
+                        {
318
+                            model.children = BindAssignTree(tab2, currentID, type);
319
+                        }
294
                     }
320
                     }
295
                     modelList.Add(model);
321
                     modelList.Add(model);
296
                 }
322
                 }
307
         /// 获取部门列表
333
         /// 获取部门列表
308
         /// </summary>
334
         /// </summary>
309
         /// <returns></returns>
335
         /// <returns></returns>
310
-        public ActionResult GetAssignDeptList(int pId = 0, string keywords = "",int type=0)
336
+        public ActionResult GetAssignDeptList(int pId = 0, string keywords = "",int type=0,int flag=0)
311
         {
337
         {
312
             //if (Request.IsAuthenticated)
338
             //if (Request.IsAuthenticated)
313
             //{
339
             //{
324
             {
350
             {
325
                 dt = new BLL.T_Sys_Department().GetList(" F_State=1 and F_DeptId !=2  and F_ParentId=" + pId).Tables[0];
351
                 dt = new BLL.T_Sys_Department().GetList(" F_State=1 and F_DeptId !=2  and F_ParentId=" + pId).Tables[0];
326
             }
352
             }
327
-            List<Model.TreeModel> modelList = BindAssignTree(dt, "0", type);
353
+            List<Model.TreeModel> modelList = BindAssignTree(dt, "0", type, flag);
328
             if (modelList != null)
354
             if (modelList != null)
329
             {
355
             {
330
                 if (modelList.Count > 0)
356
                 if (modelList.Count > 0)

+ 2 - 1
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/IndexController.cs

537
                         //string yclwhere = $" 1=1 and State =" + (int)EnumWorkOrderState.finish + " and LastDealUser = '" + ua.F_UserCode + "' ";//" 1=1 and State =2 and LastDealUser = '" + ua.F_UserCode + "' ";
537
                         //string yclwhere = $" 1=1 and State =" + (int)EnumWorkOrderState.finish + " and LastDealUser = '" + ua.F_UserCode + "' ";//" 1=1 and State =2 and LastDealUser = '" + ua.F_UserCode + "' ";
538
                         ////5、我参与的
538
                         ////5、我参与的
539
                         //string wcywhere = $" 1=1 and (CreateUser= '" + ua.F_UserCode + "' or T_Wo_WorkOrder.ID in ( " + woController.GetCYWorkOrderID(ua.F_UserCode) + ")) ";//" 1=1 and  (CreateUser= '" + ua.F_UserCode + "' or WorkOrderID in ( " + woController.GetCYWorkOrderID(ua.F_UserCode) + ")) ";
539
                         //string wcywhere = $" 1=1 and (CreateUser= '" + ua.F_UserCode + "' or T_Wo_WorkOrder.ID in ( " + woController.GetCYWorkOrderID(ua.F_UserCode) + ")) ";//" 1=1 and  (CreateUser= '" + ua.F_UserCode + "' or WorkOrderID in ( " + woController.GetCYWorkOrderID(ua.F_UserCode) + ")) ";
540
-                        ////5、超期工单
540
+                        ////5、
541
+                        ///工单
541
                         //string cqwhere = $" 1=1 and DATEADD(DAY,{days},CreateTime) < GETDATE() AND State < " + (int)EnumWorkOrderState.finish + " ";//$" 1=1 and DATEADD(DAY,{days},CreateTime) < GETDATE() AND State < 2  ";
542
                         //string cqwhere = $" 1=1 and DATEADD(DAY,{days},CreateTime) < GETDATE() AND State < " + (int)EnumWorkOrderState.finish + " ";//$" 1=1 and DATEADD(DAY,{days},CreateTime) < GETDATE() AND State < 2  ";
542
                         ////5、未审核微信工单
543
                         ////5、未审核微信工单
543
                         //string wxwhere = $" 1=1 ";  // ANd Type = (SELECT F_DictionaryValueId FROM dbo.T_Sys_DictionaryValue (NOLOCK) WHERE F_DictionaryFlag = 'GDLY' AND F_Name = '微信')
544
                         //string wxwhere = $" 1=1 ";  // ANd Type = (SELECT F_DictionaryValueId FROM dbo.T_Sys_DictionaryValue (NOLOCK) WHERE F_DictionaryFlag = 'GDLY' AND F_Name = '微信')

+ 155 - 3
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/QuestionManageController.cs

17
         ///获取列表
17
         ///获取列表
18
         /// </summary>
18
         /// </summary>
19
         /// <returns></returns>
19
         /// <returns></returns>
20
-        public ActionResult GetList()
20
+        public ActionResult GetList(int pid = 0, string type = "")
21
         {
21
         {
22
             ActionResult res = NoToken("未知错误,请重新登录");
22
             ActionResult res = NoToken("未知错误,请重新登录");
23
-            string sql = " F_IsDelete=0 ";
23
+            string sql = $" and F_IsDelete=0";
24
             DataTable dt = new DataTable();
24
             DataTable dt = new DataTable();
25
 
25
 
26
             string name = HttpUtility.UrlDecode(RequestString.GetQueryString("name"));
26
             string name = HttpUtility.UrlDecode(RequestString.GetQueryString("name"));
32
             {
32
             {
33
                 sql += " and F_QuestionName like '%" + name + "%'";
33
                 sql += " and F_QuestionName like '%" + name + "%'";
34
             }
34
             }
35
+            if (!string.IsNullOrEmpty(type))
36
+            {
37
+                sql += $" and F_Type='{type}'";
38
+            }
39
+            if (pid > 0)
40
+            {
41
+                string idstr = GetQueson(pid);
42
+                if (!string.IsNullOrEmpty(idstr))
43
+                {
44
+                    sql += $" and F_Id in({idstr})";
45
+                }
46
+            }
35
             if (strpageindex.Trim() != "")
47
             if (strpageindex.Trim() != "")
36
             {
48
             {
37
                 pageindex = Convert.ToInt32(strpageindex);
49
                 pageindex = Convert.ToInt32(strpageindex);
66
             return res;
78
             return res;
67
         }
79
         }
68
 
80
 
81
+
82
+
83
+        /// <summary>
84
+        /// 获取工单类别
85
+        /// </summary>
86
+        /// <param name="typeid"></param>
87
+        /// <returns></returns>
88
+        public string GetQueson(int fid)
89
+        {
90
+            string tsql = fid.ToString();
91
+            string tsql1 = "";
92
+            string tsql2 = "";
93
+            var model = new BLL.T_Wo_QuestionManage().GetModel(fid);
94
+            if (model != null)
95
+            {
96
+                if (model.F_Label == "1")
97
+                {
98
+                    var glist = new BLL.T_Wo_QuestionManage().GetModelList($"F_ParentId={fid} and F_IsDelete=0 ").Select(p => p.F_Id).ToArray();
99
+                    if (glist.Count() > 0)
100
+                    {
101
+                        tsql1 = string.Join(",", glist);
102
+
103
+                        var glist1 = new BLL.T_Wo_QuestionManage().GetModelList($"F_ParentId in ({tsql1}) and F_IsDelete=0").Select(p => p.F_Id).ToArray();
104
+                        if (glist1.Count() > 0)
105
+                        {
106
+                            tsql2 = string.Join(",", glist1);
107
+                            tsql += "," + tsql1 + "," + tsql2;
108
+                        }
109
+                        else
110
+                        {
111
+                            tsql += "," + tsql1;
112
+                        }
113
+                    }
114
+                }
115
+                else if (model.F_Label == "2")
116
+                {
117
+                    var glist = new BLL.T_Wo_QuestionManage().GetModelList($"F_ParentId={fid} and F_IsDelete=0").Select(p => p.F_Id).ToArray();
118
+                    if (glist.Count() > 0)
119
+                    {
120
+                        tsql1 = string.Join(",", glist);
121
+                        tsql += "," + tsql1;
122
+                    }
123
+                }
124
+                return tsql;
125
+            }
126
+            else return "";
127
+        }
128
+        /// <summary>
129
+        /// 获取详情
130
+        /// </summary>
131
+        /// <param name="fid"></param>
132
+        /// <returns></returns>
133
+
134
+        public ActionResult GetDetail(int fid=0)
135
+        {
136
+            if (fid <= 0)
137
+                return Error("参数错误");
138
+            string F_ParentName="";
139
+            var model = new BLL.T_Wo_QuestionManage().GetModel(fid);
140
+            if (model.F_ParentId > 0)
141
+            {
142
+                F_ParentName = new BLL.T_Wo_QuestionManage().GetModel(Convert.ToInt32(model.F_ParentId)).F_QuestionName;
143
+            }
144
+
145
+            var objmodel = new
146
+            {
147
+                model=model,
148
+                F_ParentName= F_ParentName
149
+
150
+            };
151
+            return Success("加载成功", objmodel);
152
+
153
+        }
154
+        /// <summary>
155
+        /// 获取问题类别
156
+        /// </summary>
157
+        /// <param name="pid"></param>
158
+        /// <param name="keywords"></param>
159
+        /// <param name="type"></param>
160
+        /// <returns></returns>
161
+        public ActionResult GetQuestionList(int pid = 0,string type="")
162
+        {
163
+            DataTable dt = new DataTable();
164
+            List<TreeModel> modelist = new List<TreeModel>();
165
+            string sql = $"  F_IsDelete=0";
166
+            if (!string.IsNullOrEmpty(type))
167
+            {
168
+                sql += $" and F_Type='{type}'";
169
+            }
170
+            List<Model.T_Wo_QuestionManage> questlist = new BLL.T_Wo_QuestionManage().GetModelList(sql);
171
+            foreach (var item in questlist.Where(p=>p.F_ParentId==0))
172
+            {
173
+                TreeModel model = new TreeModel();
174
+                model.id = item.F_Id.ToString();
175
+                model.parentid = item.F_ParentId.ToString();
176
+                model.IconCls = "";//图标
177
+                model.text = item.F_QuestionName;
178
+                model.children = BindQuestionTree(questlist,item.F_Id);
179
+                modelist.Add(model);
180
+            }
181
+            return Success("加载成功",modelist);
182
+           
183
+        }
184
+
185
+        private List<TreeModel> BindQuestionTree(List<Model.T_Wo_QuestionManage> questlist, int parentid=0)
186
+        {
187
+            List<TreeModel> modelist = new List<TreeModel>();
188
+            List<Model.T_Wo_QuestionManage> itemlist = questlist.Where(p => p.F_ParentId == parentid).ToList();
189
+            if (itemlist.Count > 0 && parentid>0 )
190
+            {
191
+                foreach (var item in itemlist)
192
+                {
193
+                    TreeModel model = new TreeModel();
194
+                    model.id = item.F_Id.ToString();
195
+                    model.parentid = item.F_ParentId.ToString();
196
+                    model.IconCls = "";//图标
197
+                    model.text = item.F_QuestionName;
198
+                    model.children = BindQuestionTree(questlist, item.F_Id);
199
+                    modelist.Add(model);
200
+                }
201
+                return modelist;
202
+
203
+            }
204
+            else
205
+            {
206
+                return null;
207
+            }
208
+
209
+        }
210
+
69
         /// <summary>
211
         /// <summary>
70
         /// 添加/修改问题
212
         /// 添加/修改问题
71
         /// </summary>
213
         /// </summary>
85
                         string content = RequestString.GetFormString("content");
227
                         string content = RequestString.GetFormString("content");
86
                         string type = RequestString.GetFormString("type");
228
                         string type = RequestString.GetFormString("type");
87
                         int pid = RequestString.GetInt("pid", 0);
229
                         int pid = RequestString.GetInt("pid", 0);
88
-                        int layer = RequestString.GetInt("layer", 0);
230
+                        int layer = RequestString.GetInt("layer", 1);
89
                         string deal = RequestString.GetFormString("deal");
231
                         string deal = RequestString.GetFormString("deal");
90
                         string remark = RequestString.GetFormString("remark");
232
                         string remark = RequestString.GetFormString("remark");
91
                         string usercode = RequestString.GetFormString("usercode");
233
                         string usercode = RequestString.GetFormString("usercode");
174
                             string idd = " ";
316
                             string idd = " ";
175
                             foreach (string str in ids)
317
                             foreach (string str in ids)
176
                             {
318
                             {
319
+                                var model = new BLL.T_Wo_QuestionManage().GetModel(Convert.ToInt32(str));
320
+                                if (model != null)
321
+                                {
322
+                                    string sqlstr = $" F_ParentId={model.F_Id} and F_IsDelete=0 ";
323
+                                    var modelson = new BLL.T_Wo_QuestionManage().GetModelList(sqlstr);
324
+                                    if (modelson.Count > 0)
325
+                                    {
326
+                                       return  Error("删除失败,此问题下存在子类问题,请先删除子类问题!");
327
+                                    }
328
+                                }
177
                                 idd += str + ",";
329
                                 idd += str + ",";
178
                             }
330
                             }
179
                             string sql = "update T_Wo_QuestionManage set F_IsDelete=1,F_DeleteBy='" + ua.F_UserCode + "',F_DeleteOn=getdate() where F_Id in(" + idd.TrimEnd(',') + ")";
331
                             string sql = "update T_Wo_QuestionManage set F_IsDelete=1,F_DeleteBy='" + ua.F_UserCode + "',F_DeleteOn=getdate() where F_Id in(" + idd.TrimEnd(',') + ")";

+ 8 - 5
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/UserAccountController.cs

245
                     F_SeatGroup = userModel.F_SeartGroup,
245
                     F_SeatGroup = userModel.F_SeartGroup,
246
                     zxzname = zxzModel?.F_Name ?? "",
246
                     zxzname = zxzModel?.F_Name ?? "",
247
                     depname = depModel?.F_DeptName ?? "",
247
                     depname = depModel?.F_DeptName ?? "",
248
+                    flag=userModel.F_Flag
248
                     //regionId = userModel.RegionId,   //项目id,
249
                     //regionId = userModel.RegionId,   //项目id,
249
                     //regionName = modelRegion?.F_RegionName   //项目名称
250
                     //regionName = modelRegion?.F_RegionName   //项目名称
250
                 });
251
                 });
378
         public ActionResult EditUsers(UserAccountInput input)
379
         public ActionResult EditUsers(UserAccountInput input)
379
         {
380
         {
380
             ActionResult res = NoToken("未知错误,请重新登录");
381
             ActionResult res = NoToken("未知错误,请重新登录");
381
-            //if (Request.IsAuthenticated)
382
-            //{
382
+            if (Request.IsAuthenticated)
383
+            {
383
                 BLL.T_Sys_UserAccount sysUserAccountBll = new BLL.T_Sys_UserAccount();
384
                 BLL.T_Sys_UserAccount sysUserAccountBll = new BLL.T_Sys_UserAccount();
384
                 Model.T_Sys_UserAccount userAccountModel = sysUserAccountBll.GetModelList("  F_UserId = " + input.UserId).FirstOrDefault();
385
                 Model.T_Sys_UserAccount userAccountModel = sysUserAccountBll.GetModelList("  F_UserId = " + input.UserId).FirstOrDefault();
385
                 if (userAccountModel == null)
386
                 if (userAccountModel == null)
473
                 userAccountModel.F_DeleteFlag = 0;
474
                 userAccountModel.F_DeleteFlag = 0;
474
                 if (input.HjType != null)
475
                 if (input.HjType != null)
475
                     userAccountModel.F_HJType = input.HjType;
476
                     userAccountModel.F_HJType = input.HjType;
476
-                #region 20220426 增加用户标识
477
-                if (input.F_Flag != 0)
477
+            if (input.F_Flag != 0)
478
+                userAccountModel.F_Flag = input.F_Flag;//标识(1-负责外线工单处理,2-负责内线工单处理)
479
+            #region 20220426 增加用户标识
480
+            if (input.F_Flag != 0)
478
                     userAccountModel.F_Flag = input.F_Flag;//标识(1-负责外线工单处理,2-负责内线工单处理)
481
                     userAccountModel.F_Flag = input.F_Flag;//标识(1-负责外线工单处理,2-负责内线工单处理)
479
                 #endregion
482
                 #endregion
480
 
483
 
501
                     else
504
                     else
502
                         res = Error("编辑失败!");
505
                         res = Error("编辑失败!");
503
                 }
506
                 }
504
-            //}
507
+            }
505
             return res;
508
             return res;
506
         }
509
         }
507
         //[Authority]
510
         //[Authority]

+ 102 - 7
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/customer/CustomerNewController.cs

376
         {
376
         {
377
             if (!string.IsNullOrWhiteSpace(tel))
377
             if (!string.IsNullOrWhiteSpace(tel))
378
             {
378
             {
379
+                string Province = "", City="";
380
+                var model = new object();
379
                 var sql = $" and  F_LegalPhone  = '" + tel.Trim() + "'";
381
                 var sql = $" and  F_LegalPhone  = '" + tel.Trim() + "'";
380
                 var userModel = new BLL.T_Cus_CustomerBaseNew().GetModelList(" F_IsDelete = 0 " + sql);
382
                 var userModel = new BLL.T_Cus_CustomerBaseNew().GetModelList(" F_IsDelete = 0 " + sql);
381
-                if (userModel.Count() > 0)
383
+                if (tel.Trim().Length == 11 && tel.Substring(0, 1) != "0")
382
                 {
384
                 {
383
-                    List<CustomerBaseNewInput> Input = modeltooip(userModel);
384
-                    var model = Input.Last();
385
+                    BLL.T_Sys_MobileData mobile_Bll = new BLL.T_Sys_MobileData();
386
+                    Model.T_Sys_MobileData mobileModel = mobile_Bll.GetModelList(" F_MobileNum='" + tel.Substring(0, 7) + "' ").FirstOrDefault();
385
 
387
 
386
-                    return Success("获取成功", model);
388
+                    if (mobileModel != null)
389
+                    {
390
+                        if (!string.IsNullOrEmpty(mobileModel.F_CityDes))
391
+                        {
392
+                            try
393
+                            {
394
+                                var CityDes = mobileModel.F_CityDes.Split('-');
395
+                                Province = CityDes[0].ToString() + "省";
396
+                                City = CityDes[1].ToString() + "市";
397
+                            }
398
+                            catch
399
+                            {
400
+
401
+                            }
402
+                        }
403
+                    }
387
                 }
404
                 }
388
                 else
405
                 else
389
                 {
406
                 {
390
-                    return Success("获取成功");
407
+                    BLL.T_Sys_TelTitleData numbBll = new BLL.T_Sys_TelTitleData();
408
+                    List<Model.T_Sys_TelTitleData> mobileModel = numbBll.GetModelList(" 1=1 and F_KeyPhoneNum='" + tel.Substring(0, 4) + "'");
409
+                    if (mobileModel == null || mobileModel.Count <= 0)
410
+                    {
411
+                        mobileModel = numbBll.GetModelList(" 1=1 and F_KeyPhoneNum='" + tel.Substring(0, 3) + "'");
412
+                    }
413
+                    if (mobileModel.Count > 0)
414
+                    {
415
+                        if (!string.IsNullOrEmpty(mobileModel[0].F_TitleName))
416
+                        {
417
+                            try
418
+                            {
419
+                                var CityDes = mobileModel[0].F_TitleName.Split('-');
420
+                                Province = CityDes[0].ToString() ;
421
+                                City = CityDes[1].ToString();
422
+                            }
423
+                            catch
424
+                            {
425
+
426
+                            }
427
+                        }
428
+                    }
391
                 }
429
                 }
430
+                if (userModel.Count() > 0)
431
+                {
432
+                    List<CustomerBaseNewInput> Input = modeltooip(userModel);
433
+
434
+                     model = Input.Last();
435
+                }
436
+                var obj = new
437
+                {
438
+                    model = model,
439
+                    Province = Province,
440
+                    City = City
441
+                };
442
+                return Success("获取成功", obj);
443
+                //}
444
+                //else
445
+                //{
446
+                //    return Success("获取成功");
447
+                //}
392
             }
448
             }
393
             else
449
             else
394
             {
450
             {
417
                 bool n = cusbll.Update(model);
473
                 bool n = cusbll.Update(model);
418
                 if (n)
474
                 if (n)
419
                 {
475
                 {
420
-                    return Success("保存成功!");
476
+                    return Success("保存成功!",model.F_CustomerId);
421
                 }
477
                 }
422
                 else
478
                 else
423
                     return Error("保存失败!");
479
                     return Error("保存失败!");
450
                 int n = cusbll.Add(model);
506
                 int n = cusbll.Add(model);
451
                 if (n > 0)
507
                 if (n > 0)
452
                 {
508
                 {
453
-                    return Success("新增成功!");
509
+                    return Success("新增成功!",n);
454
                 }
510
                 }
455
                 else
511
                 else
456
                     return Error("新增失败!");
512
                     return Error("新增失败!");
458
             }
514
             }
459
 
515
 
460
         }
516
         }
517
+
518
+        /// <summary>
519
+        /// 通过区县获取关联业务员
520
+        /// </summary>
521
+        /// <param name="input"></param>
522
+        /// <returns></returns>
523
+        public ActionResult GetCusYWY(int CustomerId = 0)
524
+        {
525
+            if (CustomerId == 0)
526
+                return Error("客户信息不存在!");
527
+            var model = cusbll.GetModel(CustomerId);
528
+            if (model == null)
529
+                return Error("客户不存在");
530
+            string sql = $" F_DeleteFlag=0";
531
+            if (!string.IsNullOrWhiteSpace(model.F_AddressCountry))//县
532
+            {
533
+                sql += $" and F_Remark like '%{ model.F_AddressCountry.Trim()}%'";
534
+            }
535
+            else if (!string.IsNullOrWhiteSpace(model.F_AddressCity))//市
536
+                sql += $" and F_Remark like '%{model.F_AddressCity.Trim()}%'";
537
+            else
538
+                sql += $"and 1!=1 ";
539
+            var modelist = new BLL.T_Sys_UserAccount().GetModelList(sql);
540
+            var saleslist = modelist.Where(t => !string.IsNullOrEmpty(t.F_UserCode)).Select(p => new
541
+            {
542
+                Salesman = new BLL.T_Sys_Department().GetModel(p.F_DeptId).F_DeptName + "-" + p.F_UserName + "(" + p.F_UserCode + ")",              
543
+                SalesPhone = p.F_Mobile
544
+            });
545
+            var obj = new
546
+            {
547
+                state = "success",
548
+                message = "成功",
549
+                rows = saleslist.GroupBy(x => x.Salesman).Select(y => y.First()),
550
+                customername = model.F_Legal,
551
+                customerphon = model.F_LegalPhone
552
+
553
+            };
554
+            return Content(obj.ToJson());
555
+        }
461
         /// <summary>
556
         /// <summary>
462
         /// 添加客户信息
557
         /// 添加客户信息
463
         /// </summary>
558
         /// </summary>

+ 1 - 1
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/knowledge/KnowledgeController.cs

58
                 dt = BLL.PagerBLL.GetListPager(
58
                 dt = BLL.PagerBLL.GetListPager(
59
                     "T_RepositoryInformation a",
59
                     "T_RepositoryInformation a",
60
                     "F_RepositoryId",
60
                     "F_RepositoryId",
61
-                   "F_CreateName=(select F_UserName  from  T_Sys_UserAccount where F_UserId=a.F_CreateBy),*",
61
+                   "F_CreateName=(select F_UserName+'('+F_UserCode+')'  from  T_Sys_UserAccount where F_UserId=a.F_CreateBy),*",
62
                     sql,
62
                     sql,
63
                     "ORDER BY F_RepositoryId desc",
63
                     "ORDER BY F_RepositoryId desc",
64
                     pagesize,
64
                     pagesize,

+ 193 - 36
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/report/WOReportController.cs

1252
             { sql += $" and F_Type=" + type; }
1252
             { sql += $" and F_Type=" + type; }
1253
             #endregion
1253
             #endregion
1254
             dt.Columns.Add("评分维度");
1254
             dt.Columns.Add("评分维度");
1255
-            dt.Columns.Add("不满意(5分以下)");
1256
-            dt.Columns.Add("一般(5-6)");
1257
-            dt.Columns.Add("满意(7-8)");
1258
-            dt.Columns.Add("非常满意(9-10)");
1255
+            //dt.Columns.Add("不满意(5分以下)");
1256
+            //dt.Columns.Add("一般(5-6)");
1257
+            //dt.Columns.Add("满意(7-8)");
1258
+            //dt.Columns.Add("非常满意(9-10)");
1259
+            dt.Columns.Add("1分");
1260
+            dt.Columns.Add("2分");
1261
+            dt.Columns.Add("3分");
1262
+            dt.Columns.Add("4分");
1263
+            dt.Columns.Add("5分");
1264
+            dt.Columns.Add("6分");
1265
+            dt.Columns.Add("7分");
1266
+            dt.Columns.Add("8分");
1267
+            dt.Columns.Add("9分");
1268
+            dt.Columns.Add("10分");
1259
             List<string> scorename = new List<string>();
1269
             List<string> scorename = new List<string>();
1260
-            scorename.Add("F_NPS");
1270
+            //scorename.Add("F_NPS");
1261
             scorename.Add("F_VisitResultScore");
1271
             scorename.Add("F_VisitResultScore");
1262
             scorename.Add("F_EffectiveScore");
1272
             scorename.Add("F_EffectiveScore");
1263
             scorename.Add("F_ServiceAttitude");
1273
             scorename.Add("F_ServiceAttitude");
1269
                 DataRow drNew = dt.NewRow();
1279
                 DataRow drNew = dt.NewRow();
1270
                 switch (i)
1280
                 switch (i)
1271
                 {
1281
                 {
1282
+                    //case 0:
1283
+                    //    drNew["评分维度"] = "NPS得分";
1284
+                    //    break;
1272
                     case 0:
1285
                     case 0:
1273
-                        drNew["评分维度"] = "NPS得分";
1274
-                        break;
1275
-                    case 1:
1276
                         drNew["评分维度"] = "处理结果得分";
1286
                         drNew["评分维度"] = "处理结果得分";
1277
                         break;
1287
                         break;
1278
-                    case 2:
1288
+                    case 1:
1279
                         drNew["评分维度"] = "处理时效得分";
1289
                         drNew["评分维度"] = "处理时效得分";
1280
                         break;
1290
                         break;
1281
-                    case 3:
1291
+                    case 2:
1282
                         drNew["评分维度"] = "服务态度得分";
1292
                         drNew["评分维度"] = "服务态度得分";
1283
                         break;
1293
                         break;
1284
-                    case 4:
1294
+                    case 3:
1285
                         drNew["评分维度"] = "产品质量得分";
1295
                         drNew["评分维度"] = "产品质量得分";
1286
                         break;
1296
                         break;
1287
-                    case 5:
1297
+                    case 4:
1288
                         drNew["评分维度"] = "评价结果得分";
1298
                         drNew["评分维度"] = "评价结果得分";
1289
                         break;
1299
                         break;
1290
                 }
1300
                 }
1292
                 {
1302
                 {
1293
                     string sqlstr = "";
1303
                     string sqlstr = "";
1294
                     var modellist = new List<Model.T_Wo_WorkOrder>();
1304
                     var modellist = new List<Model.T_Wo_WorkOrder>();
1295
-                    switch (j)
1296
-                    {
1297
-                        case 1:
1298
-                            sqlstr = $"{scorename[i]}<5";
1299
-                            modellist = woBLL.GetModelList(" " + sqlstr + sql + " ");
1300
-                            drNew["不满意(5分以下)"] = modellist.Count;
1301
-                            break;
1302
-                        case 2:
1303
-                            sqlstr = $"{scorename[i]} in (5,6)";
1304
-                            modellist = woBLL.GetModelList(" " + sqlstr + sql + " ");
1305
-                            drNew["一般(5-6)"] = modellist.Count;
1306
-                            break;
1307
-                        case 3:
1308
-                            sqlstr = $"{scorename[i]} in (7,8)";
1309
-                            modellist = woBLL.GetModelList(" " + sqlstr + sql + " ");
1310
-                            drNew["满意(7-8)"] = modellist.Count;
1311
-                            break;
1312
-                        case 4:
1313
-                            sqlstr = $"{scorename[i]} in (9,10)";
1314
-                            modellist = woBLL.GetModelList(" " + sqlstr + sql + " ");
1315
-                            drNew["非常满意(9-10)"] = modellist.Count;
1316
-                            break;
1317
-                    }
1305
+                    //switch (j)
1306
+                    //{
1307
+                    //    case 1:
1308
+                    //        sqlstr = $"{scorename[i]}=1";
1309
+                    //        //modellist = woBLL.GetModelList(" " + sqlstr + sql + " ");
1310
+                    //        //drNew["1分"] = modellist.Count;
1311
+                    //        break;
1312
+                    //    case 2:
1313
+                    //        sqlstr = $"{scorename[i]}=2";
1314
+                    //        //modellist = woBLL.GetModelList(" " + sqlstr + sql + " ");
1315
+                    //        //drNew["2分"] = modellist.Count;
1316
+                    //        break;  
1317
+                    //}
1318
+                    sqlstr = $"{scorename[i]}={j}";
1319
+                    modellist = woBLL.GetModelList(" " + sqlstr + sql + " ");
1320
+                    drNew[$"{j}分"] = modellist.Count;
1318
                 }
1321
                 }
1319
 
1322
 
1320
                 dt.Rows.Add(drNew);
1323
                 dt.Rows.Add(drNew);
1333
         }
1336
         }
1334
 
1337
 
1335
 
1338
 
1339
+        /// <summary>
1340
+        /// 工单满意度打分统计报表查看工单(工单回访)
1341
+        /// </summary>
1342
+        /// <param name="stime"></param>
1343
+        /// <param name="endtime"></param>
1344
+        /// <param name="type"></param>
1345
+        /// <returns></returns>
1346
+        public ActionResult GetVisiteSatisfiedWo(string stime, string endtime, int type = 0, int row = 1, int column = 1,int isdc=0)
1347
+        {
1348
+            string sql = $" and F_IsDelete=0";
1349
+            DataTable dt = new DataTable();
1350
+            #region 筛选条件
1351
+            if (stime != null && stime.Trim() != "")
1352
+            {
1353
+                sql += " and CONVERT(varchar , F_CreateOn, 120)>=CONVERT(varchar , '" + stime.Trim() + " 00:00:01', 120) ";
1354
+            }
1355
+            if (endtime != null && endtime.Trim() != "")
1356
+            {
1357
+                sql += " and CONVERT(varchar , F_CreateOn, 120)<=CONVERT(varchar , '" + endtime.Trim() + " 23:59:59', 120) ";
1358
+            }
1359
+            if (type > 0 && type < 6)//工单类型
1360
+            { sql += $" and F_Type=" + type; }
1361
+            #endregion
1362
+            dt.Columns.Add("序号");
1363
+            dt.Columns.Add("工单编号");
1364
+            dt.Columns.Add("工单内容");
1365
+            dt.Columns.Add("工单类型");
1366
+            List<string> scorename = new List<string>();          
1367
+            string sqlstr = "";
1368
+            switch (row)
1369
+            {
1370
+                case 1:
1371
+                    sqlstr = $"F_NPS={column}";
1372
+                    break;
1373
+                case 2:
1374
+                    sqlstr = $"F_VisitResultScore ={column}";
1375
+                    break;
1376
+                case 3:
1377
+                    sqlstr = $"F_EffectiveScore ={column}";
1378
+                    break;
1379
+                case 4:
1380
+                    sqlstr = $"F_ServiceAttitude ={column}";
1381
+                    break;
1382
+                case 5:
1383
+                    sqlstr = $"F_ProductQuality ={column}";
1384
+                    break;
1385
+                case 6:
1386
+                    sqlstr = $"F_EvaluationResult ={column}";
1387
+                    break;
1388
+            }
1389
+            var modellist = woBLL.GetModelList(" " + sqlstr + sql + " ");
1390
+            if (modellist.Count > 0)
1391
+            {
1392
+                int j = 1;
1393
+                foreach (var item in modellist)
1394
+                {
1395
+                    DataRow drNew = dt.NewRow();
1396
+                    drNew["序号"] = j;
1397
+                    drNew["工单编号"] = item.F_WorkOrderCode;
1398
+                    drNew["工单内容"] = item.F_Description;
1399
+                    if (item.F_Type == "1")
1400
+                    {
1401
+                        drNew["工单类型"] = "咨询";//工单类型:咨询及需求、投诉、抽检、其他(其它手动输入别的点选)
1402
+                    }
1403
+                    else if (item.F_Type == "2")
1404
+                    {
1405
+                        drNew["工单类型"] = "投诉";//工单类型:咨询及需求、投诉、抽检、其他(其它手动输入别的点选)
1406
+                    }
1407
+                    else if (item.F_Type == "3")
1408
+                    {
1409
+                        drNew["工单类型"] = "抽检";//工单类型:咨询及需求、投诉、抽检、其他(其它手动输入别的点选)
1410
+                    }
1411
+                    else if (item.F_Type == "5")
1412
+                    {
1413
+                        drNew["工单类型"] = "业务协办";//工单类型:咨询及需求、投诉、抽检、其他(其它手动输入别的点选)
1414
+                    }
1415
+                    else
1416
+                    {
1417
+                        drNew["工单类型"] = "建议及其他";//工单类型:咨询及需求、投诉、抽检、其他(其它手动输入别的点选)
1418
+                    }
1419
+                    dt.Rows.Add(drNew);
1420
+                    j++;
1421
+                }
1422
+            }
1423
+            if (isdc > 0)
1424
+            {
1425
+                NPOIHelper npoi = new NPOIHelper();
1426
+                if (npoi.ExportToExcel("回访评价打分明细表", dt) == "")
1427
+                {
1428
+                    return Success("导出成功");
1429
+                }
1430
+                else
1431
+                {
1432
+                    return Error("导出失败");
1433
+
1434
+                }
1435
+            }
1436
+            else  return Content(dt.ToJson());
1437
+        }
1438
+
1439
+
1440
+
1441
+        /// <summary>
1442
+        /// 工单满意度NPS打分统计报表(工单回访)
1443
+        /// </summary>
1444
+        /// <param name="stime"></param>
1445
+        /// <param name="endtime"></param>
1446
+        /// <param name="type"></param>
1447
+        /// <returns></returns>
1448
+        public ActionResult GetNPSatisfiedReport(string stime, string endtime, int type = 0)
1449
+        {
1450
+            string sql = $" and F_IsDelete=0";
1451
+            DataTable dt = new DataTable();
1452
+            #region 筛选条件
1453
+            if (stime != null && stime.Trim() != "")
1454
+            {
1455
+                sql += " and CONVERT(varchar , F_CreateOn, 120)>=CONVERT(varchar , '" + stime.Trim() + " 00:00:01', 120) ";
1456
+            }
1457
+            if (endtime != null && endtime.Trim() != "")
1458
+            {
1459
+                sql += " and CONVERT(varchar , F_CreateOn, 120)<=CONVERT(varchar , '" + endtime.Trim() + " 23:59:59', 120) ";
1460
+            }
1461
+            if (type > 0 && type < 6)//工单类型
1462
+            { sql += $" and F_Type=" + type; }
1463
+            #endregion
1464
+            dt.Columns.Add("评分维度");
1465
+            dt.Columns.Add("1分");
1466
+            dt.Columns.Add("2分");
1467
+            dt.Columns.Add("3分");
1468
+            dt.Columns.Add("4分");
1469
+            dt.Columns.Add("5分");
1470
+            dt.Columns.Add("6分");
1471
+            dt.Columns.Add("7分");
1472
+            dt.Columns.Add("8分");
1473
+            dt.Columns.Add("9分");
1474
+            dt.Columns.Add("10分");
1475
+            List<string> scorename = new List<string>();
1476
+            //scorename.Add("F_NPS");
1477
+            int resultscore = 0, effectscore = 0, servicescore = 0, qualityscore = 0, npscore = 0, evaluatscore = 0;
1478
+            DataRow drNew = dt.NewRow();
1479
+            drNew["评分维度"] = "NPS得分";
1480
+            for (int j = 1; j < dt.Columns.Count; j++)
1481
+            {
1482
+                string sqlstr = "";
1483
+                var modellist = new List<Model.T_Wo_WorkOrder>();
1484
+                sqlstr = $"F_NPS={j}";
1485
+                modellist = woBLL.GetModelList(" " + sqlstr + sql + " ");
1486
+                drNew[$"{j}分"] = modellist.Count;
1487
+            }
1488
+            dt.Rows.Add(drNew);
1489
+            return Content(dt.ToJson());
1490
+        }
1491
+
1492
+
1336
 
1493
 
1337
         private int workercount(int i ,  List<Model .T_Wo_WorkOrder> workerlist, List<Model.T_Wo_QuestionManage> ConsultingNeedslist, List<Model.T_Wo_QuestionManage> Complaintlist, List<Model.T_Wo_QuestionManage> SpotChecklist)
1494
         private int workercount(int i ,  List<Model .T_Wo_WorkOrder> workerlist, List<Model.T_Wo_QuestionManage> ConsultingNeedslist, List<Model.T_Wo_QuestionManage> Complaintlist, List<Model.T_Wo_QuestionManage> SpotChecklist)
1338
         {
1495
         {
2696
             string sqloverdue = "";
2853
             string sqloverdue = "";
2697
             sqloverdue += "";
2854
             sqloverdue += "";
2698
             #region 退换货的工单按未超期处理 20220302
2855
             #region 退换货的工单按未超期处理 20220302
2699
-            sql += $" and  F_ID not in (select F_ID from T_Wo_WorkOrder where F_SC_PreliminaryOpinion  in ('退货', '换货'))";
2856
+            sql += $" and  F_ID not in (select F_ID from T_Wo_WorkOrder where F_SC_PreliminaryOpinion='退换货')";
2700
             #endregion
2857
             #endregion
2701
             var modlelist = workOrder.GetModelList(sql + sqloverdue + "and F_IsOver=1  " + time);
2858
             var modlelist = workOrder.GetModelList(sql + sqloverdue + "and F_IsOver=1  " + time);
2702
             Template templatee = new Template();
2859
             Template templatee = new Template();

Разница между файлами не показана из-за своего большого размера
+ 506 - 210
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/weixin/WxLoginController.cs


Разница между файлами не показана из-за своего большого размера
+ 966 - 314
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/workorder/WorkOrderNewController.cs


+ 28 - 2
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Models/Input/WorkOrderNewInput.cs

945
         /// </summary>
945
         /// </summary>
946
         public decimal? F_MaterialFee { get; set; }
946
         public decimal? F_MaterialFee { get; set; }
947
         /// <summary>
947
         /// <summary>
948
-        /// 事件原因
948
+        /// 事件原因-外线
949
         /// </summary>
949
         /// </summary>
950
         public string F_EventReason { get; set; }
950
         public string F_EventReason { get; set; }
951
 
951
 
952
         /// <summary>
952
         /// <summary>
953
+        /// 事件原因-内线
954
+        /// </summary>
955
+        public string F_EventReason2 { get; set; }
956
+
957
+        /// <summary>
953
         /// 处理结果打分
958
         /// 处理结果打分
954
         /// </summary>
959
         /// </summary>
955
         public int? F_VisitResultScore { get; set; }
960
         public int? F_VisitResultScore { get; set; }
972
         /// <summary>
977
         /// <summary>
973
         /// 评价结果
978
         /// 评价结果
974
         /// </summary>
979
         /// </summary>
975
-        public int? F_EvaluationResult { get; set; }
980
+        public decimal? F_EvaluationResult { get; set; }
976
 
981
 
977
         /// <summary>
982
         /// <summary>
978
         /// 抽检类-样品邮寄单号
983
         /// 抽检类-样品邮寄单号
983
         /// </summary>
988
         /// </summary>
984
         public string F_ExpressName { get; set; }
989
         public string F_ExpressName { get; set; }
985
 
990
 
991
+        /// <summary>
992
+        /// 工艺
993
+        /// </summary>
994
+        public string F_WorkmanShip { get; set; }
995
+        /// <summary>
996
+        /// 原料及厂家
997
+        /// </summary>
998
+        public string F_Manufacturers { get; set; }
999
+        /// <summary>
1000
+        /// 该批次生产数量
1001
+        /// </summary>
1002
+        public int? F_ProductionNum { get; set; }
1003
+        /// <summary>
1004
+        /// 司机电话号码
1005
+        /// </summary>
1006
+        public string F_DrivePhone { get; set; }
1007
+        /// <summary>
1008
+        /// 处理结果-内线
1009
+        /// </summary>
1010
+        public string SuperiorOpinion2 { get; set; }
1011
+
986
         #region 多物料
1012
         #region 多物料
987
         public List<T_Wo_MaterialItems> MaterialItems { get; set; }
1013
         public List<T_Wo_MaterialItems> MaterialItems { get; set; }
988
         #endregion
1014
         #endregion

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

120
     <Compile Include="T_Sys_WorkCalendar.cs" />
120
     <Compile Include="T_Sys_WorkCalendar.cs" />
121
     <Compile Include="T_Sys_WorkOFFDays.cs" />
121
     <Compile Include="T_Sys_WorkOFFDays.cs" />
122
     <Compile Include="T_Sys_WorkTimes.cs" />
122
     <Compile Include="T_Sys_WorkTimes.cs" />
123
+    <Compile Include="T_Wo_AnnotationTab.cs" />
123
     <Compile Include="T_Wo_BusinessManage.cs" />
124
     <Compile Include="T_Wo_BusinessManage.cs" />
124
     <Compile Include="T_Wo_MaterialItems.cs" />
125
     <Compile Include="T_Wo_MaterialItems.cs" />
125
     <Compile Include="T_Wo_MaterialManage.cs" />
126
     <Compile Include="T_Wo_MaterialManage.cs" />

+ 93 - 0
codegit/CallCenterApi/CallCenterApi.Model/T_Wo_AnnotationTab.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
+    /// <summary>
10
+    /// T_Wo_AnnotationTab:实体类(属性说明自动提取数据库字段的描述信息)
11
+    /// </summary>
12
+    [Serializable]
13
+    public partial class T_Wo_AnnotationTab
14
+    {
15
+        public T_Wo_AnnotationTab()
16
+        { }
17
+        #region Model
18
+        private int _f_id;
19
+        private string _f_contents;
20
+        private string _f_annotationperson;
21
+        private DateTime? _f_createtime;
22
+        private string _f_modifyby;
23
+        private DateTime? _f_modifytime;
24
+        private int? _f_isdelete = 0;
25
+        private string _f_wocode;
26
+        /// <summary>
27
+        /// 
28
+        /// </summary>
29
+        public int F_Id
30
+        {
31
+            set { _f_id = value; }
32
+            get { return _f_id; }
33
+        }
34
+        /// <summary>
35
+        /// 注解内容
36
+        /// </summary>
37
+        public string F_Contents
38
+        {
39
+            set { _f_contents = value; }
40
+            get { return _f_contents; }
41
+        }
42
+        /// <summary>
43
+        /// 注解人
44
+        /// </summary>
45
+        public string F_AnnotationPerson
46
+        {
47
+            set { _f_annotationperson = value; }
48
+            get { return _f_annotationperson; }
49
+        }
50
+        /// <summary>
51
+        /// 注解时间
52
+        /// </summary>
53
+        public DateTime? F_CreateTime
54
+        {
55
+            set { _f_createtime = value; }
56
+            get { return _f_createtime; }
57
+        }
58
+        /// <summary>
59
+        /// 修改人
60
+        /// </summary>
61
+        public string F_ModifyBy
62
+        {
63
+            set { _f_modifyby = value; }
64
+            get { return _f_modifyby; }
65
+        }
66
+        /// <summary>
67
+        /// 修改时间
68
+        /// </summary>
69
+        public DateTime? F_ModifyTime
70
+        {
71
+            set { _f_modifytime = value; }
72
+            get { return _f_modifytime; }
73
+        }
74
+        /// <summary>
75
+        /// 是否删除
76
+        /// </summary>
77
+        public int? F_IsDelete
78
+        {
79
+            set { _f_isdelete = value; }
80
+            get { return _f_isdelete; }
81
+        }
82
+        /// <summary>
83
+        /// 工单id
84
+        /// </summary>
85
+        public string F_Wocode
86
+        {
87
+            set { _f_wocode = value; }
88
+            get { return _f_wocode; }
89
+        }
90
+        #endregion Model
91
+
92
+    }
93
+}

+ 31 - 4
codegit/CallCenterApi/CallCenterApi.Model/T_Wo_WorkCopy.cs

19
         private string _f_sendcopyuser;
19
         private string _f_sendcopyuser;
20
         private DateTime? _f_sendcopyon;
20
         private DateTime? _f_sendcopyon;
21
         private string _f_content;
21
         private string _f_content;
22
+        private int? _f_sendcopydepts;
23
+        private int? _f_flag;
24
+        private string _f_remark;
22
         /// <summary>
25
         /// <summary>
23
         /// 
26
         /// 
24
         /// </summary>
27
         /// </summary>
28
             get { return _f_id; }
31
             get { return _f_id; }
29
         }
32
         }
30
         /// <summary>
33
         /// <summary>
31
-        /// 工单id
34
+        /// 
32
         /// </summary>
35
         /// </summary>
33
         public int? F_WorkOrderID
36
         public int? F_WorkOrderID
34
         {
37
         {
60
             get { return _f_createon; }
63
             get { return _f_createon; }
61
         }
64
         }
62
         /// <summary>
65
         /// <summary>
63
-        /// 抄送人id
66
+        /// 抄送人(多人)
64
         /// </summary>
67
         /// </summary>
65
         public string F_SendCopyUser
68
         public string F_SendCopyUser
66
         {
69
         {
68
             get { return _f_sendcopyuser; }
71
             get { return _f_sendcopyuser; }
69
         }
72
         }
70
         /// <summary>
73
         /// <summary>
71
-        /// 抄送时间
74
+        /// 
72
         /// </summary>
75
         /// </summary>
73
         public DateTime? F_SendCopyOn
76
         public DateTime? F_SendCopyOn
74
         {
77
         {
76
             get { return _f_sendcopyon; }
79
             get { return _f_sendcopyon; }
77
         }
80
         }
78
         /// <summary>
81
         /// <summary>
79
-        /// 抄送内容
82
+        /// 
80
         /// </summary>
83
         /// </summary>
81
         public string F_Content
84
         public string F_Content
82
         {
85
         {
83
             set { _f_content = value; }
86
             set { _f_content = value; }
84
             get { return _f_content; }
87
             get { return _f_content; }
85
         }
88
         }
89
+        /// <summary>
90
+        /// 抄送部门
91
+        /// </summary>
92
+        public int? F_SendCopyDepts
93
+        {
94
+            set { _f_sendcopydepts = value; }
95
+            get { return _f_sendcopydepts; }
96
+        }
97
+        /// <summary>
98
+        /// 0 抄送到部门下某些的人;1抄送到部门下的所有人
99
+        /// </summary>
100
+        public int? F_Flag
101
+        {
102
+            set { _f_flag = value; }
103
+            get { return _f_flag; }
104
+        }
105
+        /// <summary>
106
+        /// 
107
+        /// </summary>
108
+        public string F_Remark
109
+        {
110
+            set { _f_remark = value; }
111
+            get { return _f_remark; }
112
+        }
86
         #endregion Model
113
         #endregion Model
87
 
114
 
88
     }
115
     }

+ 54 - 2
codegit/CallCenterApi/CallCenterApi.Model/T_Wo_WorkOrder.cs

123
         private int? _f_serviceattitude;
123
         private int? _f_serviceattitude;
124
         private int? _f_productquality;
124
         private int? _f_productquality;
125
         private int? _f_nps;
125
         private int? _f_nps;
126
-        private int? _f_evaluationresult;
126
+        private decimal? _f_evaluationresult;
127
+        private string _f_workmanship;
128
+        private string _f_manufacturers;
129
+        private int? _f_productionnum;
127
         public string F_Annotation
130
         public string F_Annotation
128
         {
131
         {
129
             set { _f_annotation = value; }
132
             set { _f_annotation = value; }
1004
         /// <summary>
1007
         /// <summary>
1005
         /// 评价结果
1008
         /// 评价结果
1006
         /// </summary>
1009
         /// </summary>
1007
-        public int? F_EvaluationResult
1010
+        public decimal? F_EvaluationResult
1008
         {
1011
         {
1009
             set { _f_evaluationresult = value; }
1012
             set { _f_evaluationresult = value; }
1010
             get { return _f_evaluationresult; }
1013
             get { return _f_evaluationresult; }
1011
         }
1014
         }
1015
+
1016
+        /// <summary>
1017
+		/// 工艺
1018
+		/// </summary>
1019
+		public string F_WorkmanShip
1020
+        {
1021
+            set { _f_workmanship = value; }
1022
+            get { return _f_workmanship; }
1023
+        }
1024
+        /// <summary>
1025
+        /// 原料及厂家
1026
+        /// </summary>
1027
+        public string F_Manufacturers
1028
+        {
1029
+            set { _f_manufacturers = value; }
1030
+            get { return _f_manufacturers; }
1031
+        }
1032
+        /// <summary>
1033
+        /// 该批次生产数量
1034
+        /// </summary>
1035
+        public int? F_ProductionNum
1036
+        {
1037
+            set { _f_productionnum = value; }
1038
+            get { return _f_productionnum; }
1039
+        }
1040
+
1041
+        /// <summary>
1042
+        /// 处理结果-外线
1043
+        /// </summary>
1044
+        public string F_SuperiorOpinion { get; set; }
1045
+
1046
+        /// <summary>
1047
+        /// 司机电话
1048
+        /// </summary>
1049
+        public string F_DrivePhone { get; set; }
1050
+
1051
+        /// <summary>
1052
+        /// 处理结果-内线
1053
+        /// </summary>
1054
+        public string F_SuperiorOpinion2 { get; set; }
1055
+        /// <summary>
1056
+        /// 问题原因-内线
1057
+        /// </summary>
1058
+        public string F_EventReason2 { get; set; }
1059
+        /// <summary>
1060
+        /// 1单线外2单线内3双线
1061
+        /// </summary>
1062
+        public int F_Flag { get; set; }
1063
+
1012
         #endregion Model
1064
         #endregion Model
1013
 
1065
 
1014
         #region 多物料
1066
         #region 多物料

+ 4 - 0
codegit/CallCenterApi/CallCenterApi.Model/T_Wo_WorkOrderItem_New.cs

177
             set { _f_type = value; }
177
             set { _f_type = value; }
178
             get { return _f_type; }
178
             get { return _f_type; }
179
         }
179
         }
180
+        /// <summary>
181
+        /// 1单线外2单线内3双线
182
+        /// </summary>
183
+        public int F_Flag { get; set; }
180
         #endregion Model
184
         #endregion Model
181
 
185
 
182
     }
186
     }

+ 9 - 3
codegit/CallCenterApi/CallCenterApi.Model/TreeModel.cs

45
             get { return _text; }
45
             get { return _text; }
46
         }
46
         }
47
         private List<TreeModel> _children;
47
         private List<TreeModel> _children;
48
-        public List<TreeModel> children
48
+        //public List<TreeModel> children
49
+        //{
50
+        //    set { _children = value; }
51
+        //    get { return _children; }
52
+        //}
53
+        public IEnumerable<TreeModel> children
49
         {
54
         {
50
-            set { _children = value; }
51
-            get { return _children; }
55
+            get; set;
52
         }
56
         }
57
+        public int flag { get; set; } //1部门,2人员
58
+        public int islast { get; set; }//是否最后一层
53
         private int _headerid;
59
         private int _headerid;
54
         /// <summary>
60
         /// <summary>
55
         /// 树节点显示文本
61
         /// 树节点显示文本

+ 0 - 6
codegit/CallCenterCommon/CallCenter.Utility/CallCenter.Utility.csproj

120
   <ItemGroup>
120
   <ItemGroup>
121
     <WCFMetadata Include="Service References\" />
121
     <WCFMetadata Include="Service References\" />
122
   </ItemGroup>
122
   </ItemGroup>
123
-  <ItemGroup>
124
-    <ProjectReference Include="..\..\CallCenterApi\CallCenterApi.DB\CallCenterApi.DB.csproj">
125
-      <Project>{ae933bfc-b06c-4fe8-a352-0ce16db082d7}</Project>
126
-      <Name>CallCenterApi.DB</Name>
127
-    </ProjectReference>
128
-  </ItemGroup>
129
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
123
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
130
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
124
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
131
        Other similar extension points exist, see Microsoft.Common.targets.
125
        Other similar extension points exist, see Microsoft.Common.targets.