zhupei 3 jaren geleden
bovenliggende
commit
6e41fbc64e

+ 29 - 29
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/AnnotationController.cs

13
     public class AnnotationController : BaseController
13
     public class AnnotationController : BaseController
14
     {
14
     {
15
         // GET: Annotation
15
         // GET: Annotation
16
-        public ActionResult GetList()
16
+        public ActionResult GetList(int woid)
17
         {
17
         {
18
-            ActionResult res = NoToken("未知错误,请重新登录");
19
             string sql = " ";
18
             string sql = " ";
19
+            int recordCount = 0;
20
             DataTable dt = new DataTable();
20
             DataTable dt = new DataTable();
21
-
22
-            string strpageindex = RequestString.GetQueryString("page");
23
-            int pageindex = 1;
24
-            string strpagesize = RequestString.GetQueryString("pagesize");
25
-            int pagesize = 10;
26
-            if (strpageindex.Trim() != "")
21
+            if (woid > 0)
27
             {
22
             {
28
-                pageindex = Convert.ToInt32(strpageindex);
29
-            }
23
+                sql = $" and F_Wocode={woid}";
24
+                string strpageindex = RequestString.GetQueryString("page");
25
+                int pageindex = 1;
26
+                string strpagesize = RequestString.GetQueryString("pagesize");
27
+                int pagesize = 10;
28
+                if (strpageindex.Trim() != "")
29
+                {
30
+                    pageindex = Convert.ToInt32(strpageindex);
31
+                }
30
 
32
 
31
-            if (strpagesize.Trim() != "")
32
-            {
33
-                pagesize = Convert.ToInt32(strpagesize);
33
+                if (strpagesize.Trim() != "")
34
+                {
35
+                    pagesize = Convert.ToInt32(strpagesize);
36
+                }
37
+                dt = BLL.PagerBLL.GetListPager(
38
+                    "T_Wo_AnnotationTab",
39
+                    "F_Id",
40
+                    "*",
41
+                    sql,
42
+                    "ORDER BY F_Id desc",
43
+                    pagesize,
44
+                    pageindex,
45
+                    true,
46
+                    out recordCount);
47
+            
34
             }
48
             }
35
-            int recordCount = 0;
36
-            dt = BLL.PagerBLL.GetListPager(
37
-                "T_Wo_AnnotationTab",
38
-                "F_Id",
39
-                "*",
40
-                sql,
41
-                "ORDER BY F_Id desc",
42
-                pagesize,
43
-                pageindex,
44
-                true,
45
-                out recordCount);
46
-
47
             var obj = new
49
             var obj = new
48
             {
50
             {
49
                 state = "success",
51
                 state = "success",
52
                 total = recordCount
54
                 total = recordCount
53
             };
55
             };
54
 
56
 
55
-            res = Content(obj.ToJson());
56
-
57
-            return res;
57
+            return Content(obj.ToJson());
58
         }
58
         }
59
         /// <summary>
59
         /// <summary>
60
         /// 获取详情
60
         /// 获取详情
85
                     {
85
                     {
86
                         int id = RequestString.GetInt("id", 0);
86
                         int id = RequestString.GetInt("id", 0);
87
                         string contents = RequestString.GetFormString("contents");
87
                         string contents = RequestString.GetFormString("contents");
88
-                        string wocode = RequestString.GetFormString("wocodes");
88
+                        string wocode = RequestString.GetFormString("woid");
89
 
89
 
90
 
90
 
91
 
91
 

+ 146 - 79
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/weixin/WxLoginController.cs

1087
                                     sql += "  and T_Wo_WorkOrder.F_ID in ( " + dealstr + ") ";
1087
                                     sql += "  and T_Wo_WorkOrder.F_ID in ( " + dealstr + ") ";
1088
                                     if (!string.IsNullOrEmpty(GetRevokeWo(ua.F_UserCode)))
1088
                                     if (!string.IsNullOrEmpty(GetRevokeWo(ua.F_UserCode)))
1089
                                     {
1089
                                     {
1090
-                                        if (ua.F_Flag == 1)
1091
-                                        {
1092
-                                            sql += " or (F_State=" + (int)EnumWorkOrderState.assign + " and T_Wo_WorkOrder.F_ID in (" + GetRevokeWo(ua.F_UserCode) + ")))";
1093
-                                        }
1094
-                                        else if (ua.F_Flag == 2)
1095
-                                        {
1096
-                                            sql += " or (F_State2=" + (int)EnumWorkOrderState.assign + " and T_Wo_WorkOrder.F_ID in (" + GetRevokeWo(ua.F_UserCode) + ")))";
1097
-                                        }
1090
+                                      sql += " or ((F_State=" + (int)EnumWorkOrderState.assign + " or F_State2=" + (int)EnumWorkOrderState.assign + ") and T_Wo_WorkOrder.F_ID in (" + GetRevokeWo(ua.F_UserCode) + ")))";
1091
+                                        //if (ua.F_Flag == 1)
1092
+                                        //{
1093
+                                        //    sql += " or (F_State=" + (int)EnumWorkOrderState.assign + " and T_Wo_WorkOrder.F_ID in (" + GetRevokeWo(ua.F_UserCode) + ")))";
1094
+                                        //}
1095
+                                        //else if (ua.F_Flag == 2)
1096
+                                        //{
1097
+                                        //    sql += " or (F_State2=" + (int)EnumWorkOrderState.assign + " and T_Wo_WorkOrder.F_ID in (" + GetRevokeWo(ua.F_UserCode) + ")))";
1098
+                                        //}
1098
                                     }
1099
                                     }
1099
                                     else
1100
                                     else
1100
                                     {
1101
                                     {
1573
                     else if (ro.F_RoleCode == "DQJL" || ro.F_RoleCode == "FGSJL" || ro.F_RoleCode == "BLRY" || ro.F_RoleCode == "ZG" || ro.F_RoleCode == "GC")
1574
                     else if (ro.F_RoleCode == "DQJL" || ro.F_RoleCode == "FGSJL" || ro.F_RoleCode == "BLRY" || ro.F_RoleCode == "ZG" || ro.F_RoleCode == "GC")
1574
                     {
1575
                     {
1575
                         string markdepts = "37,57,74,88,268,422,339";
1576
                         string markdepts = "37,57,74,88,268,422,339";
1576
-                        string qualdepts = "12,36,295";
1577
+                        string qualdepts = "12,36,295,245";
1577
                         string detpid = "" + ua.F_DeptId;
1578
                         string detpid = "" + ua.F_DeptId;
1578
                         var deparmentlist = new List<Model.T_Sys_Department>();
1579
                         var deparmentlist = new List<Model.T_Sys_Department>();
1579
                         Model.T_Sys_Department dModel = departmentBLL.GetModel(ua.F_DeptId);
1580
                         Model.T_Sys_Department dModel = departmentBLL.GetModel(ua.F_DeptId);
1956
                             sql += "  and T_Wo_WorkOrder.F_ID in ( " + dealstr + ") ";
1957
                             sql += "  and T_Wo_WorkOrder.F_ID in ( " + dealstr + ") ";
1957
                             if (!string.IsNullOrEmpty(GetRevokeWo(ua.F_UserCode)))
1958
                             if (!string.IsNullOrEmpty(GetRevokeWo(ua.F_UserCode)))
1958
                             {
1959
                             {
1959
-                                if (ua.F_Flag == 1)
1960
-                                {
1961
-                                    sql += " or (F_State=" + (int)EnumWorkOrderState.assign + " and T_Wo_WorkOrder.F_ID in (" + GetRevokeWo(ua.F_UserCode) + ")))";
1962
-                                }
1963
-                                else if (ua.F_Flag == 2)
1964
-                                {
1965
-                                    sql += " or (F_State2=" + (int)EnumWorkOrderState.assign + " and T_Wo_WorkOrder.F_ID in (" + GetRevokeWo(ua.F_UserCode) + ")))";
1966
-                                }
1960
+                                sql += " or ((F_State=" + (int)EnumWorkOrderState.assign + " or F_State2=" + (int)EnumWorkOrderState.assign + ") and T_Wo_WorkOrder.F_ID in (" + GetRevokeWo(ua.F_UserCode) + ")))";
1961
+                                //if (ua.F_Flag == 1)
1962
+                                //{
1963
+                                //    sql += " or (F_State=" + (int)EnumWorkOrderState.assign + " and T_Wo_WorkOrder.F_ID in (" + GetRevokeWo(ua.F_UserCode) + ")))";
1964
+                                //}
1965
+                                //else if (ua.F_Flag == 2)
1966
+                                //{
1967
+                                //    sql += " or (F_State2=" + (int)EnumWorkOrderState.assign + " and T_Wo_WorkOrder.F_ID in (" + GetRevokeWo(ua.F_UserCode) + ")))";
1968
+                                //}
1967
                             }
1969
                             }
1968
                             else
1970
                             else
1969
                             {
1971
                             {
2159
                         {
2161
                         {
2160
 
2162
 
2161
                             string markdepts = "37,57,74,88,268,422,339";
2163
                             string markdepts = "37,57,74,88,268,422,339";
2162
-                            string qualdepts = "12,36,295";
2164
+                            string qualdepts = "12,36,295,245";
2163
                             string detpid = "" + ua.F_DeptId;
2165
                             string detpid = "" + ua.F_DeptId;
2164
                             var deparmentlist = new List<Model.T_Sys_Department>();
2166
                             var deparmentlist = new List<Model.T_Sys_Department>();
2165
                             Model.T_Sys_Department dModel = departmentBLL.GetModel(ua.F_DeptId);
2167
                             Model.T_Sys_Department dModel = departmentBLL.GetModel(ua.F_DeptId);
2326
                             string touser = "";
2328
                             string touser = "";
2327
                             string strwhere = "";
2329
                             string strwhere = "";
2328
                             string contens = "";
2330
                             string contens = "";
2329
-                            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) order by F_CreateTime desc)";
2331
+                            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) order by F_CreateTime desc)";
2330
                             var deptmodel = departmentBLL.GetModelList(strwhere).FirstOrDefault();
2332
                             var deptmodel = departmentBLL.GetModelList(strwhere).FirstOrDefault();
2331
                             if (deptmodel != null)
2333
                             if (deptmodel != null)
2332
                             {
2334
                             {
2334
                                 if (userlist.Count > 0)
2336
                                 if (userlist.Count > 0)
2335
                                 {
2337
                                 {
2336
                                     if (flag == 1)
2338
                                     if (flag == 1)
2337
-                                       
2338
-                                    contens = $" 修改注解,工单编号" + model.F_WorkOrderCode;
2339
+                                        contens = $" 修改注解,工单编号 <a href='./WorkOrder/commonHtml/orderDetails.html?oid={model.F_ID}'>" + model.F_WorkOrderCode + "</a>";
2340
+
2341
+                                    //< span class="top_notices_con">系统维护管理员 修改注解, 工单编号 20220527152927398</span>
2339
                                     else
2342
                                     else
2340
-                                        contens =$" 附加注解,工单编号" + model.F_WorkOrderCode; 
2343
+                                        contens = $" 附加注解,工单编号 <a href='./WorkOrder/commonHtml/orderDetails.html?oid={model.F_ID}'>" + model.F_WorkOrderCode + "</a>";
2341
                                     foreach (var item in userlist)
2344
                                     foreach (var item in userlist)
2342
                                     {
2345
                                     {
2343
                                         touser = item.F_UserCode; ;
2346
                                         touser = item.F_UserCode; ;
2345
                                         msg.Type = (int)Model.MSGType.Annotation;
2348
                                         msg.Type = (int)Model.MSGType.Annotation;
2346
                                         msg.ToUser = touser;
2349
                                         msg.ToUser = touser;
2347
                                         msg.ToID = (int)model.F_ID;
2350
                                         msg.ToID = (int)model.F_ID;
2348
-                                        msg.Detail = ua.F_UserName + contens;
2351
+                                        msg.Detail = $"<span class='top_notices_con'> " + ua.F_UserName + contens + "</span>";
2349
                                         msg.State = 0;
2352
                                         msg.State = 0;
2350
                                         msg.IsDel = 0;
2353
                                         msg.IsDel = 0;
2351
                                         msg.CreateDate = DateTime.Now;
2354
                                         msg.CreateDate = DateTime.Now;
2488
                     Model.T_Wo_WorkOrder model = woBLL.GetModel(orderid);
2491
                     Model.T_Wo_WorkOrder model = woBLL.GetModel(orderid);
2489
                     if (model != null)
2492
                     if (model != null)
2490
                     {
2493
                     {
2491
-                        var itemlast = itembll.GetModelList("   F_WoID='" + model.F_ID + "' order by F_ID desc").FirstOrDefault();
2492
-                        if (itemlast!=null )
2493
-                         sms = (int)itemlast.F_IsSMS;
2494
+                        //var itemlast = itembll.GetModelList("   F_WoID='" + model.F_ID + "' order by F_ID desc").FirstOrDefault();
2495
+                        //if (itemlast!=null )
2496
+                        // sms = (int)itemlast.F_IsSMS;
2494
                         var res = Approval(OpenId, orderid, AuditCont, ua, model, overtime, sms, IsAudit, AuditState);
2497
                         var res = Approval(OpenId, orderid, AuditCont, ua, model, overtime, sms, IsAudit, AuditState);
2495
                         if (res)
2498
                         if (res)
2496
                             return Success("审核成功");
2499
                             return Success("审核成功");
2546
             string deptmodelsname = "";
2549
             string deptmodelsname = "";
2547
             int wostate = 0;
2550
             int wostate = 0;
2548
             var toussers = "";
2551
             var toussers = "";
2552
+            int woflag = 0;
2549
             #region 上报
2553
             #region 上报
2550
             if (IsAudit != 0)
2554
             if (IsAudit != 0)
2551
             {
2555
             {
2642
                             if (userid <= 0 || !res)
2646
                             if (userid <= 0 || !res)
2643
                                 res = false;
2647
                                 res = false;
2644
                             wostate = 1;
2648
                             wostate = 1;
2649
+                            woflag = 9;
2645
                         }
2650
                         }
2646
                         else if (AuditState == 1)
2651
                         else if (AuditState == 1)
2647
                         {
2652
                         {
2674
             if (res)
2679
             if (res)
2675
             {
2680
             {
2676
                 model.F_State = wostate;
2681
                 model.F_State = wostate;
2677
-                model.F_State2 = wostate;
2682
+                if (woflag == 9)
2683
+                {
2684
+                    model.F_State2 = 0;
2685
+                }
2686
+                else
2687
+                {
2688
+                    model.F_State2 = wostate;
2689
+                }
2690
+                model.F_Flag = woflag;
2678
                 //处理内容
2691
                 //处理内容
2679
                 if (!string.IsNullOrEmpty(AuditCont))
2692
                 if (!string.IsNullOrEmpty(AuditCont))
2680
                     model.F_AuditCont += AuditCont + ";";
2693
                     model.F_AuditCont += AuditCont + ";";
2754
                 deptname = deptmodel1.F_DeptName;
2767
                 deptname = deptmodel1.F_DeptName;
2755
             }
2768
             }
2756
             int isbl = 0;
2769
             int isbl = 0;
2770
+            int flag = 9;
2757
             Model.T_Sys_RoleInfo ro = rolebll.GetModel(ua.F_RoleId);
2771
             Model.T_Sys_RoleInfo ro = rolebll.GetModel(ua.F_RoleId);
2758
             //if (dapt != 0)
2772
             //if (dapt != 0)
2759
             //{
2773
             //{
2762
                 isbl = 1;
2776
                 isbl = 1;
2763
                 nextda = 37;
2777
                 nextda = 37;
2764
                 opt = "流转市场管理科";
2778
                 opt = "流转市场管理科";
2765
-                nextda2 = 36;
2766
-                opt2 = "流转质量管理科";
2779
+                //nextda2 = 36;
2780
+                //opt2 = "流转质量管理科";
2781
+                //flag = 3;
2767
             }
2782
             }
2768
             else if (CirculMarket(ua.F_DeptId, 14))
2783
             else if (CirculMarket(ua.F_DeptId, 14))
2769
             {
2784
             {
2776
                 isbl = 1;
2791
                 isbl = 1;
2777
                 nextda = 74;
2792
                 nextda = 74;
2778
                 opt = "流转策划推广";
2793
                 opt = "流转策划推广";
2794
+                //nextda2 = 245;
2795
+                //opt2 = "流转质量督察处";
2796
+                //flag = 3;
2779
             }
2797
             }
2780
             else if (CirculMarket(ua.F_DeptId, 16))
2798
             else if (CirculMarket(ua.F_DeptId, 16))
2781
             {
2799
             {
2813
                 if (ro.F_RoleCode == "DQJL")
2831
                 if (ro.F_RoleCode == "DQJL")
2814
                 {
2832
                 {
2815
                     cont = "大区经理已审批:" + AuditCont + "," + opt;
2833
                     cont = "大区经理已审批:" + AuditCont + "," + opt;
2816
-                    if (!string.IsNullOrEmpty(opt2))
2817
-                    {
2818
-                        cont2 = "大区经理已审批: " + AuditCont + "," + opt2;
2819
-                    }
2834
+                    //if (!string.IsNullOrEmpty(opt2))
2835
+                    //{
2836
+                    //    cont2 = "大区经理已审批: " + AuditCont + "," + opt2;
2837
+                    //}
2820
                 }
2838
                 }
2821
                 else
2839
                 else
2822
                 {
2840
                 {
2823
                     cont = "分公司经理已审批:" + AuditCont + "," + opt;
2841
                     cont = "分公司经理已审批:" + AuditCont + "," + opt;
2824
-                    if (!string.IsNullOrEmpty(opt2))
2825
-                    {
2826
-                        cont2 = "分公司经理已审批: " + AuditCont + "," + opt2;
2827
-                    }
2842
+                    //if (!string.IsNullOrEmpty(opt2))
2843
+                    //{
2844
+                    //    cont2 = "分公司经理已审批: " + AuditCont + "," + opt2;
2845
+                    //}
2828
                 }
2846
                 }
2829
             }
2847
             }
2830
             else
2848
             else
2832
                 if (ro.F_RoleCode == "DQJL")
2850
                 if (ro.F_RoleCode == "DQJL")
2833
                 {
2851
                 {
2834
                     cont = "大区经理未审批" + opt;
2852
                     cont = "大区经理未审批" + opt;
2835
-                    if (!string.IsNullOrEmpty(opt2))
2836
-                    {
2837
-                        cont2 = "大区经理未审批" + opt2;
2838
-                    }
2853
+                    //if (!string.IsNullOrEmpty(opt2))
2854
+                    //{
2855
+                    //    cont2 = "大区经理未审批" + opt2;
2856
+                    //}
2839
                 }
2857
                 }
2840
                 else
2858
                 else
2841
                 {
2859
                 {
2842
                     cont = "分公司经理未审批" + opt;
2860
                     cont = "分公司经理未审批" + opt;
2843
-                    if (!string.IsNullOrEmpty(opt2))
2844
-                    {
2845
-                        cont2 = "分公司经理未审批" + opt2;
2846
-                    }
2861
+                    //if (!string.IsNullOrEmpty(opt2))
2862
+                    //{
2863
+                    //    cont2 = "分公司经理未审批" + opt2;
2864
+                    //}
2847
                 }
2865
                 }
2848
             }
2866
             }
2849
-            if (nextda != 0 || nextda2 != 0)
2867
+            if (nextda != 0)
2850
             {
2868
             {
2851
-                var res = AssignWO(ua, model, Input[0], cont, "", nextda, 0, model.F_limit, sms, 0, 0, 0, time.ToString(), isbl);
2852
-                if (nextda2 != 0)
2853
-                {
2854
-                    var res2 = AssignWO(ua, model, Input[0], cont2, "", nextda2, 0, model.F_limit, sms, 0, 0, 0, time.ToString(), isbl,2);
2855
-                }
2856
-                return true;
2869
+                model.F_Flag = 9;
2870
+                var res = AssignWO(ua, model, Input[0], cont, "", nextda, 0, model.F_limit, sms, 0, 0, 0, time.ToString(), isbl,3,9);          
2871
+                return res;
2857
             }
2872
             }
2858
             else return false;
2873
             else return false;
2859
         }
2874
         }
2959
                     list.Add(model);
2974
                     list.Add(model);
2960
                 }
2975
                 }
2961
                 var itemlasts = itembll.GetModelList("  F_WoID=" + id + " ");
2976
                 var itemlasts = itembll.GetModelList("  F_WoID=" + id + " ");
2962
-                ; var configfj = new BLL.T_Sys_SystemConfig().GetModelList(" F_ParamCode='FileUrlPath' ").FirstOrDefault();
2977
+                //; var configfj = new BLL.T_Sys_SystemConfig().GetModelList(" F_ParamCode='FileUrlPath' ").FirstOrDefault();
2978
+                //if (!string.IsNullOrEmpty(model.F_Files))
2979
+                //{
2980
+                //    FileUrl = GetFileData(model.F_Files, configfj.F_ParamValue);
2981
+                //}
2963
                 if (!string.IsNullOrEmpty(model.F_Files))
2982
                 if (!string.IsNullOrEmpty(model.F_Files))
2964
                 {
2983
                 {
2965
-                    FileUrl = GetFileData(model.F_Files, configfj.F_ParamValue);
2984
+                    var configfj = "http://192.168.8.9:1005/Upload/APP/2022/06/22/";
2985
+                    FileUrl = GetFileData(model.F_Files, configfj);
2966
                 }
2986
                 }
2967
                 var ua = userAccountBLL.GetModelList(" F_WxOpenId='" + OpenId + "'").FirstOrDefault();
2987
                 var ua = userAccountBLL.GetModelList(" F_WxOpenId='" + OpenId + "'").FirstOrDefault();
2968
                 if (model.F_Source != "3")
2988
                 if (model.F_Source != "3")
5000
         /// <returns></returns>
5020
         /// <returns></returns>
5001
         [WechatActionFilter]
5021
         [WechatActionFilter]
5002
         public ActionResult AssignWorkOrder(string OpenId, long orderid, string cont, WorkOrdeDeptment deptment, string F_Files, int isvisit = 1,
5022
         public ActionResult AssignWorkOrder(string OpenId, long orderid, string cont, WorkOrdeDeptment deptment, string F_Files, int isvisit = 1,
5003
-            int overtime = 0, int sms = -1, int clbm = 0, int clid = 0, int isApprovalp = 0, int hclbm = 0, int hclid = 0, int clbm2 = 0, int clid2 = 0,string jsonstr="")
5023
+            int overtime = 0, int sms = -1, int clbm = 0, int clid = 0, int isApprovalp = 0, int hclbm = 0, int hclid = 0, int clbm2 = 0, int clid2 = 0,string jsonstr="", int flag = 1)
5004
         {
5024
         {
5005
 
5025
 
5006
             if (!string.IsNullOrEmpty(OpenId))
5026
             if (!string.IsNullOrEmpty(OpenId))
5030
                      sms = (int)itemlast.F_IsSMS;
5050
                      sms = (int)itemlast.F_IsSMS;
5031
                 }
5051
                 }
5032
                 WorkOrderNewInput input = new WorkOrderNewInput();
5052
                 WorkOrderNewInput input = new WorkOrderNewInput();
5033
-
5053
+                string markdepts = "37,57,74,88,268,422,339";
5054
+                string qualdepts = "12,36,295,245";
5034
                 if (ua != null)
5055
                 if (ua != null)
5035
                 {
5056
                 {
5036
                     Model.T_Sys_RoleInfo ro = rolebll.GetModel(ua.F_RoleId);
5057
                     Model.T_Sys_RoleInfo ro = rolebll.GetModel(ua.F_RoleId);
5057
                     {
5078
                     {
5058
                         return Error("请选择接收部门");
5079
                         return Error("请选择接收部门");
5059
                     }
5080
                     }
5060
-                    if (ro.F_RoleCode == "JDYPTZX" || ro.F_RoleCode == "JDYBZZX" || ro.F_RoleCode == "XTGLY")
5081
+                    if (markdepts.Contains(ua.F_DeptId.ToString()))
5061
                     {
5082
                     {
5083
+                        if (markdepts.Contains(ua.F_DeptId.ToString()))
5084
+                        {
5085
+                            if (model.F_Type == "2" || model.F_Type == "5")
5086
+                            {
5087
+                                input.F_SC_PreliminaryOpinion = deptment.PreliminaryOpinion;//市场管理科-初审意见:退货、换货、补偿、自行处理
5088
+                                input.F_ZL_ClaimAmount = deptment.ClaimAmount;// 质量管理科-索赔金额(单位元,对应责任单位)
5089
+                            }
5090
+                            else if (model.F_Type == "3")
5091
+                            {
5092
+                                input.F_SC_CJ_SpotResult = deptment.SpotResult;//市场管理科-抽检-抽检结果(视同合格、合格、不合格、复检后合格、未送检)
5093
+                                input.F_SC_CJ_SelfResult = deptment.SelfResult;//市场管理科-抽检-自检结果
5094
+                                input.F_SC_CJ_ApprovalNo = deptment.ApprovalNo;//市场管理科-抽检-对应审批工作流单号
5095
+                                input.F_SC_CJ_ReturnAccount = deptment.ReturnAccount;//市场管理科-抽检-确认返账金额
5096
+                            }
5097
+                        }
5062
                         if ((clbm == 0 && clid == 0) || (clbm2 == 0 && clid2 == 0))
5098
                         if ((clbm == 0 && clid == 0) || (clbm2 == 0 && clid2 == 0))
5063
                         {
5099
                         {
5064
                             return Error("请选择接收部门");
5100
                             return Error("请选择接收部门");
5065
                         }
5101
                         }
5102
+
5103
+                        model.F_Flag = flag;
5104
+                        if (flag == 3)
5105
+                        {
5106
+                            if ((clbm == 0 && clid == 0) || (clbm2 == 0 && clid2 == 0))
5107
+                            {
5108
+                                return Error("请选择接收部门");
5109
+
5110
+                            }
5111
+                            var res = AssignWO(ua, model, input, cont, F_Files, clbm, clid, overtime, sms, isApprovalp, hclbm, hclid, "", 0, 1, flag);
5112
+                            var res1 = AssignWO(ua, model, input, cont, F_Files, clbm2, clid2, overtime, sms, isApprovalp, hclbm, hclid, "", 0, 2, flag);
5113
+
5114
+                        }
5115
+                        else if (flag == 2)
5116
+                        {
5117
+                            if (clbm2 == 0 && clid2 == 0)
5118
+                            {
5119
+                                return Error("请选择接收部门");
5120
+                            }
5121
+                            var res1 = AssignWO(ua, model, input, cont, F_Files, clbm2, clid2, overtime, sms, isApprovalp, hclbm, hclid, "", 0, 2, flag);
5122
+                            DealWO(ua, model,"", input, cont, 1, "", 1,"", flag);
5123
+                        }
5124
+                        else
5125
+                        {
5126
+                            if (clbm == 0 && clid == 0)
5127
+                            {
5128
+                                return Error("请选择接收部门");
5129
+                            }
5130
+                            var res = AssignWO(ua, model, input, cont, F_Files, clbm, clid, overtime, sms, isApprovalp, hclbm, hclid, "", 0, 1, flag);
5131
+                            DealWO(ua, model, "", input, cont, 1, "", 2, "", flag);
5132
+                        }
5133
+                        return Success("转派成功");
5066
                     }
5134
                     }
5067
                     else
5135
                     else
5068
                     {
5136
                     {
5218
                                 return Error("请选择接收部门");
5286
                                 return Error("请选择接收部门");
5219
                             }
5287
                             }
5220
                         }
5288
                         }
5221
-                    }
5222
-
5223
-                    if (ro.F_RoleCode == "JDYPTZX" || ro.F_RoleCode == "JDYBZZX" || ro.F_RoleCode == "XTGLY")
5224
-                    {
5225
-                        var res = AssignWO(ua, model, input, cont, F_Files, clbm, clid, overtime, sms, isApprovalp, hclbm, hclid);
5226
-                        var res1 = AssignWO(ua, model, input, cont, F_Files, clbm2, clid2, overtime, sms, isApprovalp, hclbm, hclid, "", 0, 2);
5227
-                        if (res && res1)
5228
-                        {
5229
-                            return Success("转派成功");
5230
-                        }
5231
-                        else
5232
-                            return Error("转派失败!");
5233
-                    }
5234
-                    else
5235
-                    {
5236
                         var res = AssignWO(ua, model, input, cont, F_Files, clbm, clid, overtime, sms, isApprovalp, hclbm, hclid, "", 0, ua.F_Flag);
5289
                         var res = AssignWO(ua, model, input, cont, F_Files, clbm, clid, overtime, sms, isApprovalp, hclbm, hclid, "", 0, ua.F_Flag);
5237
                         if (res)
5290
                         if (res)
5238
                         {
5291
                         {
5240
                         }
5293
                         }
5241
                         else
5294
                         else
5242
                             return Error("转派失败!");
5295
                             return Error("转派失败!");
5243
-                    }
5296
+                    }             
5244
 
5297
 
5245
                 }
5298
                 }
5246
             }
5299
             }
5249
         /// <summary>
5302
         /// <summary>
5250
         /// 转派工单
5303
         /// 转派工单
5251
         /// </summary>
5304
         /// </summary>
5252
-        public bool AssignWO(Model.T_Sys_UserAccount nowUser, Model.T_Wo_WorkOrder model, WorkOrderNewInput input, string cont, string F_Files, int clbm = 0, int clid = 0, int overtime = 0, int sms = 0, int isApprovalp = 0, int hclbm = 0, int hclid = 0, string creat = "",int  isbl=0, int flag = 1)
5305
+        public bool AssignWO(Model.T_Sys_UserAccount nowUser, Model.T_Wo_WorkOrder model, WorkOrderNewInput input, string cont, string F_Files, int clbm = 0, int clid = 0, int overtime = 0, int sms = 0, int isApprovalp = 0, int hclbm = 0, int hclid = 0, string creat = "",int  isbl=0, int flag = 1, int flagstate = 0)
5253
         {
5306
         {
5254
 
5307
 
5255
             if (model.F_limit > 0)
5308
             if (model.F_limit > 0)
5974
                         if (model != null)
6027
                         if (model != null)
5975
                         {
6028
                         {
5976
                             string markdepts = "37,57,74,88,268,422,339";
6029
                             string markdepts = "37,57,74,88,268,422,339";
5977
-                            string qualdepts = "12,36,295";
6030
+                            string qualdepts = "12,36,295,245";
5978
                             string strsql = "";
6031
                             string strsql = "";
5979
                             if (ua.F_Flag == 1)
6032
                             if (ua.F_Flag == 1)
5980
                             {
6033
                             {
6490
         {
6543
         {
6491
             #region 工单处理
6544
             #region 工单处理
6492
             int sms = 0;
6545
             int sms = 0;
6546
+            string markdepts = "37,57,74,88,268,422,339";
6493
             var itemlasts = itembll.GetModelList("  F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID=" + model.F_ID + " ");
6547
             var itemlasts = itembll.GetModelList("  F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID=" + model.F_ID + " ");
6494
             if (itemlasts.Count > 0)
6548
             if (itemlasts.Count > 0)
6495
             {
6549
             {
6531
                 strsql = "";
6585
                 strsql = "";
6532
             }
6586
             }
6533
 
6587
 
6534
-            var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_IsUsed=0 and F_WoState =" + F_OptType + " and  F_WoID='" + model.F_ID + "'" + strsql + " order by F_ID desc");
6588
+            var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_IsUsed=0 and F_WoState =" + F_OptType + " and  F_WoID='" + model.F_ID + "'and F_CreateUser='" + nowUser.F_UserCode + "' order by F_ID desc");
6535
             if (itemlast != null && itemlast.Count > 0)
6589
             if (itemlast != null && itemlast.Count > 0)
6536
             {
6590
             {
6591
+                if (markdepts.Contains(nowUser.F_DeptId.ToString()))
6592
+                {
6593
+                    var itemnext = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and F_WoState =" + F_OptType + " and  F_WoID='" + model.F_ID + "'and F_NextUser like '%" + nowUser.F_UserCode + "%' order by F_ID desc").FirstOrDefault();
6594
+                    if (itemlast.Count == 2 || itemnext.F_Flag == 9)
6595
+                    {
6596
+                        flag = 3;
6597
+                        model.F_Flag = 9;
6598
+                    }
6599
+                }
6537
                 foreach (var item in itemlast)
6600
                 foreach (var item in itemlast)
6538
                 {
6601
                 {
6539
                     touser = item.F_NextUser;
6602
                     touser = item.F_NextUser;
6615
         /// <summary>
6678
         /// <summary>
6616
         /// 处理工单
6679
         /// 处理工单
6617
         /// </summary>
6680
         /// </summary>
6618
-        public bool DealWO(Model.T_Sys_UserAccount nowUser, Model.T_Wo_WorkOrder model, string F_Files, WorkOrderNewInput input, string cont, int isover = 0, string uncont = "",int flag=1, string eventreason = "")
6681
+        public bool DealWO(Model.T_Sys_UserAccount nowUser, Model.T_Wo_WorkOrder model, string F_Files, WorkOrderNewInput input, string cont, int isover = 0, string uncont = "",int flag=1, string eventreason = "", int flagstate = 0)
6619
         {
6682
         {
6620
             #region 工单处理
6683
             #region 工单处理
6621
             int sms = 0;
6684
             int sms = 0;
6666
             if (!string.IsNullOrEmpty(cont))
6729
             if (!string.IsNullOrEmpty(cont))
6667
                 optcont = ",处理内容:" + cont;
6730
                 optcont = ",处理内容:" + cont;
6668
             var content = deptname + nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ")" + opt + "工单" + optcont;
6731
             var content = deptname + nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ")" + opt + "工单" + optcont;
6669
-            var itemid = AddLog(model.F_ID, wostate, content, (int)EnumItemType.deal, optbut, nextuser, nextdept, nowUser, model.F_limit, sms, "", 0, flag);
6732
+            var itemid = AddLog(model.F_ID, wostate, content, (int)EnumItemType.deal, optbut, nextuser, nextdept, nowUser, model.F_limit, sms, "", 0, flag, flagstate);
6670
             if (itemid > 0)
6733
             if (itemid > 0)
6671
             {
6734
             {
6672
                 #region 处理工单
6735
                 #region 处理工单
7067
         /// <summary>
7130
         /// <summary>
7068
         /// 添加工单记录
7131
         /// 添加工单记录
7069
         /// </summary>
7132
         /// </summary>
7070
-        public long AddLog(long woid, int wostate, string content, int itemtype, int opttype, string nextuser, int nextdept, Model.T_Sys_UserAccount nowUser, float overtime, int sms, string create = "", int F_IsUsed = 0, int flag = 3)
7133
+        public long AddLog(long woid, int wostate, string content, int itemtype, int opttype, string nextuser, int nextdept, Model.T_Sys_UserAccount nowUser, float overtime, int sms, string create = "", int F_IsUsed = 0, int flag = 3,int flagstate = 0)
7071
         {
7134
         {
7072
             Model.T_Wo_WorkOrderItem_New itemModel = new Model.T_Wo_WorkOrderItem_New();
7135
             Model.T_Wo_WorkOrderItem_New itemModel = new Model.T_Wo_WorkOrderItem_New();
7073
             #region 
7136
             #region 
7112
             itemModel.F_IsUsed = F_IsUsed;
7175
             itemModel.F_IsUsed = F_IsUsed;
7113
             itemModel.F_LimitTime = overtime.ToString();
7176
             itemModel.F_LimitTime = overtime.ToString();
7114
             itemModel.F_Type = flag;//区分内外线和公共部门
7177
             itemModel.F_Type = flag;//区分内外线和公共部门
7178
+            if (flagstate != 0)
7179
+                itemModel.F_Flag = flagstate;
7180
+            else
7181
+                itemModel.F_Flag = new BLL.T_Wo_WorkOrder().GetModel(woid).F_Flag;
7115
             if (nowUser != null)
7182
             if (nowUser != null)
7116
             {
7183
             {
7117
                 itemModel.F_CreateUser = nowUser.F_UserCode;
7184
                 itemModel.F_CreateUser = nowUser.F_UserCode;

+ 295 - 163
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/workorder/WorkOrderNewController.cs

197
                         //sql += $" and (F_State in(" + (int)EnumWorkOrderState.neworder + "," + (int)EnumWorkOrderState.reassign + "," + (int)EnumWorkOrderState.revoke + ")" + " " + uwhere;
197
                         //sql += $" and (F_State in(" + (int)EnumWorkOrderState.neworder + "," + (int)EnumWorkOrderState.reassign + "," + (int)EnumWorkOrderState.revoke + ")" + " " + uwhere;
198
                         sql += $" and (F_State in(" + (int)EnumWorkOrderState.neworder + ")" + " " + uwhere;
198
                         sql += $" and (F_State in(" + (int)EnumWorkOrderState.neworder + ")" + " " + uwhere;
199
                         //    sql +=  "and T_Wo_WorkOrder.F_ID in (" + GetBackWorkOrderID(ua.F_UserCode) + ") ";
199
                         //    sql +=  "and T_Wo_WorkOrder.F_ID in (" + GetBackWorkOrderID(ua.F_UserCode) + ") ";
200
-                        if (!string.IsNullOrEmpty(GetRevokeWo(ua.F_UserCode, 1)))
200
+                        if (!string.IsNullOrEmpty(GetRevokeWo(ua.F_UserCode)))
201
                         {
201
                         {
202
                             sql += $" or (F_State={(int)EnumWorkOrderState.assign} and F_State2={(int)EnumWorkOrderState.assign} and  T_Wo_WorkOrder.F_ID in ({GetRevokeWo(ua.F_UserCode, 1)}))";
202
                             sql += $" or (F_State={(int)EnumWorkOrderState.assign} and F_State2={(int)EnumWorkOrderState.assign} and  T_Wo_WorkOrder.F_ID in ({GetRevokeWo(ua.F_UserCode, 1)}))";
203
                             sql += $" or (F_State={(int)EnumWorkOrderState.assign} and F_Flag=1  and  T_Wo_WorkOrder.F_ID in ({GetRevokeWo(ua.F_UserCode)}))";
203
                             sql += $" or (F_State={(int)EnumWorkOrderState.assign} and F_Flag=1  and  T_Wo_WorkOrder.F_ID in ({GetRevokeWo(ua.F_UserCode)}))";
244
                             sql += "  and T_Wo_WorkOrder.F_ID in ( " + dealstr + ") ";
244
                             sql += "  and T_Wo_WorkOrder.F_ID in ( " + dealstr + ") ";
245
                             if (!string.IsNullOrEmpty(GetRevokeWo(ua.F_UserCode)))
245
                             if (!string.IsNullOrEmpty(GetRevokeWo(ua.F_UserCode)))
246
                             {
246
                             {
247
-                                if (ua.F_Flag == 1)
248
-                                {
249
-                                    sql += " or (F_State=" + (int)EnumWorkOrderState.assign + " and T_Wo_WorkOrder.F_ID in (" + GetRevokeWo(ua.F_UserCode) + ")))";
250
-                                }
251
-                                else if (ua.F_Flag == 2)
252
-                                {
253
-                                    sql += " or (F_State2=" + (int)EnumWorkOrderState.assign + " and T_Wo_WorkOrder.F_ID in (" + GetRevokeWo(ua.F_UserCode) + ")))";
254
-                                }
247
+                                sql += " or ((F_State=" + (int)EnumWorkOrderState.assign + " or F_State2=" + (int)EnumWorkOrderState.assign+ ") and T_Wo_WorkOrder.F_ID in (" + GetRevokeWo(ua.F_UserCode) + ")))";
248
+                                //if (ua.F_Flag == 1)
249
+                                //{
250
+                                //    sql += " or (F_State=" + (int)EnumWorkOrderState.assign + " and T_Wo_WorkOrder.F_ID in (" + GetRevokeWo(ua.F_UserCode) + ")))";
251
+                                //}
252
+                                //else if (ua.F_Flag == 2)
253
+                                //{
254
+                                //    sql += " or (F_State2=" + (int)EnumWorkOrderState.assign + " and T_Wo_WorkOrder.F_ID in (" + GetRevokeWo(ua.F_UserCode) + ")))";
255
+                                //}
255
                             }
256
                             }
256
                             else
257
                             else
257
                             {
258
                             {
318
                             return Success("无操作权限"); ;
319
                             return Success("无操作权限"); ;
319
                         }
320
                         }
320
                         //sql += $" and F_State=" + (int)EnumWorkOrderState.finish + " and F_IsVisit = '" +"1" +"' "+ uwhere; ;
321
                         //sql += $" and F_State=" + (int)EnumWorkOrderState.finish + " and F_IsVisit = '" +"1" +"' "+ uwhere; ;
321
-                        sql += $" and F_State=" + (int)EnumWorkOrderState.finish + " and F_State2=" + (int)EnumWorkOrderState.finish + " and F_IsVisit = '" + "1" + "' " + uwhere; ;
322
+                        sql += $" and ((F_State=" + (int)EnumWorkOrderState.finish + " and F_State2!=" + (int)EnumWorkOrderState.evaluate + ") or (F_State!=" + (int)EnumWorkOrderState.evaluate + " and F_State2=" + (int)EnumWorkOrderState.finish + "))  and F_IsVisit = '" + "1" + "' " + uwhere; ;
322
                         break;
323
                         break;
323
                     case 6://已回访
324
                     case 6://已回访
324
-                        sql += $" and F_State=" + (int)EnumWorkOrderState.evaluate; ;
325
+                        sql += $" and (F_State=" + (int)EnumWorkOrderState.evaluate+ " or F_State2="+ (int)EnumWorkOrderState.evaluate + ")";
325
                         sql += $" and F_IsVisit=" + 1; ;
326
                         sql += $" and F_IsVisit=" + 1; ;
326
                         sql += $" and F_VisitBy !=''";
327
                         sql += $" and F_VisitBy !=''";
327
                         if (ro.F_RoleCode == "JDYPTZX" || ro.F_RoleCode == "JDYBZZX")
328
                         if (ro.F_RoleCode == "JDYPTZX" || ro.F_RoleCode == "JDYBZZX")
381
                         {
382
                         {
382
                             return Success("无操作权限"); ;
383
                             return Success("无操作权限"); ;
383
                         }
384
                         }
384
-                        sql += $" and F_State=" + (int)EnumWorkOrderState.evaluate;
385
+                        //sql += $" and F_State=" + (int)EnumWorkOrderState.evaluate;
385
                         break;
386
                         break;
386
                     case 7://待完结
387
                     case 7://待完结
387
                         if (ro.F_RoleCode == "JDYPTZX" || ro.F_RoleCode == "JDYBZZX" || ro.F_RoleCode == "XTGLY")
388
                         if (ro.F_RoleCode == "JDYPTZX" || ro.F_RoleCode == "JDYBZZX" || ro.F_RoleCode == "XTGLY")
392
                         {
393
                         {
393
                             return Success("无操作权限"); ;
394
                             return Success("无操作权限"); ;
394
                         }
395
                         }
395
-                        sql += $" and F_State=" + (int)EnumWorkOrderState.finish + " and F_State2=" + (int)EnumWorkOrderState.finish + " and ( F_IsVisit = '" + "0" + "' or  F_Type = 3)"; ;
396
+                        sql += $" and (F_State=" + (int)EnumWorkOrderState.finish + " or F_State2=" + (int)EnumWorkOrderState.finish + ") and ( F_IsVisit = '" + "0" + "' or  F_Type = 3)"; ;
396
                         //sql += $" and F_State=" + (int)EnumWorkOrderState.finish + " and ( F_IsVisit = '" + "0" + "' or  F_Type = 3)"; ;
397
                         //sql += $" and F_State=" + (int)EnumWorkOrderState.finish + " and ( F_IsVisit = '" + "0" + "' or  F_Type = 3)"; ;
397
                         break;
398
                         break;
398
                     case 8://待审批
399
                     case 8://待审批
577
                         {
578
                         {
578
                             return Success("无操作权限"); ;
579
                             return Success("无操作权限"); ;
579
                         }
580
                         }
580
-                        sql += $" and F_State in(10," + (int)EnumWorkOrderState.evaluate + ")"; ;
581
+                        sql += $" and (F_State in({(int)EnumWorkOrderState.finish},{(int)EnumWorkOrderState.evaluate}) or F_State2 in({(int)EnumWorkOrderState.finish},{(int)EnumWorkOrderState.evaluate}))"; 
581
                         break;
582
                         break;
582
                     case 20: //抄送工单列表
583
                     case 20: //抄送工单列表
583
                         if (ro.F_RoleCode == "JDYPTZX" || ro.F_RoleCode == "JDYBZZX" || ro.F_RoleCode == "XTGLY")
584
                         if (ro.F_RoleCode == "JDYPTZX" || ro.F_RoleCode == "JDYBZZX" || ro.F_RoleCode == "XTGLY")
781
                                 sql += "  and T_Wo_WorkOrder.F_ID in ( " + dealstr + ") ";
782
                                 sql += "  and T_Wo_WorkOrder.F_ID in ( " + dealstr + ") ";
782
                                 if (!string.IsNullOrEmpty(GetRevokeWo(ua.F_UserCode)))
783
                                 if (!string.IsNullOrEmpty(GetRevokeWo(ua.F_UserCode)))
783
                                 {
784
                                 {
785
+                                    sql += " or ((F_State=" + (int)EnumWorkOrderState.assign + " or F_State2=" + (int)EnumWorkOrderState.assign + ") and T_Wo_WorkOrder.F_ID in (" + GetRevokeWo(ua.F_UserCode) + ")))";
784
 
786
 
785
-                                    if (ua.F_Flag == 1)
786
-                                    {
787
-                                        sql += " or (F_State=" + (int)EnumWorkOrderState.assign + " and T_Wo_WorkOrder.F_ID in (" + GetRevokeWo(ua.F_UserCode) + ")))";
788
-                                    }
789
-                                    else if (ua.F_Flag == 2)
790
-                                    {
791
-                                        sql += " or (F_State2=" + (int)EnumWorkOrderState.assign + " and T_Wo_WorkOrder.F_ID in (" + GetRevokeWo(ua.F_UserCode) + ")))";
792
-                                    }
787
+                                    //if (ua.F_Flag == 1)
788
+                                    //{
789
+                                    //    sql += " or (F_State=" + (int)EnumWorkOrderState.assign + " and T_Wo_WorkOrder.F_ID in (" + GetRevokeWo(ua.F_UserCode) + ")))";
790
+                                    //}
791
+                                    //else if (ua.F_Flag == 2)
792
+                                    //{
793
+                                    //    sql += " or (F_State2=" + (int)EnumWorkOrderState.assign + " and T_Wo_WorkOrder.F_ID in (" + GetRevokeWo(ua.F_UserCode) + ")))";
794
+                                    //}
793
                                 }
795
                                 }
794
                                 else
796
                                 else
795
                                 {
797
                                 {
867
                             {
869
                             {
868
                                 RV_awaitVist = 0;
870
                                 RV_awaitVist = 0;
869
                                 break;
871
                                 break;
870
-                            }
871
-                            sql += $" and F_State=" + (int)EnumWorkOrderState.finish + " and F_State2=" + (int)EnumWorkOrderState.finish + " and F_IsVisit = '" + "1" + "' " + uwhere; ;
872
+                            }                         
873
+                            sql += $" and ((F_State=" + (int)EnumWorkOrderState.finish + " and F_State2!=" + (int)EnumWorkOrderState.evaluate + ") or (F_State!=" + (int)EnumWorkOrderState.evaluate + " and F_State2=" + (int)EnumWorkOrderState.finish + "))  and F_IsVisit = '" + "1" + "' " + uwhere; ;
872
                             //sql += $" and F_State=" + (int)EnumWorkOrderState.finish + " and F_IsVisit = '" + "1" + "' " + uwhere; ;
874
                             //sql += $" and F_State=" + (int)EnumWorkOrderState.finish + " and F_IsVisit = '" + "1" + "' " + uwhere; ;
873
                             RV_awaitVist = new BLL.T_Wo_WorkOrder().GetModelList(sql).Count;//待回访
875
                             RV_awaitVist = new BLL.T_Wo_WorkOrder().GetModelList(sql).Count;//待回访
874
 
876
 
876
                         case 6://已回访
878
                         case 6://已回访
877
                             sql = "";
879
                             sql = "";
878
                             sql += $"  F_IsDelete=0";
880
                             sql += $"  F_IsDelete=0";
879
-
880
                             if (ro.F_RoleCode == "JDYPTZX" || ro.F_RoleCode == "JDYBZZX")
881
                             if (ro.F_RoleCode == "JDYPTZX" || ro.F_RoleCode == "JDYBZZX")
881
                             {
882
                             {
882
                                 sql += " and (F_CreateBy= '" + ua.F_UserCode + "' or T_Wo_WorkOrder.F_ID in ( " + GetCYWorkOrderID(ua.F_UserCode) + ") or F_State =13)";
883
                                 sql += " and (F_CreateBy= '" + ua.F_UserCode + "' or T_Wo_WorkOrder.F_ID in ( " + GetCYWorkOrderID(ua.F_UserCode) + ") or F_State =13)";
883
-                                sql += $" and F_State=" + (int)EnumWorkOrderState.evaluate; ;
884
+                                sql += $" and (F_State=" + (int)EnumWorkOrderState.evaluate+" or F_State2 = " + (int)EnumWorkOrderState.evaluate+")" ;
884
                             }
885
                             }
885
                             else if (ro.F_RoleCode == "XTGLY")
886
                             else if (ro.F_RoleCode == "XTGLY")
886
                             {
887
                             {
887
                                 uwhere = ""; ;
888
                                 uwhere = ""; ;
889
+                                sql += $" and (F_State=" + (int)EnumWorkOrderState.evaluate + " or F_State2 = " + (int)EnumWorkOrderState.evaluate + ")";
888
                             }
890
                             }
889
                             else if (ro.F_RoleCode == "DQJL" || ro.F_RoleCode == "FGSJL" || ro.F_RoleCode == "ZG")
891
                             else if (ro.F_RoleCode == "DQJL" || ro.F_RoleCode == "FGSJL" || ro.F_RoleCode == "ZG")
890
                             {
892
                             {
938
                                 RV_haveVisit = 0;
940
                                 RV_haveVisit = 0;
939
                                 break;
941
                                 break;
940
                             }
942
                             }
941
-                            string where = $" and F_State in(10," + (int)EnumWorkOrderState.evaluate + ")"; ;
942
-                            RV_resultVisit = new BLL.T_Wo_WorkOrder().GetModelList(sql + where).Count;//
943
+                            string where = $"F_IsDelete=0 and (F_State in({(int)EnumWorkOrderState.finish},{(int)EnumWorkOrderState.evaluate}) or F_State2 in({(int)EnumWorkOrderState.finish},{(int)EnumWorkOrderState.evaluate}))"; ;
944
+                            RV_resultVisit = new BLL.T_Wo_WorkOrder().GetModelList(where).Count;//
943
                             sql += $" and F_State=" + (int)EnumWorkOrderState.evaluate;
945
                             sql += $" and F_State=" + (int)EnumWorkOrderState.evaluate;
944
                             sql += $" and F_IsVisit=" + 1; ;
946
                             sql += $" and F_IsVisit=" + 1; ;
945
                             sql += $" and F_VisitBy !=''";
947
                             sql += $" and F_VisitBy !=''";
957
                                 DWJ = 0;
959
                                 DWJ = 0;
958
                                 break; ;
960
                                 break; ;
959
                             }
961
                             }
960
-                            sql += $" and F_State=" + (int)EnumWorkOrderState.finish + " and F_State2=" + (int)EnumWorkOrderState.finish + " and ( F_IsVisit = '" + "0" + "' or  F_Type = 3)"; ;
962
+                            sql += $" and (F_State=" + (int)EnumWorkOrderState.finish + " or F_State2=" + (int)EnumWorkOrderState.finish + ") and ( F_IsVisit = '" + "0" + "' or  F_Type = 3)"; ;
961
                             //sql += $" and F_State=" + (int)EnumWorkOrderState.finish + " and ( F_IsVisit = '" + "0" + "' or  F_Type = 3) "; ;
963
                             //sql += $" and F_State=" + (int)EnumWorkOrderState.finish + " and ( F_IsVisit = '" + "0" + "' or  F_Type = 3) "; ;
962
                             DWJ = new BLL.T_Wo_WorkOrder().GetModelList(sql).Count;//待完结
964
                             DWJ = new BLL.T_Wo_WorkOrder().GetModelList(sql).Count;//待完结
963
                             break;
965
                             break;
1212
                             {
1214
                             {
1213
 
1215
 
1214
                                 string markdepts = "37,57,74,88,268,422,339";
1216
                                 string markdepts = "37,57,74,88,268,422,339";
1215
-                                string qualdepts = "12,36,295";
1217
+                                string qualdepts = "12,36,295,245";
1216
                                 string detpid = "" + ua.F_DeptId;
1218
                                 string detpid = "" + ua.F_DeptId;
1217
                                 var deparmentlist = new List<Model.T_Sys_Department>();
1219
                                 var deparmentlist = new List<Model.T_Sys_Department>();
1218
                                 Model.T_Sys_Department dModel = departmentBLL.GetModel(ua.F_DeptId);
1220
                                 Model.T_Sys_Department dModel = departmentBLL.GetModel(ua.F_DeptId);
1441
             string deptmodelsname = "";
1443
             string deptmodelsname = "";
1442
             int wostate = 0;
1444
             int wostate = 0;
1443
             var toussers = "";
1445
             var toussers = "";
1446
+            int woflag = 0;
1444
             //  var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.audit + " and  F_OptType=" + (int)EnumItemOpt.audit + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_CreateTime desc").FirstOrDefault();
1447
             //  var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.audit + " and  F_OptType=" + (int)EnumItemOpt.audit + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_CreateTime desc").FirstOrDefault();
1445
             //    if (itemlast != null)
1448
             //    if (itemlast != null)
1446
             // toussers = itemlast.F_CreateUser;
1449
             // toussers = itemlast.F_CreateUser;
1541
                             if (userid <= 0 || !res)
1544
                             if (userid <= 0 || !res)
1542
                                 res = false;
1545
                                 res = false;
1543
                             wostate = 1;
1546
                             wostate = 1;
1547
+                            woflag = 9;
1544
                         }
1548
                         }
1545
                         else if (AuditState == 1)
1549
                         else if (AuditState == 1)
1546
                         {
1550
                         {
1570
             if (res)
1574
             if (res)
1571
             {
1575
             {
1572
                 model.F_State = wostate;
1576
                 model.F_State = wostate;
1573
-                model.F_State2 = wostate;
1577
+                if (woflag == 9)
1578
+                {
1579
+                    model.F_State2 = 0;
1580
+                }
1581
+                else
1582
+                {
1583
+                    model.F_State2 = wostate;
1584
+                }
1585
+                model.F_Flag = woflag;
1574
                 //处理内容
1586
                 //处理内容
1575
                 if (!string.IsNullOrEmpty(AuditCont))
1587
                 if (!string.IsNullOrEmpty(AuditCont))
1576
                     model.F_AuditCont += AuditCont + ";";
1588
                     model.F_AuditCont += AuditCont + ";";
1669
                 deptname = deptmodel1.F_DeptName;
1681
                 deptname = deptmodel1.F_DeptName;
1670
             }
1682
             }
1671
             int isbl = 0;
1683
             int isbl = 0;
1684
+            int flag = 9;
1672
             Model.T_Sys_RoleInfo ro = rolebll.GetModel(ua.F_RoleId);
1685
             Model.T_Sys_RoleInfo ro = rolebll.GetModel(ua.F_RoleId);
1673
             //if (dapt != 0)
1686
             //if (dapt != 0)
1674
             //{
1687
             //{
1677
                 isbl = 1;
1690
                 isbl = 1;
1678
                 nextda = 37;
1691
                 nextda = 37;
1679
                 opt = "流转市场管理科";
1692
                 opt = "流转市场管理科";
1680
-                nextda2 = 36;
1681
-                opt2 = "流转质量管理科";
1693
+                //nextda2 = 36;
1694
+                //opt2 = "流转质量管理科";
1695
+                //flag = 3;
1682
             }
1696
             }
1683
             else if (CirculMarket(ua.F_DeptId, 14))
1697
             else if (CirculMarket(ua.F_DeptId, 14))
1684
             {
1698
             {
1691
                 isbl = 1;
1705
                 isbl = 1;
1692
                 nextda = 74;
1706
                 nextda = 74;
1693
                 opt = "流转策划推广";
1707
                 opt = "流转策划推广";
1708
+                //nextda2 = 245;
1709
+                //opt2 = "流转质量督察处";
1710
+                //flag = 3;
1694
             }
1711
             }
1695
             else if (CirculMarket(ua.F_DeptId, 16))
1712
             else if (CirculMarket(ua.F_DeptId, 16))
1696
             {
1713
             {
1733
                 if (ro.F_RoleCode == "DQJL")
1750
                 if (ro.F_RoleCode == "DQJL")
1734
                 {
1751
                 {
1735
                     cont = "大区经理已审批:" + AuditCont + "," + opt;
1752
                     cont = "大区经理已审批:" + AuditCont + "," + opt;
1736
-                    if (!string.IsNullOrEmpty(opt2))
1737
-                    {
1738
-                        cont2 = "大区经理已审批: " + AuditCont + "," + opt2;
1739
-                    }
1753
+                    //if (!string.IsNullOrEmpty(opt2))
1754
+                    //{
1755
+                    //    cont2 = "大区经理已审批: " + AuditCont + "," + opt2;
1756
+                    //}
1740
                 }
1757
                 }
1741
                 else
1758
                 else
1742
                 {
1759
                 {
1743
                     cont = "分公司经理已审批:" + AuditCont + "," + opt;
1760
                     cont = "分公司经理已审批:" + AuditCont + "," + opt;
1744
-                    if (!string.IsNullOrEmpty(opt2))
1745
-                    {
1746
-                        cont2 = "分公司经理已审批: " + AuditCont + "," + opt2;
1747
-                    }
1761
+                    //if (!string.IsNullOrEmpty(opt2))
1762
+                    //{
1763
+                    //    cont2 = "分公司经理已审批: " + AuditCont + "," + opt2;
1764
+                    //}
1748
                 }
1765
                 }
1749
             }
1766
             }
1750
             else
1767
             else
1752
                 if (ro.F_RoleCode == "DQJL")
1769
                 if (ro.F_RoleCode == "DQJL")
1753
                 {
1770
                 {
1754
                     cont = "大区经理未审批" + opt;
1771
                     cont = "大区经理未审批" + opt;
1755
-                    if (!string.IsNullOrEmpty(opt2))
1756
-                    {
1757
-                        cont2 = "大区经理未审批" + opt2;
1758
-                    }
1772
+                    //if (!string.IsNullOrEmpty(opt2))
1773
+                    //{
1774
+                    //    cont2 = "大区经理未审批" + opt2;
1775
+                    //}
1759
                 }
1776
                 }
1760
                 else
1777
                 else
1761
                 {
1778
                 {
1762
                     cont = "分公司经理未审批" + opt;
1779
                     cont = "分公司经理未审批" + opt;
1763
-                    if (!string.IsNullOrEmpty(opt2))
1764
-                    {
1765
-                        cont2 = "分公司经理未审批" + opt2;
1766
-                    }
1780
+                    //if (!string.IsNullOrEmpty(opt2))
1781
+                    //{
1782
+                    //    cont2 = "分公司经理未审批" + opt2;
1783
+                    //}
1767
                 }
1784
                 }
1768
             }
1785
             }
1769
-            if (nextda != 0 || nextda2 != 0)
1786
+            if (nextda != 0)
1770
             {
1787
             {
1771
-                var res = AssignWO(ua, model, Input[0], cont, "", nextda, 0, model.F_limit, sms, 0, 0, 0, time.ToString(), isbl);
1772
-                if (nextda2 != 0)
1773
-                {
1774
-                    var res2 = AssignWO(ua, model, Input[0], cont2, "", nextda2, 0, model.F_limit, sms, 0, 0, 0, time.ToString(), isbl, 2);
1775
-                }
1776
-                //else
1788
+                //if (flag == 1)
1777
                 //{
1789
                 //{
1778
-
1790
+                //    model.F_State2 = (int)EnumWorkOrderState.finish;
1791
+                //    model.F_Flag = 1;
1779
                 //}
1792
                 //}
1780
-                return true;
1793
+                model.F_Flag = 9;
1794
+                var res = AssignWO(ua, model, Input[0], cont, "", nextda, 0, model.F_limit, sms, 0, 0, 0, time.ToString(), isbl,3,9);
1795
+                //if (nextda2 != 0)
1796
+                //{
1797
+                //    model.F_Flag = 3;
1798
+                //    var res2 = AssignWO(ua, model, Input[0], cont2, "", nextda2, 0, model.F_limit, sms, 0, 0, 0, time.ToString(), isbl, 2);
1799
+                //}
1800
+                return res;
1801
+            }
1802
+            else
1803
+            {
1804
+                return false;
1781
             }
1805
             }
1782
-            else return false;
1783
 
1806
 
1784
         }
1807
         }
1785
         /// <summary>
1808
         /// <summary>
2417
                     list.Add(model);
2440
                     list.Add(model);
2418
                 }
2441
                 }
2419
                 var itemlasts = itembll.GetModelList("  F_WoID=" + id + " and  F_Type=" + ua.F_Flag + " ");
2442
                 var itemlasts = itembll.GetModelList("  F_WoID=" + id + " and  F_Type=" + ua.F_Flag + " ");
2420
-                ; var configfj = new BLL.T_Sys_SystemConfig().GetModelList(" F_ParamCode='FileUrlPath' ").FirstOrDefault();
2421
-                FileUrl = GetFileData(model.F_Files, configfj.F_ParamValue);
2443
+                //var configfj = new BLL.T_Sys_SystemConfig().GetModelList(" F_ParamCode='FileUrlPath' ").FirstOrDefault();
2444
+                //FileUrl = GetFileData(model.F_Files, configfj.F_ParamValue);
2445
+                var configfj = "http://192.168.8.9:1005/";
2446
+                FileUrl = GetFileData(model.F_Files, configfj);
2422
                 if (list.Count > 0)
2447
                 if (list.Count > 0)
2423
                 {
2448
                 {
2424
                     List<WorkOrderNewInput> Input = modeltooip(list);
2449
                     List<WorkOrderNewInput> Input = modeltooip(list);
2931
                 else if (ro.F_RoleCode == "DQJL" || ro.F_RoleCode == "FGSJL" || ro.F_RoleCode == "BLRY" || ro.F_RoleCode == "ZG" || ro.F_RoleCode == "GC")
2956
                 else if (ro.F_RoleCode == "DQJL" || ro.F_RoleCode == "FGSJL" || ro.F_RoleCode == "BLRY" || ro.F_RoleCode == "ZG" || ro.F_RoleCode == "GC")
2932
                 {
2957
                 {
2933
                     string markdepts = "37,57,74,88,268,422,339";
2958
                     string markdepts = "37,57,74,88,268,422,339";
2934
-                    string qualdepts = "12,36,295";
2959
+                    string qualdepts = "12,36,295,245";
2935
                     string detpid = "" + ua.F_DeptId;
2960
                     string detpid = "" + ua.F_DeptId;
2936
                     var deparmentlist = new List<Model.T_Sys_Department>();
2961
                     var deparmentlist = new List<Model.T_Sys_Department>();
2937
                     Model.T_Sys_Department dModel = departmentBLL.GetModel(ua.F_DeptId);
2962
                     Model.T_Sys_Department dModel = departmentBLL.GetModel(ua.F_DeptId);
6084
                     }
6109
                     }
6085
                     else if (model1[i].F_State == 11)
6110
                     else if (model1[i].F_State == 11)
6086
                     {
6111
                     {
6087
-                        model.F_StateName = "已回访";
6112
+                        model.F_StateName = "外线已完结";
6088
                     }
6113
                     }
6089
                     else if (model1[i].F_State == 12)
6114
                     else if (model1[i].F_State == 12)
6090
                     {
6115
                     {
6151
                     }
6176
                     }
6152
                     else if (model1[i].F_State2 == 11)
6177
                     else if (model1[i].F_State2 == 11)
6153
                     {
6178
                     {
6154
-                        model.F_StateName2 = "已回访";
6179
+                        model.F_StateName2 = "内线已完结";
6155
                     }
6180
                     }
6156
                     else if (model1[i].F_State2 == 12)
6181
                     else if (model1[i].F_State2 == 12)
6157
                     {
6182
                     {
6479
                     model.F_WorkmanShip = model1[i].F_WorkmanShip;//质量管理科-工艺
6504
                     model.F_WorkmanShip = model1[i].F_WorkmanShip;//质量管理科-工艺
6480
                     model.F_Manufacturers = model1[i].F_Manufacturers;//质量管理科-原料及厂家
6505
                     model.F_Manufacturers = model1[i].F_Manufacturers;//质量管理科-原料及厂家
6481
                     model.F_ProductionNum = model1[i].F_ProductionNum;//质量管理科-该批次生产数量
6506
                     model.F_ProductionNum = model1[i].F_ProductionNum;//质量管理科-该批次生产数量
6482
-       
6507
+                    model.F_Flag = model1[i].F_Flag;//1单线外 2单线内 3双线 9市场科可以双线指派工单 0 未指派工单
6508
+
6509
+
6483
 
6510
 
6484
                     if (ua != null)
6511
                     if (ua != null)
6485
                     {
6512
                     {
7023
         /// <summary>
7050
         /// <summary>
7024
         /// 添加工单记录
7051
         /// 添加工单记录
7025
         /// </summary>
7052
         /// </summary>
7026
-        public long AddLog(long woid, int wostate, string content, int itemtype, int opttype, string nextuser, int nextdept, Model.T_Sys_UserAccount nowUser, float overtime, int sms, string create = "", int F_IsUsed = 0, int flag = 3)
7053
+        public long AddLog(long woid, int wostate, string content, int itemtype, int opttype, string nextuser, int nextdept, Model.T_Sys_UserAccount nowUser, float overtime, int sms, string create = "", int F_IsUsed = 0, int flag = 3,int flagstate=0)
7027
         {
7054
         {
7028
             Model.T_Wo_WorkOrderItem_New itemModel = new Model.T_Wo_WorkOrderItem_New();
7055
             Model.T_Wo_WorkOrderItem_New itemModel = new Model.T_Wo_WorkOrderItem_New();
7029
             #region 
7056
             #region 
7030
             string strsql = "";
7057
             string strsql = "";
7058
+            string flagstr = "";
7059
+            if (flag != 3)
7060
+                flagstr = $" and F_Type in({ flag},3)";
7031
             Model.T_Sys_RoleInfo ro = rolebll.GetModel(nowUser.F_RoleId);
7061
             Model.T_Sys_RoleInfo ro = rolebll.GetModel(nowUser.F_RoleId);
7032
             if (ro.F_RoleCode == "JDYPTZX" || ro.F_RoleCode == "JDYBZZX" || ro.F_RoleCode == "XTGLY" && flag!=3)
7062
             if (ro.F_RoleCode == "JDYPTZX" || ro.F_RoleCode == "JDYBZZX" || ro.F_RoleCode == "XTGLY" && flag!=3)
7033
             {
7063
             {
7034
-                strsql = $" F_OptType !=1 and isnull(F_IsUsed,'0')='0' and F_ItemType={itemtype} and  F_WoID={woid} and  F_CreateUser={nowUser.F_UserCode} and F_Type in({flag},3) ";
7064
+                strsql = $" F_OptType !=1 and isnull(F_IsUsed,'0')='0' and F_ItemType={itemtype} and  F_WoID={woid} and  F_CreateUser={nowUser.F_UserCode}{flagstr}";
7035
             }
7065
             }
7036
             else
7066
             else
7037
             {
7067
             {
7038
-                strsql = $" isnull(F_IsUsed,'0')='0' and F_ItemType={itemtype} and  F_WoID={woid} and  (F_CreateUser={nowUser.F_UserCode} or F_NextUser like '%{nowUser.F_UserCode}%')" 
7039
-                       + $" and F_Type in({flag},3)";
7068
+                strsql = $" isnull(F_IsUsed,'0')='0' and F_ItemType={itemtype} and  F_WoID={woid} and  (F_CreateUser={nowUser.F_UserCode} or F_NextUser like '%{nowUser.F_UserCode}%'){flagstr}" ;
7040
             }
7069
             }
7041
             //处理当前工单的记录之前的记录过期
7070
             //处理当前工单的记录之前的记录过期
7042
             //var itemlast = itembll.GetModelList(" isnull(F_IsUsed,'0')='0' and F_ItemType=" + itemtype + " and  F_WoID=" + woid + " ");
7071
             //var itemlast = itembll.GetModelList(" isnull(F_IsUsed,'0')='0' and F_ItemType=" + itemtype + " and  F_WoID=" + woid + " ");
7068
             itemModel.F_IsUsed = F_IsUsed;
7097
             itemModel.F_IsUsed = F_IsUsed;
7069
             itemModel.F_LimitTime = overtime.ToString();
7098
             itemModel.F_LimitTime = overtime.ToString();
7070
             itemModel.F_Type = flag;//区分内外线和公共部门
7099
             itemModel.F_Type = flag;//区分内外线和公共部门
7100
+            if (flagstate != 0)
7101
+                itemModel.F_Flag = flagstate;
7102
+            else
7103
+                itemModel.F_Flag = new BLL.T_Wo_WorkOrder().GetModel(woid).F_Flag;
7071
             if (create != "")
7104
             if (create != "")
7072
             {
7105
             {
7073
                 itemModel.F_CreateTime = DateTime.Parse(create);
7106
                 itemModel.F_CreateTime = DateTime.Parse(create);
7447
                     {
7480
                     {
7448
                         if (flag == 3)
7481
                         if (flag == 3)
7449
                         {
7482
                         {
7450
-                            var res = AssignWO(ua, modlelist, inputs, cont, F_Files, clbm, clid, overtime, sms);
7451
-                            var res1 = AssignWO(ua, modlelist, inputs, cont, F_Files, clbm2, clid2, overtime, sms, 0, 0, 0, "", 0, 2);
7483
+                            var res = AssignWO(ua, modlelist, inputs, cont, F_Files, clbm, clid, overtime, sms,0,0,0,"",0,1,flag);
7484
+                            var res1 = AssignWO(ua, modlelist, inputs, cont, F_Files, clbm2, clid2, overtime, sms, 0, 0, 0, "", 0, 2,flag);
7452
                         }
7485
                         }
7453
                         else if (flag == 2)
7486
                         else if (flag == 2)
7454
                         {
7487
                         {
7455
-                            var res1 = AssignWO(ua, modlelist, inputs, cont, F_Files, clbm2, clid2, overtime, sms, 0, 0, 0, "", 0, 2);
7456
-                            DealWO(ua, modlelist, input, cont, "", 1, "", 1, "");
7488
+                            var res1 = AssignWO(ua, modlelist, inputs, cont, F_Files, clbm2, clid2, overtime, sms, 0, 0, 0, "", 0, 2,flag);
7489
+                            DealWO(ua, modlelist, input, cont, "", 1, "", 1, "",flag);
7457
                         }
7490
                         }
7458
                         else
7491
                         else
7459
                         {
7492
                         {
7460
-                            var res = AssignWO(ua, modlelist, inputs, cont, F_Files, clbm, clid, overtime, sms);
7461
-                            DealWO(ua, modlelist, input, cont, "", 1, "", 2, "");
7493
+                            var res = AssignWO(ua, modlelist, inputs, cont, F_Files, clbm, clid, overtime, sms,flag);
7494
+                            DealWO(ua, modlelist, input, cont, "", 1, "", 2, "",flag);
7462
 
7495
 
7463
                         }
7496
                         }
7464
                         return Success("转派成功");
7497
                         return Success("转派成功");
7542
                             string touser = "";
7575
                             string touser = "";
7543
                             string strwhere = "";
7576
                             string strwhere = "";
7544
                             string contens = "";
7577
                             string contens = "";
7545
-                            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) order by F_CreateTime desc)";
7578
+                            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) order by F_CreateTime desc)";
7546
                             var deptmodel = departmentBLL.GetModelList(strwhere).FirstOrDefault();
7579
                             var deptmodel = departmentBLL.GetModelList(strwhere).FirstOrDefault();
7547
                             if (deptmodel != null)
7580
                             if (deptmodel != null)
7548
                             {
7581
                             {
7550
                                 if (userlist.Count > 0)
7583
                                 if (userlist.Count > 0)
7551
                                 {
7584
                                 {
7552
                                     if (flag == 1)
7585
                                     if (flag == 1)
7553
-                                        contens = $" 修改注解,工单编号 <a href='./WorkOrder/commonHtml/orderDetails.html?oid={model.F_ID}'>"+ model.F_WorkOrderCode +"</a>" ;
7586
+                                        contens = $" 修改注解,工单编号 <a href='./WorkOrder/commonHtml/orderDetails.html?oid={model.F_ID}'>" + model.F_WorkOrderCode + "</a>";
7554
 
7587
 
7555
                                     //< span class="top_notices_con">系统维护管理员 修改注解, 工单编号 20220527152927398</span>
7588
                                     //< span class="top_notices_con">系统维护管理员 修改注解, 工单编号 20220527152927398</span>
7556
                                     else
7589
                                     else
7557
-                                        contens = $" 附加注解,工单编号 <a href='./WorkOrder/commonHtml/orderDetails.html?oid={model.F_ID}'>"+ model.F_WorkOrderCode + "</a>";
7590
+                                        contens = $" 附加注解,工单编号 <a href='./WorkOrder/commonHtml/orderDetails.html?oid={model.F_ID}'>" + model.F_WorkOrderCode + "</a>";
7558
                                     foreach (var item in userlist)
7591
                                     foreach (var item in userlist)
7559
                                     {
7592
                                     {
7560
                                         touser = item.F_UserCode; ;
7593
                                         touser = item.F_UserCode; ;
7562
                                         msg.Type = (int)Model.MSGType.Annotation;
7595
                                         msg.Type = (int)Model.MSGType.Annotation;
7563
                                         msg.ToUser = touser;
7596
                                         msg.ToUser = touser;
7564
                                         msg.ToID = (int)model.F_ID;
7597
                                         msg.ToID = (int)model.F_ID;
7565
-                                        msg.Detail = $"<span class='top_notices_con'> "+ua.F_UserName + contens+ "</span>";
7598
+                                        msg.Detail = $"<span class='top_notices_con'> " + ua.F_UserName + contens + "</span>";
7566
                                         msg.State = 0;
7599
                                         msg.State = 0;
7567
                                         msg.IsDel = 0;
7600
                                         msg.IsDel = 0;
7568
                                         msg.CreateDate = DateTime.Now;
7601
                                         msg.CreateDate = DateTime.Now;
7619
         {
7652
         {
7620
             #region 工单处理
7653
             #region 工单处理
7621
             int sms = 0;
7654
             int sms = 0;
7622
-            var itemlasts = itembll.GetModelList("  F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID=" + model.F_ID + " ");
7623
-            string creatuser = "";
7655
+            int woflag = model.F_Flag;
7656
+            string strsql = "";
7657
+            if (woflag == 1)
7658
+            {
7659
+                strsql = $" and F_Type in(1,3)";
7660
+            }
7661
+            else if (woflag == 2)
7662
+            {
7663
+                strsql = $" and F_Type in(2,3)";
7664
+            }
7665
+            var itemlasts = itembll.GetModelList($"F_ItemType={(int)EnumItemType.deal} and  F_WoID={model.F_ID}");
7666
+            string creatuser1 = "";
7667
+            string creatuser2 = "";
7624
             if (itemlasts.Count > 0)
7668
             if (itemlasts.Count > 0)
7625
             {
7669
             {
7626
                 foreach (var it in itemlasts)
7670
                 foreach (var it in itemlasts)
7627
                 {
7671
                 {
7628
-                    if (it.F_WoState == 10)
7672
+                    if (it.F_WoState == 10 && it.F_Type == 1 && (it.F_Flag == 1 || it.F_Flag == 3))
7673
+                    {
7674
+                        creatuser1 = it.F_CreateUser;
7675
+                    }
7676
+                    if (it.F_WoState == 10 && it.F_Type==2 && (it.F_Flag == 2 || it.F_Flag == 3))
7629
                     {
7677
                     {
7630
-                        creatuser = it.F_CreateUser;
7678
+                        creatuser2 = it.F_CreateUser;
7631
                     }
7679
                     }
7632
                 }
7680
                 }
7633
             }
7681
             }
7642
             #endregion
7690
             #endregion
7643
             var content = deptname + nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ")" + opt + "工单,退回说明:" + cont;
7691
             var content = deptname + nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ")" + opt + "工单,退回说明:" + cont;
7644
             //获取上一级处理人员
7692
             //获取上一级处理人员
7645
-            int deptid = 0;
7646
-            var touser = new BLL.T_Sys_UserAccount().GetModel(creatuser);
7647
-            if (touser != null)
7693
+            int deptid1 = 0;
7694
+            int deptid2 = 0;
7695
+            var touser1 = new BLL.T_Sys_UserAccount().GetModel(creatuser1);
7696
+            if (touser1 != null)
7648
             {
7697
             {
7649
-                deptid = touser.F_DeptId;
7698
+                deptid1 = touser1.F_DeptId;
7650
             }
7699
             }
7651
-            string smscont = "";
7700
+            if (!string.IsNullOrEmpty(creatuser2))
7701
+                deptid2 = new BLL.T_Sys_UserAccount().GetModel(creatuser2)?.F_DeptId ?? 0;
7652
 
7702
 
7703
+            string smscont = "";
7653
 
7704
 
7654
-            var itemid = AddLog((int)model.F_ID, 3, content, (int)EnumItemType.deal, 4, creatuser, deptid, nowUser, model.F_limit, sms);
7655
-            if (itemid > 0)
7705
+            if (deptid1 > 0)
7706
+                AddLog((int)model.F_ID, 3, content, (int)EnumItemType.deal, 4, creatuser1, deptid1, nowUser, model.F_limit, sms, "", 0, 1);
7707
+            if (deptid2 > 0)
7708
+                AddLog((int)model.F_ID, 3, content, (int)EnumItemType.deal, 4, creatuser2, deptid2, nowUser, model.F_limit, sms, "", 0, 2);
7709
+            //if (itemid > 0)
7710
+            //{
7711
+            if (model.F_Type == "1")
7656
             {
7712
             {
7657
-                if (model.F_Type == "1")
7658
-                {
7659
-                    smscont = "咨询";
7660
-                }
7661
-                else if (model.F_Type == "2")
7662
-                {
7663
-                    smscont = "投诉";
7664
-                }
7665
-                else if (model.F_Type == "3")
7666
-                {
7667
-                    smscont = "抽检";
7668
-                }
7669
-                else if (model.F_Type == "5")
7670
-                {
7671
-                    smscont = "业务协办";
7672
-                }
7673
-                else
7713
+                smscont = "咨询";
7714
+            }
7715
+            else if (model.F_Type == "2")
7716
+            {
7717
+                smscont = "投诉";
7718
+            }
7719
+            else if (model.F_Type == "3")
7720
+            {
7721
+                smscont = "抽检";
7722
+            }
7723
+            else if (model.F_Type == "5")
7724
+            {
7725
+                smscont = "业务协办";
7726
+            }
7727
+            else
7728
+            {
7729
+                smscont = "建议";
7730
+            }
7731
+            string[] mag = { smscont };
7732
+            string smsmsg = "您好,您有一条新的" + smscont + "工单,请及时接单处理!";
7733
+            if (touser1 != null)
7734
+            {
7735
+                if (!string.IsNullOrEmpty(touser1.F_Mobile))
7674
                 {
7736
                 {
7675
-                    smscont = "建议";
7737
+
7738
+                    SmsSingleSenderResult result = new SMSController().SMSSingleshot(445305, mag, touser1.F_Mobile.Trim());
7739
+                    bool n = new SMSController().AddSmS(touser1.F_Mobile.Trim(), smsmsg, nowUser.F_UserId);
7676
                 }
7740
                 }
7677
-                string[] mag = { smscont };
7678
-                string smsmsg = "您好,您有一条新的" + smscont + "工单,请及时接单处理!";
7679
-                if (touser != null)
7741
+            }
7742
+            if (deptid2 > 0)
7743
+            {
7744
+                var touser2 = new BLL.T_Sys_UserAccount().GetModel(creatuser2);
7745
+                if (!string.IsNullOrEmpty(touser2.F_Mobile))
7680
                 {
7746
                 {
7681
-                    if (!string.IsNullOrEmpty(touser.F_Mobile))
7682
-                    {
7683
 
7747
 
7684
-                        SmsSingleSenderResult result = new SMSController().SMSSingleshot(445305, mag, touser.F_Mobile.Trim());
7685
-                        bool n = new SMSController().AddSmS(touser.F_Mobile.Trim(), smsmsg, nowUser.F_UserId);
7686
-                    }
7748
+                    SmsSingleSenderResult result = new SMSController().SMSSingleshot(445305, mag, touser2.F_Mobile.Trim());
7749
+                    bool n = new SMSController().AddSmS(touser2.F_Mobile.Trim(), smsmsg, nowUser.F_UserId);
7687
                 }
7750
                 }
7751
+            }
7688
 
7752
 
7689
-                #region 处理工单
7753
+            #region 处理工单
7754
+            if (!string.IsNullOrEmpty(creatuser1))
7755
+            {
7690
                 model.F_State = 2;
7756
                 model.F_State = 2;
7691
-                workOrder.Update(model);
7692
-                #endregion
7693
-                #region 推送消息
7694
-                #region 向上一级操作人员推送消息
7695
-                #endregion
7696
-                #endregion
7697
-                return true;
7698
             }
7757
             }
7699
-            else
7700
-                return false;
7758
+            if (!string.IsNullOrEmpty(creatuser2))
7759
+            {
7760
+                model.F_State2 = 2;
7761
+            }
7762
+            workOrder.Update(model);
7763
+            #endregion
7764
+            #region 推送消息
7765
+            #region 向上一级操作人员推送消息
7766
+            #endregion
7767
+            #endregion
7768
+            return true;
7769
+            //}
7770
+            //else
7771
+            //    return false;
7701
             #endregion
7772
             #endregion
7702
         }
7773
         }
7703
         /// <summary>
7774
         /// <summary>
7857
         /// </summary>
7928
         /// </summary>
7858
         /// <returns></returns>
7929
         /// <returns></returns>
7859
         [Authority]
7930
         [Authority]
7860
-        public ActionResult AssignWorkOrder(long orderid, string cont, WorkOrdeDeptment deptment, string F_Files, int isvisit = 1,
7931
+        public ActionResult AssignWorkOrder(long orderid, string cont, WorkOrdeDeptment deptment, string F_Files,
7861
             int overtime = 0, int sms = 0, int clbm = 0, int clid = 0, int isApprovalp = 0, int hclbm = 0, int hclid = 0, int clbm2 = 0, int clid2 = 0,string jsonstr="",int flag=1)
7932
             int overtime = 0, int sms = 0, int clbm = 0, int clid = 0, int isApprovalp = 0, int hclbm = 0, int hclid = 0, int clbm2 = 0, int clid2 = 0,string jsonstr="",int flag=1)
7862
         {
7933
         {
7863
             int userId = CurrentUser.UserData.F_UserId;
7934
             int userId = CurrentUser.UserData.F_UserId;
7864
             string usercode = CurrentUser.UserData.F_UserCode;
7935
             string usercode = CurrentUser.UserData.F_UserCode;
7936
+            string markdepts = "37,57,74,88,268,422,339";
7937
+            string qualdepts = "12,36,295,245";
7865
             if (userId != 0)
7938
             if (userId != 0)
7866
             {
7939
             {
7867
                 Model.T_Sys_UserAccount ua = sysUserAccountBll.GetModel(userId);
7940
                 Model.T_Sys_UserAccount ua = sysUserAccountBll.GetModel(userId);
7933
                 {
8006
                 {
7934
                     return Error("请选择接收部门");
8007
                     return Error("请选择接收部门");
7935
                 }
8008
                 }
7936
-                if (ro.F_RoleCode == "JDYPTZX" || ro.F_RoleCode == "JDYBZZX" || ro.F_RoleCode == "XTGLY")
8009
+                if (ro.F_RoleCode == "JDYPTZX" || ro.F_RoleCode == "JDYBZZX" || ro.F_RoleCode == "XTGLY" || markdepts.Contains(ua.F_DeptId.ToString()))
7937
                 {
8010
                 {
8011
+                    if (markdepts.Contains(ua.F_DeptId.ToString()))
8012
+                    {
8013
+                        if (model.F_Type == "2" || model.F_Type == "5")
8014
+                        {
8015
+                            input.F_SC_PreliminaryOpinion = deptment.PreliminaryOpinion;//市场管理科-初审意见:退货、换货、补偿、自行处理
8016
+                            input.F_ZL_ClaimAmount = deptment.ClaimAmount;// 质量管理科-索赔金额(单位元,对应责任单位)
8017
+                        }
8018
+                        else if (model.F_Type == "3")
8019
+                        {
8020
+                            input.F_SC_CJ_SpotResult = deptment.SpotResult;//市场管理科-抽检-抽检结果(视同合格、合格、不合格、复检后合格、未送检)
8021
+                            input.F_SC_CJ_SelfResult = deptment.SelfResult;//市场管理科-抽检-自检结果
8022
+                            input.F_SC_CJ_ApprovalNo = deptment.ApprovalNo;//市场管理科-抽检-对应审批工作流单号
8023
+                            input.F_SC_CJ_ReturnAccount = deptment.ReturnAccount;//市场管理科-抽检-确认返账金额
8024
+                        }
8025
+                    }
7938
                     model.F_Flag = flag;
8026
                     model.F_Flag = flag;
7939
                     if (flag == 3)
8027
                     if (flag == 3)
7940
                     {
8028
                     {
7942
                         {
8030
                         {
7943
                             return Error("请选择接收部门");
8031
                             return Error("请选择接收部门");
7944
 
8032
 
7945
-                        }                     
7946
-                        var res = AssignWO(ua, model, input, cont, F_Files, clbm, clid, overtime, sms, isApprovalp, hclbm, hclid);
7947
-                        var res1 = AssignWO(ua, model, input, cont, F_Files, clbm2, clid2, overtime, sms, isApprovalp, hclbm, hclid, "", 0, 2);
8033
+                        }
8034
+                        var res = AssignWO(ua, model, input, cont, F_Files, clbm, clid, overtime, sms, isApprovalp, hclbm, hclid,"",0,1,flag);
8035
+                        var res1 = AssignWO(ua, model, input, cont, F_Files, clbm2, clid2, overtime, sms, isApprovalp, hclbm, hclid, "", 0, 2,flag);
7948
 
8036
 
7949
                     }
8037
                     }
7950
                     else if (flag == 2)
8038
                     else if (flag == 2)
7953
                         {
8041
                         {
7954
                             return Error("请选择接收部门");
8042
                             return Error("请选择接收部门");
7955
                         }
8043
                         }
7956
-                        var res1 = AssignWO(ua, model, input, cont, F_Files, clbm2, clid2, overtime, sms, isApprovalp, hclbm, hclid, "", 0, 2);
7957
-                        DealWO(ua, model, input, cont, "", 1, "", 1, "");
8044
+                        var res1 = AssignWO(ua, model, input, cont, F_Files, clbm2, clid2, overtime, sms, isApprovalp, hclbm, hclid, "", 0, 2,flag);
8045
+                        DealWO(ua, model, input, cont, "", 1, "", 1, "",flag);
7958
                     }
8046
                     }
7959
                     else
8047
                     else
7960
                     {
8048
                     {
7962
                         {
8050
                         {
7963
                             return Error("请选择接收部门");
8051
                             return Error("请选择接收部门");
7964
                         }
8052
                         }
7965
-                        var res = AssignWO(ua, model, input, cont, F_Files, clbm, clid, overtime, sms, isApprovalp, hclbm, hclid);
7966
-                        DealWO(ua, model, input, cont, "", 1, "", 2, "");
8053
+                        var res = AssignWO(ua, model, input, cont, F_Files, clbm, clid, overtime, sms, isApprovalp, hclbm, hclid,"",0,1,flag);
8054
+                        DealWO(ua, model, input, cont, "", 1, "", 2, "",flag);
7967
                     }
8055
                     }
7968
                     return Success("转派成功");
8056
                     return Success("转派成功");
7969
                 }
8057
                 }
7980
                         {
8068
                         {
7981
                             if (model != null)
8069
                             if (model != null)
7982
                             {
8070
                             {
7983
-                                if (deptmodel.F_DeptId == 12 || deptmodel.F_DeptId == 36)
8071
+                                if (qualdepts.Contains(ua.F_DeptId.ToString()))
7984
                                 {
8072
                                 {
7985
                                     input.F_WorkmanShip = deptment.WorkmanShip;//质量管理科-工艺
8073
                                     input.F_WorkmanShip = deptment.WorkmanShip;//质量管理科-工艺
7986
                                     input.F_Manufacturers = deptment.Manufacturers;//质量管理科-原料及厂家
8074
                                     input.F_Manufacturers = deptment.Manufacturers;//质量管理科-原料及厂家
7987
                                     input.F_ProductionNum = deptment.ProductionNum;//质量管理科-该批次生产数量
8075
                                     input.F_ProductionNum = deptment.ProductionNum;//质量管理科-该批次生产数量
7988
                                 }
8076
                                 }
7989
-                                if (model.F_Type == "2" || model.F_Type=="5")
8077
+                                if (model.F_Type == "2" || model.F_Type == "5")
7990
                                 {
8078
                                 {
7991
-                                    if (deptmodel.F_DeptId == 37)
8079
+                                    if (markdepts.Contains(ua.F_DeptId.ToString()))
7992
                                     {
8080
                                     {
7993
                                         // input. F_SC_QualityMonth = QualityMonth;//市场管理科-超出质保期限
8081
                                         // input. F_SC_QualityMonth = QualityMonth;//市场管理科-超出质保期限
7994
                                         input.F_SC_PreliminaryOpinion = deptment.PreliminaryOpinion;//市场管理科-初审意见:退货、换货、补偿、自行处理
8082
                                         input.F_SC_PreliminaryOpinion = deptment.PreliminaryOpinion;//市场管理科-初审意见:退货、换货、补偿、自行处理
7995
                                     }
8083
                                     }
7996
-                                    else if (deptmodel.F_DeptId == 12 || deptmodel.F_DeptId == 36)
8084
+                                    else if (qualdepts.Contains(ua.F_DeptId.ToString()))
7997
                                     {
8085
                                     {
7998
-                                        input.F_IsVisit = isvisit.ToString();
8086
+                                        //input.F_IsVisit = isvisit.ToString();
7999
                                         input.F_ZL_QualityEventLevel = deptment.QualityEventLevel;//质量管理科-质量事件等级(未遂、一般、较大、重大)
8087
                                         input.F_ZL_QualityEventLevel = deptment.QualityEventLevel;//质量管理科-质量事件等级(未遂、一般、较大、重大)
8000
                                         input.F_ZL_ClaimAmount = deptment.ClaimAmount;// 质量管理科-索赔金额(单位元,对应责任单位)
8088
                                         input.F_ZL_ClaimAmount = deptment.ClaimAmount;// 质量管理科-索赔金额(单位元,对应责任单位)
8001
                                         input.F_ZL_ApprovalOpinions = deptment.ApprovalOpinions;// 质量管理科-审批意见(同意、不同意,若选择不同意,增加输入框输入补充内容)
8089
                                         input.F_ZL_ApprovalOpinions = deptment.ApprovalOpinions;// 质量管理科-审批意见(同意、不同意,若选择不同意,增加输入框输入补充内容)
8014
                                         //input.F_ZL_ResponsibleUnit = deptment.ResponsibleUnit;// 质量管理科-责任单位(需列出,可选多个)
8102
                                         //input.F_ZL_ResponsibleUnit = deptment.ResponsibleUnit;// 质量管理科-责任单位(需列出,可选多个)
8015
 
8103
 
8016
                                     }
8104
                                     }
8017
-                                   else if (deptmodel.F_DeptName == "成品库" && model.F_SC_PreliminaryOpinion == "退换货") //退换货成品库录入物料信息
8105
+                                    else if (deptmodel.F_DeptName == "成品库" && model.F_SC_PreliminaryOpinion == "退换货") //退换货成品库录入物料信息
8018
                                     {
8106
                                     {
8019
                                         //if (string.IsNullOrEmpty(jsonstr))
8107
                                         //if (string.IsNullOrEmpty(jsonstr))
8020
                                         //{
8108
                                         //{
8034
                                                     itemodel.F_MaterialCode = item.materialcode;
8122
                                                     itemodel.F_MaterialCode = item.materialcode;
8035
                                                     itemodel.F_MaterialName = item.materialname;
8123
                                                     itemodel.F_MaterialName = item.materialname;
8036
                                                     itemodel.F_Formula = item.formula;
8124
                                                     itemodel.F_Formula = item.formula;
8037
-                                                    itemodel.F_ReturnQuantity = item.returnum??0;
8125
+                                                    itemodel.F_ReturnQuantity = item.returnum ?? 0;
8038
                                                     itemodel.F_WoID = model.F_ID;//工单id
8126
                                                     itemodel.F_WoID = model.F_ID;//工单id
8039
                                                     itemodel.F_CreateOn = DateTime.Now;
8127
                                                     itemodel.F_CreateOn = DateTime.Now;
8040
                                                     itemodel.F_Remark = item.specs;//规格
8128
                                                     itemodel.F_Remark = item.specs;//规格
8046
                                         }
8134
                                         }
8047
 
8135
 
8048
                                     }
8136
                                     }
8049
-                                    else if (deptmodel.F_DeptId == 248 && model.F_SC_PreliminaryOpinion == "退换货" )
8137
+                                    else if (deptmodel.F_DeptId == 248 && model.F_SC_PreliminaryOpinion == "退换货")
8050
                                     {
8138
                                     {
8051
                                         input.F_CarNumber = deptment.CarNumber;//返厂车牌号
8139
                                         input.F_CarNumber = deptment.CarNumber;//返厂车牌号
8052
-                                        input.F_LoadingFee= deptment.LoadingFee;//装车费
8140
+                                        input.F_LoadingFee = deptment.LoadingFee;//装车费
8053
                                         input.F_UnLoadingFee = deptment.UnLoadingFee;//卸车费
8141
                                         input.F_UnLoadingFee = deptment.UnLoadingFee;//卸车费
8054
                                         input.F_MaterialFee = deptment.MaterialFee;//返料费
8142
                                         input.F_MaterialFee = deptment.MaterialFee;//返料费
8055
                                         input.F_DrivePhone = deptment.DrivePhone;//电话号码
8143
                                         input.F_DrivePhone = deptment.DrivePhone;//电话号码
8089
                                 }
8177
                                 }
8090
                                 else if (model.F_Type == "3")
8178
                                 else if (model.F_Type == "3")
8091
                                 {
8179
                                 {
8092
-                                    if (deptmodel.F_DeptId == 37)
8180
+                                    if (markdepts.Contains(ua.F_DeptId.ToString()))
8093
                                     {
8181
                                     {
8094
 
8182
 
8095
                                         input.F_SC_CJ_SpotResult = deptment.SpotResult;//市场管理科-抽检-抽检结果(视同合格、合格、不合格、复检后合格、未送检)
8183
                                         input.F_SC_CJ_SpotResult = deptment.SpotResult;//市场管理科-抽检-抽检结果(视同合格、合格、不合格、复检后合格、未送检)
8097
                                         input.F_SC_CJ_ApprovalNo = deptment.ApprovalNo;//市场管理科-抽检-对应审批工作流单号
8185
                                         input.F_SC_CJ_ApprovalNo = deptment.ApprovalNo;//市场管理科-抽检-对应审批工作流单号
8098
                                         input.F_SC_CJ_ReturnAccount = deptment.ReturnAccount;//市场管理科-抽检-确认返账金额
8186
                                         input.F_SC_CJ_ReturnAccount = deptment.ReturnAccount;//市场管理科-抽检-确认返账金额
8099
                                     }
8187
                                     }
8100
-                                    else if (deptmodel.F_DeptId == 12 || deptmodel.F_DeptId == 36)
8188
+                                    else if(qualdepts.Contains(ua.F_DeptId.ToString()))
8101
                                     {
8189
                                     {
8102
-                                        input.F_IsVisit = isvisit.ToString();
8190
+                                        //input.F_IsVisit = isvisit.ToString();
8103
                                         input.F_ZL_CJ_IsRecord = deptment.IsRecord;//质量管理科-抽检-未备案、已备案
8191
                                         input.F_ZL_CJ_IsRecord = deptment.IsRecord;//质量管理科-抽检-未备案、已备案
8104
                                         input.F_ZL_ClaimAmount = deptment.ClaimAmount;// 质量管理科-索赔金额(单位元,对应责任单位)
8192
                                         input.F_ZL_ClaimAmount = deptment.ClaimAmount;// 质量管理科-索赔金额(单位元,对应责任单位)
8105
                                     }
8193
                                     }
8302
                                 input.F_ZL_ResponsibleUnit = deptment.ResponsibleUnit;// 责任单位
8390
                                 input.F_ZL_ResponsibleUnit = deptment.ResponsibleUnit;// 责任单位
8303
                                 //input.F_EventReason = deptment.EventReason;// 事件原因
8391
                                 //input.F_EventReason = deptment.EventReason;// 事件原因
8304
                                 input.F_ZL_ImprovementRequirements = deptment.ImprovementRequirements;// 改进要求
8392
                                 input.F_ZL_ImprovementRequirements = deptment.ImprovementRequirements;// 改进要求
8393
+                                input.F_IsVisit = isvisit.ToString();
8305
 
8394
 
8306
                             }
8395
                             }
8307
                             #region nouser
8396
                             #region nouser
8957
         {
9046
         {
8958
             #region 工单处理
9047
             #region 工单处理
8959
             int sms = 0;
9048
             int sms = 0;
9049
+            string markdepts = "37,57,74,88,268,422,339";
8960
             var itemlasts = itembll.GetModelList("  F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID=" + model.F_ID + " ");
9050
             var itemlasts = itembll.GetModelList("  F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID=" + model.F_ID + " ");
8961
             if (itemlasts.Count > 0)
9051
             if (itemlasts.Count > 0)
8962
             {
9052
             {
8998
                 strsql = "";
9088
                 strsql = "";
8999
             }
9089
             }
9000
 
9090
 
9001
-            var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_IsUsed=0 and F_WoState =" + F_OptType + " and  F_WoID='" + model.F_ID + "'"+strsql+" order by F_ID desc");
9091
+            var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_IsUsed=0 and F_WoState =" + F_OptType + " and  F_WoID='" + model.F_ID + "'and F_CreateUser='"+nowUser.F_UserCode+"' order by F_ID desc");         
9002
             if (itemlast != null && itemlast.Count>0)
9092
             if (itemlast != null && itemlast.Count>0)
9003
-            {
9093
+            {            
9094
+                if (markdepts.Contains(nowUser.F_DeptId.ToString()))
9095
+                {
9096
+                    var itemnext = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and F_WoState =" + F_OptType + " and  F_WoID='" + model.F_ID + "'and F_NextUser like '%" + nowUser.F_UserCode + "%' order by F_ID desc").FirstOrDefault();
9097
+                    if (itemlast.Count == 2 || itemnext.F_Flag == 9)
9098
+                    {
9099
+                        flag = 3;
9100
+                        model.F_Flag = 9;
9101
+                    }                                              
9102
+                }
9004
                 foreach (var item in itemlast)
9103
                 foreach (var item in itemlast)
9005
                 {
9104
                 {
9006
                     touser = item.F_NextUser;
9105
                     touser = item.F_NextUser;
9129
             var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_ID desc").FirstOrDefault();
9228
             var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_ID desc").FirstOrDefault();
9130
             if (itemlast != null)
9229
             if (itemlast != null)
9131
                 touser = itemlast.F_CreateUser;
9230
                 touser = itemlast.F_CreateUser;
9132
-            var itemid = AddLog((int)model.F_ID, wostate, content, (int)EnumItemType.evaluate, optbut, touser, 0, nowUser, model.F_limit, sms);
9133
-            if (itemid > 0)
9231
+            var itemlist = itembll.GetModelList($" F_ItemType={ (int)EnumItemType.deal} and  F_WoID='{model.F_ID }' and F_WoState={(int)EnumWorkOrderState.finish}");
9232
+            if (itemlist.Count > 0)
9233
+            {
9234
+                foreach (var item in itemlist)
9235
+                {
9236
+                    if (item.F_Type == 1)
9237
+                    {
9238
+                        model.F_State = wostate;
9239
+                    }
9240
+                    else if (item.F_Type == 2)
9241
+                    {
9242
+                        model.F_State2 = wostate;
9243
+                    }
9244
+                }
9245
+                AddLog((int)model.F_ID, wostate, content, (int)EnumItemType.evaluate, optbut, touser, 0, nowUser, model.F_limit, sms);
9246
+            }
9247
+            //var itemid = AddLog((int)model.F_ID, wostate, content, (int)EnumItemType.evaluate, optbut, touser, 0, nowUser, model.F_limit, sms);
9248
+            if (itemlist.Count > 0)
9134
             {
9249
             {
9135
                 #region 处理工单
9250
                 #region 处理工单
9136
-                model.F_State = wostate;
9137
-                model.F_State2 = wostate;
9251
+                //model.F_State = wostate;
9252
+                //model.F_State2 = wostate;
9138
                 model.F_VisitOn = DateTime.Now;
9253
                 model.F_VisitOn = DateTime.Now;
9139
                 model.F_VisitResult = cont;
9254
                 model.F_VisitResult = cont;
9140
                 model.F_VisitBy = nowUser.F_UserCode;
9255
                 model.F_VisitBy = nowUser.F_UserCode;
9148
                 #region 向上一级操作人员推送消息
9263
                 #region 向上一级操作人员推送消息
9149
                 if (!string.IsNullOrWhiteSpace(touser) && touser != nowUser.F_UserCode)
9264
                 if (!string.IsNullOrWhiteSpace(touser) && touser != nowUser.F_UserCode)
9150
                 {//排除上一级指派人是自己
9265
                 {//排除上一级指派人是自己
9151
-                    sendsysmsg(model, nowUser, touser, (int)itemid, opt);
9266
+                    sendsysmsg(model, nowUser, touser, 0, opt);
9152
                     var lastUser = sysUserAccountBll.GetModel(touser);
9267
                     var lastUser = sysUserAccountBll.GetModel(touser);
9153
                     //if (lastUser != null && !string.IsNullOrEmpty(lastUser.F_WxOpenId))
9268
                     //if (lastUser != null && !string.IsNullOrEmpty(lastUser.F_WxOpenId))
9154
                     //    sendwxmsg(model, lastUser.F_WxOpenId, nowUser, opt);
9269
                     //    sendwxmsg(model, lastUser.F_WxOpenId, nowUser, opt);
9202
             var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_ID desc").FirstOrDefault();
9317
             var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID='" + model.F_ID + "' and F_NextUser='" + nowUser.F_UserCode + "' order by F_ID desc").FirstOrDefault();
9203
             if (itemlast != null)
9318
             if (itemlast != null)
9204
                 touser = itemlast.F_CreateUser;
9319
                 touser = itemlast.F_CreateUser;
9205
-            var itemid = AddLog((int)model.F_ID, wostate, content, (int)EnumItemType.deal, optbut, touser, 0, nowUser, model.F_limit, sms);
9206
-            if (itemid > 0)
9320
+            var itemlist = itembll.GetModelList($" F_ItemType={ (int)EnumItemType.deal} and  F_WoID='{model.F_ID }' and F_WoState={(int)EnumWorkOrderState.finish}");
9321
+            if (itemlist.Count > 0)
9322
+            {
9323
+                foreach (var item in itemlist)
9324
+                {
9325
+                    if (item.F_Type == 1 && model.F_State!=(int)EnumWorkOrderState.evaluate)
9326
+                    {
9327
+                        model.F_State = wostate;
9328
+                        AddLog((int)model.F_ID, wostate, content, (int)EnumItemType.evaluate, optbut, touser, 0, nowUser, model.F_limit, sms, "", 0, 1);
9329
+                    }
9330
+                    else if (item.F_Type == 2 && model.F_State2 != (int)EnumWorkOrderState.evaluate)
9331
+                    {
9332
+                        model.F_State2 = wostate;
9333
+                        AddLog((int)model.F_ID, wostate, content, (int)EnumItemType.evaluate, optbut, touser, 0, nowUser, model.F_limit, sms, "", 0, 2);
9334
+                    }
9335
+                }
9336
+            }
9337
+            //var itemid = AddLog((int)model.F_ID, wostate, content, (int)EnumItemType.deal, optbut, touser, 0, nowUser, model.F_limit, sms);
9338
+            if (itemlist.Count > 0)
9207
             {
9339
             {
9208
                 #region 处理工单
9340
                 #region 处理工单
9209
                 model.F_VisitOn = DateTime.Now;
9341
                 model.F_VisitOn = DateTime.Now;
9210
-                model.F_State = wostate;
9211
-                model.F_State2 = wostate;
9342
+                //model.F_State = wostate;
9343
+                //model.F_State2 = wostate;
9212
                 workOrder.Update(model);
9344
                 workOrder.Update(model);
9213
                 #endregion
9345
                 #endregion
9214
                 #region 推送消息
9346
                 #region 推送消息
9215
                 #region 向上一级操作人员推送消息
9347
                 #region 向上一级操作人员推送消息
9216
                 if (!string.IsNullOrWhiteSpace(touser) && touser != nowUser.F_UserCode)
9348
                 if (!string.IsNullOrWhiteSpace(touser) && touser != nowUser.F_UserCode)
9217
                 {//排除上一级指派人是自己
9349
                 {//排除上一级指派人是自己
9218
-                    sendsysmsg(model, nowUser, touser, (int)itemid, opt);
9350
+                    sendsysmsg(model, nowUser, touser, 0, opt);
9219
                     // var lastUser = sysUserAccountBll.GetModel(touser);
9351
                     // var lastUser = sysUserAccountBll.GetModel(touser);
9220
                     //if (lastUser != null && !string.IsNullOrEmpty(lastUser.F_WxOpenId))
9352
                     //if (lastUser != null && !string.IsNullOrEmpty(lastUser.F_WxOpenId))
9221
                     //    sendwxmsg(model, lastUser.F_WxOpenId, nowUser, opt);
9353
                     //    sendwxmsg(model, lastUser.F_WxOpenId, nowUser, opt);
9233
         /// <summary>
9365
         /// <summary>
9234
         /// 处理工单
9366
         /// 处理工单
9235
         /// </summary>
9367
         /// </summary>
9236
-        public bool DealWO(Model.T_Sys_UserAccount nowUser, Model.T_Wo_WorkOrder model, WorkOrderNewInput input, string cont, string F_Files, int isover = 0, string uncont = "", int flag = 1,string eventreason="")
9368
+        public bool DealWO(Model.T_Sys_UserAccount nowUser, Model.T_Wo_WorkOrder model, WorkOrderNewInput input, string cont, string F_Files, int isover = 0, string uncont = "", int flag = 1,string eventreason="",int flagstate=0)
9237
         {
9369
         {
9238
             #region 工单处理
9370
             #region 工单处理
9239
             int sms = 0;
9371
             int sms = 0;
9283
             if (!string.IsNullOrEmpty(cont))
9415
             if (!string.IsNullOrEmpty(cont))
9284
                 optcont = ",处理内容:" + cont;
9416
                 optcont = ",处理内容:" + cont;
9285
             var content = deptname + nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ")" + opt + "工单" + optcont;
9417
             var content = deptname + nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ")" + opt + "工单" + optcont;
9286
-            var itemid = AddLog(model.F_ID, wostate, content, (int)EnumItemType.deal, optbut, nextuser, nextdept, nowUser, model.F_limit, sms, "", 0, flag);
9418
+            var itemid = AddLog(model.F_ID, wostate, content, (int)EnumItemType.deal, optbut, nextuser, nextdept, nowUser, model.F_limit, sms, "", 0, flag, flagstate);
9287
             if (itemid > 0)
9419
             if (itemid > 0)
9288
             {
9420
             {
9289
                 #region 处理工单
9421
                 #region 处理工单
9616
         /// <summary>
9748
         /// <summary>
9617
         /// 转派工单
9749
         /// 转派工单
9618
         /// </summary>
9750
         /// </summary>
9619
-        public bool AssignWO(Model.T_Sys_UserAccount nowUser, Model.T_Wo_WorkOrder model, WorkOrderNewInput input, string cont, string F_Files, int clbm = 0, int clid = 0, int overtime = 0, int sms = 0, int isApprovalp = 0, int hclbm = 0, int hclid = 0, string creat = "", int isbl = 0, int flag = 1)
9751
+        public bool AssignWO(Model.T_Sys_UserAccount nowUser, Model.T_Wo_WorkOrder model, WorkOrderNewInput input, string cont, string F_Files, int clbm = 0, int clid = 0, int overtime = 0, int sms = 0, int isApprovalp = 0, int hclbm = 0, int hclid = 0, string creat = "", int isbl = 0, int flag = 1,int flagstate=0)
9620
         {
9752
         {
9621
             #region 系统升级派单时限可修改2021/12/24
9753
             #region 系统升级派单时限可修改2021/12/24
9622
             //if (model.F_limit > 0)
9754
             //if (model.F_limit > 0)
9769
             if (!string.IsNullOrEmpty(cont))
9901
             if (!string.IsNullOrEmpty(cont))
9770
                 optcont = ",说明:" + cont;
9902
                 optcont = ",说明:" + cont;
9771
             var content = deptname + nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ")" + opt + "工单给 " + tousername + optcont;
9903
             var content = deptname + nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ")" + opt + "工单给 " + tousername + optcont;
9772
-            var itemid = AddLog(model.F_ID, wostate, content, (int)EnumItemType.deal, optbut, touser, clbm, nowUser, overtime, sms, creat, 0, flag);
9904
+            var itemid = AddLog(model.F_ID, wostate, content, (int)EnumItemType.deal, optbut, touser, clbm, nowUser, overtime, sms, creat, 0, flag, flagstate);
9773
             if (itemid > 0)
9905
             if (itemid > 0)
9774
             {
9906
             {
9775
                 #region 处理工单
9907
                 #region 处理工单

+ 2 - 0
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Models/Enum/EnumWorkOrderState.cs

43
         audit,
43
         audit,
44
         [Description("已撤回待指派")]
44
         [Description("已撤回待指派")]
45
         revoke,
45
         revoke,
46
+        [Description("暂存工单")]
47
+        storage,
46
     }
48
     }
47
     /// <summary>
49
     /// <summary>
48
     /// 工单记录类型枚举
50
     /// 工单记录类型枚举

+ 2 - 0
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Models/Input/WorkOrderNewInput.cs

1009
         /// </summary>
1009
         /// </summary>
1010
         public string SuperiorOpinion2 { get; set; }
1010
         public string SuperiorOpinion2 { get; set; }
1011
 
1011
 
1012
+        public int F_Flag { get; set; }
1013
+
1012
         #region 多物料
1014
         #region 多物料
1013
         public List<T_Wo_MaterialItems> MaterialItems { get; set; }
1015
         public List<T_Wo_MaterialItems> MaterialItems { get; set; }
1014
         #endregion
1016
         #endregion

+ 1 - 1
codegit/CallCenterApi/CallCenterApi.Model/T_Wo_WorkOrder.cs

1057
         /// </summary>
1057
         /// </summary>
1058
         public string F_EventReason2 { get; set; }
1058
         public string F_EventReason2 { get; set; }
1059
         /// <summary>
1059
         /// <summary>
1060
-        /// 1单线外2单线内3双线
1060
+        /// 1单线外2单线内3双线9市场科可以双线指派工单
1061
         /// </summary>
1061
         /// </summary>
1062
         public int F_Flag { get; set; }
1062
         public int F_Flag { get; set; }
1063
 
1063
 

+ 0 - 1
codegit/CallCenterCommon/CallCenter.Utility/NPOI/NPOIHelper.cs

8
 using NPOI.SS.UserModel;
8
 using NPOI.SS.UserModel;
9
 using NPOI.SS.Util;
9
 using NPOI.SS.Util;
10
 using NPOI.XSSF.UserModel;
10
 using NPOI.XSSF.UserModel;
11
-using CallCenterApi.DB;
12
 using System.Collections.Generic;
11
 using System.Collections.Generic;
13
 
12
 
14
 namespace CallCenter.Utility
13
 namespace CallCenter.Utility