瀏覽代碼

语音通知修改

yuqian 8 年之前
父節點
當前提交
d8a67dba08

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

143
 
143
 
144
                     model.y_YJCount = Convert.ToInt32(dt.Rows[n]["y_YJCount"]);
144
                     model.y_YJCount = Convert.ToInt32(dt.Rows[n]["y_YJCount"]);
145
                     model.y_HMCount = Convert.ToInt32(dt.Rows[n]["y_HMCount"]);
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
                     model.StartTime1 = dt.Rows[n]["StartTime1"] == DBNull.Value ? DateTime.Now : Convert.ToDateTime(dt.Rows[n]["StartTime1"]);
148
                     model.StartTime1 = dt.Rows[n]["StartTime1"] == DBNull.Value ? DateTime.Now : Convert.ToDateTime(dt.Rows[n]["StartTime1"]);
147
                     model.EndTime1 = dt.Rows[n]["EndTime1"] == DBNull.Value ? DateTime.Now : Convert.ToDateTime(dt.Rows[n]["EndTime1"]);
149
                     model.EndTime1 = dt.Rows[n]["EndTime1"] == DBNull.Value ? DateTime.Now : Convert.ToDateTime(dt.Rows[n]["EndTime1"]);
148
                     model.StartTime2 = dt.Rows[n]["StartTime2"] == DBNull.Value ? DateTime.Now : Convert.ToDateTime(dt.Rows[n]["StartTime2"]);
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
         {
39
         {
40
             StringBuilder strSql = new StringBuilder();
40
             StringBuilder strSql = new StringBuilder();
41
             strSql.Append("insert into T_CTI_Task(");
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
             strSql.Append(" values (");
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
             strSql.Append(";select @@IDENTITY");
45
             strSql.Append(";select @@IDENTITY");
46
             SqlParameter[] parameters = {
46
             SqlParameter[] parameters = {
47
                     new SqlParameter("@TaskName", SqlDbType.VarChar,200),
47
                     new SqlParameter("@TaskName", SqlDbType.VarChar,200),
59
                     new SqlParameter("@TaskCategoryId", SqlDbType.Int),
59
                     new SqlParameter("@TaskCategoryId", SqlDbType.Int),
60
                     new SqlParameter("@TaskContent", SqlDbType.NVarChar,500),
60
                     new SqlParameter("@TaskContent", SqlDbType.NVarChar,500),
61
                     new SqlParameter("@IsExcuteNow", SqlDbType.Bit),
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
             parameters[0].Value = model.TaskName;
66
             parameters[0].Value = model.TaskName;
65
             parameters[1].Value = model.State;
67
             parameters[1].Value = model.State;
77
             parameters[13].Value = model.TaskContent;
79
             parameters[13].Value = model.TaskContent;
78
             parameters[14].Value = model.IsExcuteNow;
80
             parameters[14].Value = model.IsExcuteNow;
79
             parameters[15].Value = model.LoopTime;
81
             parameters[15].Value = model.LoopTime;
82
+            parameters[16].Value = model.PlanStartDate;
83
+            parameters[17].Value = model.PlanEndDate;
80
             object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
84
             object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
81
             if (obj == null)
85
             if (obj == null)
82
             {
86
             {
102
             strSql.Append("Pre=@Pre, ");
106
             strSql.Append("Pre=@Pre, ");
103
             strSql.Append("Concurrency=@Concurrency, ");
107
             strSql.Append("Concurrency=@Concurrency, ");
104
             strSql.Append("ConcurrencyType=@ConcurrencyType, ");
108
             strSql.Append("ConcurrencyType=@ConcurrencyType, ");
109
+            strSql.Append("PlanStartDate=@PlanStartDate, ");
110
+            strSql.Append("PlanEndDate=@PlanEndDate, ");
105
             strSql.Append("StartTime1=@StartTime1, ");
111
             strSql.Append("StartTime1=@StartTime1, ");
106
             strSql.Append("EndTime1=@EndTime1, ");
112
             strSql.Append("EndTime1=@EndTime1, ");
107
             strSql.Append("StartTime2=@StartTime2, ");
113
             strSql.Append("StartTime2=@StartTime2, ");
128
                     new SqlParameter("@TaskCategoryId", SqlDbType.Int),
134
                     new SqlParameter("@TaskCategoryId", SqlDbType.Int),
129
                     new SqlParameter("@TaskContent", SqlDbType.NVarChar,500),
135
                     new SqlParameter("@TaskContent", SqlDbType.NVarChar,500),
130
                     new SqlParameter("@IsExcuteNow", SqlDbType.Bit),
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
             parameters[0].Value = model.TaskName;
141
             parameters[0].Value = model.TaskName;
134
             parameters[1].Value = model.State;
142
             parameters[1].Value = model.State;
147
             parameters[14].Value = model.TaskContent;
155
             parameters[14].Value = model.TaskContent;
148
             parameters[15].Value = model.IsExcuteNow;
156
             parameters[15].Value = model.IsExcuteNow;
149
             parameters[16].Value = model.LoopTime;
157
             parameters[16].Value = model.LoopTime;
150
-
158
+            parameters[17].Value = model.PlanStartDate;
159
+            parameters[18].Value = model.PlanEndDate;
151
 
160
 
152
             int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
161
             int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
153
             if (rows > 0)
162
             if (rows > 0)
265
         {
274
         {
266
 
275
 
267
             StringBuilder strSql = new StringBuilder();
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
             strSql.Append(" where State>=0 and  TaskID=@TaskID ");
278
             strSql.Append(" where State>=0 and  TaskID=@TaskID ");
270
             SqlParameter[] parameters = {
279
             SqlParameter[] parameters = {
271
                     new SqlParameter("@TaskID", SqlDbType.BigInt)
280
                     new SqlParameter("@TaskID", SqlDbType.BigInt)
313
                     model.ConcurrencyType = int.Parse(ds.Tables[0].Rows[0]["ConcurrencyType"].ToString());
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
                 model.StartTime1 = ds.Tables[0].Rows[0]["StartTime1"] == DBNull.Value ? DateTime.Now : Convert.ToDateTime(ds.Tables[0].Rows[0]["StartTime1"]);
327
                 model.StartTime1 = ds.Tables[0].Rows[0]["StartTime1"] == DBNull.Value ? DateTime.Now : Convert.ToDateTime(ds.Tables[0].Rows[0]["StartTime1"]);
317
                 model.EndTime1 = ds.Tables[0].Rows[0]["EndTime1"] == DBNull.Value ? DateTime.Now : Convert.ToDateTime(ds.Tables[0].Rows[0]["EndTime1"]);
328
                 model.EndTime1 = ds.Tables[0].Rows[0]["EndTime1"] == DBNull.Value ? DateTime.Now : Convert.ToDateTime(ds.Tables[0].Rows[0]["EndTime1"]);
318
                 model.StartTime2 = ds.Tables[0].Rows[0]["StartTime2"] == DBNull.Value ? DateTime.Now : Convert.ToDateTime(ds.Tables[0].Rows[0]["StartTime2"]);
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
                 //concurrencytypestr = model.ConcurrencyType == 0 ? "并发数" : "并发速率",
106
                 //concurrencytypestr = model.ConcurrencyType == 0 ? "并发数" : "并发速率",
107
                 //concurrencytype = model.ConcurrencyType,
107
                 //concurrencytype = model.ConcurrencyType,
108
                 //concurrency = model.Concurrency,
108
                 //concurrency = model.Concurrency,
109
+                planstartdate = model.PlanStartDate.ToString("yyyy-MM-dd") ?? "",
110
+                planenddate = model.PlanEndDate.ToString("yyyy-MM-dd") ?? "",
109
                 starttime1 = model.StartTime1.ToString("HH:mm:ss") ?? "",
111
                 starttime1 = model.StartTime1.ToString("HH:mm:ss") ?? "",
110
                 endtime1 = model.EndTime1.ToString("HH:mm:ss") ?? "",
112
                 endtime1 = model.EndTime1.ToString("HH:mm:ss") ?? "",
111
                 starttime2 = model.StartTime2.ToString("HH:mm:ss") ?? "",
113
                 starttime2 = model.StartTime2.ToString("HH:mm:ss") ?? "",
161
                 model.y_YJCount = 0;
163
                 model.y_YJCount = 0;
162
                 model.State = Convert.ToBoolean(model.IsExcuteNow) ? 1 : 2;
164
                 model.State = Convert.ToBoolean(model.IsExcuteNow) ? 1 : 2;
163
                 model.AddTime = DateTime.Now;
165
                 model.AddTime = DateTime.Now;
166
+                model.PlanStartDate = input.PlanStartDate ?? DateTime.Now;
167
+                model.PlanEndDate = input.PlanEndDate?.AddDays(1).AddSeconds(-1) ?? DateTime.Now;
164
                 model.StartTime1 = input.StartTime1 ?? DateTime.Now;
168
                 model.StartTime1 = input.StartTime1 ?? DateTime.Now;
165
                 model.EndTime1 = input.EndTime1 ?? DateTime.Now;
169
                 model.EndTime1 = input.EndTime1 ?? DateTime.Now;
166
                 model.StartTime2 = input.StartTime2 ?? DateTime.Now;
170
                 model.StartTime2 = input.StartTime2 ?? DateTime.Now;
278
                 return Error("输入的并发数和进号速率必须不小于1");
282
                 return Error("输入的并发数和进号速率必须不小于1");
279
             model.ConcurrencyType = input.ConcurrencyType;
283
             model.ConcurrencyType = input.ConcurrencyType;
280
             model.Concurrency = input.ConcurrencyType == 0 ? (int)input.Concurrency : input.Concurrency;
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
             model.StartTime1 = input.StartTime1 ?? DateTime.Now;
287
             model.StartTime1 = input.StartTime1 ?? DateTime.Now;
282
             model.EndTime1 = input.EndTime1 ?? DateTime.Now;
288
             model.EndTime1 = input.EndTime1 ?? DateTime.Now;
283
             model.StartTime2 = input.StartTime2 ?? DateTime.Now;
289
             model.StartTime2 = input.StartTime2 ?? DateTime.Now;

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

20
         public string concurrencytypestr { get; set; }
20
         public string concurrencytypestr { get; set; }
21
         public int concurrencytype { get; set; }
21
         public int concurrencytype { get; set; }
22
         public float concurrency { get; set; }
22
         public float concurrency { get; set; }
23
+        public string planstartdate { get; set; }
24
+        public string planenddate { get; set; }
23
         public string starttime1 { get; set; }
25
         public string starttime1 { get; set; }
24
         public string endtime1 { get; set; }
26
         public string endtime1 { get; set; }
25
         public string starttime2 { get; set; }
27
         public string starttime2 { get; set; }

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

68
         /// </summary>
68
         /// </summary>
69
         public float Concurrency { get; set; }
69
         public float Concurrency { get; set; }
70
         /// <summary>
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
         /// 生效开始时间段1
79
         /// 生效开始时间段1
72
         /// </summary>
80
         /// </summary>
73
         public DateTime StartTime1 { get; set; }
81
         public DateTime StartTime1 { get; set; }

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

19
         private List<long> taskIdList = new List<long>();
19
         private List<long> taskIdList = new List<long>();
20
         private void MyWork_DoWork(object sender, EventArgs e)
20
         private void MyWork_DoWork(object sender, EventArgs e)
21
         {
21
         {
22
-            var taskList = taskBLL.DataTableToList(taskBLL.GetTaskList(" State>0 ").Tables[0]);
23
             var now = DateTime.Now;
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
             #region 外呼任务状态由【暂停】=>【处理中】
25
             #region 外呼任务状态由【暂停】=>【处理中】
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();
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();