Procházet zdrojové kódy

mod:反馈问题修复

zhupei %!s(int64=3) %!d(string=před) roky
rodič
revize
f52236c8d6

+ 73 - 0
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/HomeController.cs

@@ -2,6 +2,7 @@
2 2
 using CallCenter.Utility;
3 3
 using CallCenterApi.Interface.Controllers.Base;
4 4
 using CallCenterAPI.WechatSDK;
5
+using Newtonsoft.Json;
5 6
 using System;
6 7
 using System.Collections.Generic;
7 8
 using System.Data;
@@ -9,6 +10,7 @@ using System.Data.SqlTypes;
9 10
 using System.Linq;
10 11
 using System.Web;
11 12
 using System.Web.Mvc;
13
+using System.Web.Script.Serialization;
12 14
 
13 15
 namespace CallCenterApi.Interface.Controllers
14 16
 {
@@ -251,5 +253,76 @@ namespace CallCenterApi.Interface.Controllers
251 253
         }
252 254
 
253 255
 
256
+        public string  Testjson()
257
+        {
258
+            string jsonstr = "";
259
+            List<Material> matmodels = new List<Material>();
260
+            matmodels.Add(new Material { materialcode = "001", materialname = "物料名称", formula = "正常", returnum = 5 });
261
+            matmodels.Add(new Material { materialcode = "002", materialname = "物料名称2", formula = "正常2", returnum = 50 });
262
+            matmodels.Add(new Material { materialcode = "003", materialname = "物料名称3", formula = "正常3", returnum = 500 });
263
+            return matmodels.ToJson();
264
+
265
+
266
+        }
267
+
268
+        public ActionResult TestjsonToObj(string jsonstr)
269
+        {
270
+            JavaScriptSerializer Serializer = new JavaScriptSerializer();   //实例化⼀个能够序列化数据的类
271
+            List<Material> list = Serializer.Deserialize<List<Material>>(jsonstr);
272
+
273
+            if (list != null && list.Count>0)
274
+            {
275
+                foreach (var item in list)
276
+                {
277
+
278
+
279
+                }
280
+            }
281
+           
282
+            return Success("成功");
283
+        }
284
+
285
+        public class Material
286
+        {
287
+            /// <summary>
288
+            /// 物料编号
289
+            /// </summary>
290
+            public string materialcode { get; set; }
291
+
292
+            /// <summary>
293
+            /// 产品名称
294
+            /// </summary>
295
+            public string materialname { get; set; }
296
+
297
+            /// <summary>
298
+            /// 规格
299
+            /// </summary>
300
+            public string formula { get; set; }
301
+
302
+            /// <summary>
303
+            /// 返厂数量
304
+            /// </summary>
305
+            public int returnum { get; set; }
306
+        }
307
+
308
+        public class copymessage
309
+        {
310
+            public string deptid { get; set; }
311
+            public List<string> ucodelist { get; set; }
312
+        }
313
+
314
+        public string copyson()
315
+        {
316
+            string jsonstr = "";
317
+            List<copymessage> matmodels = new List<copymessage>();
318
+
319
+            matmodels.Add(new copymessage { deptid = "001", ucodelist = new List<string> { "8001", "8002", "8003" } });
320
+            matmodels.Add(new copymessage { deptid = "002", ucodelist =new List<string> { "8001", "8002", "8003" } });
321
+
322
+            return matmodels.ToJson();
323
+
324
+
325
+        }
326
+
254 327
     }
255 328
 }

+ 8 - 12
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/knowledge/KnowledgeController.cs

@@ -800,26 +800,20 @@ namespace CallCenterApi.Interface.Controllers.knowledge
800 800
 
801 801
 
802 802
         /// <summary>
803
-        /// 上传视频
803
+        /// 上传附件
804 804
         /// </summary>
805 805
         /// <returns></returns>
806 806
         //  [Authority]
