Browse Source

Merge branch 'feat-liucheng'

zhupei 3 years ago
parent
commit
367310b717

+ 42 - 0
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/SMSController.cs

@@ -9,6 +9,8 @@ using qcloudsms_csharp.httpclient;
9 9
 using System.Data;
10 10
 using System.Collections.Generic;
11 11
 using CallCenter.Utility;
12
+using CallCenterApi.Interface.App_Start;
13
+using System.Linq;
12 14
 
13 15
 namespace CallCenterApi.Interface.Controllers
14 16
 {
@@ -57,6 +59,46 @@ namespace CallCenterApi.Interface.Controllers
57 59
             }
58 60
 
59 61
         }
62
+        /// <summary>
63
+        /// 微信端发送短信
64
+        /// </summary>
65
+        /// <param name="name"></param>
66
+        /// <param name="phone"></param>
67
+        /// <param name="cusphone"></param>
68
+        /// <returns></returns>
69
+        [WechatActionFilter]
70
+        public ActionResult SMSSendWx(string name, string phone, string cusphone, string OpenId)
71
+        {
72
+            if (!string.IsNullOrEmpty(OpenId))
73
+            {
74
+                var ua = sysUserAccountBll.GetModelList(" F_WxOpenId='" + OpenId + "'").FirstOrDefault();
75
+                //Model.T_Sys_UserAccount ua = sysUserAccountBll.GetModel(userId);
76
+                if (string.IsNullOrEmpty(name))
77
+                    return Error("请输入联系人姓名");
78
+                if (string.IsNullOrEmpty(phone))
79
+                    return Error("请输入联系人电话");
80
+                if (string.IsNullOrEmpty(cusphone))
81
+                    return Error("请输入发送号码");
82
+                string msg = "您好!感谢您的来电,有关化肥详细问题可联系市场经理,姓名:" + name + ",电话:" + phone + "。您也可以微信关注“心连心农资快讯”公众号进行咨询。祝您生活愉快!";
83
+                string[] mag = { name, phone };
84
+                SmsSingleSenderResult result = SMSSingleshot(466863, mag, cusphone);
85
+
86
+                if (result != null)
87
+                {
88
+                    AddSmS(cusphone, msg, ua.F_UserId);
89
+                    return Success("发送短信", result);
90
+                }
91
+                else
92
+                {
93
+                    return Error("发送失败,请检查客户电话");
94
+                }
95
+            }
96
+            else
97
+            {
98
+                return Error("无操作权限");
99
+            }
100
+
101
+        }
60 102
         public ActionResult GetSmSList(string starttime, string endtime,string phone, int pageindex = 1, int pagesize = 10)
