Exemplo n.º 1
0
        public void Login(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            string  EMP_NO  = Data["EMP_NO"].ToString();
            string  PWD     = Data["Password"].ToString();
            string  BU_NAME = Data["BU_NAME"].ToString();
            DataSet res     = new DataSet();

            Language = Data["Language"].ToString();
            MESReturnMessage.Language = Language;
            LoginReturn lr = new LoginReturn();

            MESDBHelper.OleExec SFCDB = _DBPools["SFCDB"].Borrow();

            MESDataObject.Module.T_c_user   GetLoginUser = new MESDataObject.Module.T_c_user(SFCDB, this.DBTYPE);
            MESDataObject.Module.Row_c_user rcu          = (Row_c_user)GetLoginUser.NewRow();
            rcu = GetLoginUser.getC_Userbyempno(EMP_NO, SFCDB, this.DBTYPE);
            if (rcu == null)
            {
                StationReturn.Status      = StationReturnStatusValue.Fail;
                StationReturn.MessageCode = "MES00000010";
                _DBPools["SFCDB"].Return(SFCDB);
                return;
            }
            c_user_info user_info = new c_user_info();

            user_info = GetLoginUser.GetLoginUser(EMP_NO, SFCDB);

            LogicObject.User lu = new LogicObject.User();
            if (PWD == rcu.EMP_PASSWORD)
            {
                lu.ID        = user_info.ID;
                lu.FACTORY   = user_info.FACTORY;
                lu.BU        = user_info.BU_NAME;
                lu.EMP_NO    = user_info.EMP_NO;
                lu.EMP_LEVEL = user_info.EMP_LEVEL;
                lu.DPT_NAME  = user_info.DPT_NAME;
                string token1     = DateTime.Now.ToString("yyyyMMddHHmmss");
                string token2     = rand.Next(100, 999).ToString();
                char[] TokenChars = (token1 + token2).ToArray();
                byte[] TokenBytes = Encoding.Default.GetBytes(TokenChars);
                string TokenBas64 = Convert.ToBase64String(TokenBytes);
                StationReturn.Status      = StationReturnStatusValue.Pass;
                StationReturn.MessageCode = "MES00000009";
                LoginUser = lu;
                //lr = new LoginReturn() { Token = TokenBas64, User_ID = user.EMP_NO};
                lr = new LoginReturn()
                {
                    Token = TokenBas64, User_ID = LoginUser.EMP_NO, UserInfo = user_info
                };
            }
            else
            {
                StationReturn.Status      = StationReturnStatusValue.Fail;
                StationReturn.MessageCode = "MES00000010";
            }
            StationReturn.Data = lr;
            _DBPools["SFCDB"].Return(SFCDB);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 初始化方法
        /// </summary>
        public virtual void Init(string _DisplayName, string _Line, string _BU, OleExec DB)
        {
            Inputs.Clear();
            SFCDB = DB;
            Line  = _Line;
            BU    = _BU;
            //加載Station Input
            try
            {
                T_R_Station   T = new T_R_Station(SFCDB, DBType);
                Row_R_Station R = T.GetRowByDisplayName(_DisplayName, SFCDB);
                _StationInfo = R.GetDataObject();

                T_R_Station_Input          T_I      = new T_R_Station_Input(SFCDB, DBType);
                List <Row_R_Station_Input> R_Inputs = T_I.GetRowsByStationID(_StationInfo.ID, SFCDB);

                T_C_Input T_INPUT = new T_C_Input(SFCDB, DBType);
                for (int i = 0; i < R_Inputs.Count; i++)
                {
                    Row_C_Input     R_C_I   = (Row_C_Input)T_INPUT.GetObjByID(R_Inputs[i].INPUT_ID, SFCDB);
                    C_Input         C_Input = R_C_I.GetDataObject();
                    MESStationInput Input   = new MESStationInput();
                    Input.Station = this;
                    Input.Init(C_Input, R_Inputs[i].GetDataObject());
                    Inputs.Add(Input);
                }
                //加載Station OutPut
                T_R_Station_Output          TRSO      = new T_R_Station_Output(SFCDB, DBType);
                List <Row_R_Station_Output> R_Outputs = TRSO.GetStationOutputByStationID(_StationInfo.ID, SFCDB);

                ROutputs = R_Outputs;
                for (int i = 0; i < R_Outputs.Count; i++)
                {
                    R_Station_Output o  = R_Outputs[i].GetDataObject();
                    DisplayOutPut    o1 = new DisplayOutPut();
                    o1.DisplayType = o.DISPLAY_TYPE;
                    o1.Value       = "";
                    o1.Name        = o.NAME;
                    StationOutputs.Add(o);
                    DisplayOutput.Add(o1);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }


            if (_StationInfo.FAIL_STATION_ID != null && _StationInfo.FAIL_STATION_ID.ToString().Trim() != "")
            {
                if (this.FailStation != null)
                {
                    this.FailStation.StationMessages.Clear();
                    this.NextInput = null;
                }
                else
                {
                    this.FailStation = new MESStationBase();
                }
                this.FailStation.LoginUser = LoginUser;
                this.FailStation.Init(_StationInfo.FAIL_STATION_ID, _Line, _BU, DB);
            }
        }