807
-        public ActionResult UpLoadVideo(string type, HttpPostedFileBase file)
807
+        public ActionResult UpLoadProcessApp(string type, int size, HttpPostedFileBase file)
808 808
         {
809 809
             try
810 810
             {
811 811
                 if (file == null) return Error("参数传入失败");
812 812
                 if (Request.Files.Count == 0) return Error("保存失败");
813
-                //   string userCode = CurrentUser.UserData.F_UserCode;
814
-                Stream stream = file.InputStream;    //将文件转为流 
815
-                int size = file.ContentLength / 1024;
816
-                if (size > 102400)
817
-                {
818
-                   return  Error("视频大于100M,请重新选择");
819
-                }
820
-                string filePathName = string.Empty;
813
+                string stropenid = HttpUtility.UrlDecode(RequestString.GetFormString("openid"));
821 814
                 #region 保存文件到本地路径
822
-                string path = "/Upload/Video/" + DateTime.Now.ToString("yyyy/MM/dd") + "/";
815
+                string path = "/Upload/APP/" + DateTime.Now.ToString("yyyy") + "/" + DateTime.Now.ToString("MM") + "/" + DateTime.Now.ToString("dd") + "/";
816
+                string filePathName = string.Empty;            
823 817
                 string localPath = Server.MapPath(Path.Combine(HttpRuntime.AppDomainAppPath, path));
824 818
                 string ex = Path.GetExtension(file.FileName);
825 819
                 string oriname = Path.GetFileNameWithoutExtension(file.FileName);
@@ -860,7 +854,7 @@ namespace CallCenterApi.Interface.Controllers.knowledge
860 854
                         model_T_Sys_Accessories.F_AddTime = DateTime.Now;//上传时间
861 855
                         model_T_Sys_Accessories.F_FileName = filePathName;//附件名称
862 856
                         model_T_Sys_Accessories.F_FileType = type;//附件类型
863
-                        model_T_Sys_Accessories.F_FileUrl = (filePathName).Replace('\\', '/');//附件地址
857
+                        model_T_Sys_Accessories.F_FileUrl = (path+filePathName).Replace('\\', '/');//附件地址
864 858
                         model_T_Sys_Accessories.F_Size = size;
865 859
                         //     model_T_Sys_Accessories.F_UserCode = userCode;//上传人  
866 860
                         model_T_Sys_Accessories.F_OriName = oriname;
@@ -877,6 +871,8 @@ namespace CallCenterApi.Interface.Controllers.knowledge
877 871
                     }
878 872
                     else
879 873
                         return Error("文件上传失败,请重新上传,失败原因:" + uploadBeforres);
874
+                    #region 添加日志 本地测试
875
+                    #endregion
880 876
                 }
881 877
                 else
882 878
                     return Error("格式修改出错,请重新上传");

+ 141 - 83
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/weixin/WxLoginController.cs

@@ -1073,15 +1073,15 @@ namespace CallCenterApi.Interface.Controllers.weixin
1073 1073
                                     sql += " and (F_State in(" + (int)EnumWorkOrderState.dealing + "," + (int)EnumWorkOrderState.receive + "," + (int)EnumWorkOrderState.reback + "," + (int)EnumWorkOrderState.revoke + ")";
1074 1074
                               
1075 1075
                                     sql += " or F_State2 in(" + (int)EnumWorkOrderState.dealing + "," + (int)EnumWorkOrderState.receive + "," + (int)EnumWorkOrderState.reback + "," + (int)EnumWorkOrderState.revoke + "))";                               
1076
-                                    sql += "  and T_Wo_WorkOrder.F_ID in ( " + dealstr + ") ";
1076
+                                    sql += "  and (T_Wo_WorkOrder.F_ID in ( " + dealstr + ") ";
1077 1077
                                     if (!string.IsNullOrEmpty(GetRevokeWo(ua.F_UserCode)))
1078 1078
                                     {
1079
-                                      sql += " or ((F_State=" + (int)EnumWorkOrderState.assign + " or F_State2=" + (int)EnumWorkOrderState.assign + ") and T_Wo_WorkOrder.F_ID in (" + GetRevokeWo(ua.F_UserCode) + "))";                
1079
+                                      sql += " or ((F_State=" + (int)EnumWorkOrderState.assign + " or F_State2=" + (int)EnumWorkOrderState.assign + ") and T_Wo_WorkOrder.F_ID in (" + GetRevokeWo(ua.F_UserCode) + ")))";                
1080
+                                    }
1081
+                                    else
1082
+                                    {
1083
+                                        sql += $")";
1080 1084
                                     }
1081
-                                    //else
1082
-                                    //{
1083
-                                    //    sql += $")";
1084
-                                    //}
1085 1085
                                 }
1086 1086
                                 else
1087 1087
                                 {
@@ -1541,7 +1541,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
1541 1541
                     }
1542 1542
                     else if (ro.F_RoleCode == "DQJL" || ro.F_RoleCode == "FGSJL" || ro.F_RoleCode == "BLRY" || ro.F_RoleCode == "ZG" || ro.F_RoleCode == "GC")
