From 3f7d5fc9ccbc41fda6c473267397041502b73234 Mon Sep 17 00:00:00 2001 From: yibo <361071264@qq.com> Date: Fri, 23 Feb 2018 16:39:53 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9C=80=E6=B1=82=E5=8D=95No.138716=20?= =?UTF-8?q?=E5=B1=A0=E5=AE=B0=E5=88=86=E5=89=B2=E5=AE=A2=E6=88=B7=E7=AB=AF?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E6=8C=89=E7=99=BB=E5=BD=95=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E6=9D=83=E9=99=90=E5=88=92=E5=88=86=EF=BC=8C?= =?UTF-8?q?=E6=AF=8F=E4=B8=AA=E5=AE=A2=E6=88=B7=E7=AB=AF=E5=8F=AA=E6=9C=89?= =?UTF-8?q?=E5=90=8E=E5=8F=B0=E9=85=8D=E7=BD=AE=E7=94=A8=E6=88=B7=E6=9C=89?= =?UTF-8?q?=E6=9D=83=E9=99=90=E7=99=BB=E5=BD=95=E6=89=8D=E8=83=BD=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BO/Utils/AfterLoginUtil.cs | 93 ++++++++++--------- BO/Utils/LoginRpcUtil.cs | 6 ++ ButcherManageClient/Login.cs | 18 ++-- ButcherOrder/ButcherOrderForm.cs | 4 +- ButcherWeight/WeightForm.cs | 7 +- ByProductWeight/ByProductWeightForm.cs | 8 +- Distribution/DistributionForm.cs | 8 +- DropPigReOrder/ReOrderForm.cs | 7 +- .../MaterialRequisitionForm.cs | 9 +- .../OffLineQualityOrderForm.cs | 11 ++- OrderConfirm/OrderConfirmForm.cs | 7 +- QualityAndOrder/QualityOrderForm.cs | 13 ++- .../SegmentationInStoreForm.cs | 8 +- SegmentationWeight/SegmentationWeightForm.cs | 8 +- .../TrunksIousOutInStoreForm.cs | 7 +- WeighAndGrading/DataViewForm.cs | 7 +- WeighAndGrading/GradeFrom.cs | 7 +- 17 files changed, 154 insertions(+), 74 deletions(-) diff --git a/BO/Utils/AfterLoginUtil.cs b/BO/Utils/AfterLoginUtil.cs index eb51ed6..fb6a555 100644 --- a/BO/Utils/AfterLoginUtil.cs +++ b/BO/Utils/AfterLoginUtil.cs @@ -11,7 +11,7 @@ namespace BO.Utils { public interface IAfterLogin { - string RoleName { get; } + List RoleName { get; } Form Generate(); } @@ -19,19 +19,20 @@ namespace BO.Utils public static class AfterLoginUtil { #if DEBUG - static List> roleToAssemblies = new List>(){new Tuple("排宰员",@"C:\BwpB3Project\src\B3ButcherManageClient\ButcherOrder\bin\Debug\ButcherOrder"), - new Tuple("过磅员",@"C:\BwpB3Project\src\B3ButcherManageClient\ButcherWeight\bin\Debug\ButcherWeight"), - new Tuple("验质员",@"C:\BwpB3Project\src\B3ButcherManageClient\QualityAndOrder\bin\Debug\QualityAndOrder"), - new Tuple("验质排宰",@"C:\BwpB3Project\src\B3ButcherManageClient\OffLineQualityAndOrder\bin\Debug\OffLineQualityAndOrder"), - new Tuple("定级员",@"C:\BwpB3Project\src\B3ButcherManageClient\WeighAndGrading\bin\Debug\WeighAndGrading"), - new Tuple("窒晕员",@"C:\BwpB3Project\src\B3ButcherManageClient\OrderConfirm\bin\Debug\OrderConfirm"), - new Tuple("白条入库",@"C:\BwpB3Project\src\B3ButcherManageClient\TrunksIousOutInStore\bin\Debug\TrunksIousOutInStore"), - new Tuple("掉猪处理员",@"C:\BwpB3Project\src\B3ButcherManageClient\DropPigReOrder\bin\Debug\DropPigReOrder"), - new Tuple("配货员",@"C:\BwpB3Project\src\B3ButcherManageClient\Distribution\bin\Debug\Distribution"), - new Tuple("分割称重",@"C:\BwpB3Project\src\B3ButcherManageClient\SegmentationWeight\bin\Debug\SegmentationWeight"), - new Tuple("分割入库",@"C:\BwpB3Project\src\B3ButcherManageClient\SegmentationInStore\bin\Debug\SegmentationInStore"), - new Tuple("定级校验",@"C:\BwpB3Project\src\B3ButcherManageClient\WeighAndGrading\bin\Debug\WeighAndGrading"), - new Tuple("领料退料",@"C:\BwpB3Project\src\B3ButcherManageClient\MaterialRequisition\bin\Debug\MaterialRequisition"), + static List> roleToAssemblies = new List>(){ + new Tuple("收购业务.过磅单",@"C:\BwpB3Project\src\B3ButcherManageClient\ButcherWeight\bin\Debug\ButcherWeight"), + new Tuple("收购业务.验质分圈,收购业务.排宰顺序,收购业务.急宰打码",@"C:\BwpB3Project\src\B3ButcherManageClient\QualityAndOrder\bin\Debug\QualityAndOrder"), + new Tuple("收购业务.线下验质分圈,收购业务.线下排宰顺序",@"C:\BwpB3Project\src\B3ButcherManageClient\OffLineQualityAndOrder\bin\Debug\OffLineQualityAndOrder"), + new Tuple("收购业务.顺序确认",@"C:\BwpB3Project\src\B3ButcherManageClient\OrderConfirm\bin\Debug\OrderConfirm"), + new Tuple("收购业务.烫毛计数",@"C:\BwpB3Project\src\B3ButcherManageClient\ButcherOrder\bin\Debug\ButcherOrder"), + new Tuple("收购业务.掉猪处理",@"C:\BwpB3Project\src\B3ButcherManageClient\DropPigReOrder\bin\Debug\DropPigReOrder"), + new Tuple("收购业务.称重定级,收购业务.定级校验",@"C:\BwpB3Project\src\B3ButcherManageClient\WeighAndGrading\bin\Debug\WeighAndGrading"), + + new Tuple("车间业务.白条入库",@"C:\BwpB3Project\src\B3ButcherManageClient\TrunksIousOutInStore\bin\Debug\TrunksIousOutInStore"), + new Tuple("车间业务.领料退料",@"C:\BwpB3Project\src\B3ButcherManageClient\MaterialRequisition\bin\Debug\MaterialRequisition"), + new Tuple("车间业务.分割称重",@"C:\BwpB3Project\src\B3ButcherManageClient\SegmentationWeight\bin\Debug\SegmentationWeight"), + new Tuple("车间业务.分割入库",@"C:\BwpB3Project\src\B3ButcherManageClient\SegmentationInStore\bin\Debug\SegmentationInStore"), + new Tuple("车间业务.车间配货",@"C:\BwpB3Project\src\B3ButcherManageClient\Distribution\bin\Debug\Distribution"), }; //luanhui 公司电脑 @@ -51,41 +52,49 @@ namespace BO.Utils #else static List> roleToAssemblies = new List>() { - new Tuple("排宰员",@"ButcherOrder"), - new Tuple("过磅员",@"ButcherWeight"), - new Tuple("验质员",@"QualityAndOrder"), - new Tuple("验质排宰",@"OffLineQualityAndOrder"), - new Tuple("定级员",@"WeighAndGrading"), - new Tuple("窒晕员",@"OrderConfirm"), - new Tuple("掉猪处理员",@"DropPigReOrder"), - new Tuple("分割称重",@"SegmentationWeight"), - new Tuple("分割入库",@"SegmentationInStore"), - new Tuple("定级校验",@"WeighAndGrading"), - new Tuple("白条入库",@"TrunksIousOutInStore"), - new Tuple("领料退料",@"MaterialRequisition"), + new Tuple("收购业务.过磅单",@"ButcherWeight"), + new Tuple("收购业务.验质分圈,收购业务.排宰顺序,收购业务.急宰打码",@"QualityAndOrder"), + new Tuple("收购业务.线下验质分圈,收购业务.线下排宰顺序",@"OffLineQualityAndOrder"), + new Tuple("收购业务.顺序确认",@"OrderConfirm"), + new Tuple("收购业务.烫毛计数",@"ButcherOrder"), + new Tuple("收购业务.掉猪处理",@"DropPigReOrder"), + new Tuple("收购业务.称重定级,收购业务.定级校验",@"WeighAndGrading"), + + new Tuple("车间业务.白条入库",@"TrunksIousOutInStore"), + new Tuple("车间业务.领料退料",@"MaterialRequisition"), + new Tuple("车间业务.分割称重",@"SegmentationWeight"), + new Tuple("车间业务.分割入库",@"SegmentationInStore"), + new Tuple("车间业务.车间配货",@"Distribution"), }; #endif - public static Form CreateForm(string role) + public static Form CreateForm() { - var first = roleToAssemblies.FirstOrDefault(x => x.Item1 == role); - if (first == null) - throw new Exception("未注册的角色:"+role); + foreach (var item in roleToAssemblies) + { + var roleArr = item.Item1.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); + foreach (var role in roleArr) + { + if (LoginRpcUtil.UserIsInRole(role)) + { #if DEBUG - var filePath = string.Format("{0}.dll", first.Item2); + var filePath = string.Format("{0}.dll", item.Item2); #else - var filePath = Path.Combine(Application.StartupPath, string.Format("{0}.dll", first.Item2)); + var filePath = Path.Combine(Application.StartupPath, string.Format("{0}.dll", item.Item2)); #endif - if (!File.Exists(filePath)) - throw new Exception("相关模块不存在"); - var formType = typeof(IAfterLogin); - foreach (var type in Assembly.LoadFile(filePath).GetTypes()) - { - if (formType.IsAssignableFrom(type)) - { - var instance = (IAfterLogin)Activator.CreateInstance(type); - if (role == instance.RoleName) - return instance.Generate(); + if (!File.Exists(filePath)) + throw new Exception("相关模块不存在"); + var formType = typeof(IAfterLogin); + foreach (var type in Assembly.LoadFile(filePath).GetTypes()) + { + if (formType.IsAssignableFrom(type)) + { + var instance = (IAfterLogin)Activator.CreateInstance(type); + if (instance.RoleName.Contains(role)) + return instance.Generate(); + } + } + } } } return null; diff --git a/BO/Utils/LoginRpcUtil.cs b/BO/Utils/LoginRpcUtil.cs index 745cf39..ac44575 100644 --- a/BO/Utils/LoginRpcUtil.cs +++ b/BO/Utils/LoginRpcUtil.cs @@ -27,6 +27,12 @@ namespace BO.Utils return string.Empty; } + public static bool UserIsInRole(string roleName) + { + const string method = "/MainSystem/B3ClientService/Rpcs/UserInfoRpc/UserIsInRole"; + return RpcFacade.Call(method, roleName); + } + public static void FillUserEmpInfo(string name, LoginUserInfo userInfo) { const string wpfUserMethod = "/MainSystem/B3ClientService/Rpcs/UserInfoRpc/GetUserEmpInfo"; diff --git a/ButcherManageClient/Login.cs b/ButcherManageClient/Login.cs index 6d9d514..7519108 100644 --- a/ButcherManageClient/Login.cs +++ b/ButcherManageClient/Login.cs @@ -34,9 +34,9 @@ namespace ButcherManageClient InitializeComponent(); userNameTxt.Text = ButcherAppContext.Context.UserConfig.UserName; pwdTxt.Text = "123"; -//#if DEBUG -// pwdTxt.Text = "123"; -//#endif + //#if DEBUG + // pwdTxt.Text = "123"; + //#endif } private void settingBtn_Click(object sender, EventArgs e) @@ -70,13 +70,13 @@ namespace ButcherManageClient ButcherAppContext.Context.UserConfig.Connection = false; } -//#if DEBUG - // var form = AfterLoginUtil.CreateForm("分割称重"); -//#endif + //#if DEBUG + // var form = AfterLoginUtil.CreateForm("分割称重"); + //#endif -//#if DEBUG - var form = AfterLoginUtil.CreateForm(ButcherAppContext.Context.UserConfig.Role); -//#endif + //#if DEBUG + var form = AfterLoginUtil.CreateForm(); + //#endif // var form = AfterLoginUtil.CreateForm("分割入库"); // var form = AfterLoginUtil.CreateForm("分割称重"); diff --git a/ButcherOrder/ButcherOrderForm.cs b/ButcherOrder/ButcherOrderForm.cs index a499f03..15371b2 100644 --- a/ButcherOrder/ButcherOrderForm.cs +++ b/ButcherOrder/ButcherOrderForm.cs @@ -13,11 +13,11 @@ namespace ButcherOrder public partial class ButcherOrderForm : Form, IAfterLogin { #region IAfterLogin - public string RoleName + public List RoleName { get { - return "排宰员"; + return new List() { "收购业务.烫毛计数"}; } } diff --git a/ButcherWeight/WeightForm.cs b/ButcherWeight/WeightForm.cs index e5f6c68..4d46de8 100644 --- a/ButcherWeight/WeightForm.cs +++ b/ButcherWeight/WeightForm.cs @@ -19,9 +19,12 @@ namespace ButcherWeight public partial class WeightForm : Form, IAfterLogin { #region IAfterLogin Member - public string RoleName + public List RoleName { - get { return "过磅员"; } + get + { + return new List() { "收购业务.过磅单" }; + } } public Form Generate() diff --git a/ByProductWeight/ByProductWeightForm.cs b/ByProductWeight/ByProductWeightForm.cs index 83fddef..6272837 100644 --- a/ByProductWeight/ByProductWeightForm.cs +++ b/ByProductWeight/ByProductWeightForm.cs @@ -20,7 +20,13 @@ namespace ByProductWeight public partial class ByProductWeightForm : Form,IAfterLogin { - public string RoleName { get { return "副产品计数"; } } + public List RoleName + { + get + { + return new List() { "车间业务.副产品称重" }; + } + } public Form Generate() { return this; diff --git a/Distribution/DistributionForm.cs b/Distribution/DistributionForm.cs index 4f501ea..1a6ca7d 100644 --- a/Distribution/DistributionForm.cs +++ b/Distribution/DistributionForm.cs @@ -17,7 +17,13 @@ namespace Distribution public partial class DistributionForm : Form,IAfterLogin { - public string RoleName { get { return "配货员"; } } + public List RoleName + { + get + { + return new List() { "车间业务.车间配货" }; + } + } public Form Generate() { return this; diff --git a/DropPigReOrder/ReOrderForm.cs b/DropPigReOrder/ReOrderForm.cs index 2373a8e..7cb4f65 100644 --- a/DropPigReOrder/ReOrderForm.cs +++ b/DropPigReOrder/ReOrderForm.cs @@ -17,9 +17,12 @@ namespace DropPigReOrder { public partial class ReOrderForm : Form, IAfterLogin { - public string RoleName + public List RoleName { - get { return "掉猪处理员"; } + get + { + return new List() { "收购业务.掉猪处理" }; + } } public Form Generate() diff --git a/MaterialRequisition/MaterialRequisitionForm.cs b/MaterialRequisition/MaterialRequisitionForm.cs index 3876831..f507575 100644 --- a/MaterialRequisition/MaterialRequisitionForm.cs +++ b/MaterialRequisition/MaterialRequisitionForm.cs @@ -24,7 +24,14 @@ namespace MaterialRequisition public partial class MaterialRequisitionForm : Form, IAfterLogin { - public string RoleName { get { return "领料退料"; } } + public List RoleName + { + get + { + return new List() { "车间业务.领料退料" }; + } + } + public Form Generate() { return this; diff --git a/OffLineQualityAndOrder/OffLineQualityOrderForm.cs b/OffLineQualityAndOrder/OffLineQualityOrderForm.cs index 99d4ca5..47f392d 100644 --- a/OffLineQualityAndOrder/OffLineQualityOrderForm.cs +++ b/OffLineQualityAndOrder/OffLineQualityOrderForm.cs @@ -18,9 +18,12 @@ namespace OffLineQualityAndOrder public partial class OffLineQualityOrderForm : Form, IAfterLogin { #region IAfterLogin - public string RoleName + public List RoleName { - get { return "验质排宰"; } + get + { + return new List() { "收购业务.线下验质分圈", "收购业务.线下排宰顺序" }; + } } public Form Generate() @@ -46,6 +49,10 @@ namespace OffLineQualityAndOrder public OffLineQualityOrderForm() { InitializeComponent(); + if (!LoginRpcUtil.UserIsInRole("收购业务.线下验质分圈")) + uTabControl1.TabPages.Remove(tabPage1); + if (!LoginRpcUtil.UserIsInRole("收购业务.线下排宰顺序")) + uTabControl1.TabPages.Remove(tabPage2); testTimeInput.Date = DateTime.Today; this.uTabControl1.Selected += (sender, e) => { diff --git a/OrderConfirm/OrderConfirmForm.cs b/OrderConfirm/OrderConfirmForm.cs index 0bc6e4e..d0ba224 100644 --- a/OrderConfirm/OrderConfirmForm.cs +++ b/OrderConfirm/OrderConfirmForm.cs @@ -17,9 +17,12 @@ namespace OrderConfirm public partial class OrderConfirmForm : Form, IAfterLogin { #region IAfterLogin - public string RoleName + public List RoleName { - get { return "窒晕员"; } + get + { + return new List() { "收购业务.顺序确认" }; + } } public Form Generate() diff --git a/QualityAndOrder/QualityOrderForm.cs b/QualityAndOrder/QualityOrderForm.cs index e5c9b0c..2a584c2 100644 --- a/QualityAndOrder/QualityOrderForm.cs +++ b/QualityAndOrder/QualityOrderForm.cs @@ -18,9 +18,12 @@ namespace QualityAndOrder public partial class QualityOrderForm : Form, IAfterLogin { #region IAfterLogin - public string RoleName + public List RoleName { - get { return "验质员"; } + get + { + return new List() { "收购业务.验质分圈", "收购业务.排宰顺序", "收购业务.急宰打码" }; + } } public Form Generate() @@ -46,6 +49,12 @@ namespace QualityAndOrder public QualityOrderForm() { InitializeComponent(); + if (!LoginRpcUtil.UserIsInRole("收购业务.验质分圈")) + uTabControl1.TabPages.Remove(tabPage1); + if (!LoginRpcUtil.UserIsInRole("收购业务.排宰顺序")) + uTabControl1.TabPages.Remove(tabPage2); + if (!LoginRpcUtil.UserIsInRole("收购业务.急宰打码")) + uTabControl1.TabPages.Remove(tabPage3); testTimeInput.Date = DateTime.Today; this.uTabControl1.Selected += (sender, e) => { diff --git a/SegmentationInStore/SegmentationInStoreForm.cs b/SegmentationInStore/SegmentationInStoreForm.cs index 7065211..ef9e5c8 100644 --- a/SegmentationInStore/SegmentationInStoreForm.cs +++ b/SegmentationInStore/SegmentationInStoreForm.cs @@ -334,7 +334,13 @@ namespace SegmentationInStore cbxStore.SelectedIndex = 0; } - public string RoleName { get { return "分割入库"; } } + public List RoleName + { + get + { + return new List() { "车间业务.分割入库" }; + } + } public Form Generate() { return this; diff --git a/SegmentationWeight/SegmentationWeightForm.cs b/SegmentationWeight/SegmentationWeightForm.cs index c5a841c..652169e 100644 --- a/SegmentationWeight/SegmentationWeightForm.cs +++ b/SegmentationWeight/SegmentationWeightForm.cs @@ -783,7 +783,13 @@ namespace SegmentationWeight return indexCode; } - public string RoleName { get { return "分割称重"; } } + public List RoleName + { + get + { + return new List() { "车间业务.分割称重" }; + } + } public Form Generate() { return this; diff --git a/TrunksIousOutInStore/TrunksIousOutInStoreForm.cs b/TrunksIousOutInStore/TrunksIousOutInStoreForm.cs index 8198457..77baa54 100644 --- a/TrunksIousOutInStore/TrunksIousOutInStoreForm.cs +++ b/TrunksIousOutInStore/TrunksIousOutInStoreForm.cs @@ -462,9 +462,12 @@ namespace TrunksIousOutInStore } } - public string RoleName + public List RoleName { - get { return "白条入库"; } + get + { + return new List() { "车间业务.白条入库" }; + } } public Form Generate() { diff --git a/WeighAndGrading/DataViewForm.cs b/WeighAndGrading/DataViewForm.cs index a15e2dd..66144f9 100644 --- a/WeighAndGrading/DataViewForm.cs +++ b/WeighAndGrading/DataViewForm.cs @@ -31,9 +31,12 @@ namespace WeighAndGrading public partial class DataViewForm : Form, IAfterLogin { #region IAfterLogin - public string RoleName + public List RoleName { - get { return "定级校验"; } + get + { + return new List() { "收购业务.定级校验" }; + } } public Form Generate() diff --git a/WeighAndGrading/GradeFrom.cs b/WeighAndGrading/GradeFrom.cs index 8cdb636..649bec4 100644 --- a/WeighAndGrading/GradeFrom.cs +++ b/WeighAndGrading/GradeFrom.cs @@ -25,9 +25,12 @@ namespace WeighAndGrading public partial class GradeFrom : Form, IAfterLogin { #region IAfterLogin - public string RoleName + public List RoleName { - get { return "定级员"; } + get + { + return new List() { "收购业务.称重定级" }; + } } public Form Generate()