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); }
/// <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); } }