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

加字段 1、返修 2、挂起、3、退单、延时 相关的原因

liyuanyuan лет назад: 3
Родитель
Сommit
435364f2ac

+ 43 - 0
RMYY_CallCenter_Api.Bll/AddLogBll.cs

@@ -52,7 +52,50 @@ namespace RMYY_CallCenter_Api.Bll
52 52
             }
53 53
             return res;
54 54
         }
55
+        public long AddLogAboutKey(int woid, int wostate, int type, string content, int itemtype, int opttype, string nextuser, int nextdept, string usercode,int key,string value,string reason ,int F_IsUsed = 0)
56
+        {
57
+
58
+            Model.T_Dis_WorkOrderItem itemModel = new Model.T_Dis_WorkOrderItem();
59
+            #region 
60
+            long res = 0;
61
+            //处理当前工单的记录之前的记录过期
62
+            var itemlast = itembll.GetModelList(" isnull(F_IsUsed,'0')='0' and F_ItemType=" + itemtype + " and  F_WoID=" + woid + " and  (F_CreateUser=" + usercode + " or F_NextUser like '%" + usercode + "%')");
63
+            using (TransactionScope trans = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(0, 10, 0)))
64
+            {
65
+                if (F_IsUsed == 0)
66
+                {
55 67
 
68
+                    if (itemlast.Count > 0)
69
+                    {
70
+                        foreach (var it in itemlast)
71
+                        {
72
+                            it.F_IsUsed = 1;
73
+                            itembll.Update(it);
74
+                        }
75
+                    }
76
+                }
77
+                #endregion
78
+                itemModel.F_WoID = woid;
79
+                itemModel.F_WoState = wostate;
80
+                itemModel.F_WoType = type;
81
+                itemModel.F_ItemType = itemtype;
82
+                itemModel.F_OptType = opttype;
83
+                itemModel.F_OptContent = content;
84
+                itemModel.F_NextUser = nextuser;
85
+                itemModel.F_NextDept = nextdept;
86
+                itemModel.F_IsUsed = F_IsUsed;
87
+                itemModel.F_CreateTime = DateTime.Now;
88
+                itemModel.F_CreateUser = usercode;
89
+
90
+                itemModel.F_AboutKey = key;
91
+                itemModel.F_AboutReason = value;
92
+                itemModel.F_EnterReason = reason;
93
+
94
+                res = itembll.Add(itemModel);
95
+                trans.Complete();
96
+            }
97
+            return res;
98
+        }
56 99
 
57 100
     }
58 101
 }

+ 24 - 4
RMYY_CallCenter_Api.Dal/T_Car_Operation.cs

@@ -47,9 +47,9 @@ namespace RMYY_CallCenter_Api.DAL
47 47
         {
48 48
             StringBuilder strSql = new StringBuilder();
49 49
             strSql.Append("insert into T_Car_Operation(");
50
-            strSql.Append("F_WorkOrderCode,F_Message,F_AssignID,F_CreateTime,F_State,F_CreateUser,F_IsDelete)");
50
+            strSql.Append("F_WorkOrderCode,F_Message,F_AssignID,F_CreateTime,F_State,F_CreateUser,F_IsDelete,F_AboutReason ,F_AboutKey,F_EnterReason)");
51 51
             strSql.Append(" values (");
52
-            strSql.Append("@F_WorkOrderCode,@F_Message,@F_AssignID,@F_CreateTime,@F_State,@F_CreateUser,@F_IsDelete)");
52
+            strSql.Append("@F_WorkOrderCode,@F_Message,@F_AssignID,@F_CreateTime,@F_State,@F_CreateUser,@F_IsDelete,@F_AboutReason ,@F_AboutKey,@F_EnterReason)");
53 53
             strSql.Append(";select @@IDENTITY");
54 54
             SqlParameter[] parameters = {
55 55
                     new SqlParameter("@F_WorkOrderCode", SqlDbType.VarChar,50),
@@ -58,7 +58,10 @@ namespace RMYY_CallCenter_Api.DAL
58 58
                     new SqlParameter("@F_CreateTime", SqlDbType.DateTime),
59 59
                     new SqlParameter("@F_State", SqlDbType.Int,4),
60 60
                     new SqlParameter("@F_CreateUser", SqlDbType.VarChar,50),
61
-                    new SqlParameter("@F_IsDelete", SqlDbType.Int,4)};
61
+                    new SqlParameter("@F_IsDelete", SqlDbType.Int,4),
62
+                new SqlParameter("@F_AboutReason", SqlDbType.NVarChar,50),
63
+                    new SqlParameter("@F_AboutKey", SqlDbType.Int,4),
64
+                    new SqlParameter("@F_EnterReason", SqlDbType.NVarChar,50)};
62 65
             parameters[0].Value = model.F_WorkOrderCode;
63 66
             parameters[1].Value = model.F_Message;
64 67
             parameters[2].Value = model.F_AssignID;
@@ -67,6 +70,10 @@ namespace RMYY_CallCenter_Api.DAL
67 70
             parameters[5].Value = model.F_CreateUser;
68 71
             parameters[6].Value = model.F_IsDelete;
69 72
 
73
+            parameters[7].Value = model.F_AboutReason;
74
+            parameters[8].Value = model.F_AboutKey;
75
+            parameters[9].Value = model.F_EnterReason;
76
+
70 77
             object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
71 78
             if (obj == null)