61 103
         {
62 104
             int userId = CurrentUser.UserData.F_UserId;

+ 59 - 29
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/weixin/WxLoginController.cs

@@ -158,13 +158,13 @@ namespace CallCenterApi.Interface.Controllers.weixin
158 158
                 #endregion
159 159
                 #region 部门角色
160 160
                 //部门角色(-1管理员,1接待部,2案场经理、项目负责人,3销售部总经理、物业部总经理、工程总经理、设计总经理,4区域客服,5业主(客户档案))
161
-                if (loginUser.F_RoleId == 17)
162
-                {
163
-                    //-1管理员
164
-                    return Error("无操作权限");
165
-                }
166
-                else
167
-                {
161
+                //if (loginUser.F_RoleId == 17)
162
+                //{
163
+                //    //-1管理员
164
+                //    return Error("无操作权限");
165
+                //}
166
+                //else
167
+                //{
168 168
                     if (loginUser.F_RoleId == 60)
169 169
                     {
170 170
                         UserType = 0;
@@ -190,6 +190,11 @@ namespace CallCenterApi.Interface.Controllers.weixin
190 190
                         UserType = 3;
191 191
                         rolename = "办理人员";
192 192
                     }
193
+                    else if (rolemodel.F_RoleCode == "JDYPTZX" || rolemodel.F_RoleCode == "XTGLY")
194
+                    {
195
+                        UserType = 5;
196
+                        rolename = "客服";
197
+                    }
193 198
                     //else if (loginUser.F_RoleId == 59)
194 199
                     //{
195 200
                     //    UserType = 3;
@@ -227,7 +232,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
227 232
                     //    USERTYPE = 0;
228 233
                     //}
229 234
                     #endregion
230
-                }
235
+                //}
231 236
                 #endregion
232 237
                 var obj = new
233 238
                 {
@@ -1452,6 +1457,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
1452 1457
         public int GetGCDept(int deptid)
1453 1458
         {
1454 1459
             string deptcode = "";
1460
+            string namelike = "总经理";
1455 1461
             int gcdeptid = 0;
1456 1462
 
1457 1463
             if (CirculMarket(deptid, 11))
@@ -1481,7 +1487,16 @@ namespace CallCenterApi.Interface.Controllers.weixin
1481 1487
             }
1482 1488
             if (!string.IsNullOrEmpty(deptcode))
1483 1489
             {
1484
-                var dept = departmentBLL.GetModelList($" F_DeptCode LIKE '" + deptcode + "%' and F_DeptName like '%总经理%'").FirstOrDefault();
1490
+                var deptmodel = departmentBLL.GetModel(deptid);
1491
+                if (deptmodel != null)
1492
+                {
1493
+                    if (deptmodel.F_DeptCode.Contains("|0|1|14|423|"))
1494
+                    {
1495
+                        deptcode = "|0|1|14|423|";
1496
+                        namelike = "高层";
1497
+                    }
1498
+                }
1499
+                var dept = departmentBLL.GetModelList($" F_DeptCode LIKE '" + deptcode + "%' and F_DeptName like '%" + namelike + "%'").FirstOrDefault();
1485 1500
                 if (dept != null)
1486 1501
                     gcdeptid = dept.F_DeptId;
1487 1502
             }
@@ -1616,7 +1631,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
1616 1631
                     }
1617 1632
                     else if (ro.F_RoleCode == "DQJL" || ro.F_RoleCode == "FGSJL" || ro.F_RoleCode == "BLRY" || ro.F_RoleCode == "ZG" || ro.F_RoleCode == "GC")
1618 1633
                     {
1619
-                        string markdepts = "37,57,74,88,268,295,339,422,213,427,433";
1634
+                        string markdepts = "37,57,74,88,268,295,339,422,213,427,433,424";
1620 1635
                         string qualdepts = "12,36,295,245";
1621 1636
                         string detpid = "" + ua.F_DeptId;
1622 1637
                         var deparmentlist = new List<Model.T_Sys_Department>();
@@ -1891,7 +1906,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
1891 1906
         public string GetOverWo(string usercode)
1892 1907
         {
1893 1908
             string str = "";
1894
-            str = $"Select F_WoID from T_Wo_WorkOrderItem_New where F_ItemType=" + (int)EnumItemType.deal + " and F_WoState in (" + (int)EnumWorkOrderState.audit + "," + (int)EnumWorkOrderState.finish + ") and F_OptType=" + (int)EnumItemOpt.end + " and F_CreateUser='" + usercode + "'";
1909
+            str = $"Select F_WoID from T_Wo_WorkOrderItem_New where F_ItemType=" + (int)EnumItemType.deal + " and F_WoState in (" + (int)EnumWorkOrderState.audit + "," + (int)EnumWorkOrderState.finish + ") and F_OptType in (" + (int)EnumItemOpt.end + "," + (int)EnumItemOpt.deal + ") and F_CreateUser='" + usercode + "'";
1895 1910
             return str;
1896 1911
 
1897 1912
         }
@@ -2222,7 +2237,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
2222 2237
                         else if (ro.F_RoleCode == "DQJL" || ro.F_RoleCode == "FGSJL" || ro.F_RoleCode == "BLRY" || ro.F_RoleCode == "ZG" || ro.F_RoleCode == "GC")
2223 2238
                         {
2224 2239
 
2225
-                            string markdepts = "37,57,74,88,268,295,339,422,213,427,433";
2240
+                            string markdepts = "37,57,74,88,268,295,339,422,213,427,433,424";
2226 2241
                             string qualdepts = "12,36,295,245";
2227 2242
                             string detpid = "" + ua.F_DeptId;
2228 2243
                             var deparmentlist = new List<Model.T_Sys_Department>();
@@ -2391,7 +2406,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
2391 2406
                             string touser = "";
2392 2407
                             string strwhere = "";
2393 2408
                             string contens = "";
2394
-                            strwhere = $" F_DeptId in (select top 1 F_NextDept  from T_Wo_WorkOrderItem_New where F_WoID={model.F_ID} and F_NextDept in(37,57,74,88,268,295,339,422,213,427,433) order by F_CreateTime desc)";
2409
+                            strwhere = $" F_DeptId in (select top 1 F_NextDept  from T_Wo_WorkOrderItem_New where F_WoID={model.F_ID} and F_NextDept in(37,57,74,88,268,295,339,422,213,427,433,424) order by F_CreateTime desc)";
2395 2410
                             var deptmodel = departmentBLL.GetModelList(strwhere).FirstOrDefault();
2396 2411
                             if (deptmodel != null)
2397 2412
                             {
@@ -2541,6 +2556,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
2541 2556
             return Error("无操作权限!");
2542 2557
         }
2543 2558
 
2559
+
2544 2560
         /// <summary>
2545 2561
         /// 审核工单
2546 2562
         /// </summary>
@@ -2988,7 +3004,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
2988 3004
             if (!string.IsNullOrEmpty(OpenId))
2989 3005
             {
2990 3006
                 int woflag = 0;
2991
-                string markdepts = "37,57,74,88,268,295,339,213,427,433";
3007
+                string markdepts = "37,57,74,88,268,295,339,213,427,433,424";
2992 3008
                 string sqlstr = "";
2993 3009
                 if (id <= 0)
2994 3010
                 {
@@ -3135,7 +3151,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
3135 3151
         {
3136 3152
             int? flag = 0;
3137 3153
 
3138
-            string markdepts = "37,57,74,88,268,295,339,213,427,433";
3154
+            string markdepts = "37,57,74,88,268,295,339,213,427,433,424";
3139 3155
             if (!string.IsNullOrEmpty(usercode))
3140 3156
             {
3141 3157
                 Model.T_Sys_UserAccount ua = userAccountBLL.GetModel(usercode);
@@ -5395,7 +5411,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
5395 5411
                      sms = (int)itemlast.F_IsSMS;
5396 5412
                 }
5397 5413
                 WorkOrderNewInput input = new WorkOrderNewInput();
5398
-                string markdepts = "37,57,74,88,268,295,339,422,213,427,433";
5414
+                string markdepts = "37,57,74,88,268,295,339,422,213,427,433,424";
5399 5415
                 string qualdepts = "12,36,295,245";
5400 5416
                 if (ua != null)
5401 5417
                 {
@@ -5588,7 +5604,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
5588 5604
                                         //    }
5589 5605
 
5590 5606
                                         //}
5591
-                                        else if (deptmodel.F_DeptId == 248)
5607
+                                        else if (deptmodel.F_DeptName == "计划调度科")
5592 5608
                                         {
5593 5609
                                             input.F_CarNumber = deptment.CarNumber;
5594 5610
                                             input.F_UnLoadingFee = deptment.UnLoadingFee;//卸车费
@@ -5941,21 +5957,22 @@ namespace CallCenterApi.Interface.Controllers.weixin
5941 5957
                     }
5942 5958
                 if (!string.IsNullOrEmpty(Supercont))
5943 5959
                 {
5960
+                    string strcont = nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ") " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
5961
+                    string strconts1 = strcont + " " + Supercont + ";@# ";
5944 5962
                     if (flag == 1 || ((model.F_Flag == null || model.F_Flag == 0) && flag == 3))
5945 5963
                     {
5946
-                        if (model.F_SuperiorOpinion.Trim() != Supercont.Trim())
5964
+                        if (!model.F_SuperiorOpinion.Trim().Contains(Supercont.Trim()))
5947 5965
                         {
5948
-                            model.F_SuperiorOpinion = nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ") " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " " + Supercont;
5966
+                            model.F_SuperiorOpinion = string.IsNullOrEmpty(model.F_SuperiorOpinion) ? strconts1 : model.F_SuperiorOpinion + strconts1;
5949 5967
                         }
5950 5968
                     }
5951 5969
                     else if (flag == 2)
5952 5970
                     {
5953
-                        if (model.F_SuperiorOpinion2.Trim() != Supercont.Trim())
5971
+                        if (!model.F_SuperiorOpinion2.Trim().Contains(Supercont.Trim()))
5954 5972
                         {
5955
-                            model.F_SuperiorOpinion2 = nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ") " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " " + Supercont;
5973
+                            model.F_SuperiorOpinion2 = string.IsNullOrEmpty(model.F_SuperiorOpinion2) ? strconts1 : model.F_SuperiorOpinion2 + strconts1;
5956 5974
                         }
5957 5975
                     }
5958
-
5959 5976
                 }
5960 5977
                 InToworkModel(model, input, nowUser);
5961 5978
 
@@ -6411,6 +6428,8 @@ namespace CallCenterApi.Interface.Controllers.weixin
6411 6428
                                 }
6412 6429
                                 else
6413 6430
                                 {
6431
+                                    string[] mag = { model.F_WorkOrderCode };
6432
+                                    string smsmsg = $"你好,投诉工单 {model.F_WorkOrderCode} 高层审批未通过,已驳回至你的待处理工单,请及时办理!";
6414 6433
                                     touser = item.F_CreateUser;
6415 6434
                                     if (type == 1 || type == 3)
6416 6435
                                     {
@@ -6422,6 +6441,15 @@ namespace CallCenterApi.Interface.Controllers.weixin
6422 6441
                                     }
6423 6442
 
6424 6443
                                     AddLog(model.F_ID, (int)EnumWorkOrderState.receive, deptname + ua.F_UserName + "(" + ua.F_WorkNumber + ")" + "高层已审批" + isagreestr, (int)EnumItemType.deal, (int)EnumItemOpt.reaudit, touser, 0, ua, 0, 0, "", 0, type);
6444
+                                    var tosermodel = userAccountBLL.GetModel(touser);
6445
+                                    #region  审批未通过发送短信
6446
+                                    if (tosermodel != null && !string.IsNullOrEmpty(tosermodel.F_Mobile))
6447
+                                    {
6448
+                                        SmsSingleSenderResult result = new SMSController().SMSSingleshot(1498743, mag, tosermodel.F_Mobile.Trim());
6449
+                                        bool nn = new SMSController().AddSmS(tosermodel.F_Mobile.Trim(), smsmsg, model.F_ID);
6450
+                                    }
6451
+                                    #endregion
6452
+
6425 6453
                                 }
6426 6454
                             }
6427 6455
                         }
@@ -6530,7 +6558,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
6530 6558
          string uncont = "",
6531 6559
         int isvisit = 1, int isover = 0, int inoutflag = 0, int isApprovalp = 0)
6532 6560
         {
6533
-            string markdepts = "37,57,74,88,268,295,339,422,213,427,433";
6561
+            string markdepts = "37,57,74,88,268,295,339,422,213,427,433,424";
6534 6562
             string qualdepts = "12,36,295,245";
6535 6563
             if (!string.IsNullOrEmpty(OpenId))
6536 6564
             {
@@ -6742,7 +6770,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
6742 6770
                     if (model != null)
6743 6771
                     {
6744 6772
                         int flag = 0;
6745
-                        string markdepts = "37,57,74,88,268,295,339,422,213,427,433";
6773
+                        string markdepts = "37,57,74,88,268,295,339,422,213,427,433,424";
6746 6774
                         var modellist = new BLL.T_Wo_WorkOrderItem_New().GetModelList($"F_WoID={model.F_ID} and F_IsUsed=0 and  F_NextUser like '%{ua.F_UserCode}%'  order by   F_ID desc ");
6747 6775
                         var itemnext = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and F_WoState =1 and  F_WoID='" + model.F_ID + "'and F_NextUser like '%" + ua.F_UserCode + "%' order by F_ID desc").FirstOrDefault();
6748 6776
                         if (modellist.Count <= 0)
@@ -6804,7 +6832,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
6804 6832
                     if (model != null)
6805 6833
                     {
6806 6834
                         int flag = 0;
6807
-                        string markdepts = "37,57,74,88,268,295,339,422,213,427,433";
6835
+                        string markdepts = "37,57,74,88,268,295,339,422,213,427,433,424";
6808 6836
                         Model.T_Sys_RoleInfo ro = rolebll.GetModel(ua.F_RoleId);
6809 6837
                         var modelnext = new BLL.T_Wo_WorkOrderItem_New().GetModelList($"F_WoID={model.F_ID} and F_OptType=1  and F_CreateUser={ua.F_UserCode} order by   F_ID desc ");
6810 6838
 
@@ -7099,7 +7127,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
7099 7127
         {
7100 7128
             #region 工单处理
7101 7129
             int sms = 0;
7102
-            string markdepts = "37,57,74,88,268,295,339,422,213,427,433";
7130
+            string markdepts = "37,57,74,88,268,295,339,422,213,427,433,424";
7103 7131
             var itemlasts = itembll.GetModelList("  F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID=" + model.F_ID + " ");
7104 7132
             if (itemlasts.Count > 0)
7105 7133
             {
@@ -7335,6 +7363,8 @@ namespace CallCenterApi.Interface.Controllers.weixin
7335 7363
 
7336 7364
                 if (!string.IsNullOrEmpty(cont))
7337 7365
                 {
7366
+                    string strcont = nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ") " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
7367
+                    string strconts1 = strcont + " " + cont + ";@# ";
7338 7368
                     if (model.F_Source == "3")
7339 7369
                     {
7340 7370
                         if (flag == 2)
@@ -7359,16 +7389,16 @@ namespace CallCenterApi.Interface.Controllers.weixin
7359 7389
                     }
7360 7390
                     if (flag == 1 || ((model.F_Flag == null || model.F_Flag == 0) && flag == 3))
7361 7391
                     {
7362
-                        if (model.F_SuperiorOpinion.Trim() != cont.Trim())
7392
+                        if (!model.F_SuperiorOpinion.Trim().Contains(cont.Trim()))
7363 7393
                         {
7364 7394
                             model.F_SuperiorOpinion = nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ") " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " " + cont;
7365 7395
                         }
7366 7396
                     }
7367 7397
                     else if (flag == 2)
7368 7398
                     {
7369
-                        if (model.F_SuperiorOpinion2.Trim() != cont.Trim())
7399
+                        if (!model.F_SuperiorOpinion2.Trim().Contains(cont.Trim()))
7370 7400
                         {
7371
-                            model.F_SuperiorOpinion2 = nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ") " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " " + cont;
7401
+                            model.F_SuperiorOpinion2 = string.IsNullOrEmpty(model.F_SuperiorOpinion2) ? strconts1 : model.F_SuperiorOpinion2 + strconts1;
7372 7402
                         }
7373 7403
                     }
7374 7404
                     //model.F_SuperiorOpinion = string.IsNullOrEmpty(model.F_SuperiorOpinion) ? cont : model.F_SuperiorOpinion + "; " + cont;

+ 85 - 49
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/workorder/WorkOrderNewController.cs

@@ -656,7 +656,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
656 656
         public string GetOverWo(string usercode)
657 657
         {
658 658
             string str = "";
659
-            str = $"Select F_WoID from T_Wo_WorkOrderItem_New where F_ItemType="+(int)EnumItemType.deal+" and F_WoState in (" +(int)EnumWorkOrderState.audit+","+(int)EnumWorkOrderState.finish + ") and F_OptType=" + (int)EnumItemOpt.end + " and F_CreateUser='"+ usercode + "'";
659
+            str = $"Select F_WoID from T_Wo_WorkOrderItem_New where F_ItemType="+(int)EnumItemType.deal+" and F_WoState in (" +(int)EnumWorkOrderState.audit+","+(int)EnumWorkOrderState.finish + ") and F_OptType in (" + (int)EnumItemOpt.end + "," + (int)EnumItemOpt.deal + ") and F_CreateUser='" + usercode + "'";
660 660
             return str;
661 661
 
662 662
         }
@@ -1233,7 +1233,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
1233 1233
                             else if (ro.F_RoleCode == "DQJL" || ro.F_RoleCode == "FGSJL" || ro.F_RoleCode == "BLRY" || ro.F_RoleCode == "ZG" || ro.F_RoleCode == "GC")
1234 1234
                             {
1235 1235
 
1236
-                                string markdepts = "37,57,74,88,268,295,339,422,213,427,433";
1236
+                                string markdepts = "37,57,74,88,268,295,339,422,213,427,433,424";
1237 1237
                                 string qualdepts = "12,36,295,245";
1238 1238
                                 string detpid = "" + ua.F_DeptId;
1239 1239
                                 var deparmentlist = new List<Model.T_Sys_Department>();
@@ -2427,6 +2427,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
2427 2427
         public int GetGCDept(int deptid)
2428 2428
         {
2429 2429
             string deptcode = "";
2430
+            string namelike = "总经理";
2430 2431
             int gcdeptid = 0;
2431 2432
 
2432 2433
             if (CirculMarket(deptid, 11))
@@ -2456,7 +2457,16 @@ namespace CallCenterApi.Interface.Controllers.workorder
2456 2457
             }
2457 2458
             if (!string.IsNullOrEmpty(deptcode))
2458 2459
             {
2459
-                var dept = departmentBLL.GetModelList($" F_DeptCode LIKE '" + deptcode + "%' and F_DeptName like '%总经理%'").FirstOrDefault();
2460
+                var deptmodel = departmentBLL.GetModel(deptid);
2461
+                if (deptmodel != null)
2462
+                {
2463
+                    if (deptmodel.F_DeptCode.Contains("|0|1|14|423|"))
2464
+                    {
2465
+                        deptcode = "|0|1|14|423|";
2466
+                        namelike = "高层";
2467
+                    }
2468
+                }
2469
+                var dept = departmentBLL.GetModelList($" F_DeptCode LIKE '" + deptcode + "%' and F_DeptName like '%"+ namelike + "%'").FirstOrDefault();
2460 2470
                 if (dept != null)
2461 2471
                     gcdeptid = dept.F_DeptId;
2462 2472
             }
@@ -2514,7 +2524,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
2514 2524
         {
2515 2525
             int userId = CurrentUser.UserData.F_UserId;
2516 2526
             int woflag = 0;
2517
-            string markdepts = "37,57,74,88,268,295,339,213,427,433";
2527
+            string markdepts = "37,57,74,88,268,295,339,213,427,433,424";
2518 2528
             if (userId != 0)
2519 2529
             {
2520 2530
                 DataTable FileUrl = new DataTable();
@@ -2595,7 +2605,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
2595 2605
         {
2596 2606
             int? flag = 0;
2597 2607
             int userId = CurrentUser.UserData.F_UserId;
2598
-            string markdepts = "37,57,74,88,268,295,339,213,427,433";
2608
+            string markdepts = "37,57,74,88,268,295,339,213,427,433,424";
2599 2609
             if (userId != 0)
2600 2610
             {
2601 2611
                 Model.T_Sys_UserAccount ua = sysUserAccountBll.GetModel(userId);
@@ -2737,7 +2747,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
2737 2747
         public int? IsMarketAssign(long fid)
2738 2748
         {
2739 2749
             int? woflag = 0;
2740
-            string markdepts = "37,57,74,88,268,295,339,213,427,433";
2750
+            string markdepts = "37,57,74,88,268,295,339,213,427,433,424";
2741 2751
             int userId = CurrentUser.UserData.F_UserId;
2742 2752
             if (userId != 0)
2743 2753
             {
@@ -3281,7 +3291,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
3281 3291
                     sql += $" and F_CreateBy like '%" + ua.F_UserCode.Trim() + "%'";
3282 3292
                 else if (ro.F_RoleCode == "DQJL" || ro.F_RoleCode == "FGSJL" || ro.F_RoleCode == "BLRY" || ro.F_RoleCode == "ZG" || ro.F_RoleCode == "GC")
3283 3293
                 {
3284
-                    string markdepts = "37,57,74,88,268,295,339,422,213,427,433";
3294
+                    string markdepts = "37,57,74,88,268,295,339,422,213,427,433,424";
3285 3295
                     string qualdepts = "12,36,295,245";
3286 3296
                     string detpid = "" + ua.F_DeptId;
3287 3297
                     var deparmentlist = new List<Model.T_Sys_Department>();
@@ -3927,7 +3937,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
3927 3937
                             drNew["问题描述"] = it.F_Description;//
3928 3938
                             drNew["创建时间"] = it.F_CreateOn;
3929 3939
                             #region  获取外线完结时间
3930
-                            var itemlasts = itembll.GetModelList($" F_WoID={it.F_ID} and F_ItemType={(int)EnumItemType.deal} and F_OptType={(int)EnumItemOpt.end} and F_Type=1 order by F_CreateTime desc").FirstOrDefault();
3940
+                            var itemlasts = itembll.GetModelList($" F_WoID={it.F_ID} and F_ItemType={(int)EnumItemType.deal} and F_OptType in ({(int)EnumItemOpt.end},{(int)EnumItemOpt.deal}) and F_Type in(1,3) order by F_CreateTime desc").FirstOrDefault();
3931 3941
                             if (itemlasts != null)
3932 3942
                                 drNew["完结时间"] = itemlasts.F_CreateTime;
3933 3943
                             #endregion
@@ -3969,10 +3979,20 @@ namespace CallCenterApi.Interface.Controllers.workorder
3969 3979
                                 drNew["剩余时间"] = string.Format("剩余{0:f0}天{1:f0}时{2:f0}分", days1, hours, minutes);
3970 3980
                             else
3971 3981
                                 drNew["剩余时间"] = string.Format("超时{0:f0}天{1:f0}时{2:f0}分", days1, hours, minutes);
3972
-                            float RemainingTime = float.Parse(string.Format("{0:f2}", TimeToOver(it.F_ID, it.F_limit)));                        
3973
-                            float aa = Math.Abs(it.F_limit-RemainingTime);
3974
-                            int days = (int)Math.Floor(Convert.ToDouble(aa / 24));
3975
-                            drNew["用时(天)"] = days+"天";
3982
+                            //float RemainingTime = float.Parse(string.Format("{0:f2}", TimeToOver(it.F_ID, it.F_limit)));
3983
+                            if (itemlasts!=null && itemlasts.F_CreateTime != null)
3984
+                            {
3985
+                                float aa = Math.Abs((float)(DateTime.Parse(itemlasts.F_CreateTime.ToString())- DateTime.Parse(it.F_CreateOn.ToString())).TotalHours);
3986
+                                int days2 = (int)Math.Floor(Convert.ToDouble(aa / 24));
3987
+                                int hours1 = days2 > 0
3988
+                                          ? (int)Math.Floor(Convert.ToDouble((aa - days2 * 24)))
3989
+                                          : (int)Math.Floor(Convert.ToDouble(aa));
3990
+                                float minutes1 = hours1 > 0
3991
+                                               ? aa * 60 - days2 * 1440 - hours1 * 60
3992
+                                               : 0;
3993
+                                drNew["用时(天)"] = string.Format("用时{0:f0}天{1:f0}时{2:f0}分", days2, hours1, minutes1);
3994
+                            }
3995
+                          
3976 3996
                             #endregion
3977 3997
                             //#region 内线
3978 3998
                             //float RemainingTime2 = float.Parse(string.Format("{0:f2}", TimeToOver(it.F_ID, it.F_limit, 2)));
@@ -7101,7 +7121,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
7101 7121
                 string touser = "";
7102 7122
                 string[] mag = { hours.ToString(),model.F_WorkOrderCode };
7103 7123
                 string smsmsg = $"您有一个工单即将超期,剩余时间{hours}小时,请尽快办理,工单编号:{model.F_WorkOrderCode }";
7104
-                string strwhere = $" F_DeptId in (select top 1 F_NextDept  from T_Wo_WorkOrderItem_New where F_WoID={model.F_ID} and F_NextDept in(37,57,74,88,268,295,339,422,213,427,433) order by F_CreateTime desc)";
7124
+                string strwhere = $" F_DeptId in (select top 1 F_NextDept  from T_Wo_WorkOrderItem_New where F_WoID={model.F_ID} and F_NextDept in(37,57,74,88,268,295,339,422,213,427,433,424) order by F_CreateTime desc)";
7105 7125
                 var deptmodel = departmentBLL.GetModelList(strwhere).FirstOrDefault();
7106 7126
                 if (deptmodel != null)
7107 7127
                 {
@@ -8001,8 +8021,13 @@ namespace CallCenterApi.Interface.Controllers.workorder
8001 8021
                                     inputs.F_ZL_ResponsibleUnit = deptment.ResponsibleUnit;// 质量管理科-责任单位(需列出,可选多个)
8002 8022
 
8003 8023
                                 }
8004
-                                else if (deptmodel.F_DeptName == "成品库") //退换货成品库录入物料信息
8024
+                                else if (deptmodel.F_DeptName == "计划调度科") //退换货成品库录入物料信息
8005 8025
                                 {
8026
+                                    inputs.F_CarNumber = deptment.CarNumber;//返厂车牌号
8027
+                                    inputs.F_LoadingFee = deptment.LoadingFee;//装车费
8028
+                                    inputs.F_UnLoadingFee = deptment.UnLoadingFee;//卸车费
8029
+                                    inputs.F_MaterialFee = deptment.MaterialFee;//返料费
8030
+                                    input.F_DrivePhone = deptment.DrivePhone;//电话号码
8006 8031
                                     if (string.IsNullOrEmpty(jsonstr))
8007 8032
                                     {
8008 8033
                                         return Error("请输入物料信息!");
@@ -8040,14 +8065,14 @@ namespace CallCenterApi.Interface.Controllers.workorder
8040 8065
                                     }
8041 8066
 
8042 8067
                                 }
8043
-                                else if (deptmodel.F_DeptId == 248)
8044
-                                {
8045
-                                    inputs.F_CarNumber = deptment.CarNumber;//返厂车牌号
8046
-                                    inputs.F_LoadingFee = deptment.LoadingFee;//装车费
8047
-                                    inputs.F_UnLoadingFee = deptment.UnLoadingFee;//卸车费
8048
-                                    inputs.F_MaterialFee = deptment.MaterialFee;//返料费
8049
-                                    input.F_DrivePhone = deptment.DrivePhone;//电话号码
8050
-                                }
8068
+                                //else if (deptmodel.F_DeptName == "计划调度科")
8069
+                                //{
8070
+                                //    inputs.F_CarNumber = deptment.CarNumber;//返厂车牌号
8071
+                                //    inputs.F_LoadingFee = deptment.LoadingFee;//装车费
8072
+                                //    inputs.F_UnLoadingFee = deptment.UnLoadingFee;//卸车费
8073
+                                //    inputs.F_MaterialFee = deptment.MaterialFee;//返料费
8074
+                                //    input.F_DrivePhone = deptment.DrivePhone;//电话号码
8075
+                                //}
8051 8076
                                 //else if (deptmodel.F_DeptName == "销售内勤" && (model.F_SC_PreliminaryOpinion == "退货" || model.F_SC_PreliminaryOpinion == "换货"))//部门id=193
8052 8077
                                 //{
8053 8078
                                 //    modlelist.F_SC_CJ_ReturnAccount = deptment.ReturnAccount2;//销售内勤-确认返账金额                               
@@ -8104,9 +8129,9 @@ namespace CallCenterApi.Interface.Controllers.workorder
8104 8129
                             if (clbm2 == 427) //运营中心
8105 8130
                             {
8106 8131
                                 flag = 3;
8107
-                                model.F_Flag = 9;
8108
-                                model.F_State = (int)EnumWorkOrderState.assign;
8109
-                                model.F_State2 = (int)EnumWorkOrderState.assign;
8132
+                                modlelist.F_Flag = 9;
8133
+                                modlelist.F_State = (int)EnumWorkOrderState.assign;
8134
+                                modlelist.F_State2 = (int)EnumWorkOrderState.assign;
8110 8135
                                 AssignWO(ua, modlelist, inputs, cont, F_Files, clbm2, clid2, overtime, sms, 0, 0, 0, "", 0, 3,9);
8111 8136
                             }
8112 8137
                             else
@@ -8122,9 +8147,9 @@ namespace CallCenterApi.Interface.Controllers.workorder
8122 8147
                             if (clbm == 427) //运营中心
8123 8148
                             {
8124 8149
                                 flag = 3;
8125
-                                model.F_Flag = 9;
8126
-                                model.F_State = (int)EnumWorkOrderState.assign;
8127
-                                model.F_State2 = (int)EnumWorkOrderState.assign;
8150
+                                modlelist.F_Flag = 9;
8151
+                                modlelist.F_State = (int)EnumWorkOrderState.assign;
8152
+                                modlelist.F_State2 = (int)EnumWorkOrderState.assign;
8128 8153
                                 AssignWO(ua, modlelist, inputs, cont, F_Files, clbm, clid, overtime, sms, 0, 0, 0, "", 0, 3, 9);
8129 8154
                             }
8130 8155
                             else
@@ -8204,7 +8229,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
8204 8229
                             string touser = "";
8205 8230
                             string strwhere = "";
8206 8231
                             string contens = "";
8207
-                            strwhere = $" F_DeptId in (select top 1 F_NextDept  from T_Wo_WorkOrderItem_New where F_WoID={model.F_ID} and F_NextDept in(37,57,74,88,268,295,339,422,213,427,433) order by F_CreateTime desc)";
8232
+                            strwhere = $" F_DeptId in (select top 1 F_NextDept  from T_Wo_WorkOrderItem_New where F_WoID={model.F_ID} and F_NextDept in(37,57,74,88,268,295,339,422,213,427,433,424) order by F_CreateTime desc)";
8208 8233
                             var deptmodel = departmentBLL.GetModelList(strwhere).FirstOrDefault();
8209 8234
                             if (deptmodel != null)
8210 8235
                             {
@@ -8299,11 +8324,9 @@ namespace CallCenterApi.Interface.Controllers.workorder
8299 8324
             {
8300 8325
                 creatuser1 = itemlasts1.F_CreateUser;
8301 8326
                 woflag = Convert.ToInt32(itemlasts1.F_Type);
8302
-
8303 8327
             }
8304 8328
             if (itemlasts2 != null)
8305 8329
             {
8306
-                woflag = Convert.ToInt32(itemlasts2.F_Type);
8307 8330
                 creatuser2 = itemlasts2.F_CreateUser;
8308 8331
             }
8309 8332
 
@@ -8604,7 +8627,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
8604 8627
                         }
8605 8628
                     }
8606 8629
                 }
8607
-                string markdepts = "37,57,74,88,268,295,339,422,213,427,433";
8630
+                string markdepts = "37,57,74,88,268,295,339,422,213,427,433,424";
8608 8631
                 string qualdepts = "12,36,295,245";
8609 8632
                 WorkOrderNewInput input = new WorkOrderNewInput();
8610 8633
                 if (clid != 0)
@@ -8850,7 +8873,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
8850 8873
                                     //    }
8851 8874
 
8852 8875
                                     //}
8853
-                                    else if (deptmodel.F_DeptId == 248)
8876
+                                    else if (deptmodel.F_DeptName == "计划调度科")
8854 8877
                                     {
8855 8878
                                         input.F_CarNumber = deptment.CarNumber;//返厂车牌号
8856 8879
                                         input.F_LoadingFee = deptment.LoadingFee;//装车费
@@ -9104,7 +9127,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
9104 9127
             int userId = CurrentUser.UserData.F_UserId;
9105 9128
             if (userId != 0)
9106 9129
             {
9107
-                string markdepts = "37,57,74,88,268,295,339,422,213,427,433";
9130
+                string markdepts = "37,57,74,88,268,295,339,422,213,427,433,424";
9108 9131
                 string qualdepts = "12,36,295,245"; //245:九江心连心化肥有限公司-质量督察处
9109 9132
                 if (string.IsNullOrEmpty(cont))
9110 9133
                     return Error("请输入处理内容");
@@ -9303,6 +9326,8 @@ namespace CallCenterApi.Interface.Controllers.workorder
9303 9326
                                 }
9304 9327
                                 else
9305 9328
                                 {
9329
+                                    string[] mag = {model.F_WorkOrderCode};
9330
+                                    string smsmsg= $"你好,投诉工单 {model.F_WorkOrderCode} 高层审批未通过,已驳回至你的待处理工单,请及时办理!";
9306 9331
                                     touser = item.F_CreateUser;
9307 9332
                                     if (type == 1 || type == 3)
9308 9333
                                     {
@@ -9314,6 +9339,15 @@ namespace CallCenterApi.Interface.Controllers.workorder
9314 9339
                                     }
9315 9340
 
9316 9341
                                     AddLog(model.F_ID, (int)EnumWorkOrderState.receive, deptname + ua.F_UserName + "(" + ua.F_WorkNumber + ")" + "高层已审批" + isagreestr, (int)EnumItemType.deal, (int)EnumItemOpt.reaudit, touser, 0, ua, 0, 0, "", 0, type);
9342
+                                    var tosermodel = sysUserAccountBll.GetModel(touser);
9343
+                                    #region  审批未通过发送短信
9344
+                                    if (tosermodel!=null && !string.IsNullOrEmpty(tosermodel.F_Mobile))
9345
+                                    {
9346
+                                        SmsSingleSenderResult result = new SMSController().SMSSingleshot(1498743, mag, tosermodel.F_Mobile.Trim());
9347
+                                        bool nn = new SMSController().AddSmS(tosermodel.F_Mobile.Trim(), smsmsg, model.F_ID);                                     
9348
+                                    }
9349
+                                    #endregion
9350
+
9317 9351
                                 }
9318 9352
                             }
9319 9353
                         }
@@ -9382,7 +9416,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
9382 9416
                     if (model != null)
9383 9417
                     {
9384 9418
                         int flag = 0;
9385
-                        string markdepts = "37,57,74,88,268,295,339,422,213,427,433";
9419
+                        string markdepts = "37,57,74,88,268,295,339,422,213,427,433,424";
9386 9420
                         var modellist = new BLL.T_Wo_WorkOrderItem_New().GetModelList($"F_WoID={model.F_ID} and F_IsUsed=0 and  F_NextUser like '%{ua.F_UserCode}%'  order by   F_ID desc ");
9387 9421
                         var itemnext = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and F_WoState =1 and  F_WoID='" + model.F_ID + "'and F_NextUser like '%" + ua.F_UserCode + "%' order by F_ID desc").FirstOrDefault();
9388 9422
                         if (modellist.Count <= 0)
@@ -9432,7 +9466,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
9432 9466
         {
9433 9467
             int userId = CurrentUser.UserData.F_UserId; ;
9434 9468
             int flag = 0;
9435
-            string markdepts = "37,57,74,88,268,295,339,422,213,427,433";
9469
+            string markdepts = "37,57,74,88,268,295,339,422,213,427,433,424";
9436 9470
             if (userId != 0)
9437 9471
             {
9438 9472
                 //增加撤回功能
@@ -9914,7 +9948,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
9914 9948
         {
9915 9949
             #region 工单处理
9916 9950
             int sms = 0;
9917
-            string markdepts = "37,57,74,88,268,295,339,422,213,427,433";
9951
+            string markdepts = "37,57,74,88,268,295,339,422,213,427,433,424";
9918 9952
             var itemlasts = itembll.GetModelList("  F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID=" + model.F_ID + " ");
9919 9953
             if (itemlasts.Count > 0)
9920 9954
             {
@@ -10388,18 +10422,18 @@ namespace CallCenterApi.Interface.Controllers.workorder
10388 10422
                     }
10389 10423
                     if (flag == 1 || ((model.F_Flag == null || model.F_Flag == 0) && flag == 3))
10390 10424
                     {
10391
-                        if (model.F_SuperiorOpinion.Trim() != cont.Trim())
10425
+                        if (!model.F_SuperiorOpinion.Trim().Contains(cont.Trim()))
10392 10426
                         {
10393
-                            model.F_SuperiorOpinion = nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ") " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " " + cont;
10394
-                            //model.F_SuperiorOpinion = string.IsNullOrEmpty(model.F_SuperiorOpinion)? strconts1:model.F_SuperiorOpinion + strconts1;
10427
+                            //model.F_SuperiorOpinion = nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ") " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " " + cont;
10428
+                            model.F_SuperiorOpinion = string.IsNullOrEmpty(model.F_SuperiorOpinion) ? strconts1 : model.F_SuperiorOpinion + strconts1;
10395 10429
                         }
10396 10430
                     }
10397 10431
                     else if (flag == 2)
10398 10432
                     {
10399
-                        if (model.F_SuperiorOpinion2.Trim() != cont.Trim())
10433
+                        if (!model.F_SuperiorOpinion2.Trim().Contains(cont.Trim()))
10400 10434
                         {
10401
-                            model.F_SuperiorOpinion2 = nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ") " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " " + cont;
10402
-                            //model.F_SuperiorOpinion2 = string.IsNullOrEmpty(model.F_SuperiorOpinion2) ? strconts1 : model.F_SuperiorOpinion2 + strconts1;
10435
+                            //model.F_SuperiorOpinion2 = nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ") " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " " + cont;
10436
+                            model.F_SuperiorOpinion2 = string.IsNullOrEmpty(model.F_SuperiorOpinion2) ? strconts1 : model.F_SuperiorOpinion2 + strconts1;
10403 10437
                         }
10404 10438
                     }                 
10405 10439
                 }
@@ -10876,18 +10910,20 @@ namespace CallCenterApi.Interface.Controllers.workorder
10876 10910
                     }
10877 10911
                 if (!string.IsNullOrEmpty(Supercont))
10878 10912
                 {
10913
+                    string strcont = nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ") " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
10914
+                    string strconts1 = strcont + " " + Supercont + ";@# ";
10879 10915
                     if (flag == 1 || ((model.F_Flag == null || model.F_Flag == 0) && flag == 3))
10880 10916
                     {
10881
-                        if (model.F_SuperiorOpinion.Trim() != Supercont.Trim())
10917
+                        if (!model.F_SuperiorOpinion.Trim().Contains(Supercont.Trim()))
10882 10918
                         {
10883
-                            model.F_SuperiorOpinion = nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ") " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " " + Supercont;
10919
+                            model.F_SuperiorOpinion = string.IsNullOrEmpty(model.F_SuperiorOpinion) ? strconts1 : model.F_SuperiorOpinion + strconts1;
10884 10920
                         }
10885 10921
                     }
10886 10922
                     else if (flag == 2)
10887 10923
                     {
10888
-                        if (model.F_SuperiorOpinion2.Trim() != Supercont.Trim())
10924
+                        if (!model.F_SuperiorOpinion2.Trim().Contains(Supercont.Trim()))
10889 10925
                         {
10890
-                            model.F_SuperiorOpinion2 = nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ") " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " " + Supercont;
10926
+                            model.F_SuperiorOpinion2 = string.IsNullOrEmpty(model.F_SuperiorOpinion2) ? strconts1 : model.F_SuperiorOpinion2 + strconts1;
10891 10927
                         }
10892 10928
                     }
10893 10929
 
@@ -10966,12 +11002,12 @@ namespace CallCenterApi.Interface.Controllers.workorder
10966 11002
         {
10967 11003
             #region 消息提醒
10968 11004
             string strmsg = string.Empty;
10969
-            strmsg = nowUser.F_UserName + "(" + nowUser.F_UserCode + ")" + "操作" + opt + "工单";
11005
+            strmsg = nowUser.F_UserName + "(" + nowUser.F_UserCode + ")" + "操作" + opt + "工单,工单编号<a href='./WorkOrder/commonHtml/orderDetails.html?oid="+womodel.F_ID+"'>" + womodel.F_WorkOrderCode + "</a>";
10970 11006
             Model.T_Msg_List msg = new Model.T_Msg_List();
10971 11007
             msg.Type = (int)Model.MSGType.Handle;//处理
10972 11008
             msg.ToUser = touser;
10973 11009
             msg.ToID = toid;
10974
-            msg.Detail = strmsg;
11010
+            msg.Detail = $"<span class='top_notices_con'> " + strmsg + "</span>"; ;
10975 11011
             msg.State = 0;
10976 11012
             msg.IsDel = 0;
10977 11013
             msg.CreateUser = nowUser.F_UserCode;

+ 1 - 1
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Web.config

@@ -17,7 +17,7 @@
17 17
     <add key="smssign" value=""/>
18 18
   </appSettings>
19 19
   <connectionStrings>
20
-    <add name="ConnectionString" connectionString="Data Source=192.168.8.3;User ID=sa;pwd=800100;Initial Catalog=xinlianxin;"/>
20
+    <add name="ConnectionString" connectionString="Data Source=192.168.8.3;User ID=sa;pwd=800100;Initial Catalog=CallCenter_XinXiangXLX0804;"/>
21 21
   <!--<add name="ConnectionString" connectionString="Data Source=.;User ID=sa;pwd=sa123456;Initial Catalog=CallCenter_XinXiangXLX0722;" />-->
22 22
   </connectionStrings>
23 23
   <system.web>