zhaozhiqiang 3 vuotta sitten
vanhempi
commit
609e4855ac

+ 74 - 17
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/workorder/WorkOrderController.cs

@@ -495,7 +495,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
495 495
             }
496 496
                
497 497
             DataTable dt = new DataTable();
498
-            string sql = " and F_IsDelete=0 and (F_LimitTime>= DATEADD(hh,"+ cscount + ",F_LimitTime) or F_LimitTime<GETDATE())  and (F_WorkState<6 or F_WorkState=8) ";
498
+            string sql = " and F_IsDelete=0 and (F_LimitTime>= DATEADD(hh,-"+ cscount + ",F_LimitTime) or F_LimitTime<GETDATE())  and (F_WorkState<6 or F_WorkState=8) and F_MainDeptId >0";
499 499
             string strstate = HttpUtility.UrlDecode(RequestString.GetQueryString("state"));
500 500
             string strname = HttpUtility.UrlDecode(RequestString.GetQueryString("name"));
501 501
             string strtel = HttpUtility.UrlDecode(RequestString.GetQueryString("tel"));
@@ -682,12 +682,12 @@ namespace CallCenterApi.Interface.Controllers.workorder
682 682
             //string cols = "*,dbo.GetUserName(F_CreateUser) as UserName,dbo.GetDictionaryName(F_InfoType) as TypeName,dbo.GetOverState(F_WorkOrderId) as OverState,"
683 683
             //    + "dbo.GetDictionaryName(F_InfoSource) as SourceName,dbo.GetWorkOrderAssign(F_WorkOrderId) as DeptName ,dbo.GetLimitTime(F_WorkOrderId) as LimitTime";
684 684
             //string cols = "*,dbo.GetUserName(F_CreateUser) as UserName,dbo.GetDictionaryName(F_InfoType) as TypeName,dbo.GetDictionaryName(F_InfoSource) as SourceName";
685
-            string sort = "ORDER BY F_CreateTime ASC";
685
+            string sort = "ORDER BY OverState ASC";
686 686
             if (timesort == 0)
687 687
                 sort = "ORDER BY LimitTime ASC";
688 688
             else if (timesort == 1)
689 689
                 sort = "ORDER BY F_CreateTime DESC";
690
-            string cols = "F_OldWorkOrderId,F_WorkOrderId,F_Scanning,F_ComTitle,F_WorkState,F_MainDeptId,F_OtherDeptIds,F_DealTime,F_LeaveRecordId,F_CallRecordId,F_IsResult,F_IsProtect,F_IsReturn,F_CreateTime,dbo.GetUserName(F_CreateUser) as UserName,dbo.GetDictionaryName(F_InfoType) as TypeName,dbo.GetDictionaryName(F_InfoSource) as SourceName,IsExport,F_Files,F_WorkRemarks";
690
+            string cols = "F_OldWorkOrderId,F_LimitTime,F_WorkOrderId,F_Scanning,F_ComTitle,F_WorkState,F_MainDeptId,F_OtherDeptIds,F_DealTime,F_LeaveRecordId,F_CallRecordId,F_IsResult,F_IsProtect,F_IsReturn,F_CreateTime,dbo.GetUserName(F_CreateUser) as UserName,dbo.GetDictionaryName(F_InfoType) as TypeName,dbo.GetDictionaryName(F_InfoSource) as SourceName,IsExport,F_Files,F_WorkRemarks";
691 691
             #region 导出
692 692
             if (isdc > 0)
693 693
             {
@@ -724,16 +724,20 @@ namespace CallCenterApi.Interface.Controllers.workorder
724 724
 
725 725
             #endregion
726 726
             int recordCount = 0;
727
+            
728
+
727 729
             dt = BLL.PagerBLL.GetListPager(
728 730
                 "T_Bus_WorkOrder WITH(NOLOCK)",
729 731
                 "F_WorkOrderId",
730 732
                 cols,
731 733
                 sql,
732 734
                sort,
733
-                pagesize,
735
+               pagesize,
734 736
                 pageindex,
735 737
                 true,
736 738
                 out recordCount);
739
+          //  var dtt = workorderBLL.GetList(" 1=1" +sql);
740
+          //  dt = dtt.Tables[0];
737 741
 
738 742
             #region 声音文件和交办超时
739 743
             dt.Columns.Add("DeptName", typeof(string));//交办单位
@@ -810,7 +814,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
810 814
                         //    dr["OtherDeptName"] = dns;
811 815
                         //}
812 816
                         #endregion
813
-                        var lt = dtjb.Rows[0]["F_LimitTime"].ToString();//限制时间
817
+                        var lt = dr["F_LimitTime"].ToString();//限制时间
814 818
                         dr["LimitTime"] = lt;
815 819
                         #region 超时时限
816 820
                         //if (state < 6 || state == 8)
@@ -902,8 +906,10 @@ namespace CallCenterApi.Interface.Controllers.workorder
902 906
             }
