From e85db5311ea7560f0932c96985f7403a57e8d6ff Mon Sep 17 00:00:00 2001 From: leo <10200039@qq.com> Date: Sat, 13 May 2023 17:20:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=89=A9=E6=96=99=E8=B7=AF?= =?UTF-8?q?=E7=BA=BFBUG=20=E4=BF=AE=E6=94=B9=E5=AF=BC=E5=87=BA=E8=A7=86?= =?UTF-8?q?=E5=9B=BE=E6=96=87=E4=BB=B6=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/MaterialController.cs | 18 ++++----- .../Controllers/MaterialTeamworkController.cs | 37 ++++++++++++++----- FactorySystemBll/MaterialBll.cs | 4 +- FactorySystemBll/MaterialTeamworkBll.cs | 16 +++----- 4 files changed, 44 insertions(+), 31 deletions(-) diff --git a/FactorySystemApi/Controllers/MaterialController.cs b/FactorySystemApi/Controllers/MaterialController.cs index f793cab..b0d319c 100644 --- a/FactorySystemApi/Controllers/MaterialController.cs +++ b/FactorySystemApi/Controllers/MaterialController.cs @@ -268,14 +268,14 @@ namespace FactorySystemApi.Controllers if (hasFinish) savePath = savePath.Replace("\\File\\Temp\\", "\\File\\View\\"); if (!File.Exists(savePath) || !hasFinish) { - MaterialBll.CreateExeclFile(inParam["FName"].ToString(), savePath, "", "", "", inParam["FID"].ToString(), ""); + MaterialBll.CreateExeclFile(inParam["FName"].ToString() + "_全部视图", savePath, "", "", "", inParam["FID"].ToString(), ""); } else { - File.Delete(basePath + string.Format("\\File\\Temp\\{0}_{1}\\", inParam["FID"], "View")); - MaterialBll.CreateExeclFile(inParam["FName"].ToString(), savePath, "", "", "", inParam["FID"].ToString(), ""); + File.Delete(basePath + string.Format("\\File\\Temp\\{0}_{1}\\", inParam["FID"], "全部视图")); + MaterialBll.CreateExeclFile(inParam["FName"].ToString() + "_全部视图", savePath, "", "", "", inParam["FID"].ToString(), ""); } - string url = Request.RequestUri.AbsoluteUri.Replace(Request.RequestUri.AbsolutePath, "") + savePath.Replace(basePath, "").Replace("\\", "/").Replace(".xlsx", inParam["FName"].ToString() + ".xlsx"); + string url = Request.RequestUri.AbsoluteUri.Replace(Request.RequestUri.AbsolutePath, "") + savePath.Replace(basePath, "").Replace("\\", "/").Replace(".xlsx", inParam["FName"].ToString() + "_全部视图" + ".xlsx"); apiResult.Data = url; } @@ -331,14 +331,14 @@ namespace FactorySystemApi.Controllers if (hasFinish) savePath = savePath.Replace("\\File\\Temp\\", "\\File\\View\\"); if (!File.Exists(savePath) || !hasFinish) { - MaterialBll.CreateExeclFileSAP(inParam["FName"].ToString(), savePath, "", "", "", inParam["FID"].ToString(), ""); + MaterialBll.CreateExeclFileSAP(inParam["FName"].ToString() + "_SAP视图", savePath, "", "", "", inParam["FID"].ToString(), ""); } else { - File.Delete(basePath + string.Format("\\File\\Temp\\{0}_{1}\\", inParam["FID"], "SAP")); - MaterialBll.CreateExeclFileSAP(inParam["FName"].ToString(), savePath, "", "", "", inParam["FID"].ToString(), ""); + File.Delete(basePath + string.Format("\\File\\Temp\\{0}_{1}\\", inParam["FID"], "SAP视图")); + MaterialBll.CreateExeclFileSAP(inParam["FName"].ToString() + "_SAP视图", savePath, "", "", "", inParam["FID"].ToString(), ""); } - string url = Request.RequestUri.AbsoluteUri.Replace(Request.RequestUri.AbsolutePath, "") + savePath.Replace(basePath, "").Replace("\\", "/").Replace(".xlsx", inParam["FName"].ToString() + ".xlsx"); + string url = Request.RequestUri.AbsoluteUri.Replace(Request.RequestUri.AbsolutePath, "") + savePath.Replace(basePath, "").Replace("\\", "/").Replace(".xlsx", inParam["FName"].ToString() + "_SAP视图" + ".xlsx"); apiResult.Data = url; } @@ -360,7 +360,7 @@ namespace FactorySystemApi.Controllers ApiResult apiResult = new ApiResult(); return ExceptionHelper.TryReturnException(() => { - string str = inParam["FType"].ToString() == "1" ? "视图" : "物料视图"; + string str = inParam["FType"].ToString() == "1" ? "全部视图" : "SAP视图"; inParam.TryGetValue("FViewType", out object objType); //string FType = null == objType ? Constant.TeamViewType.物料视图.ToString() : objType.ToString(); //string selectSql = "", joinSql = "", whereSql = string.Format("TFS_FTeamwork.FID={0} ", inParam["FTeamID"]); diff --git a/FactorySystemApi/Controllers/MaterialTeamworkController.cs b/FactorySystemApi/Controllers/MaterialTeamworkController.cs index 28f2473..1274108 100644 --- a/FactorySystemApi/Controllers/MaterialTeamworkController.cs +++ b/FactorySystemApi/Controllers/MaterialTeamworkController.cs @@ -12,10 +12,8 @@ using FactorySystemModel.RequestModel; using System.Reflection; using System.Data; using System.IO; -using System.Security.Cryptography; -using System.Threading.Tasks; using System.Web.UI.WebControls; -using static FactorySystemModel.EnumModel.Constant; +using System.Linq; namespace FactorySystemApi.Controllers { @@ -190,10 +188,31 @@ namespace FactorySystemApi.Controllers { mtq.FUserID = user.FID; } + + List powerList = MaterialTeamworkBll.GetViewPower(mtq.FUserID); + List list = MaterialTeamworkBll.GetList(mtq, out var totalNumber); + int total = totalNumber; + + if (list != null && list.Count > 0) + { + foreach(MaterialTeamworkRow row in list) + { + row.FIsShowView = false; + row.FIsDownloadView = false; + + int factoryId = row.FCreateFactoryID; + List viewPowers = powerList.FindAll(p => ((IDictionary)p)["FFactoryID"].ToString().Equals(factoryId.ToString()) && ((IDictionary)p)["FFunctionID"].ToString().Equals("1")).ToList(); + List operationPowers = powerList.FindAll(p => ((IDictionary)p)["FFactoryID"].ToString().Equals(factoryId.ToString()) && ((IDictionary)p)["FFunctionID"].ToString().Equals("6")).ToList(); + + if (viewPowers != null && viewPowers.Count > 0) row.FIsShowView = true; + if (operationPowers != null && operationPowers.Count > 0) row.FIsDownloadView = true; + } + } + apiResult.Data = new { - List = MaterialTeamworkBll.GetList(mtq, out var totalNumber), - Total = totalNumber + List = list, + Total = total }; }, apiResult, Request); } @@ -739,10 +758,10 @@ namespace FactorySystemApi.Controllers if (hasFinish) savePath = savePath.Replace("\\File\\Temp\\", "\\File\\View\\"); if (!File.Exists(savePath) || !hasFinish) { - CreateExeclFileSAP(materialName.ToString(), savePath, teamworkId.ToString(), teamworkType.ToString()); + CreateExeclFileSAP(materialName.ToString() + "_SAP视图", savePath, teamworkId.ToString(), teamworkType.ToString()); } - string url = Request.RequestUri.AbsoluteUri.Replace(Request.RequestUri.AbsolutePath, "") + savePath.Replace(basePath, "").Replace("\\", "/").Replace(".xlsx", materialName.ToString() + ".xlsx"); + string url = Request.RequestUri.AbsoluteUri.Replace(Request.RequestUri.AbsolutePath, "") + savePath.Replace(basePath, "").Replace("\\", "/").Replace(".xlsx", materialName.ToString() + "_SAP视图.xlsx"); apiResult.Data = url; } else @@ -781,10 +800,10 @@ namespace FactorySystemApi.Controllers if (hasFinish) savePath = savePath.Replace("\\File\\Temp\\", "\\File\\View\\"); if (!File.Exists(savePath) || !hasFinish) { - CreateExeclFile(materialName.ToString(), savePath, teamworkId.ToString(), teamworkType.ToString()); + CreateExeclFile(materialName.ToString() + "_全部视图", savePath, teamworkId.ToString(), teamworkType.ToString()); } - string url = Request.RequestUri.AbsoluteUri.Replace(Request.RequestUri.AbsolutePath, "") + savePath.Replace(basePath, "").Replace("\\", "/").Replace(".xlsx", materialName.ToString() + ".xlsx"); + string url = Request.RequestUri.AbsoluteUri.Replace(Request.RequestUri.AbsolutePath, "") + savePath.Replace(basePath, "").Replace("\\", "/").Replace(".xlsx", materialName.ToString() + "_全部视图.xlsx"); apiResult.Data = url; } else diff --git a/FactorySystemBll/MaterialBll.cs b/FactorySystemBll/MaterialBll.cs index c9f114c..b2e94fc 100644 --- a/FactorySystemBll/MaterialBll.cs +++ b/FactorySystemBll/MaterialBll.cs @@ -966,11 +966,11 @@ namespace FactorySystemBll string str = ""; if (FType == "1") { - str = "视图"; + str = "全部视图"; dataList = GetMaterialInfoALL(); } else { - str = "基础视图"; + str = "SAP视图"; dataList = GetMaterialInfoSAPALL(); } diff --git a/FactorySystemBll/MaterialTeamworkBll.cs b/FactorySystemBll/MaterialTeamworkBll.cs index e465dac..742b0bc 100644 --- a/FactorySystemBll/MaterialTeamworkBll.cs +++ b/FactorySystemBll/MaterialTeamworkBll.cs @@ -481,25 +481,19 @@ namespace FactorySystemBll return viewList; } - public List> GetViewPower(int userId, List factoryId) + public List GetViewPower(int userId) { SqlSugarClient db = AppSettingsHelper.GetSqlSugar(); - List> factoryPowers = new List>(); List powers = db.Queryable((a, b) => new JoinQueryInfos( - JoinType.Left, b.FRole.Equals(a.FRoleID.ToString()) + JoinType.Full, b.FRole.Equals(a.FRoleID.ToString()) )) - .Where((a, b) => b.FUserID.Equals(userId.ToString()) && b.FFactoryID.Equals(factoryId.ToString())) + .Where((a, b) => b.FUserID.Equals(userId.ToString())) .Where((a, b) => a.FType == 3) - .Select("a.FFunctionID, b.FFactoryID").Distinct() + .Select("a.FRoleID, a.FType, a.FFunctionID, b.FFactoryID").Distinct() .ToList(); - if (powers != null && powers.Count > 0) - { - - } - - return factoryPowers; + return powers; } public DataTable GetViewMaterialSAP(string teamworkId, string teamworkType)