Bladeren bron

语音通知修改

yuqian 8 jaren geleden
bovenliggende
commit
d8a67dba08

+ 2 - 0
CallCenterApi/CallCenterApi.BLL/T_CTI_Task.cs

@@ -143,6 +143,8 @@ namespace CallCenterApi.BLL
143 143
 
144 144
                     model.y_YJCount = Convert.ToInt32(dt.Rows[n]["y_YJCount"]);
145 145
                     model.y_HMCount = Convert.ToInt32(dt.Rows[n]["y_HMCount"]);
146
+                    model.PlanStartDate = dt.Rows[n]["PlanStartDate"] == DBNull.Value ? DateTime.Now : Convert.ToDateTime(dt.Rows[n]["PlanStartDate"]);
147
+                    model.PlanEndDate = dt.Rows[n]["PlanEndDate"] == DBNull.Value ? DateTime.Now : Convert.ToDateTime(dt.Rows[n]["PlanEndDate"]);
146 148
                     model.StartTime1 = dt.Rows[n]["StartTime1"] == DBNull.Value ? DateTime.Now : Convert.ToDateTime(dt.Rows[n]["StartTime1"]);
147 149
                     model.EndTime1 = dt.Rows[n]["EndTime1"] == DBNull.Value ? DateTime.Now : Convert.ToDateTime(dt.Rows[n]["EndTime1"]);
148 150
                     model.StartTime2 = dt.Rows[n]["StartTime2"] == DBNull.Value ? DateTime.Now : Convert.ToDateTime(dt.Rows[n]["StartTime2"]);

+ 17 - 6
CallCenterApi/CallCenterApi.DAL/T_CTI_Task.cs