903 907
             #endregion
904 908
 
905
-            dt.DefaultView.Sort = "OverState ASC";
906
-            dt = dt.DefaultView.ToTable();
909
+            //dt.DefaultView.Sort = "";
910
+         //   dt = dt.DefaultView.ToTable();
911
+          //  var allcount = dt.Rows.Count;
912
+            dt = GetPagedTable(dt,pageindex,pagesize);
907 913
             var obj = new
908 914
             {
909 915
                 state = "success",
@@ -915,7 +921,34 @@ namespace CallCenterApi.Interface.Controllers.workorder
915 921
 
916 922
         }
917 923
         #endregion
918
-        
924
+        public DataTable GetPagedTable(DataTable dt, int PageIndex, int PageSize)//PageIndex表示第几页,PageSize表示每页的记录数
925
+        {
926
+            if (PageIndex == 0)
927
+                return dt;//0页代表每页数据,直接返回
928
+
929
+            DataTable newdt = dt.Copy();
930
+            newdt.Clear();//copy dt的框架
931
+
932
+            int rowbegin = (PageIndex - 1) * PageSize;
933
+            int rowend = PageIndex * PageSize;
934
+
935
+            if (rowbegin >= dt.Rows.Count)
936
+                return newdt;//源数据记录数小于等于要显示的记录,直接返回dt
937
+
938
+            if (rowend > dt.Rows.Count)
939
+                rowend = dt.Rows.Count;
940
+            for (int i = rowbegin; i <= rowend - 1; i++)
941
+            {
942
+                DataRow newdr = newdt.NewRow();
943
+                DataRow dr = dt.Rows[i];
944
+                foreach (DataColumn column in dt.Columns)
945
+                {
946
+                    newdr[column.ColumnName] = dr[column.ColumnName];
947
+                }
948
+                newdt.Rows.Add(newdr);
949
+            }
950
+            return newdt;
951
+        }
919 952
 
920 953
         /// <summary>
921 954
         /// 获取坐席处理列表