72 79
             {
@@ -172,7 +179,7 @@ namespace RMYY_CallCenter_Api.DAL
172 179
         {
173 180
 
174 181
             StringBuilder strSql = new StringBuilder();
175
-            strSql.Append("select  top 1 F_ID,F_WorkOrderCode,F_Message,F_AssignID,F_CreateTime,F_State,F_CreateUser,F_IsDelete from T_Car_Operation ");
182
+            strSql.Append("select  top 1 F_ID,F_WorkOrderCode,F_Message,F_AssignID,F_CreateTime,F_State,F_CreateUser,F_IsDelete,F_AboutReason ,F_AboutKey,F_EnterReason from T_Car_Operation ");
176 183
             strSql.Append(" where F_ID=@F_ID");
177 184
             SqlParameter[] parameters = {
178 185
                     new SqlParameter("@F_ID", SqlDbType.Int,4)
@@ -232,6 +239,19 @@ namespace RMYY_CallCenter_Api.DAL
232 239
                 {
233 240
                     model.F_IsDelete = int.Parse(row["F_IsDelete"].ToString());
234 241
                 }
242
+                if (row["F_EnterReason"] != null)
243
+                {
244
+                    model.F_EnterReason = row["F_EnterReason"].ToString();
245
+                }
246
+
247
+                if (row["F_AboutReason"] != null)
248
+                {
249
+                    model.F_AboutReason = row["F_AboutReason"].ToString();
250
+                }
251
+                if (row["F_AboutKey"] != null && row["F_AboutKey"].ToString() != "")
252
+                {
253
+                    model.F_AboutKey = int.Parse(row["F_AboutKey"].ToString());
254
+                }
235 255
             }
236 256
             return model;
237 257
         }

+ 25 - 4
RMYY_CallCenter_Api.Dal/T_Dis_WorkOrderItem.cs

@@ -41,9 +41,9 @@ namespace RMYY_CallCenter_Api.Dal
41 41
         {
42 42
             StringBuilder strSql = new StringBuilder();
43 43
             strSql.Append("insert into T_Dis_WorkOrderItem(");
44
-            strSql.Append("F_WoID,F_WoType,F_WoState,F_ItemType,F_OptType,F_OptContent,F_NextUser,F_NextUserName,F_NexUserPhon,F_NextUserTalkie,F_NextDept,F_IsUsed,F_CreateUser,F_CreateTime)");
44
+            strSql.Append("F_WoID,F_WoType,F_WoState,F_ItemType,F_OptType,F_OptContent,F_NextUser,F_NextUserName,F_NexUserPhon,F_NextUserTalkie,F_NextDept,F_IsUsed,F_CreateUser,F_CreateTime,F_AboutReason ,F_AboutKey,F_EnterReason)");
45 45
             strSql.Append(" values (");
46
-            strSql.Append("@F_WoID,@F_WoType,@F_WoState,@F_ItemType,@F_OptType,@F_OptContent,@F_NextUser,@F_NextUserName,@F_NexUserPhon,@F_NextUserTalkie,@F_NextDept,@F_IsUsed,@F_CreateUser,@F_CreateTime)");
46
+            strSql.Append("@F_WoID,@F_WoType,@F_WoState,@F_ItemType,@F_OptType,@F_OptContent,@F_NextUser,@F_NextUserName,@F_NexUserPhon,@F_NextUserTalkie,@F_NextDept,@F_IsUsed,@F_CreateUser,@F_CreateTime,@F_AboutReason ,@F_AboutKey,@F_EnterReason)");
47 47
             strSql.Append(";select @@IDENTITY");
48 48
             SqlParameter[] parameters = {
49 49
                     new SqlParameter("@F_WoID", SqlDbType.BigInt,8),
@@ -59,7 +59,10 @@ namespace RMYY_CallCenter_Api.Dal
59 59
                     new SqlParameter("@F_NextDept", SqlDbType.Int,4),
60 60
                     new SqlParameter("@F_IsUsed", SqlDbType.Int,4),
61 61
                     new SqlParameter("@F_CreateUser", SqlDbType.VarChar,50),
62
-                    new SqlParameter("@F_CreateTime", SqlDbType.DateTime)};
62
+                    new SqlParameter("@F_CreateTime", SqlDbType.DateTime),
63
+             new SqlParameter("@F_AboutReason", SqlDbType.NVarChar,50),
64
+                    new SqlParameter("@F_AboutKey", SqlDbType.Int,4),
65
+                    new SqlParameter("@F_EnterReason", SqlDbType.NVarChar,50)};
63 66
             parameters[0].Value = model.F_WoID;
64 67
             parameters[1].Value = model.F_WoType;
65 68
             parameters[2].Value = model.F_WoState;
@@ -75,6 +78,11 @@ namespace RMYY_CallCenter_Api.Dal
75 78
             parameters[12].Value = model.F_CreateUser;
76 79
             parameters[13].Value = model.F_CreateTime;
77 80
 
81
+
82
+            parameters[14].Value = model.F_AboutReason;
83
+            parameters[15].Value = model.F_AboutKey;
84
+            parameters[16].Value = model.F_EnterReason;
85
+
78 86
             object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
79 87
             if (obj == null)
80 88
             {
@@ -201,7 +209,7 @@ namespace RMYY_CallCenter_Api.Dal
201 209
         {
202 210
 
203 211
             StringBuilder strSql = new StringBuilder();
204
-            strSql.Append("select  top 1 F_ID,F_WoID,F_WoType,F_WoState,F_ItemType,F_OptType,F_OptContent,F_NextUser,F_NextUserName,F_NexUserPhon,F_NextUserTalkie,F_NextDept,F_IsUsed,F_CreateUser,F_CreateTime from T_Dis_WorkOrderItem ");
212
+            strSql.Append("select  top 1 F_ID,F_WoID,F_WoType,F_WoState,F_ItemType,F_OptType,F_OptContent,F_NextUser,F_NextUserName,F_NexUserPhon,F_NextUserTalkie,F_NextDept,F_IsUsed,F_CreateUser,F_CreateTime, F_AboutReason ,F_AboutKey,F_EnterReason from T_Dis_WorkOrderItem ");
205 213
             strSql.Append(" where F_ID=@F_ID");
206 214
             SqlParameter[] parameters = {
207 215
                     new SqlParameter("@F_ID", SqlDbType.BigInt)
@@ -229,6 +237,19 @@ namespace RMYY_CallCenter_Api.Dal
229 237
             RMYY_CallCenter_Api.Model.T_Dis_WorkOrderItem model = new RMYY_CallCenter_Api.Model.T_Dis_WorkOrderItem();
230 238
             if (row != null)
231 239
             {
240
+                if (row["F_EnterReason"] != null)
241
+                {
242
+                    model.F_EnterReason = row["F_EnterReason"].ToString();
243
+                }
244
+
245
+                if (row["F_AboutReason"] != null)
246
+                {
247
+                    model.F_AboutReason = row["F_AboutReason"].ToString();
248
+                }
249
+                if (row["F_AboutKey"] != null && row["F_AboutKey"].ToString() != "")
250
+                {
251
+                    model.F_AboutKey = int.Parse(row["F_AboutKey"].ToString());
252
+                }
232 253
                 if (row["F_ID"] != null && row["F_ID"].ToString() != "")
233 254
                 {
234 255
                     model.F_ID = long.Parse(row["F_ID"].ToString());

+ 32 - 9
RMYY_CallCenter_Api.Dal/T_FaultRepair_OperationLog.cs

@@ -63,9 +63,9 @@ namespace RMYY_CallCenter_Api.DAL
63 63
 		{
64 64
 			StringBuilder strSql=new StringBuilder();
65 65
 			strSql.Append("insert into T_FaultRepair_OperationLog(");
66
-			strSql.Append("F_WorkOrderCode,F_Operator,F_LogContent,F_OperationType,F_OperationTime,F_UpdateTime,F_Isdelete)");
66
+			strSql.Append("F_WorkOrderCode,F_Operator,F_LogContent,F_OperationType,F_OperationTime,F_UpdateTime,F_Isdelete,  F_AboutReason ,F_AboutKey,F_EnterReason)");
67 67
 			strSql.Append(" values (");
68
-			strSql.Append("@F_WorkOrderCode,@F_Operator,@F_LogContent,@F_OperationType,@F_OperationTime,@F_UpdateTime,@F_Isdelete)");
68
+			strSql.Append("@F_WorkOrderCode,@F_Operator,@F_LogContent,@F_OperationType,@F_OperationTime,@F_UpdateTime,@F_Isdelete,  @F_AboutReason ,@F_AboutKey,@F_EnterReason)");
69 69
 			strSql.Append(";select @@IDENTITY");
70 70
 			SqlParameter[] parameters = {
71 71
 					new SqlParameter("@F_WorkOrderCode", SqlDbType.NVarChar,100),
@@ -74,7 +74,13 @@ namespace RMYY_CallCenter_Api.DAL
74 74
 					new SqlParameter("@F_OperationType", SqlDbType.Int,4),
75 75
 					new SqlParameter("@F_OperationTime", SqlDbType.DateTime),
76 76
 					new SqlParameter("@F_UpdateTime", SqlDbType.DateTime),
77
-					new SqlParameter("@F_Isdelete", SqlDbType.Int,4)};
77
+					new SqlParameter("@F_Isdelete", SqlDbType.Int,4),
78
+
79
+    
80
+                    new SqlParameter("@F_AboutReason", SqlDbType.NVarChar,50),
81
+                    new SqlParameter("@F_AboutKey", SqlDbType.Int,4),
82
+                    new SqlParameter("@F_EnterReason", SqlDbType.NVarChar,50)
83
+            };
78 84
 			parameters[0].Value = model.F_WorkOrderCode;
79 85
 			parameters[1].Value = model.F_Operator;
80 86
 			parameters[2].Value = model.F_LogContent;
@@ -83,7 +89,10 @@ namespace RMYY_CallCenter_Api.DAL
83 89
 			parameters[5].Value = model.F_UpdateTime;
84 90
 			parameters[6].Value = model.F_Isdelete;
85 91
 
86
-			object obj = DbHelperSQL.GetSingle(strSql.ToString(),parameters);
92
+            parameters[7].Value = model.F_AboutReason;
93
+            parameters[8].Value = model.F_AboutKey;
94
+            parameters[9].Value = model.F_EnterReason;
95
+            object obj = DbHelperSQL.GetSingle(strSql.ToString(),parameters);
87 96
 			if (obj == null)
88 97
 			{
89 98
 				return 0;
@@ -188,7 +197,7 @@ namespace RMYY_CallCenter_Api.DAL
188 197
 		{
189 198
 			
190 199
 			StringBuilder strSql=new StringBuilder();
191
-			strSql.Append("select  top 1 F_OperationId,F_WorkOrderCode,F_Operator,F_LogContent,F_OperationType,F_OperationTime,F_UpdateTime,F_Isdelete from T_FaultRepair_OperationLog ");
200
+			strSql.Append("select  top 1 F_OperationId,F_WorkOrderCode,F_Operator,F_LogContent,F_OperationType,F_OperationTime,F_UpdateTime,F_Isdelete from T_FaultRepair_OperationLog, F_AboutReason ,F_AboutKey,F_EnterReason ");
192 201
 			strSql.Append(" where F_OperationId=@F_OperationId");
193 202
 			SqlParameter[] parameters = {
194 203
 					new SqlParameter("@F_OperationId", SqlDbType.Int,4)
@@ -245,10 +254,24 @@ namespace RMYY_CallCenter_Api.DAL
245 254
 					model.F_UpdateTime=DateTime.Parse(row["F_UpdateTime"].ToString());
246 255
 				}
247 256
 				if(row["F_Isdelete"]!=null && row["F_Isdelete"].ToString()!="")
248
-				{
249
-					model.F_Isdelete=int.Parse(row["F_Isdelete"].ToString());
250
-				}
251
-			}
257
+                {
258
+                    model.F_Isdelete = int.Parse(row["F_Isdelete"].ToString());
259
+                }
260
+
261
+                if (row["F_EnterReason"] != null)
262
+                {
263
+                    model.F_EnterReason = row["F_EnterReason"].ToString();
264
+                }
265
+                if (row["F_AboutReason"] != null)
266
+                {
267
+                    model.F_AboutReason = row["F_AboutReason"].ToString();
268
+                }
269
+                if (row["F_AboutKey"] != null && row["F_AboutKey"].ToString() != "")
270
+                {
271
+                    model.F_AboutKey = int.Parse(row["F_AboutKey"].ToString());
272
+                }
273
+
274
+            }
252 275
 			return model;
253 276
 		}
254 277
 

+ 26 - 6
RMYY_CallCenter_Api.Dal/T_IntegratedScheduling_OperationLog.cs

@@ -63,9 +63,9 @@ namespace RMYY_CallCenter_Api.DAL
63 63
 		{
64 64
 			StringBuilder strSql=new StringBuilder();
65 65
 			strSql.Append("insert into T_IntegratedScheduling_OperationLog(");
66
-			strSql.Append("F_WorkOrderCode,F_Operator,F_LogContent,F_OperationType,F_OperationTime,F_UpdateTime,F_Isdelete)");
66
+			strSql.Append("F_WorkOrderCode,F_Operator,F_LogContent,F_OperationType,F_OperationTime,F_UpdateTime,F_Isdelete,   F_AboutReason ,F_AboutKey,F_EnterReason)");
67 67
 			strSql.Append(" values (");
68
-			strSql.Append("@F_WorkOrderCode,@F_Operator,@F_LogContent,@F_OperationType,@F_OperationTime,@F_UpdateTime,@F_Isdelete)");
68
+			strSql.Append("@F_WorkOrderCode,@F_Operator,@F_LogContent,@F_OperationType,@F_OperationTime,@F_UpdateTime,@F_Isdelete,@F_AboutReason ,@F_AboutKey,@F_EnterReason)");
69 69
 			strSql.Append(";select @@IDENTITY");
70 70
 			SqlParameter[] parameters = {
71 71
 					new SqlParameter("@F_WorkOrderCode", SqlDbType.NVarChar,100),
@@ -74,7 +74,11 @@ namespace RMYY_CallCenter_Api.DAL
74 74
 					new SqlParameter("@F_OperationType", SqlDbType.Int,4),
75 75
 					new SqlParameter("@F_OperationTime", SqlDbType.DateTime),
76 76
 					new SqlParameter("@F_UpdateTime", SqlDbType.DateTime),
77
-					new SqlParameter("@F_Isdelete", SqlDbType.Int,4)};
77
+					new SqlParameter("@F_Isdelete", SqlDbType.Int,4),
78
+
79
+    new SqlParameter("@F_AboutReason", SqlDbType.NVarChar,50),
80
+                    new SqlParameter("@F_AboutKey", SqlDbType.Int,4),
81
+                    new SqlParameter("@F_EnterReason", SqlDbType.NVarChar,50)};
78 82
 			parameters[0].Value = model.F_WorkOrderCode;
79 83
 			parameters[1].Value = model.F_Operator;
80 84
 			parameters[2].Value = model.F_LogContent;
@@ -82,8 +86,11 @@ namespace RMYY_CallCenter_Api.DAL
82 86
 			parameters[4].Value = model.F_OperationTime;
83 87
 			parameters[5].Value = model.F_UpdateTime;
84 88
 			parameters[6].Value = model.F_Isdelete;
89
+            parameters[7].Value = model.F_AboutReason;
90
+            parameters[8].Value = model.F_AboutKey;
91
+            parameters[9].Value = model.F_EnterReason;
85 92
 
86
-			object obj = DbHelperSQL.GetSingle(strSql.ToString(),parameters);
93
+            object obj = DbHelperSQL.GetSingle(strSql.ToString(),parameters);
87 94
 			if (obj == null)
88 95
 			{
89 96
 				return 0;
@@ -188,7 +195,7 @@ namespace RMYY_CallCenter_Api.DAL
188 195
 		{
189 196
 			
190 197
 			StringBuilder strSql=new StringBuilder();
191
-			strSql.Append("select  top 1 F_OperationId,F_WorkOrderCode,F_Operator,F_LogContent,F_OperationType,F_OperationTime,F_UpdateTime,F_Isdelete from T_IntegratedScheduling_OperationLog ");
198
+			strSql.Append("select  top 1 F_OperationId,F_WorkOrderCode,F_Operator,F_LogContent,F_OperationType,F_OperationTime,F_UpdateTime,F_Isdelete,    F_AboutReason ,F_AboutKey,F_EnterReason from T_IntegratedScheduling_OperationLog ");
192 199
 			strSql.Append(" where F_OperationId=@F_OperationId");
193 200
 			SqlParameter[] parameters = {
194 201
 					new SqlParameter("@F_OperationId", SqlDbType.Int,4)
@@ -248,7 +255,20 @@ namespace RMYY_CallCenter_Api.DAL
248 255
 				{
249 256
 					model.F_Isdelete=int.Parse(row["F_Isdelete"].ToString());
250 257
 				}
251
-			}
258
+                if (row["F_EnterReason"] != null)
259
+                {
260
+                    model.F_EnterReason = row["F_EnterReason"].ToString();
261
+                }
262
+
263
+                if (row["F_AboutReason"] != null)
264
+                {
265
+                    model.F_AboutReason = row["F_AboutReason"].ToString();
266
+                }
267
+                if (row["F_AboutKey"] != null && row["F_AboutKey"].ToString() != "")
268
+                {
269
+                    model.F_AboutKey = int.Parse(row["F_AboutKey"].ToString());
270
+                }
271
+            }
252 272
 			return model;
253 273
 		}
254 274
 

+ 22 - 0
RMYY_CallCenter_Api.Model/T_Car_Operation.cs

@@ -18,6 +18,28 @@ namespace RMYY_CallCenter_Api.Model
18 18
         private int? _f_state;
19 19
         private string _f_createuser;
20 20
         private int? _f_isdelete;
21
+        private string _f_aboutreason;
22
+        private int? _f_aboutkey;
23
+        private string _f_enterreason;
24
+        //1、返修 2、挂起、3、退单、延时 相关的原因
25
+        public string F_AboutReason
26
+        {
27
+            set { _f_aboutreason = value; }
28
+            get { return _f_aboutreason; }
29
+        }
30
+        /// <summary>
31
+        /// 返修 2、挂起、3、退单、延时 原因的 key,这个是字典的key
32
+        /// </summary>
33
+        public int? F_AboutKey
34
+        {
35
+            set { _f_aboutkey = value; }
36
+            get { return _f_aboutkey; }
37
+        }
38
+        public string F_EnterReason
39
+        {
40
+            set { _f_enterreason = value; }
41
+            get { return _f_enterreason; }
42
+        }
21 43
         /// <summary>
22 44
         /// 
23 45
         /// </summary>

+ 27 - 0
RMYY_CallCenter_Api.Model/T_Dis_WorkOrderItem.cs

@@ -30,6 +30,33 @@ namespace RMYY_CallCenter_Api.Model
30 30
         private int? _f_isused = 0;
31 31
         private string _f_createuser;
32 32
         private DateTime? _f_createtime;
33
+
34
+        private string _f_aboutreason;
35
+        private int? _f_aboutkey;
36
+        private string _f_enterreason;
37
+
38
+
39
+
40
+        //1、返修 2、挂起、3、退单、延时 相关的原因
41
+        public string F_AboutReason
42
+        {
43
+            set { _f_aboutreason = value; }
44
+            get { return _f_aboutreason; }
45
+        }
46
+        /// <summary>
47
+        /// 返修 2、挂起、3、退单、延时 原因的 key,这个是字典的key
48
+        /// </summary>
49
+        public int? F_AboutKey
50
+        {
51
+            set { _f_aboutkey = value; }
52
+            get { return _f_aboutkey; }
53
+        }
54
+        public string F_EnterReason
55
+        {
56
+            set { _f_enterreason = value; }
57
+            get { return _f_enterreason; }
58
+        }
59
+
33 60
         /// <summary>
34 61
         /// 工单记录ID
35 62
         /// </summary>

+ 35 - 4
RMYY_CallCenter_Api.Model/T_FaultRepair_OperationLog.cs

@@ -34,10 +34,41 @@ namespace RMYY_CallCenter_Api.Model
34 34
 		private DateTime? _f_operationtime= DateTime.Now;
35 35
 		private DateTime? _f_updatetime;
36 36
 		private int? _f_isdelete=0;
37
-		/// <summary>
38
-		/// 
39
-		/// </summary>
40
-		public int F_OperationId
37
+
38
+
39
+        private string _f_aboutreason;
40
+        private int? _f_aboutkey;
41
+        private string _f_enterreason;
42
+
43
+       
44
+
45
+        //1、返修 2、挂起、3、退单、延时 相关的原因
46
+        public string F_AboutReason
47
+        {
48
+            set { _f_aboutreason = value; }
49
+            get { return _f_aboutreason; }
50
+        }
51
+        /// <summary>
52
+        /// 返修 2、挂起、3、退单、延时 原因的 key,这个是字典的key
53
+        /// </summary>
54
+        public int? F_AboutKey
55
+        {
56
+            set { _f_aboutkey = value; }
57
+            get { return _f_aboutkey; }
58
+        }
59
+        public string F_EnterReason
60
+        {
61
+            set { _f_enterreason = value; }
62
+            get { return _f_enterreason; }
63
+        }
64
+
65
+
66
+
67
+
68
+        /// <summary>
69
+        /// 
70
+        /// </summary>
71
+        public int F_OperationId
41 72
 		{
42 73
 			set{ _f_operationid=value;}
43 74
 			get{return _f_operationid;}

+ 36 - 4
RMYY_CallCenter_Api.Model/T_IntegratedScheduling_OperationLog.cs

@@ -34,10 +34,42 @@ namespace RMYY_CallCenter_Api.Model
34 34
 		private DateTime? _f_operationtime;
35 35
 		private DateTime? _f_updatetime;
36 36
 		private int? _f_isdelete;
37
-		/// <summary>
38
-		/// 
39
-		/// </summary>
40
-		public int F_OperationId
37
+
38
+        private string _f_aboutreason;
39
+        private int? _f_aboutkey;
40
+        private string _f_enterreason;
41
+
42
+
43
+
44
+        //1、返修 2、挂起、3、退单、延时 相关的原因的value
45
+        public string F_AboutReason
46
+        {
47
+            set { _f_aboutreason = value; }
48
+            get { return _f_aboutreason; }
49
+        }
50
+        /// <summary>
51
+        /// 返修 2、挂起、3、退单、延时 原因的 key,这个是字典的key
52
+        /// </summary>
53
+        public int? F_AboutKey
54
+        {
55
+            set { _f_aboutkey = value; }
56
+            get { return _f_aboutkey; }
57
+        }
58
+        /// <summary>
59
+        /// 手动输入的 选了其他输入的
60
+        /// </summary>
61
+        public string F_EnterReason
62
+        {
63
+            set { _f_enterreason = value; }
64
+            get { return _f_enterreason; }
65
+        }
66
+
67
+
68
+
69
+        /// <summary>
70
+        /// 
71
+        /// </summary>
72
+        public int F_OperationId
41 73
 		{
42 74
 			set{ _f_operationid=value;}
43 75
 			get{return _f_operationid;}

+ 35 - 6
RMYY_CallCenter_Api/Controllers/CarManage/T_Car_WorkOrderController.cs

@@ -837,7 +837,7 @@ namespace RMYY_CallCenter_Api.Controllers.CarManage
837 837
         /// </summary>
838 838
         /// <param name="orderid"></param>
839 839
         /// <returns></returns>
840
-        public ActionResult BackWorkOrder(int orderid,string reason)
840
+        public ActionResult BackWorkOrder(int orderid,string reason,int key,string value)
841 841
         {
842 842
             if (User != null)
843 843
             {
@@ -848,8 +848,11 @@ namespace RMYY_CallCenter_Api.Controllers.CarManage
848 848
                     return Error("无此操作权限!");
849 849
                 model.F_State = (int)EnumWorkOrderState.reback;//已退回
850 850
                 string reasonmessage = "";
851
-                if (!string.IsNullOrEmpty(reason))
852
-                    reasonmessage = ",原因:" + reason;
851
+                reasonmessage = ",原因:" + value;
852
+                if (!string.IsNullOrEmpty(reason)) { 
853
+
854
+                    reasonmessage = reasonmessage +","+ reason;
855
+                }
853 856
                 if (new BLL.T_Car_AssignWorkOrder().Update(model))
854 857
                 {
855 858
                     var carmodel = carbll.GetModel(model.F_CarId.Value);
@@ -874,11 +877,11 @@ namespace RMYY_CallCenter_Api.Controllers.CarManage
874 877
                             it.F_ControlManName = "";
875 878
                             it.F_State = (int)EnumWorkOrderState.neworder;//退回待分配
876 879
                             it.F_AcceptTime = null;
877
-                            AddOperation(deptname + User.F_UserName + "(" + User.F_UserCode + ")" + "退单"+ reasonmessage, User.F_UserCode, model.F_State.Value,
878
-                        it.F_WorkOrderCode, model.F_ID);
880
+                            AddOperationAboutKey(deptname + User.F_UserName + "(" + User.F_UserCode + ")" + "退单"+ reasonmessage, User.F_UserCode, model.F_State.Value,
881
+                        it.F_WorkOrderCode, model.F_ID,key,value,reason);
879 882
                           if (  orderbll.Update(it))
880 883
                             {
881
-                                msg.AddInternalMessagesInfo("您有工单被退回", "您有工单被退回"+"工单编号:" + it.F_WorkOrderCode, model.F_CreateUser 
884
+                                msg.AddInternalMessagesInfo("您有工单被退回", "您有工单被退回"+"工单编号:" + it.F_WorkOrderCode+ reasonmessage, model.F_CreateUser 
882 885
                                     , User.F_UserCode, EnumSmsType.car
883 886
                       , 0, it.F_WorkOrderCode );
884 887
                             }
@@ -1362,5 +1365,31 @@ namespace RMYY_CallCenter_Api.Controllers.CarManage
1362 1365
             return n;
1363 1366
         }
1364 1367
 
1368
+           /// <summary>
1369
+        /// 添加操作记录
1370
+        /// </summary>
1371
+        /// <param name="message"></param>
1372
+        /// <param name="user"></param>
1373
+        /// <param name="state"></param>
1374
+        /// <param name="WorkOrderCode"></param>
1375
+        /// <param name="assignid"></param>
1376
+        /// <returns></returns>
1377
+        public int  AddOperationAboutKey(string message,string user,int state,string WorkOrderCode,int assignid,int key,string value,string reason)
1378
+        {
1379
+            Model.T_Car_Operation oper = new Model.T_Car_Operation();
1380
+            oper.F_Message = message;
1381
+            oper.F_CreateUser = user;
1382
+            oper.F_IsDelete = 0;
1383
+            oper.F_State = state;
1384
+            oper.F_WorkOrderCode = WorkOrderCode;
1385
+            oper.F_AssignID = assignid;
1386
+            oper.F_CreateTime = DateTime.Now;
1387
+            oper.F_AboutKey = key;
1388
+            oper.F_AboutReason = value;
1389
+            oper.F_EnterReason = reason;
1390
+            int n = new BLL.T_Car_Operation().Add(oper);
1391
+            return n;
1392
+        }
1393
+
1365 1394
     }
1366 1395
 }

+ 53 - 21
RMYY_CallCenter_Api/Controllers/FaultRepairController.cs

@@ -436,9 +436,15 @@ namespace RMYY_CallCenter_Api.Controllers
436 436
         }
437 437
 
438 438
         //处理人退单  
439
-        public ActionResult BackWorkOrder(string WorkOrderCode, string BackReason)
439
+        public ActionResult BackWorkOrder(string WorkOrderCode, string BackReason ,int key, string value)
440 440
         {
441 441
             Model.T_FaultRepair_Base model = baseBll.GetModel(WorkOrderCode);
442
+            string s = ",退回原因:" + value  ;
443
+            if (!string.IsNullOrEmpty(BackReason))
444
+            {
445
+                s =s+ "," + BackReason;
446
+            }
447
+
442 448
             if (model != null)
443 449
             {
444 450
                 if (model.F_MaintenanceDept == User.F_DeptId.ToString())
@@ -453,12 +459,10 @@ namespace RMYY_CallCenter_Api.Controllers
453 459
                     model.F_Deadline = null;
454 460
                     model.F_AcceptTime = null;
455 461
                     baseBll.Update(model);
456
-                    string s = "";
457
-                    if (!string.IsNullOrEmpty(BackReason))
458
-                    {
459
-                        s += ",退回原因:" + BackReason;
460
-                    }
461
-                    AddOperatorLog("退回了工单" + s, (int)EnumOperatorType.back, model.F_WorkOrderCode);
462
+                    
463
+
464
+                    
465
+                    AddOperatorLogAboutKey("退回了工单" + s, (int)EnumOperatorType.back, model.F_WorkOrderCode,value,key,BackReason);
462 466
                     msg.AddInternalMessagesInfo("您有工单被退回", "您有工单被退回" + "工单编号:" + model.F_WorkOrderCode+s, assignuser
463 467
                                  , User.F_UserCode, EnumSmsType.repair
464 468
                    , 0, model.F_WorkOrderCode);
@@ -1808,9 +1812,15 @@ namespace RMYY_CallCenter_Api.Controllers
1808 1812
 
1809 1813
         // 返修 是申请人提交的返修
1810 1814
         //退回至维修部门班组长(角色),如果没有该角色退回到原来的处理人
1811
-        public ActionResult ReturnWorkOrder(string WorkOrderCode, string ReturnReason)
1815
+        public ActionResult ReturnWorkOrder(string WorkOrderCode, string ReturnReason,int key,string value)
1812 1816
         {
1813 1817
             Model.T_FaultRepair_Base model = baseBll.GetModel(WorkOrderCode);
1818
+
1819
+            string str = "";
1820
+            if (!string.IsNullOrEmpty(ReturnReason))
1821
+            {
1822
+                str = "," + ReturnReason;
1823
+            }
1814 1824
             if (model != null && model.F_ApplicationDept.Trim() == User.F_DeptId.ToString())
1815 1825
             {
1816 1826
                 //判断返工是不是规定的时间内,工单状态是已完结的工单
@@ -1823,11 +1833,12 @@ namespace RMYY_CallCenter_Api.Controllers
1823 1833
                     promodel.F_Isdelete = 0;
1824 1834
                     promodel.F_MaintenanceDept = User.F_DeptId.ToString();// model.F_MaintenanceDept;
1825 1835
                     promodel.F_Maintenancer = User.F_UserCode;// model.F_Maintenancer;
1826
-                    promodel.F_ReturnReason = ReturnReason;
1836
+                    promodel.F_ReturnReason =value+ ReturnReason;
1827 1837
                     promodel.F_WorkOrderCode = WorkOrderCode;
1828 1838
                     if (dealBll.Add(promodel) > 0)
1829 1839
                     {
1830
-                        AddOperatorLog("提交了返工", (int)EnumOperatorType.submitreturn, WorkOrderCode);
1840
+                       
1841
+                        AddOperatorLogAboutKey("提交了返工,原因:"+value+ str, (int)EnumOperatorType.submitreturn, WorkOrderCode,value,key,ReturnReason);
1831 1842
 
1832 1843
                         string sql = " select top 1 F_UserCode from T_Sys_UserAccount where F_RoleId in (select F_RoleId from T_Sys_Role where F_RoleCode = 'WXBZZ')";
1833 1844
 
@@ -1837,11 +1848,8 @@ namespace RMYY_CallCenter_Api.Controllers
1837 1848
                             model.F_Maintenancer = usercode;
1838 1849
                         }
1839 1850
 
1840
-                        string s = "";
1841
-                        if (!string.IsNullOrEmpty(ReturnReason))
1842
-                        {
1843
-                            s = ",返修原因:" + ReturnReason;
1844
-                        }
1851
+                        string s  = ",返修原因:" +value+ str;
1852
+                         
1845 1853
 
1846 1854
                         model.F_WorkOrderState = (int)EnumFaultRepairWorkOrderState.dealing;
1847 1855
                         model.F_ReturnNum += model.F_ReturnNum + 1;
@@ -2027,6 +2035,23 @@ namespace RMYY_CallCenter_Api.Controllers
2027 2035
             return true;
2028 2036
         }
2029 2037
 
2038
+
2039
+        public bool AddOperatorLogAboutKey(string content, int type, string workordercode,string value,int key,string enterreason)
2040
+        {
2041
+            Model.T_FaultRepair_OperationLog model = new Model.T_FaultRepair_OperationLog();
2042
+            model.F_LogContent = content;
2043
+            model.F_OperationTime = DateTime.Now;
2044
+            model.F_OperationType = type;
2045
+            model.F_Operator = User.F_UserCode;
2046
+            model.F_WorkOrderCode = workordercode;
2047
+            model.F_AboutKey = key;
2048
+            model.F_AboutReason = value;
2049
+            model.F_EnterReason = enterreason;
2050
+            logBll.Add(model);
2051
+            return true;
2052
+        }
2053
+
2054
+
2030 2055
         public void AddAddlog(string workordercode)
2031 2056
         {
2032 2057
             AddOperatorLog("创建报修工单", (int)EnumOperatorType.add, workordercode);
@@ -2273,7 +2298,7 @@ namespace RMYY_CallCenter_Api.Controllers
2273 2298
 
2274 2299
 
2275 2300
         //挂起
2276
-        public ActionResult HangUp(string workordercode)
2301
+        public ActionResult HangUp(string workordercode, int key, string value,  string reason)
2277 2302
         {
2278 2303
 
2279 2304
             Model.T_FaultRepair_Base model = baseBll.GetModel(workordercode);
@@ -2285,7 +2310,12 @@ namespace RMYY_CallCenter_Api.Controllers
2285 2310
             model.F_StopTime = DateTime.Now;
2286 2311
             model.F_Endtime = DateTime.Now;
2287 2312
             baseBll.Update(model);
2288
-            AddOperatorLog(User.F_UserCode + "挂起了工单", (int)EnumOperatorType.hangup, model.F_WorkOrderCode);
2313
+            string str = "";
2314
+            if (!string.IsNullOrEmpty(reason))
2315
+            {
2316
+                str = "," + reason;
2317
+            }
2318
+            AddOperatorLogAboutKey(User.F_UserCode + "挂起了工单,原因:"+value+ str, (int)EnumOperatorType.hangup, model.F_WorkOrderCode,value,key, reason);
2289 2319
             return Success("挂起成功");
2290 2320
         }
2291 2321
 
@@ -2474,15 +2504,17 @@ namespace RMYY_CallCenter_Api.Controllers
2474 2504
         //延期
2475 2505
         //接单人在接单之后,如果该工单类型上设置的“可延期次数”大于0显示“延期”按钮;点击延期按钮进行验证是否超过设定的延期次数,超过提醒“已超过规定延迟次数”
2476 2506
         //操作流程记录延期
2477
-        public ActionResult frReplay(string workordercode, string days, string type, string workordercategory,string reason)
2507
+        public ActionResult frReplay(string workordercode, string days, string type, string workordercategory,string reason,int key, string value)
2478 2508
         {
2479 2509
             Model.T_Sys_GongDan gdmodel = gdbll.GetModel(Convert.ToInt32(workordercategory));
2480 2510
             Model.T_Wo_CommonBase model = cbbll.GetModel(workordercode);
2481
-            string strreason = "";
2511
+
2482 2512
             if (!string.IsNullOrEmpty(reason))
2483 2513
             {
2484
-                strreason = ",原因:" + reason;
2514
+                reason = "," + reason;
2485 2515
             }
2516
+            string strreason  = ",原因:"+value+  reason;
2517
+            
2486 2518
 
2487 2519
             if (gdmodel.F_CanReplayCount > 0)
2488 2520
             {
@@ -2499,7 +2531,7 @@ namespace RMYY_CallCenter_Api.Controllers
2499 2531
                         cwbll.Update(cwmodel);
2500 2532
                        
2501 2533
 
2502
-                        var itemid = Addlogbll.AddLog(cwmodel.F_ID, 0, 0, User.F_UserName + "(" + User.F_UserCode + ")" + "给工单延期" + days + "h"+ strreason, (int)EnumItemType.Delay, 14, "", 0, User.F_UserCode);
2534
+                        var itemid = Addlogbll.AddLogAboutKey(cwmodel.F_ID, 0, 0, User.F_UserName + "(" + User.F_UserCode + ")" + "给工单延期" + days + "h"+ strreason, (int)EnumItemType.Delay, 14, "", 0, User.F_UserCode,key,value, reason);
2503 2535
                     }
2504 2536
                     //故障报工单延期修
2505 2537
                     if (type == "3000")

+ 28 - 10
RMYY_CallCenter_Api/Controllers/SchedulingController.cs

@@ -716,10 +716,16 @@ namespace RMYY_CallCenter_Api.Controllers
716 716
             return Error("工单不存在!");
717 717
         }
718 718
 
719
-        //退单  
720
-        public ActionResult BackWorkOrder(string WorkOrderCode, string BackReason)
719
+        //处理人退单  
720
+        public ActionResult BackWorkOrder(string WorkOrderCode, string BackReason,int key,string value)
721 721
         {
722 722
             Model.T_IntegratedScheduling_Base model = baseBll.GetModel(WorkOrderCode);
723
+            string str = "";
724
+            if (!string.IsNullOrEmpty(BackReason))
725
+            {
726
+                str = "," + BackReason;
727
+            }
728
+
723 729
             if (model != null)
724 730
             {
725 731
                 if (model.F_DealMan == User.F_UserCode)
@@ -734,13 +740,9 @@ namespace RMYY_CallCenter_Api.Controllers
734 740
                     model.F_Deadline = null;
735 741
                     model.F_AcceptTime = null;
736 742
                     baseBll.Update(model);
737
-                    string s = "";
738
-                    if (!string.IsNullOrEmpty(BackReason))
739
-                    {
740
-                        s += ",退回原因:" + BackReason;
741
-                    }
742
-                    AddOperatorLog("退回了工单" + s, (int)EnumOperatorType.back, model.F_WorkOrderCode);
743
-                    msg.AddInternalMessagesInfo("您有工单被退回", "您有工单被退回" + "工单编号:" + model.F_WorkOrderCode, assignuser
743
+                    string s = ",退回原因:" + value + str;
744
+                    AddOperatorLogAboutKey("退回了工单" + s, (int)EnumOperatorType.back, model.F_WorkOrderCode,key,value,BackReason);
745
+                    msg.AddInternalMessagesInfo("您有工单被退回", "您有工单被退回" + "工单编号:" + model.F_WorkOrderCode+s, assignuser
744 746
                                , User.F_UserCode, EnumSmsType.comprehensive
745 747
                  , 0, model.F_WorkOrderCode);
746 748
 
@@ -1077,7 +1079,23 @@ namespace RMYY_CallCenter_Api.Controllers
1077 1079
             logBll.Add(model);
1078 1080
             return true;
1079 1081
         }
1080
-        
1082
+
1083
+        public bool AddOperatorLogAboutKey(string content, int type, string workordercode,int key,string value,string reason)
1084
+        {
1085
+            Model.T_IntegratedScheduling_OperationLog model = new Model.T_IntegratedScheduling_OperationLog();
1086
+            model.F_LogContent = content;
1087
+            model.F_OperationTime = DateTime.Now;
1088
+            model.F_OperationType = type;
1089
+            model.F_Operator = User.F_UserCode;
1090
+            model.F_WorkOrderCode = workordercode;
1091
+            model.F_AboutKey = key;
1092
+            model.F_AboutReason = value;
1093
+            model.F_EnterReason = reason;
1094
+            logBll.Add(model);
1095
+            return true;
1096
+        }
1097
+
1098
+
1081 1099
         public void AddAddlog(string workordercode)
1082 1100
         {
1083 1101
             AddOperatorLog("创建综合调度工单", (int)EnumOperatorType.add, workordercode);

+ 4 - 4
RMYY_CallCenter_Api/Controllers/WorkOrder/Con_WorkOrderController.cs

@@ -1719,7 +1719,7 @@ namespace RMYY_CallCenter_Api.Controllers
1719 1719
         /// </summary>
1720 1720
         /// <param name="WorkOrderCode"></param>
1721 1721
         /// <returns></returns>
1722
-        public ActionResult BackWorkOrder(string WorkOrderCode,string reason)
1722
+        public ActionResult BackWorkOrder(string WorkOrderCode,string reason,int key,string value)
1723 1723
         {
1724 1724
             if (User != null)
1725 1725
             {
@@ -1748,7 +1748,7 @@ namespace RMYY_CallCenter_Api.Controllers
1748 1748
 
1749 1749
                     }
1750 1750
 
1751
-                    var res = BackWO(User, wmodel, reason);
1751
+                    var res = BackWO(User, wmodel, reason,key,value);
1752 1752
                     if (res)
1753 1753
                         return Success("退单成功");
1754 1754
                     else
@@ -1764,7 +1764,7 @@ namespace RMYY_CallCenter_Api.Controllers
1764 1764
         /// <summary>
1765 1765
         /// 退回工单
1766 1766
         /// </summary>
1767
-        public bool BackWO(Model.T_Sys_UserAccount nowUser, Model.T_Con_WorkOrder model,string reason)
1767
+        public bool BackWO(Model.T_Sys_UserAccount nowUser, Model.T_Con_WorkOrder model,string reason,int key, string value)
1768 1768
         {
1769 1769
             #region 工单处理
1770 1770
             var opt = "退单";
@@ -1785,7 +1785,7 @@ namespace RMYY_CallCenter_Api.Controllers
1785 1785
                 reasonmessage = ",原因:" + reason;
1786 1786
             }
1787 1787
             var content = deptname + nowUser.F_UserName + "(" + nowUser.F_UserCode + ")" + opt+ reasonmessage;
1788
-            var itemid = logbll.AddLog((int)model.F_ID, (int)model.F_type1, wostate, content, (int)EnumItemType.deal, optbut, "", 0, nowUser.F_UserCode);
1788
+            var itemid = logbll.AddLogAboutKey((int)model.F_ID, (int)model.F_type1, wostate, content, (int)EnumItemType.deal, optbut, "", 0, nowUser.F_UserCode,key,value,reason);
1789 1789
             if (itemid > 0)
1790 1790
             {
1791 1791
                 #region 处理工单

+ 1 - 1
RMYY_CallCenter_Api/Models/Enum/EnumOperatorType.cs

@@ -32,7 +32,7 @@ namespace RMYY_CallCenter_Api.Models.Enum
32 32
         [Description("异常完结")]
33 33
         exceptionended,
34 34
 
35
-        [Description("异常完结")]
35
+        [Description("返修")]
36 36
         submitreturn,
37 37
             [Description("转派")]
38 38
          transfer ,