1543 1543
                     {
1544
-                        string markdepts = "37,57,74,88,268,422,339";
1544
+                        string markdepts = "37,57,74,88,268,422,339,213";
1545 1545
                         string qualdepts = "12,36,295,245";
1546 1546
                         string detpid = "" + ua.F_DeptId;
1547 1547
                         var deparmentlist = new List<Model.T_Sys_Department>();
@@ -1898,15 +1898,15 @@ namespace CallCenterApi.Interface.Controllers.weixin
1898 1898
                             //{
1899 1899
                             sql += " or F_State2 in(" + (int)EnumWorkOrderState.dealing + "," + (int)EnumWorkOrderState.receive + "," + (int)EnumWorkOrderState.reback + "," + (int)EnumWorkOrderState.revoke + "))";
1900 1900
                             //}
1901
-                            sql += "  and T_Wo_WorkOrder.F_ID in ( " + dealstr + ") ";
1901
+                            sql += "  and (T_Wo_WorkOrder.F_ID in ( " + dealstr + ") ";
1902 1902
                             if (!string.IsNullOrEmpty(GetRevokeWo(ua.F_UserCode)))
1903 1903
                             {
1904
-                                sql += " or ((F_State=" + (int)EnumWorkOrderState.assign + " or F_State2=" + (int)EnumWorkOrderState.assign + ") and T_Wo_WorkOrder.F_ID in (" + GetRevokeWo(ua.F_UserCode) + "))";
1904
+                                sql += " or ((F_State=" + (int)EnumWorkOrderState.assign + " or F_State2=" + (int)EnumWorkOrderState.assign + ") and T_Wo_WorkOrder.F_ID in (" + GetRevokeWo(ua.F_UserCode) + ")))";
1905
+                            }
1906
+                            else
1907
+                            {
1908
+                                sql += $")";
1905 1909
                             }
1906
-                            //else
1907
-                            //{
1908
-                            //    sql += $")";
1909
-                            //}
1910 1910
 
1911 1911
                         }
1912 1912
                         else
@@ -2089,7 +2089,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
2089 2089
                         else if (ro.F_RoleCode == "DQJL" || ro.F_RoleCode == "FGSJL" || ro.F_RoleCode == "BLRY" || ro.F_RoleCode == "ZG" || ro.F_RoleCode == "GC")
2090 2090
                         {
2091 2091
 
2092
-                            string markdepts = "37,57,74,88,268,422,339";
2092
+                            string markdepts = "37,57,74,88,268,422,339,213";
2093 2093
                             string qualdepts = "12,36,295,245";
2094 2094
                             string detpid = "" + ua.F_DeptId;
2095 2095
                             var deparmentlist = new List<Model.T_Sys_Department>();
@@ -2257,7 +2257,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
2257 2257
                             string touser = "";
2258 2258
                             string strwhere = "";
2259 2259
                             string contens = "";
2260
-                            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)";
2260
+                            strwhere = $" F_DeptId in (select top 1 F_NextDept  from T_Wo_WorkOrderItem_New where F_WoID={model.F_ID} and F_NextDept in(37,57,74,88,268,295,339,422,213) order by F_CreateTime desc)";
2261 2261
                             var deptmodel = departmentBLL.GetModelList(strwhere).FirstOrDefault();
2262 2262
                             if (deptmodel != null)