@@ -39,9 +39,9 @@ namespace CallCenterApi.DAL
39 39
         {
40 40
             StringBuilder strSql = new StringBuilder();
41 41
             strSql.Append("insert into T_CTI_Task(");
42
-            strSql.Append("TaskName,State,AddTime,y_YJCount,y_HMCount,Pre,Concurrency,ConcurrencyType,StartTime1,EndTime1,StartTime2,EndTime2,TaskCategoryId,TaskContent,IsExcuteNow,LoopTime)");
42
+            strSql.Append("TaskName,State,AddTime,y_YJCount,y_HMCount,Pre,Concurrency,ConcurrencyType,PlanStartDate,PlanEndDate,StartTime1,EndTime1,StartTime2,EndTime2,TaskCategoryId,TaskContent,IsExcuteNow,LoopTime)");
43 43
             strSql.Append(" values (");
44
-            strSql.Append("@TaskName,@State,@AddTime,@y_YJCount,@y_HMCount,@Pre,@Concurrency,@ConcurrencyType,@StartTime1,@EndTime1,@StartTime2,@EndTime2,@TaskCategoryId,@TaskContent,@IsExcuteNow,@LoopTime)");
44
+            strSql.Append("@TaskName,@State,@AddTime,@y_YJCount,@y_HMCount,@Pre,@Concurrency,@ConcurrencyType,@PlanStartDate,@PlanEndDate,@StartTime1,@EndTime1,@StartTime2,@EndTime2,@TaskCategoryId,@TaskContent,@IsExcuteNow,@LoopTime)");
45 45
             strSql.Append(";select @@IDENTITY");
46 46
             SqlParameter[] parameters = {
47 47
                     new SqlParameter("@TaskName", SqlDbType.VarChar,200),
@@ -59,7 +59,9 @@ namespace CallCenterApi.DAL
59 59
                     new SqlParameter("@TaskCategoryId", SqlDbType.Int),
60 60
                     new SqlParameter("@TaskContent", SqlDbType.NVarChar,500),
61 61
                     new SqlParameter("@IsExcuteNow", SqlDbType.Bit),
62
-                    new SqlParameter("@LoopTime", SqlDbType.Int)
62
+                    new SqlParameter("@LoopTime", SqlDbType.Int),
63
+                    new SqlParameter("@PlanStartDate",SqlDbType.DateTime),
64
+                    new SqlParameter("@PlanEndDate",SqlDbType.DateTime)
63 65
         };
64 66
             parameters[0].Value = model.TaskName;
65 67
             parameters[1].Value = model.State;
@@ -77,6 +79,8 @@ namespace CallCenterApi.DAL
77 79
             parameters[13].Value = model.TaskContent;
78 80
             parameters[14].Value = model.IsExcuteNow;
79 81
             parameters[15].Value = model.LoopTime;
82
+            parameters[16].Value = model.PlanStartDate;
83
+            parameters[17].Value = model.PlanEndDate;
80 84
             object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
81 85
             if (obj == null)
82 86
             {
@@ -102,6 +106,8 @@ namespace CallCenterApi.DAL
102 106
             strSql.Append("Pre=@Pre, ");
103 107
             strSql.Append("Concurrency=@Concurrency, ");
104 108
             strSql.Append("ConcurrencyType=@ConcurrencyType, ");
109
+            strSql.Append("PlanStartDate=@PlanStartDate, ");
110
+            strSql.Append("PlanEndDate=@PlanEndDate, ");
105 111
             strSql.Append("StartTime1=@StartTime1, ");
106 112
             strSql.Append("EndTime1=@EndTime1, ");
107 113
             strSql.Append("StartTime2=@StartTime2, ");
@@ -128,7 +134,9 @@ namespace CallCenterApi.DAL
128 134
                     new SqlParameter("@TaskCategoryId", SqlDbType.Int),
129 135
                     new SqlParameter("@TaskContent", SqlDbType.NVarChar,500),
130 136
                     new SqlParameter("@IsExcuteNow", SqlDbType.Bit),
131
-                    new SqlParameter("@LoopTime", SqlDbType.Int)
137
+                    new SqlParameter("@LoopTime", SqlDbType.Int),
138
+                    new SqlParameter("@PlanStartDate",SqlDbType.DateTime),
139
+                    new SqlParameter("@PlanEndDate",SqlDbType.DateTime)
132 140
             };
133 141
             parameters[0].Value = model.TaskName;
134 142
             parameters[1].Value = model.State;
@@ -147,7 +155,8 @@ namespace CallCenterApi.DAL
147 155
             parameters[14].Value = model.TaskContent;
148 156
             parameters[15].Value = model.IsExcuteNow;
149 157
             parameters[16].Value = model.LoopTime;
150
-
158
+            parameters[17].Value = model.PlanStartDate;
159
+            parameters[18].Value = model.PlanEndDate;
151 160
 
152 161
             int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
153 162
             if (rows > 0)
@@ -265,7 +274,7 @@ namespace CallCenterApi.DAL
265 274
         {
266 275
 
267 276
             StringBuilder strSql = new StringBuilder();
268
-            strSql.Append("select  top 1 TaskID,TaskName,State,AddTime,y_YJCount,y_HMCount,Pre,Concurrency,ConcurrencyType,StartTime1,EndTime1,StartTime2,EndTime2,TaskCategoryId,TaskContent,IsExcuteNow,LoopTime from T_CTI_Task ");
277
+            strSql.Append("select  top 1 TaskID,TaskName,State,AddTime,y_YJCount,y_HMCount,Pre,Concurrency,ConcurrencyType,PlanStartDate,PlanEndDate,StartTime1,EndTime1,StartTime2,EndTime2,TaskCategoryId,TaskContent,IsExcuteNow,LoopTime from T_CTI_Task ");
269 278
             strSql.Append(" where State>=0 and  TaskID=@TaskID ");
270 279
             SqlParameter[] parameters = {
271 280
                     new SqlParameter("@TaskID", SqlDbType.BigInt)
@@ -313,6 +322,8 @@ namespace CallCenterApi.DAL
313 322
                     model.ConcurrencyType = int.Parse(ds.Tables[0].Rows[0]["ConcurrencyType"].ToString());
314 323
                 }
315 324
 
325
+                model.PlanStartDate = ds.Tables[0].Rows[0]["PlanStartDate"] == DBNull.Value ? DateTime.Now : Convert.ToDateTime(ds.Tables[0].Rows[0]["PlanStartDate"]);
326
+                model.PlanEndDate = ds.Tables[0].Rows[0]["PlanEndDate"] == DBNull.Value ? DateTime.Now : Convert.ToDateTime(ds.Tables[0].Rows[0]["PlanEndDate"]);
316 327
                 model.StartTime1 = ds.Tables[0].Rows[0]["StartTime1"] == DBNull.Value ? DateTime.Now : Convert.ToDateTime(ds.Tables[0].Rows[0]["StartTime1"]);
317 328
                 model.EndTime1 = ds.Tables[0].Rows[0]["EndTime1"] == DBNull.Value ? DateTime.Now : Convert.ToDateTime(ds.Tables[0].Rows[0]["EndTime1"]);
318 329
                 model.StartTime2 = ds.Tables[0].Rows[0]["StartTime2"] == DBNull.Value ? DateTime.Now : Convert.ToDateTime(ds.Tables[0].Rows[0]["StartTime2"]);

+ 6 - 0
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/callout/CallPlanController.cs

@@ -106,6 +106,8 @@ namespace CallCenterApi.Interface.Controllers.callout
106 106
                 //concurrencytypestr = model.ConcurrencyType == 0 ? "并发数" : "并发速率",
107 107
                 //concurrencytype = model.ConcurrencyType,
108 108
                 //concurrency = model.Concurrency,
109
+                planstartdate = model.PlanStartDate.ToString("yyyy-MM-dd") ?? "",
110
+                planenddate = model.PlanEndDate.ToString("yyyy-MM-dd") ?? "",
109 111
                 starttime1 = model.StartTime1.ToString("HH:mm:ss") ?? "",
110 112
                 endtime1 = model.EndTime1.ToString("HH:mm:ss") ?? "",
111 113
                 starttime2 = model.StartTime2.ToString("HH:mm:ss") ?? "",
@@ -161,6 +163,8 @@ namespace CallCenterApi.Interface.Controllers.callout
161 163
                 model.y_YJCount = 0;
162 164
                 model.State = Convert.ToBoolean(model.IsExcuteNow) ? 1 : 2;
163 165
                 model.AddTime = DateTime.Now;
166
+                model.PlanStartDate = input.PlanStartDate ?? DateTime.Now;
167
+                model.PlanEndDate = input.PlanEndDate?.AddDays(1).AddSeconds(-1) ?? DateTime.Now;
164 168
                 model.StartTime1 = input.StartTime1 ?? DateTime.Now;
165 169
                 model.EndTime1 = input.EndTime1 ?? DateTime.Now;
166 170
                 model.StartTime2 = input.StartTime2 ?? DateTime.Now;
@@ -278,6 +282,8 @@ namespace CallCenterApi.Interface.Controllers.callout
278 282
                 return Error("输入的并发数和进号速率必须不小于1");
279 283
             model.ConcurrencyType = input.ConcurrencyType;
280 284
             model.Concurrency = input.ConcurrencyType == 0 ? (int)input.Concurrency : input.Concurrency;
285
+            model.PlanStartDate = input.PlanStartDate ?? DateTime.Now;
286
+            model.PlanEndDate = input.PlanEndDate?.AddDays(1).AddSeconds(-1) ?? DateTime.Now;
281 287
             model.StartTime1 = input.StartTime1 ?? DateTime.Now;
282 288
             model.EndTime1 = input.EndTime1 ?? DateTime.Now;
283 289
             model.StartTime2 = input.StartTime2 ?? DateTime.Now;

+ 2 - 0
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Models/Dto/CallPlan.cs

@@ -20,6 +20,8 @@ namespace CallCenterApi.Interface.Models.Dto
20 20
         public string concurrencytypestr { get; set; }
21 21
         public int concurrencytype { get; set; }
22 22
         public float concurrency { get; set; }
23
+        public string planstartdate { get; set; }
24
+        public string planenddate { get; set; }
23 25
         public string starttime1 { get; set; }
24 26
         public string endtime1 { get; set; }
25 27
         public string starttime2 { get; set; }

+ 8 - 0
CallCenterApi/CallCenterApi.Model/T_CTI_Task.cs

@@ -68,6 +68,14 @@ namespace CallCenterApi.Model
68 68
         /// </summary>
69 69
         public float Concurrency { get; set; }
70 70
         /// <summary>
71
+        /// 任务发送时间
72
+        /// </summary>
73
+        public DateTime PlanStartDate { get; set; }
74
+        /// <summary>
75
+        /// 任务结束时间
76
+        /// </summary>
77
+        public DateTime PlanEndDate { get; set; }
78
+        /// <summary>
71 79
         /// 生效开始时间段1
72 80
         /// </summary>
73 81
         public DateTime StartTime1 { get; set; }

+ 1 - 1
CallCenterCommon/CallCenter.QuartzService/CallPlanWork.cs

@@ -19,8 +19,8 @@ namespace CallCenter.QuartzService
19 19
         private List<long> taskIdList = new List<long>();
20 20
         private void MyWork_DoWork(object sender, EventArgs e)
21 21
         {
22
-            var taskList = taskBLL.DataTableToList(taskBLL.GetTaskList(" State>0 ").Tables[0]);
23 22
             var now = DateTime.Now;
23
+            var taskList = taskBLL.DataTableToList(taskBLL.GetTaskList(" State>0 ").Tables[0]).Where(x => x.PlanStartDate < now && now < x.PlanEndDate).ToList();
24 24
 
25 25
             #region 外呼任务状态由【暂停】=>【处理中】
26 26
             var startList = taskList.Where(x => x.State == (int)EnumTaskState.暂停 && ((x.StartTime1.TimeOfDay < now.TimeOfDay && now.TimeOfDay < x.EndTime1.TimeOfDay) || (x.StartTime2.TimeOfDay < now.TimeOfDay && now.TimeOfDay < x.EndTime2.TimeOfDay))).ToList();