@@ -9023,12 +9056,14 @@ namespace CallCenterApi.Interface.Controllers.workorder
9023 9056
                 {
9024 9057
                     if (modelT_Bus_WorkOrder.F_WorkState == (int)EnumWorkState.dealing|| modelT_Bus_WorkOrder.F_WorkState == (int)EnumWorkState.receive)
9025 9058
                     {
9026
-                        int aid = 0; var rre = "";
9059
+                        int aid = 0; var rre = ""; deptname = "";
9027 9060
                         using (TransactionScope trans = new TransactionScope())
9028 9061
                         {
9029 9062
                             if (deptlist.Count == 1)
9030 9063
                             {
9064
+                                
9031 9065
                                 var deptinfo = deptlist.FirstOrDefault();
9066
+                                deptname = deptinfo.F_DeptName;
9032 9067
                                 #region 新增工单
9033 9068
                                 Model.T_Bus_WorkOrder modelT_Bus_WorkOrder1 = new Model.T_Bus_WorkOrder();
9034 9069
                                 modelT_Bus_WorkOrder1 = tempT_Bus_WorkOrder;
@@ -9043,7 +9078,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
9043 9078
                                     modelT_Bus_AssignedInfo.F_MainDeptId = deptinfo.F_DeptId;//主办单位id
9044 9079
                                     modelT_Bus_AssignedInfo.F_OtherDeptIds = otherdeptids;//协办单位id
9045 9080
                                     modelT_Bus_AssignedInfo.F_AssignedOpinion = assignedopinion;//交办意见
9046
-
9081
+                                    modelT_Bus_AssignedInfo.F_LimitTime = null;//办理时间
9047 9082
                                     modelT_Bus_AssignedInfo.F_State = state;//0草稿  1正式
9048 9083
                                     modelT_Bus_AssignedInfo.F_CreateUser = userModel.F_UserCode;
9049 9084
                                     modelT_Bus_AssignedInfo.F_CreateTime = DateTime.Now;
@@ -9066,6 +9101,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
9066 9101
                                     modelT_Bus_WorkOrder1.F_OtherDeptIds = otherdeptids;
9067 9102
                                     modelT_Bus_WorkOrder1.F_AssignUser = userModel.F_UserCode;
9068 9103
                                     modelT_Bus_WorkOrder1.F_AssignTime = DateTime.Now;
9104
+                                    modelT_Bus_WorkOrder1.F_DealTime = null;
9069 9105
                                     workorderBLL.Update(modelT_Bus_WorkOrder1);
9070 9106
                                     newids += ',' + modelT_Bus_WorkOrder1.F_WorkOrderId;
9071 9107
                                     #endregion
@@ -9075,7 +9111,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
9075 9111
                                     #endregion
9076 9112
 
9077 9113
                                     #region 插入操作记录
9078
-                                    var msgss = userinfo + " 交办了工单,主办单位:" + deptinfo.F_DeptName;
9114
+                                    var msgss = userinfo + " 二次转派交办了工单,主办单位:" + deptinfo.F_DeptName;
9079 9115
                                     if (!string.IsNullOrEmpty(otherdeptids))
9080 9116
                                     {
9081 9117
                                         string sql = "select dbo.GetDeptNames('" + otherdeptids + "')";
@@ -9109,6 +9145,9 @@ namespace CallCenterApi.Interface.Controllers.workorder
9109 9145
                                     }
9110 9146
                                     #endregion
9111 9147
                                 }
9148
+                                var msgss1 = userinfo + " 二次转派交办了工单,主办单位:" + deptinfo.F_DeptName;
9149
+                                addoptlog(modelT_Bus_WorkOrder.F_WorkOrderId, modelT_Bus_WorkOrder1.F_WorkState, modelT_Bus_AssignedInfo.F_Id, msgss1, userModel.F_UserCode);
9150
+
9112 9151
                             }
9113 9152
                             else
9114 9153
                             {
@@ -9217,7 +9256,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
9217 9256
                                     //modelT_Bus_WorkOrder.F_CloseUser = userModel.F_UserCode;
9218 9257
                                     //modelT_Bus_WorkOrder.F_IsDelete = 1;//删除旧工单
9219 9258
                                     //workorderBLL.Update(modelT_Bus_WorkOrder);
9220
-                                    msgs = userinfo + " 交办多单位,工单编号为:" + newids;
9259
+                                    msgs = userinfo + " 二次转派交办了工单,工单编号为:" + newids;
9221 9260
                                 }
9222 9261
                                 else
9223 9262
                                 {
@@ -9225,6 +9264,8 @@ namespace CallCenterApi.Interface.Controllers.workorder
9225 9264
                                     msgs = userinfo + " 交办的单位有" + deptname + ",部分操作成功,新工单编号为:" + newids + ",交办失败的部门为:" + errdeptid;
9226 9265
                                 }
9227 9266
                                 #region 插入操作记录
9267
+                                var msgss1 = userinfo + " 二次转派交办了工单,主办单位:" + deptname;
9268
+                                addoptlog(modelT_Bus_WorkOrder.F_WorkOrderId, modelT_Bus_WorkOrder.F_WorkState, modelT_Bus_AssignedInfo.F_Id, msgss1, userModel.F_UserCode);
9228 9269
                                 addoptlog(modelT_Bus_WorkOrder.F_WorkOrderId, modelT_Bus_WorkOrder.F_WorkState, modelT_Bus_AssignedInfo.F_Id, msgs, userModel.F_UserCode);
9229 9270
                                 var WorkOrder = newids.Split(',');
9230 9271
                                 if (WorkOrder != null && WorkOrder.Length > 0)
@@ -9764,11 +9805,9 @@ namespace CallCenterApi.Interface.Controllers.workorder
9764 9805
                         using (TransactionScope trans = new TransactionScope())
9765 9806
                         {
9766 9807
                             #region 保存工单信息
9767
-                            //modelT_Bus_WorkOrder.F_WorkState = 4;//办理中
9768
-                            modelT_Bus_WorkOrder.F_WorkState = (int)EnumWorkState.dealing;//办理中
9808
+                            modelT_Bus_WorkOrder.F_WorkState = 4;//办理中
9769 9809
                             workorderBLL.Update(modelT_Bus_WorkOrder);
9770 9810
                             #endregion
9771
-
9772 9811
                             #region 保存查收信息
9773 9812
                             modelT_Bus_AssignedInfo.F_IsSure = 1;//查收
9774 9813
                             modelT_Bus_AssignedInfo.F_SureUser = userModel.F_UserCode;
@@ -13326,6 +13365,12 @@ namespace CallCenterApi.Interface.Controllers.workorder
13326 13365
                                     modelT_Bus_WorkOrder.F_DealUser = "";
13327 13366
                                     modelT_Bus_WorkOrder.F_DealTime = null;
13328 13367
                                     workorderBLL.Update(modelT_Bus_WorkOrder);
13368
+
13369
+                                    #region 改为未查收
13370
+                                    modelT_Bus_AssignedInfo.F_IsSure = 0;
13371
+                                    assignBLL.Update(modelT_Bus_AssignedInfo); 
13372
+                                    #endregion
13373
+
13329 13374
                                     var users = userBLL.GetModelList(" F_DeptId='" + modelT_Bus_AssignedInfo.F_MainDeptId + "' ");
13330 13375
                                     if (users != null && users.Count > 0)
13331 13376
                                     {
@@ -13372,7 +13417,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
13372 13417
                                     oper.F_State = modelT_Bus_WorkOrder.F_WorkState;
13373 13418
 
13374 13419
                                     string userinfo = userModel.depname + "-" + userModel.F_UserName + "(" + userModel.F_UserCode + ")";
13375
-                                    oper.F_Message = userinfo + " 提交重办了工单,重办原因:" + reason;
13420
+                                    oper.F_Message = userinfo + " 退回重办了工单,重办原因:" + reason;
13376 13421
                                     oper.F_CreateUser = userModel.F_UserCode;
13377 13422
                                     oper.F_CreateTime = DateTime.Now;
13378 13423
                                     oper.F_IsDelete = 0;
@@ -13841,15 +13886,27 @@ namespace CallCenterApi.Interface.Controllers.workorder
13841 13886
                                 }
13842 13887
                                 if (ids != null && ids.Length > 0)
13843 13888
                                 {
13889
+                                     #region 主工单新增部门记录
13844 13890
                                     Model.T_Bus_Operation oper = new Model.T_Bus_Operation();
13845 13891
                                     oper.F_WorkOrderId = workorderid;
13846 13892
                                     oper.F_State = modeT_Bus_WorkOrder.F_WorkState;
13847 13893
                                     string userinfo = userModel.depname + "-" + userModel.F_UserName + "(" + userModel.F_UserCode + ")";
13848
-                                    oper.F_Message = userinfo + " 重办交办多单位,生成新工单:" + newids;
13894
+                                    oper.F_Message = userinfo + " 重办交办了工单,主办单位:" + deptname;
13849 13895
                                     oper.F_CreateUser = userModel.F_UserCode;
13850 13896
                                     oper.F_CreateTime = DateTime.Now;
13851 13897
                                     oper.F_IsDelete = 0;
13852 13898
                                     operBLL.Add(oper);
13899
+                                    #endregion
13900
+
13901
+                                    #region 新增工单记录
13902
+                                    oper.F_WorkOrderId = workorderid;
13903
+                                    oper.F_State = modeT_Bus_WorkOrder.F_WorkState;
13904
+                                    oper.F_Message = userinfo + " 重办交办多单位,生成新工单:" + newids;
13905
+                                    oper.F_CreateUser = userModel.F_UserCode;
13906
+                                    oper.F_CreateTime = DateTime.Now;
13907
+                                    oper.F_IsDelete = 0;
13908
+                                    operBLL.Add(oper); 
13909
+                                    #endregion
13853 13910
                                 }
13854 13911
 
13855 13912
                                 modeT_Bus_WorkOrder.F_WorkState = (int)EnumWorkState.closed;// 14;

+ 2 - 1
CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Models/Common/ButtonGroup.cs

@@ -407,7 +407,8 @@ namespace CallCenterApi.Interface.Models.Common
407 407
                     //调度专员 中心领导管理员 管理员
408 408
                     if (code == "ZXLD" || code == "ZXLDGLYGLY" || code == "GLY" || code == "DDZG")
409 409
                     {
410
-                      //  buttons.Add(approval());
410
+                        //  buttons.Add(approval());
411
+                        buttons.Add(Reminder());
411 412
                         buttons.Add(takeback());
412 413
                         //buttons.Add(oversee());
413 414
                      //   buttons.Add(turnsee());