2263 2263
                             {
@@ -2828,7 +2828,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
2828 2828
             if (!string.IsNullOrEmpty(OpenId))
2829 2829
             {
2830 2830
                 int woflag = 0;
2831
-                string markdepts = "37,57,74,88,268,295,339";
2831
+                string markdepts = "37,57,74,88,268,295,339,213";
2832 2832
                 string sqlstr = "";
2833 2833
                 if (id <= 0)
2834 2834
                 {
@@ -2918,16 +2918,16 @@ namespace CallCenterApi.Interface.Controllers.weixin
2918 2918
                     list.Add(model);
2919 2919
                 }
2920 2920
                 var itemlasts = itembll.GetModelList("  F_WoID=" + id + " ");
2921
-                //; var configfj = new BLL.T_Sys_SystemConfig().GetModelList(" F_ParamCode='FileUrlPath' ").FirstOrDefault();
2922
-                //if (!string.IsNullOrEmpty(model.F_Files))
2923
-                //{
2924
-                //    FileUrl = GetFileData(model.F_Files, configfj.F_ParamValue);
2925
-                //}
2921
+                 var configfj = new BLL.T_Sys_SystemConfig().GetModelList(" F_ParamCode='FileUrlPath' ").FirstOrDefault();
2926 2922
                 if (!string.IsNullOrEmpty(model.F_Files))
2927 2923
                 {
2928
-                    var configfj = "http://192.168.8.9:1005/Upload/APP/2022/06/22/";
2929
-                    FileUrl = GetFileData(model.F_Files, configfj);
2924
+                    FileUrl = GetFileData(model.F_Files, configfj.F_ParamValue);
2930 2925
                 }
2926
+                //if (!string.IsNullOrEmpty(model.F_Files))
2927
+                //{
2928
+                //    var configfj = "http://192.168.8.9:1005/Upload/APP/2022/06/22/";
2929
+                //    FileUrl = GetFileData(model.F_Files, configfj);
2930
+                //}
2931 2931
                 var ua = userAccountBLL.GetModelList(" F_WxOpenId='" + OpenId + "'").FirstOrDefault();
2932 2932
                 if (model.F_Source != "3")
2933 2933
                 {
@@ -2975,7 +2975,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
2975 2975
         {
2976 2976
             int? flag = 0;
2977 2977
 
2978
-            string markdepts = "37,57,74,88,268,295,339";
2978
+            string markdepts = "37,57,74,88,268,295,339,213";
2979 2979
             if (!string.IsNullOrEmpty(usercode))
2980 2980
             {
2981 2981
                 Model.T_Sys_UserAccount ua = userAccountBLL.GetModel(usercode);
@@ -2997,9 +2997,19 @@ namespace CallCenterApi.Interface.Controllers.weixin
2997 2997
                         }
2998 2998
                         else
2999 2999
                         {
3000
-                            var itemnext = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and F_OptType=1  and  F_WoID='" + fid + "' and F_NextUser like '%" + ua.F_UserCode + "%' order by F_ID desc").FirstOrDefault();
3000
+                            var itemnext = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID='" + fid + "' and F_NextUser like '%" + ua.F_UserCode + "%' order by F_ID desc").FirstOrDefault();
3001 3001
                             if (itemnext != null)
3002 3002
                                 flag = itemnext.F_Type;
3003
+                            if (flag != 1 || flag != 2)
3004
+                            {
3005
+                                var itemnext2 = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + "  and F_IsUsed=0 and  F_WoID='" + fid + "' and F_CreateUser='" + ua.F_UserCode + "' order by F_ID desc");
3006
+                                if (itemnext2 != null)
3007
+                                    foreach (var item in itemnext2)
3008
+                                    {
3009
+                                        if(item.F_WoState!=10)
3010
+                                        flag = item.F_Type;
3011
+                                    }
3012
+                            }
3003 3013
                         }
3004 3014
                     }
3005 3015
                 }
@@ -4944,7 +4954,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
4944 4954
             if (!string.IsNullOrEmpty(input.F_ZL_ClaimAmount))
4945 4955
                 model.F_ZL_ClaimAmount = input.F_ZL_ClaimAmount;//质量管理科-索赔金额(单位元,对应责任单位)
4946 4956
             if (!string.IsNullOrEmpty(input.F_ZL_ResponsibleUnit))
4947
-                model.F_ZL_ResponsibleUnit = string.IsNullOrEmpty(model.F_ZL_ResponsibleUnit) ? input.F_ZL_ResponsibleUnit : model.F_ZL_ResponsibleUnit + ";" + input.F_ZL_ResponsibleUnit;//质量管理科-责任单位(需列出,可选多个)
4957
+                model.F_ZL_ResponsibleUnit = input.F_ZL_ResponsibleUnit;//质量管理科-责任单位(需列出,可选多个)
4948 4958
             if (!string.IsNullOrEmpty(input.F_ZL_ApprovalOpinions))
4949 4959
                 model.F_ZL_ApprovalOpinions = input.F_ZL_ApprovalOpinions;// 质量管理科-审批意见(同意、不同意,若选择不同意,增加输入框输入补充内容)
4950 4960
             if (!string.IsNullOrEmpty(input.F_ZL_ApprovalDisagree))
@@ -4958,7 +4968,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
4958 4968
             if (!string.IsNullOrEmpty(input.F_ZL_Fquantity))
4959 4969
                 model.F_ZL_Fquantity = input.F_ZL_Fquantity;// 质量管理科-确认实收数量(吨)
4960 4970
             if (!string.IsNullOrEmpty(input.F_ZL_ImprovementRequirements))
4961
-                model.F_ZL_ImprovementRequirements = string.IsNullOrEmpty(model.F_ZL_ImprovementRequirements) ? input.F_ZL_ImprovementRequirements : model.F_ZL_ImprovementRequirements + ";" + input.F_ZL_ImprovementRequirements;//质量管理科-改进要求
4971
+                model.F_ZL_ImprovementRequirements = input.F_ZL_ImprovementRequirements;//质量管理科-改进要求
4962 4972
             if (!string.IsNullOrEmpty(input.F_ZL_CApprovalNo))
4963 4973
                 model.F_ZL_CApprovalNo = input.F_ZL_CApprovalNo;//质量管理科-对应审批工作流单号
4964 4974
             if (!string.IsNullOrEmpty(input.F_ZL_CJ_IsRecord))
@@ -4984,8 +4994,8 @@ namespace CallCenterApi.Interface.Controllers.weixin
4984 4994
                 model.F_UnLoadingFee = input.F_UnLoadingFee;
4985 4995
             if (input.F_MaterialFee > 0) //返料费
4986 4996
                 model.F_MaterialFee = input.F_MaterialFee;
4987
-            //if (!string.IsNullOrEmpty(input.F_EventReason))
4988
-            //    model.F_EventReason = input.F_EventReason;//质量管理科-事件原因
4997
+            if (!string.IsNullOrEmpty(input.F_EventReason))
4998
+                model.F_EventReason = input.F_EventReason;//质量管理科-事件原因
4989 4999
             if (!string.IsNullOrEmpty(input.F_DrivePhone))
4990 5000
                 model.F_DrivePhone = input.F_DrivePhone;//电话号码
4991 5001
             if (!string.IsNullOrEmpty(input.F_WorkmanShip))
@@ -4994,6 +5004,8 @@ namespace CallCenterApi.Interface.Controllers.weixin
4994 5004
                 model.F_Manufacturers = input.F_Manufacturers;//质量管理科-原料及厂家
4995 5005
             if (input.F_ProductionNum > 0)
4996 5006
                 model.F_ProductionNum = input.F_ProductionNum;//质量管理科-该批次生产数量
5007
+            if (!string.IsNullOrEmpty(input.F_TS_Level))
5008
+                model.F_TS_Level = input.F_TS_Level;//投诉-重要级别:轻微、一般、较大、重大
4997 5009
 
4998 5010
             return model;
4999 5011
         }
@@ -5022,23 +5034,31 @@ namespace CallCenterApi.Interface.Controllers.weixin
5022 5034
                 {
5023 5035
                     return Error("工单已转派请勿重复操作!");
5024 5036
                 }
5025
-                if (model .F_State !=0)
5037
+                if (model.F_State != 0)
5026 5038
                 {
5027 5039
                     //string strsql = " and F_Type in(3,"+ua.F_Flag+")";
5028
-                    var modellist = new BLL.T_Wo_WorkOrderItem_New().GetModelList($"F_WoID={model.F_ID} and (F_CreateUser={ua.F_UserCode} or F_NextUser like '%{ua.F_UserCode}%') and F_IsUsed=0 order by   F_ID desc ").FirstOrDefault();
5029
-                    if (modellist == null)
5040
+                    var modellist = new BLL.T_Wo_WorkOrderItem_New().GetModelList($"F_WoID={model.F_ID} and (F_CreateUser={ua.F_UserCode} or F_NextUser like '%{ua.F_UserCode}%') and F_IsUsed=0 order by   F_ID desc ");
5041
+                    if (modellist.Count<=0)
5030 5042
                     {
5031 5043
                         //if (modellist.F_NextUser != ua.F_UserCode)
5032 5044
                         return Error("非接单人不可操作工单");
5033 5045
                     }
5046
+                    if (modellist.Count > 1 && model.F_Flag == 9)
5047
+                    {
5048
+                        foreach (var item in modellist)
5049
+                        {
5050
+                            if (item.F_WoState != 2)
5051
+                                return Error("操作失败!");
5052
+                        }
5053
+                    }
5034 5054
                 }
5035
-               if (sms ==-1)
5055
+                if (sms ==-1)
5036 5056
                 {
5037 5057
                     var itemlast = itembll.GetModelList("   F_WoID='" + model.F_ID + "' order by F_ID desc").FirstOrDefault();
5038 5058
                      sms = (int)itemlast.F_IsSMS;
5039 5059
                 }
5040 5060
                 WorkOrderNewInput input = new WorkOrderNewInput();
5041
-                string markdepts = "37,57,74,88,268,422,339";
5061
+                string markdepts = "37,57,74,88,268,422,339,213";
5042 5062
                 string qualdepts = "12,36,295,245";
5043 5063
                 if (ua != null)
5044 5064
                 {
@@ -5825,9 +5845,13 @@ namespace CallCenterApi.Interface.Controllers.weixin
5825 5845
                             return Error("非接单人不可操作工单");
5826 5846
 
5827 5847
                         }
5828
-                        var modellast = new BLL.T_Wo_WorkOrderItem_New().GetModelList("F_WoID=" + model.F_ID + " and F_IsUsed=1 and F_WoState=1 and F_NextUser like '%" + ua.F_UserCode + "%'  order by  F_ID desc ").FirstOrDefault();
5829
-                        if (modellast != null && modellast.F_ID > modellist.F_ID)
5830
-                            return Error("工单已接单无需重新接单");
5848
+                        var modellast = new BLL.T_Wo_WorkOrderItem_New().GetModelList("F_WoID=" + model.F_ID + " and F_WoState=1 and F_NextUser like '%" + ua.F_UserCode + "%'  order by  F_ID desc ");
5849
+                        if (modellast.Count > 0)
5850
+                        {
5851
+                            int isused = modellast.Select(p => p.F_IsUsed == 0).Count();
5852
+                            if (isused <= 0)
5853
+                                return Error("工单已接单无需重新接单");
5854
+                        }
5831 5855
                         int? zflag = modellist.F_Type;
5832 5856
                         var res = SureWO(ua, model, Convert.ToInt32(zflag));
5833 5857
                         if (res)
@@ -5984,7 +6008,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
5984 6008
          string uncont = "",
5985 6009
         int isvisit = 1, int isover = 0)
5986 6010
         {
5987
-            string markdepts = "37,57,74,88,268,422,339";
6011
+            string markdepts = "37,57,74,88,268,422,339,213";
5988 6012
             string qualdepts = "12,36,295,245";
5989 6013
             if (!string.IsNullOrEmpty(OpenId))
5990 6014
             {
@@ -6019,12 +6043,20 @@ namespace CallCenterApi.Interface.Controllers.weixin
6019 6043
                                 //if (modellist.F_NextUser != ua.F_UserCode)
6020 6044
                                 return Error("非接单人不可操作工单");
6021 6045
                             }
6046
+                            if (model.F_Flag == 9)
6047
+                            {
6048
+                                return Error("操作失败!");
6049
+                            }
6022 6050
                             if (markdepts.Contains(ua.F_DeptId.ToString()) || qualdepts.Contains(ua.F_DeptId.ToString()))
6023 6051
                             {
6024 6052
                                 input.F_ZL_ResponsibleUnit = deptment.ResponsibleUnit;// 责任单位
6025
-                                //input.F_EventReason = deptment.EventReason;// 事件原因
6053
+                                input.F_EventReason = deptment.EventReason;// 事件原因
6026 6054
                                 input.F_ZL_ImprovementRequirements = deptment.ImprovementRequirements;// 改进要求
6027 6055
                                 input.F_IsVisit = isvisit.ToString();
6056
+                                input.F_WorkmanShip = deptment.WorkmanShip;//质量管理科-工艺
6057
+                                input.F_Manufacturers = deptment.Manufacturers;//质量管理科-原料及厂家
6058
+                                input.F_ProductionNum = deptment.ProductionNum;//质量管理科-该批次生产数量
6059
+                                input.F_TS_Level = deptment.TS_Level;//投诉-重要级别:轻微、一般、较大、重大
6028 6060
 
6029 6061
                             }
6030 6062
                             
@@ -6033,7 +6065,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
6033 6065
                                 return Error("工单已处理请勿重复操作!");
6034 6066
                             else
6035 6067
                             {
6036
-                                var res = DealWO(ua, model, F_Files, input, cont, isover, uncont, Convert.ToInt32(modellist.F_Type), deptment.EventReason);
6068
+                                var res = DealWO(ua, model, F_Files, input, cont, isover, uncont, Convert.ToInt32(modellist.F_Type));
6037 6069
                                 if (res)
6038 6070
                                     return Success("处理成功");
6039 6071
                                 else
@@ -6159,22 +6191,30 @@ namespace CallCenterApi.Interface.Controllers.weixin
6159 6191
                     //验证信息
6160 6192
                     if (model != null)
6161 6193
                     {
6162
-                        //string strsql = "";
6163
-                        //if (ua.F_Flag == 1)
6164
-                        //{
6165
-                        //    strsql = $" and F_Type in(1,3)";
6166
-                        //}
6167
-                        //else if (ua.F_Flag == 2)
6168
-                        //{
6169
-                        //    strsql = $" and F_Type in(2,3)";
6170
-                        //}
6194
+                        int flag = 0;
6195
+                        string markdepts = "37,57,74,88,268,422,339,213";
6171 6196
                         var modellist = new BLL.T_Wo_WorkOrderItem_New().GetModelList($"F_WoID={model.F_ID} and F_IsUsed=0 and (F_CreateUser={ua.F_UserCode} or F_NextUser like '%{ua.F_UserCode}%')  order by   F_ID desc ").FirstOrDefault();
6172 6197
 
6173 6198
                         if (modellist == null)
6174 6199
                         {
6175 6200
                             return Error("非接单人不可操作工单");
6176 6201
                         }
6177
-                        var res = BackWO(ua, model, cont, type, (Convert.ToInt32(modellist.F_Type)));
6202
+
6203
+                        if (!string.IsNullOrEmpty(modellist.F_CreateUser))
6204
+                        {
6205
+                            var deptid = userAccountBLL.GetModel(modellist.F_CreateUser.ToString())?.F_DeptId;
6206
+                            if (markdepts.Contains(deptid.ToString()))
6207
+                            {
6208
+                                var itemnext = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and F_WoState =1 and  F_WoID='" + model.F_ID + "'and F_NextUser like '%" + modellist.F_CreateUser + "%' order by F_ID desc").FirstOrDefault();
6209
+                                if (itemnext.F_Flag == 9)
6210
+                                {
6211
+                                    model.F_Flag = 9;
6212
+                                }
6213
+
6214
+                            }
6215
+                        }
6216
+                        flag = Convert.ToInt32(Convert.ToInt32(modellist.F_Type));
6217
+                        var res = BackWO(ua, model, cont, type, flag);
6178 6218
                         if (res)
6179 6219
                             return Success("退回成功");
6180 6220
                         else
@@ -6208,31 +6248,49 @@ namespace CallCenterApi.Interface.Controllers.weixin
6208 6248
                     if (model != null)
6209 6249
                     {
6210 6250
                         int flag = 0;
6251
+                        string markdepts = "37,57,74,88,268,422,339,213";
6211 6252
                         Model.T_Sys_RoleInfo ro = rolebll.GetModel(ua.F_RoleId);
6212
-                        var modellist = new BLL.T_Wo_WorkOrderItem_New().GetModelList($"F_WoID={model.F_ID} and F_OptType =1 and F_IsUsed=0 and F_CreateUser={ua.F_UserCode} order by   F_ID desc ").FirstOrDefault();
6253
+                        var modelnext = new BLL.T_Wo_WorkOrderItem_New().GetModelList($"F_WoID={model.F_ID} and F_OptType=1  and F_CreateUser={ua.F_UserCode} order by   F_ID desc ");
6213 6254
 
6214
-                        if (modellist != null)
6255
+                        if (modelnext != null)
6215 6256
                         {
6216
-                            //string createuser = modellist.F_CreateUser;
6217
-                            //if (!string.IsNullOrEmpty(createuser))
6218
-                            //{
6219
-                            //    if (createuser != ua.F_UserCode)
6220
-                            //        return Error("无操作权限");
6221
-                            //}
6222
-                            //if (modellist.F_WoState == (int)EnumWorkOrderState.assign)
6223
-                            //{
6257
+                            foreach (var item in modelnext)
6258
+                            {
6259
+                                if (item.F_IsUsed == 1)
6260
+                                    return Error("撤回失败,无法撤回!");
6261
+                            }
6262
+                            var modellist = itembll.GetModelList($"F_WoID={model.F_ID} and F_OptType=1 and F_IsUsed=0 and F_CreateUser={ua.F_UserCode} order by   F_ID desc ");
6263
+                            if (modellist == null)
6264
+                            { return Error("无操作权限"); }
6224 6265
                             if (ro.F_RoleCode == "JDYPTZX" || ro.F_RoleCode == "JDYBZZX" || ro.F_RoleCode == "XTGLY")
6225 6266
                             {
6226 6267
                                 flag = 3;
6227 6268
                             }
6269
+                            else if (modellist != null && modellist.Count > 0)
6270
+                            {
6271
+                                if (markdepts.Contains(ua.F_DeptId.ToString()))
6272
+                                {
6273
+                                    var itemnext = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.deal + " and F_WoState =1 and  F_WoID='" + model.F_ID + "'and F_NextUser like '%" + ua.F_UserCode + "%' order by F_ID desc").FirstOrDefault();
6274
+                                    if (modellist.Count == 2)
6275
+                                    {
6276
+                                        flag = 3;
6277
+                                        model.F_Flag = 9;
6278
+                                    }
6279
+                                    else if (itemnext.F_Flag == 9)
6280
+                                    {
6281
+                                        flag = 3;
6282
+                                        model.F_Flag = 9;
6283
+                                    }
6284
+                                }
6285
+                                flag = Convert.ToInt32(modellist.FirstOrDefault().F_Type);
6286
+                            }
6228 6287
                             else
6229 6288
                             {
6230
-                                flag = Convert.ToInt32(modellist.F_Type);
6289
+                                return Error("无操作权限");
6231 6290
                             }
6232 6291
                             var res = RevWO(ua, model, cont, flag);
6233 6292
                             if (res)
6234 6293
                                 return Success("撤回成功");
6235
-                            else return Error("撤回失败!");
6236 6294
                             //}
6237 6295
                             //else
6238 6296
                             //    return Error("撤回失败!");
@@ -6464,7 +6522,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
6464 6522
         {
6465 6523
             #region 工单处理
6466 6524
             int sms = 0;
6467
-            string markdepts = "37,57,74,88,268,422,339";
6525
+            string markdepts = "37,57,74,88,268,422,339,213";
6468 6526
             var itemlasts = itembll.GetModelList("  F_ItemType=" + (int)EnumItemType.deal + " and  F_WoID=" + model.F_ID + " ");
6469 6527
             if (itemlasts.Count > 0)
6470 6528
             {
@@ -6509,15 +6567,15 @@ namespace CallCenterApi.Interface.Controllers.weixin
6509 6567
             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");
6510 6568
             if (itemlast != null && itemlast.Count > 0)
6511 6569
             {
6512
-                if (markdepts.Contains(nowUser.F_DeptId.ToString()))
6513
-                {
6514
-                    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();
6515
-                    if (itemlast.Count == 2 || itemnext.F_Flag == 9)
6516
-                    {
6517
-                        flag = 3;
6518
-                        model.F_Flag = 9;
6519
-                    }
6520
-                }
6570
+                //if (markdepts.Contains(nowUser.F_DeptId.ToString()))
6571
+                //{
6572
+                //    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();
6573
+                //    if (itemlast.Count == 2 || itemnext.F_Flag == 9)
6574
+                //    {
6575
+                //        flag = 3;
6576
+                //        model.F_Flag = 9;
6577
+                //    }
6578
+                //}
6521 6579
                 foreach (var item in itemlast)
6522 6580
                 {
6523 6581
                     touser = item.F_NextUser;
@@ -6705,17 +6763,17 @@ namespace CallCenterApi.Interface.Controllers.weixin
6705 6763
                     }
6706 6764
                     //model.F_SuperiorOpinion = string.IsNullOrEmpty(model.F_SuperiorOpinion) ? cont : model.F_SuperiorOpinion + "; " + cont;
6707 6765
                 }
6708
-                if (!string.IsNullOrEmpty(eventreason))
6709
-                {
6710
-                    if (flag == 1)
6711
-                    {
6712
-                        model.F_EventReason = eventreason;
6713
-                    }
6714
-                    else if (flag == 2)
6715
-                    {
6716
-                        model.F_EventReason2 = eventreason;
6717
-                    }
6718
-                }
6766
+                //if (!string.IsNullOrEmpty(eventreason))
6767
+                //{
6768
+                //    if (flag == 1)
6769
+                //    {
6770
+                //        model.F_EventReason = eventreason;
6771
+                //    }
6772
+                //    else if (flag == 2)
6773
+                //    {
6774
+                //        model.F_EventReason2 = eventreason;
6775
+                //    }
6776
+                //}
6719 6777
 
6720 6778
                 model.F_DealTime = DateTime.Now;
6721 6779
                 InToworkModel(model, input);

File diff suppressed because it is too large
+ 396 - 239
codegit/CallCenterApi/CallCenterApi.Interface/CallCenterApi.Interface/Controllers/workorder/WorkOrderNewController.cs


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

@@ -1010,6 +1010,9 @@ namespace CallCenterApi.Interface.Models.Input
1010 1010
         public string SuperiorOpinion2 { get; set; }
1011 1011
 
1012 1012
         public int F_Flag { get; set; }
1013
+        
1014
+        public int? inout { get; set; }
1015
+        public int? woflag { get; set; }
1013 1016
 
1014 1017
         #region 多物料
1015 1018
         public List<T_Wo_MaterialItems> MaterialItems { get; set; }

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

@@ -17,8 +17,8 @@
17 17
     <add key="smssign" value=""/>
18 18
   </appSettings>
19 19
   <connectionStrings>
20
-    <add name="ConnectionString" connectionString="Data Source=.;User ID=sa;pwd=sa123456;Initial Catalog=CallCenter_XinXiangXLX;"/>
21
-  <!--<add name="ConnectionString" connectionString="Data Source=192.168.4.18;User ID=sa;pwd=800100;Initial Catalog=CallCenter_XinXiangXLX;" />-->
20
+    <!--<add name="ConnectionString" connectionString="Data Source=192.168.8.3;User ID=sa;pwd=800100;Initial Catalog=xinlianxin;"/>-->
21
+  <add name="ConnectionString" connectionString="Data Source=.;User ID=sa;pwd=sa123456;Initial Catalog=CallCenter_XinXiangXLX0629;" />
22 22
   </connectionStrings>
23 23
   <system.web>
24 24
     <compilation debug="true" targetFramework="4.5"/>

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

@@ -178,7 +178,7 @@ namespace CallCenterApi.Model
178 178
             get { return _f_type; }
179 179
         }
180 180
         /// <summary>
181
-        /// 1单线外2单线内3双线
181
+        /// 1单线外2单线内3双线9自动流转市场管理科可以双线指派的工单
182 182
         /// </summary>
183 183
         public int F_Flag { get; set; }
184 184
         #endregion Model