Ejemplo n.º 1
0
        public void DeleteEditPrivilege(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            MESDBHelper.OleExec SFCDB = _DBPools["SFCDB"].Borrow();
            string LoginUserEmp       = Data["LoginUserEmp"].ToString().ToUpper();
            string EditEmp            = Data["EditEmp"].ToString().ToUpper();
            string deleteSQL          = "";

            SFCDB.BeginTrain();
            try
            {
                MESDataObject.Module.T_C_USER_PRIVILEGE   tcp = new MESDataObject.Module.T_C_USER_PRIVILEGE(SFCDB, this.DBTYPE);
                MESDataObject.Module.Row_C_USER_PRIVILEGE rcp = (MESDataObject.Module.Row_C_USER_PRIVILEGE)tcp.NewRow();
                foreach (string item in Data["PRS"])
                {
                    rcp        = tcp.getC_PrivilegebyID(item, SFCDB);
                    deleteSQL += rcp.GetDeleteString(this.DBTYPE) + ";\n";
                }
                SFCDB.ExecSQL("Begin\n" + deleteSQL + "End;");
                SFCDB.CommitTrain();
                StationReturn.Status  = StationReturnStatusValue.Pass;
                StationReturn.Message = "刪除權限成功!!!";
                this.DBPools["SFCDB"].Return(SFCDB);
            }
            catch (Exception ex)
            {
                SFCDB.RollbackTrain();
                StationReturn.Status  = StationReturnStatusValue.Fail;
                StationReturn.Message = "刪除權限失!";
                StationReturn.Data    = ex.Message.ToString();
                this.DBPools["SFCDB"].Return(SFCDB);
            }
        }
Ejemplo n.º 2
0
 public Boolean CreatePanel(Hashtable temp, MESDBHelper.OleExec SFCDB, MESDataObject.DB_TYPE_ENUM _DBType)
 {
     try
     {
         T_R_PANEL_SN   tPanel = new T_R_PANEL_SN(SFCDB, _DBType);
         Row_R_PANEL_SN rPanel = (Row_R_PANEL_SN)tPanel.NewRow();
         rPanel.ID          = tPanel.GetNewID(temp["BU"].ToString(), SFCDB);
         rPanel.PANEL       = temp["Panel"].ToString();
         rPanel.SN          = rPanel.ID;
         rPanel.WORKORDERNO = temp["WO"].ToString();
         rPanel.SEQ_NO      = 0;
         rPanel.EDIT_EMP    = temp["User"].ToString();
         rPanel.EDIT_TIME   = DateTime.Now;
         string strRet = SFCDB.ExecSQL(rPanel.GetInsertString(_DBType));
         if (Convert.ToInt32(strRet) > 0)
         {
             return(true);
         }
         return(false);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Ejemplo n.º 3
0
        /// <summary>
        /// 點擊刪除時,查詢該用戶已有的ModelType權限
        /// </summary>
        public void SelectModelTypePrivilege(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            MESDBHelper.OleExec SFCDB = _DBPools["SFCDB"].Borrow();
            string LoginUserEmp       = Data["LoginUserEmp"].ToString().ToUpper();
            string EditEmp            = Data["EditEmp"].ToString().ToUpper();
            List <MESDataObject.Module.ModelTypePrivilege> list = new List <MESDataObject.Module.ModelTypePrivilege>();

            try
            {
                MESDataObject.Module.T_C_MODEL_TYPE tCModelType = new MESDataObject.Module.T_C_MODEL_TYPE(SFCDB, this.DBTYPE);
                list = tCModelType.GetPrivilegeForUser(LoginUserEmp, EditEmp, this.LoginUser.EMP_LEVEL, SFCDB);
                StationReturn.Status  = StationReturnStatusValue.Pass;
                StationReturn.Message = "獲取權限信息成功!";
                StationReturn.Data    = list;
            }
            catch (Exception ex)
            {
                StationReturn.Status  = StationReturnStatusValue.Fail;
                StationReturn.Message = "獲取權限信息失敗!";
                StationReturn.Data    = ex.Message.ToString();;
            }
            finally
            {
                this.DBPools["SFCDB"].Return(SFCDB);
            }
        }
Ejemplo n.º 4
0
        public static void SkuDataLoader(MESPubLab.MESStation.MESStationBase Station, MESPubLab.MESStation.MESStationInput Input, List <MESDataObject.Module.R_Station_Action_Para> Paras)
        {
            if (Paras.Count != 1)
            {
                throw new Exception(MESReturnMessage.GetMESReturnMessage("MES00000050"));
            }
            MESStationSession s = Station.StationSession.Find(t => t.MESDataType == Paras[0].SESSION_TYPE && t.SessionKey == Paras[0].SESSION_KEY);

            if (s == null)
            {
                s = new MESStationSession()
                {
                    MESDataType = Paras[0].SESSION_TYPE, InputValue = Input.Value.ToString(), SessionKey = Paras[0].SESSION_KEY, ResetInput = Input
                };
                Station.StationSession.Add(s);
            }
            SKU sku = new SKU();

            try
            {
                MESDBHelper.OleExec ole = Station.SFCDB;
                sku     = sku.Init(Input.Value.ToString(), ole, MESDataObject.DB_TYPE_ENUM.Oracle);
                s.Value = sku;
                Station.AddMessage("MES00000029", new string[] { "Skuno", sku.ToString() }, MESPubLab.MESStation.MESReturnView.Station.StationMessageState.Pass);
            }
            catch
            {
                //Station.AddMessage("MES00000052", new string[] { "Skuno"+ ":"+ Input.Value.ToString() }, MESPubLab.MESStation.MESReturnView.Station.StationMessageState.Fail);
                throw new MESReturnMessage(MESReturnMessage.GetMESReturnMessage("MES00000052", new string[] { "Skuno" + ":" + Input.Value.ToString() }));
            }
        }
Ejemplo n.º 5
0
        public void SelectEditPrivilege(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            MESDBHelper.OleExec SFCDB = _DBPools["SFCDB"].Borrow();
            string LoginUserEmp       = Data["LoginUserEmp"].ToString().ToUpper();
            string EditEmp            = Data["EditEmp"].ToString().ToUpper();
            List <MESDataObject.Module.PrivilegeEditModel> list = new List <MESDataObject.Module.PrivilegeEditModel>();

            try
            {
                MESDataObject.Module.T_C_PRIVILEGE tcp = new MESDataObject.Module.T_C_PRIVILEGE(SFCDB, this.DBTYPE);
                list = tcp.GetUserEditPrivilege(LoginUserEmp, EditEmp, this.LoginUser.EMP_LEVEL, SFCDB);
                StationReturn.Status  = StationReturnStatusValue.Pass;
                StationReturn.Message = "?取?限信息成功!";
                StationReturn.Data    = list;
            }
            catch (Exception ex)
            {
                StationReturn.Status  = StationReturnStatusValue.Fail;
                StationReturn.Message = "無任何?限信息!";
                StationReturn.Data    = ex.Message.ToString();;
            }
            finally
            {
                this.DBPools["SFCDB"].Return(SFCDB);
            }
        }
Ejemplo n.º 6
0
        public Boolean AddSnToPanel(Hashtable temp, MESDBHelper.OleExec SFCDB, MESDataObject.DB_TYPE_ENUM _DBType)
        {
            string strSn = temp["SN"].ToString();
            SN     sn    = new SN(strSn, SFCDB, _DBType);
            string wo    = sn.WorkorderNo;

            if (wo != this.PanelCollection[0].WORKORDERNO)
            {
                return(false);
            }
            T_R_PANEL_SN   tPanel = new T_R_PANEL_SN(SFCDB, _DBType);
            Row_R_PANEL_SN rPanel = (Row_R_PANEL_SN)tPanel.NewRow();

            rPanel.ID          = tPanel.GetNewID(temp["BU"].ToString(), SFCDB);
            rPanel.SN          = temp["SNID"].ToString();
            rPanel.PANEL       = this.PanelNo;
            rPanel.WORKORDERNO = wo;
            rPanel.SEQ_NO      = this.PanelCollection.Count;
            rPanel.EDIT_EMP    = temp["User"].ToString();
            rPanel.EDIT_TIME   = DateTime.Now;
            string strRet = SFCDB.ExecSQL(rPanel.GetInsertString(_DBType));

            if (Convert.ToInt32(strRet) > 0)
            {
                this.PanelCollection.Add(rPanel.GetDataObject());
                return(true);
            }
            return(false);
        }
Ejemplo n.º 7
0
        public Row_R_WO_BASE GetWoMode(string strWo, MESDBHelper.OleExec SFCDB, MESDataObject.DB_TYPE_ENUM _DBType)
        {
            DBType = _DBType;
            T_R_WO_BASE TRWB = new T_R_WO_BASE(SFCDB, DBType);

            RBaseWo = TRWB.GetWo(strWo, SFCDB);
            return(RBaseWo);
        }
Ejemplo n.º 8
0
        public static void SmtSkuFromWODataCheck(MESPubLab.MESStation.MESStationBase Station, MESPubLab.MESStation.MESStationInput Input, List <MESDataObject.Module.R_Station_Action_Para> Paras)
        {
            if (Paras.Count != 3)
            {
                throw new Exception(MESReturnMessage.GetMESReturnMessage("MES00000050"));
            }
            //加載SKUSavePoint位置
            MESStationSession SkuSession = Station.StationSession.Find(t => t.MESDataType == Paras[0].SESSION_TYPE && t.SessionKey == Paras[0].SESSION_KEY);

            if (SkuSession == null)
            {
                SkuSession = new MESStationSession()
                {
                    MESDataType = Paras[0].SESSION_TYPE, InputValue = Input.Value.ToString(), SessionKey = Paras[0].SESSION_KEY, ResetInput = Input
                };
                Station.StationSession.Add(SkuSession);
            }
            //加載WoLoadPoint
            MESStationSession WOSession = Station.StationSession.Find(t => t.MESDataType == Paras[1].SESSION_TYPE && t.SessionKey == Paras[1].SESSION_KEY);

            if (WOSession == null)
            {
                throw new MESReturnMessage(MESReturnMessage.GetMESReturnMessage("MES00000052", new string[] { Paras[1].SESSION_TYPE }));
                // throw new Exception("WO參數不存在!");
            }

            WorkOrder WOObject = (WorkOrder)WOSession.Value;

            //WOObject.SkuNO

            SKU sku = new SKU();

            try
            {
                MESDBHelper.OleExec ole = Station.SFCDB;
                sku = sku.Init(WOObject.SkuNO, ole, MESDataObject.DB_TYPE_ENUM.Oracle);

                MESStationSession SessionSN    = Station.StationSession.Find(t => t.MESDataType == Paras[2].SESSION_TYPE && t.SessionKey == Paras[2].SESSION_KEY);
                DisplayOutPut     CurrentSkuno = Station.DisplayOutput.Find(t => t.Name == "SKUNO");
                //SN機種與當前操作機種不一致卡住
                if (CurrentSkuno.Value != null && CurrentSkuno.Value.ToString().Trim().Length > 0 && !sku.SkuNo.Equals(CurrentSkuno.Value.ToString()))
                {
                    string ErrMessage = MESReturnMessage.GetMESReturnMessage("MES00000235", new string[] { SessionSN.Value.ToString(), sku.SkuNo, CurrentSkuno.Value.ToString() });
                    throw new MESReturnMessage(ErrMessage);
                }

                SkuSession.Value = sku;
                Station.AddMessage("MES00000029", new string[] { "Skuno", sku.ToString() }, MESPubLab.MESStation.MESReturnView.Station.StationMessageState.Pass);
            }
            catch (Exception e)
            {
                Station.AddMessage("MES00000007", new string[] { "Skuno" }, MESPubLab.MESStation.MESReturnView.Station.StationMessageState.Fail);
                throw e;
            }
        }
Ejemplo n.º 9
0
        public void UpLoadFile(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            MESDBHelper.OleExec SFCDB = this.DBPools["SFCDB"].Borrow();

            SFCDB.BeginTrain();
            try
            {
                T_R_FILE TRF = new T_R_FILE(SFCDB, DB_TYPE_ENUM.Oracle);

                Row_R_FILE RRF = (Row_R_FILE)TRF.NewRow();
                RRF.ID       = TRF.GetNewID(BU, SFCDB);
                RRF.NAME     = Data["Name"].ToString();
                RRF.FILENAME = Data["FileName"].ToString();
                RRF.MD5      = Data["MD5"].ToString();
                RRF.USETYPE  = Data["UseType"].ToString();
                RRF.STATE    = "1";
                RRF.VALID    = 1;
                //不使用CLOB字段
                //RRF.CLOB_FILE = ":CLOB_FILE";// Data["Bas64File"].ToString();
                RRF.BLOB_FILE            = ":BLOB_FILE";
                RRF.EDIT_EMP             = LoginUser.EMP_NO;
                RRF.EDIT_TIME            = DateTime.Now;
                SFCDB.ThrowSqlExeception = true;
                //將同類文件改為歷史版本
                TRF.SetFileDisableByName(RRF.NAME, RRF.USETYPE, SFCDB);

                string strSql = RRF.GetInsertString(this.DBTYPE);
                strSql = strSql.Replace("':CLOB_FILE'", ":CLOB_FILE");
                strSql = strSql.Replace("':BLOB_FILE'", ":BLOB_FILE");
                System.Data.OleDb.OleDbParameter p = new System.Data.OleDb.OleDbParameter(":BLOB_FILE", System.Data.OleDb.OleDbType.Binary);
                string B64 = Data["Bas64File"].ToString();

                string b64  = B64.Remove(0, B64.LastIndexOf(',') + 1);
                byte[] data = Convert.FromBase64String(b64);
                p.Value = data;
                //new System.Data.OleDb.OleDbParameter(":CLOB_FILE", Data["Bas64File"].ToString()),
                SFCDB.ExecSqlNoReturn(strSql, new System.Data.OleDb.OleDbParameter[]
                                      { p });

                //SFCDB.ExecSQL(RRF.GetInsertString(this.DBTYPE));
                SFCDB.CommitTrain();
                StationReturn.Status = StationReturnStatusValue.Pass;
            }
            catch (Exception ee)
            {
                SFCDB.RollbackTrain();
                //this.DBPools["SFCDB"].Return(SFCDB);
                StationReturn.Status      = StationReturnStatusValue.Fail;
                StationReturn.MessageCode = "MES00000037";
                StationReturn.MessagePara.Add(ee.Message);
            }
            SFCDB.ThrowSqlExeception = false;
            this.DBPools["SFCDB"].Return(SFCDB);
        }
Ejemplo n.º 10
0
        //WorkOrder wo = new WorkOrder();

        public void Init(string strWo, MESDBHelper.OleExec SFCDB, MESDataObject.DB_TYPE_ENUM _DBType)
        {
            DBType = _DBType;
            T_R_WO_BASE TRWB = new T_R_WO_BASE(SFCDB, DBType);

            //T_R_SN TSN = new T_R_SN(SFCDB, DBType);
            //_SNNO = TSN.GETSN(strWo, SFCDB);
            RBaseWo = TRWB.GetWo(strWo, SFCDB);
            BaseWo  = RBaseWo.GetDataObject();
            _Route  = new Route(RBaseWo.ROUTE_ID, GetRouteType.ROUTEID, SFCDB, DBType);
        }
Ejemplo n.º 11
0
 public List <R_SN> GetPanel(string PanelSN, MESDBHelper.OleExec SFCDB, MESDataObject.DB_TYPE_ENUM _DBType)
 {
     try
     {
         T_R_SN      trs = new T_R_SN(SFCDB, DBType);
         List <R_SN> sn  = trs.GetRSNbyPsn(PanelSN, SFCDB);
         return(sn);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Ejemplo n.º 12
0
        public static void SnSKUDataloader(MESPubLab.MESStation.MESStationBase Station, MESPubLab.MESStation.MESStationInput Input, List <MESDataObject.Module.R_Station_Action_Para> Paras)
        {
            if (Paras.Count != 2)
            {
                throw new Exception(MESReturnMessage.GetMESReturnMessage("MES00000050"));
            }
            //加載SnPoint位置
            MESStationSession SnSession = Station.StationSession.Find(t => t.MESDataType == Paras[0].SESSION_TYPE && t.SessionKey == Paras[0].SESSION_KEY);

            if (SnSession == null)
            {
                //modify by 張官軍 2018-03-15
                //根據該方法的定義:從 SN 對象加載機種對象,SnSession 不能為空
                //SnSession = new MESStationSession() { MESDataType = Paras[0].SESSION_TYPE, InputValue = Input.Value.ToString(), SessionKey = Paras[0].SESSION_KEY, ResetInput = Input };
                //Station.StationSession.Add(SnSession);
                throw new MESReturnMessage(MESReturnMessage.GetMESReturnMessage("MES00000170"));
            }
            //加載SkunoPoint
            MESStationSession SkuSession = Station.StationSession.Find(t => t.MESDataType == Paras[1].SESSION_TYPE && t.SessionKey == Paras[1].SESSION_KEY);

            if (SkuSession == null)
            {
                SkuSession = new MESStationSession()
                {
                    MESDataType = Paras[1].SESSION_TYPE, SessionKey = Paras[1].SESSION_KEY
                };
                Station.StationSession.Add(SkuSession);
                //throw new MESReturnMessage("Skuno參數不存在");
            }

            // BY SDL 20180320  SN SnObject = (SN)SkuSession.Value;.

            SN SnObject = (SN)SnSession.Value;

            //SnObject.SerialNo

            SKU sku = new SKU();

            try
            {
                MESDBHelper.OleExec ole = Station.SFCDB;
                sku = sku.InitBySn(SnObject.SerialNo, ole, MESDataObject.DB_TYPE_ENUM.Oracle);
                SkuSession.Value = sku;
                Station.AddMessage("MES00000029", new string[] { "SN", sku.ToString() }, MESPubLab.MESStation.MESReturnView.Station.StationMessageState.Pass);
            }
            catch
            {
                //Station.AddMessage("MES00000007", new string[] { "SN" }, MESPubLab.MESStation.MESReturnView.Station.StationMessageState.Fail);
                throw new MESReturnMessage(MESReturnMessage.GetMESReturnMessage("MES00000007", new string[] { "SN" }));
            }
        }
Ejemplo n.º 13
0
        public WorkOrder Initwo(string strWo, MESDBHelper.OleExec SFCDB, MESDataObject.DB_TYPE_ENUM _DBType)
        {
            WorkOrder wo = new WorkOrder();

            DBType = _DBType;
            T_R_WO_BASE TRWB = new T_R_WO_BASE(SFCDB, DBType);

            RBaseWo           = TRWB.GetWo(strWo, SFCDB);
            this.BaseWo       = wo.BaseWo;
            this.ProcessingWo = new List <string>();
            this.LabelPaths   = new Dictionary <string, string>();
            this.SkuRoutes    = new List <Route>();
            return(this);
        }
Ejemplo n.º 14
0
 public List <R_SN> GetSnDetail(string strPanel, MESDBHelper.OleExec SFCDB, MESDataObject.DB_TYPE_ENUM _DBType)
 {
     try
     {
         DBType = _DBType;
         T_R_PANEL_SN TRWB = new T_R_PANEL_SN(SFCDB, DBType);
         this.PanelSnList = TRWB.GetSn(strPanel, SFCDB);
         return(PanelSnList);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Ejemplo n.º 15
0
 public void Reload(MESDBHelper.OleExec SFCDB, MESDataObject.DB_TYPE_ENUM _DBType)
 {
     try
     {
         DBType = _DBType;
         T_R_PANEL_SN TRWB = new T_R_PANEL_SN(SFCDB, DBType);
         RPanelList = TRWB.GetPanel(this.PanelNo, SFCDB);
         foreach (R_PANEL_SN item in RPanelList)
         {
             this.PanelCollection.Add(item);
         }
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Ejemplo n.º 16
0
 public Boolean DeletePanelByID(string strID, MESDBHelper.OleExec SFCDB, MESDataObject.DB_TYPE_ENUM _DBType)
 {
     try
     {
         T_R_PANEL_SN   tPanel = new T_R_PANEL_SN(SFCDB, _DBType);
         Row_R_PANEL_SN rPanel = (Row_R_PANEL_SN)tPanel.GetObjByID(strID, SFCDB, _DBType);
         string         strRet = SFCDB.ExecSQL(rPanel.GetDeleteString(_DBType));
         if (Convert.ToInt32(strRet) > 0)
         {
             return(true);
         }
         return(false);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Ejemplo n.º 17
0
 public void GetKPListBySkuno(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
 {
     MESDBHelper.OleExec SFCDB = this.DBPools["SFCDB"].Borrow();
     try
     {
         string            Skuno = Data["SKUNO"].ToString();
         List <KPListBase> list  = KPListBase.GetKPListBySkuNo(Skuno, SFCDB);
         StationReturn.Data   = list;
         StationReturn.Status = StationReturnStatusValue.Pass;
     } catch (Exception ee)
     {
         this.DBPools["SFCDB"].Return(SFCDB);
         StationReturn.Status      = StationReturnStatusValue.Fail;
         StationReturn.MessageCode = "MES00000037";
         StationReturn.MessagePara.Add(ee.Message);
         return;
     }
     this.DBPools["SFCDB"].Return(SFCDB);
 }
Ejemplo n.º 18
0
 public void GetAllKPList(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
 {
     MESDBHelper.OleExec SFCDB = this.DBPools["SFCDB"].Borrow();
     try
     {
         List <MESDataObject.Module.C_KP_LIST> list = KPListBase.getAllData(SFCDB);
         StationReturn.Data   = list;
         StationReturn.Status = StationReturnStatusValue.Pass;
     }
     catch (Exception ee)
     {
         this.DBPools["SFCDB"].Return(SFCDB);
         StationReturn.Status      = StationReturnStatusValue.Fail;
         StationReturn.MessageCode = "MES00000037";
         StationReturn.MessagePara.Add(ee.Message);
         return;
     }
     this.DBPools["SFCDB"].Return(SFCDB);
 }
Ejemplo n.º 19
0
        /// <summary>
        /// 創建權限對應的ID
        /// </summary>
        public void CreatePrivilegeID(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            MESDBHelper.OleExec SFCDB = _DBPools["SFCDB"].Borrow();

            MESDataObject.Module.T_C_PRIVILEGE   RolerPrivilege    = new MESDataObject.Module.T_C_PRIVILEGE(SFCDB, DB_TYPE_ENUM.Oracle);
            MESDataObject.Module.Row_C_PRIVILEGE RolerPrivilegeRow = (MESDataObject.Module.Row_C_PRIVILEGE)RolerPrivilege.NewRow();

            string PRIVILEGE_ID   = Data["PRIVILEGE_ID"].ToString();
            string PRIVILEGE_NAME = Data["PRIVILEGE_NAME"].ToString();

            DataTable StrRes = new DataTable();

            StrRes = RolerPrivilege.CheckPrivilegeID(PRIVILEGE_ID, PRIVILEGE_NAME, SFCDB, this.DBTYPE);
            if (StrRes.Rows.Count != 0)
            {
                StationReturn.Status  = StationReturnStatusValue.Fail;
                StationReturn.Message = "創建權限ID失敗!";
            }
            else
            {
                RolerPrivilegeRow.ID             = RolerPrivilege.GetNewID(BU, SFCDB);
                RolerPrivilegeRow.MENU_ID        = Data["MENU_ID"].ToString();
                RolerPrivilegeRow.PRIVILEGE_NAME = Data["PRIVILEGE_NAME"].ToString();
                RolerPrivilegeRow.PRIVILEGE_DESC = Data["PRIVILEGE_DESC"].ToString();
                RolerPrivilegeRow.EDIT_TIME      = DateTime.Now;
                RolerPrivilegeRow.EDIT_EMP       = Data["EDIT_EMP"].ToString();

                string STRRES = SFCDB.ExecSQL(RolerPrivilegeRow.GetInsertString(this.DBTYPE));

                if (STRRES == "1")
                {
                    StationReturn.Status  = StationReturnStatusValue.Pass;
                    StationReturn.Message = "創建權限ID成功!";
                }
                else
                {
                    StationReturn.Status  = StationReturnStatusValue.Fail;
                    StationReturn.Message = "權限ID已存在!";
                }
            }

            this.DBPools["SFCDB"].Return(SFCDB);
        }
Ejemplo n.º 20
0
        /// <summary>
        /// 從輸入加載Panel
        /// </summary>
        /// <param name="Station"></param>
        /// <param name="Input"></param>
        /// <param name="Paras">1個參數,Panel的保存位置</param>
        public static void PanelFromInputDataloader(MESStation.BaseClass.MESStationBase Station, MESStation.BaseClass.MESStationInput Input, List <MESDataObject.Module.R_Station_Action_Para> Paras)
        {
            if (Paras.Count != 1)
            {
                throw new Exception(MESReturnMessage.GetMESReturnMessage("MES00000050"));
            }

            string strPanel = Input.Value.ToString().Trim().ToUpper();

            MESStationSession PanelSession = Station.StationSession.Find(t => t.MESDataType == Paras[0].SESSION_TYPE && t.SessionKey == Paras[0].SESSION_KEY);

            if (PanelSession == null)
            {
                PanelSession = new MESStationSession()
                {
                    MESDataType = Paras[0].SESSION_TYPE, InputValue = Input.Value.ToString(), SessionKey = Paras[0].SESSION_KEY, ResetInput = Input
                };
                Station.StationSession.Add(PanelSession);
            }
            else //add by LLF 2018-02-06
            {
                PanelSession.InputValue = strPanel;
                PanelSession.ResetInput = Input;
            }


            MESDBHelper.OleExec SFCDB = Station.SFCDB;



            MESDataObject.Module.T_R_PANEL_SN TRPS = new T_R_PANEL_SN(SFCDB, MESDataObject.DB_TYPE_ENUM.Oracle);
            List <R_PANEL_SN> PanelSNs             = TRPS.GetPanel(strPanel, SFCDB);

            if (PanelSNs.Count == 0)
            {
                string errMsg = MESReturnMessage.GetMESReturnMessage("MES00000038", new string[] { strPanel });
                throw new MESReturnMessage(errMsg);
            }
            Panel panel = new Panel(strPanel, SFCDB, DB_TYPE_ENUM.Oracle);

            PanelSession.Value = panel;
        }
Ejemplo n.º 21
0
        public void CheckKPListName(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            MESDBHelper.OleExec SFCDB = this.DBPools["SFCDB"].Borrow();
            string ListName           = Data["ListName"].ToString();

            try
            {
                MESDataObject.Module.T_C_KP_LIST T = new T_C_KP_LIST(SFCDB, MESDataObject.DB_TYPE_ENUM.Oracle);
                StationReturn.Data   = T.CheckKPListName(ListName, SFCDB);
                StationReturn.Status = StationReturnStatusValue.Pass;
            }
            catch (Exception ee)
            {
                //this.DBPools["SFCDB"].Return(SFCDB);
                StationReturn.Status      = StationReturnStatusValue.Fail;
                StationReturn.MessageCode = "MES00000037";
                StationReturn.MessagePara.Add(ee.Message);
            }
            this.DBPools["SFCDB"].Return(SFCDB);
        }
Ejemplo n.º 22
0
        public void GetKPListByListName(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            MESDBHelper.OleExec SFCDB = this.DBPools["SFCDB"].Borrow();
            string ListName           = Data["ListName"].ToString();

            try
            {
                KPListBase ret = KPListBase.GetKPListByListName(ListName, SFCDB);
                StationReturn.Data   = ret;
                StationReturn.Status = StationReturnStatusValue.Pass;
            }
            catch (Exception ee)
            {
                //this.DBPools["SFCDB"].Return(SFCDB);
                StationReturn.Status      = StationReturnStatusValue.Fail;
                StationReturn.MessageCode = "MES00000037";
                StationReturn.MessagePara.Add(ee.Message);
            }
            this.DBPools["SFCDB"].Return(SFCDB);
        }
Ejemplo n.º 23
0
        public void GetLabelList(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            MESDBHelper.OleExec SFCDB = this.DBPools["SFCDB"].Borrow();

            try
            {
                T_R_Label      TRL = new T_R_Label(SFCDB, DB_TYPE_ENUM.Oracle);
                List <R_Label> ret = TRL.GetLabelList(SFCDB);

                StationReturn.Data   = ret;
                StationReturn.Status = StationReturnStatusValue.Pass;
            }
            catch (Exception ee)
            {
                StationReturn.Status      = StationReturnStatusValue.Fail;
                StationReturn.MessageCode = "MES00000037";
                StationReturn.MessagePara.Add(ee.Message);
            }
            SFCDB.ThrowSqlExeception = false;
            this.DBPools["SFCDB"].Return(SFCDB);
        }
Ejemplo n.º 24
0
        /// <summary>
        /// 查詢權限對應的ID
        /// </summary>
        public void SelectPrivilegeID(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            LoginReturn lr = new LoginReturn();

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

            MESDataObject.Module.T_C_PRIVILEGE   RolerPrivilege    = new MESDataObject.Module.T_C_PRIVILEGE(SFCDB, DB_TYPE_ENUM.Oracle);
            MESDataObject.Module.Row_C_PRIVILEGE RolerPrivilegeRow = (MESDataObject.Module.Row_C_PRIVILEGE)RolerPrivilege.NewRow();

            DataTable TablePrivilege = new DataTable();

            TablePrivilege = RolerPrivilege.SelectPrivilegeID(SFCDB, DB_TYPE_ENUM.Oracle);

            List <Privilegesid> Privilegesid = new List <Privilegesid>();

            if (TablePrivilege.Rows.Count > 0)
            {
                foreach (DataRow item in TablePrivilege.Rows)
                {
                    List <string> menu = new List <string>();

                    Privilegesid.Add(new Privilegesid
                    {
                        PRIVILEGE_ID   = item["PRIVILEGE_ID"].ToString(),
                        PRIVILEGE_NAME = item["PRIVILEGE_NAME"].ToString(),
                        PRIVILEGE_DESC = item["PRIVILEGE_DESC"].ToString()
                    });
                }
            }
            else
            {
                Privilegesid.Add(null);
            }

            StationReturn.Status  = StationReturnStatusValue.Pass;
            StationReturn.Message = "獲取權限目錄OK";
            StationReturn.Data    = Privilegesid;

            this.DBPools["SFCDB"].Return(SFCDB);
        }
Ejemplo n.º 25
0
        /// <summary>
        /// 點擊新增權限保存按鈕時,為用戶添加ModelType權限
        /// </summary>
        public void AddUserPrivilegeForModelType(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            MESDBHelper.OleExec SFCDB = _DBPools["SFCDB"].Borrow();
            string EditEmpID          = Data["EditEmpID"].ToString().ToUpper();
            string LoginUserEmp       = Data["LoginUserEmp"].ToString().ToUpper();
            string insql = "";

            SFCDB.BeginTrain();
            try
            {
                MESDataObject.Module.T_C_MODEL_USER   tCModelUser = new MESDataObject.Module.T_C_MODEL_USER(SFCDB, this.DBTYPE);
                MESDataObject.Module.Row_C_MODEL_USER rCModelUser = (MESDataObject.Module.Row_C_MODEL_USER)tCModelUser.NewRow();
                foreach (string item in Data["ID_ITEMS"])
                {
                    //去除C_Model_Type.ID的前后引號
                    string strTypeID = item.Trim('\'').Trim('\"');
                    rCModelUser.TYPE_ID   = strTypeID;
                    rCModelUser.USER_ID   = EditEmpID;
                    rCModelUser.EDIT_EMP  = LoginUserEmp;
                    rCModelUser.EDIT_TIME = DateTime.Now;
                    rCModelUser.ID        = tCModelUser.GetNewID(BU, SFCDB);
                    insql += rCModelUser.GetInsertString(this.DBTYPE) + ";\n";
                }
                SFCDB.ExecSQL("Begin\n" + insql + "End;");
                StationReturn.Status  = StationReturnStatusValue.Pass;
                StationReturn.Message = "權限添加成功!!";
                SFCDB.CommitTrain();
            }
            catch (Exception ex)
            {
                SFCDB.RollbackTrain();
                StationReturn.Status  = StationReturnStatusValue.Fail;
                StationReturn.Message = "新增權限失敗!";
                StationReturn.Data    = ex.Message.ToString();
            }
            finally
            {
                this.DBPools["SFCDB"].Return(SFCDB);
            }
        }
Ejemplo n.º 26
0
        public void GetSNStationKPList(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            MESDBHelper.OleExec SFCDB = this.DBPools["SFCDB"].Borrow();
            try
            {
                string strSN      = Data["SN"].ToString();
                string strSTATION = Data["STATION"].ToString();
                string strWO      = null;
                try
                {
                    strWO = Data["WO"].ToString();
                }
                catch
                { }

                LogicObject.SN SN = new LogicObject.SN();
                SN.Load(strSN, SFCDB, DB_TYPE_ENUM.Oracle);

                MESDataObject.Module.T_R_WO_BASE TWO = new T_R_WO_BASE(SFCDB, DB_TYPE_ENUM.Oracle);
                Row_R_WO_BASE RWO  = TWO.GetWo(SN.WorkorderNo, SFCDB);
                T_R_SN_KP     TRKP = new T_R_SN_KP(SFCDB, DB_TYPE_ENUM.Oracle);

                List <R_SN_KP> snkp = TRKP.GetKPRecordBySnIDStation(SN.ID, strSTATION, SFCDB);

                SN_KP ret = new SN_KP(snkp, SN.WorkorderNo, SN.SkuNo, SFCDB);


                StationReturn.Data   = ret;
                StationReturn.Status = StationReturnStatusValue.Pass;
            }
            catch (Exception ee)
            {
                //this.DBPools["SFCDB"].Return(SFCDB);
                StationReturn.Status      = StationReturnStatusValue.Fail;
                StationReturn.MessageCode = "MES00000037";
                StationReturn.MessagePara.Add(ee.Message);
            }
            this.DBPools["SFCDB"].Return(SFCDB);
        }
Ejemplo n.º 27
0
        public void GetFileByName(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            MESDBHelper.OleExec SFCDB = this.DBPools["SFCDB"].Borrow();

            try
            {
                T_R_FILE TRF = new T_R_FILE(SFCDB, DB_TYPE_ENUM.Oracle);
                //R_FILE R = TRF.GetFileByName(Data["Name"].ToString(),Data["UseType"].ToString(),SFCDB );
                R_FILE R = TRF.GetFileByFileName(Data["Name"].ToString(), Data["UseType"].ToString(), SFCDB);

                StationReturn.Data   = R;
                StationReturn.Status = StationReturnStatusValue.Pass;
            }
            catch (Exception ee)
            {
                StationReturn.Status      = StationReturnStatusValue.Fail;
                StationReturn.MessageCode = "MES00000037";
                StationReturn.MessagePara.Add(ee.Message);
            }
            SFCDB.ThrowSqlExeception = false;
            this.DBPools["SFCDB"].Return(SFCDB);
        }
Ejemplo n.º 28
0
        public void RemoveKPList(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            MESDBHelper.OleExec SFCDB = this.DBPools["SFCDB"].Borrow();
            List <string>       ret   = new List <string>();

            try
            {
                Newtonsoft.Json.Linq.JToken names = Data["ListNames"];
                for (int i = 0; i < names.Count(); i++)
                {
                    KPListBase list = KPListBase.GetKPListByListName(names[i].ToString(), SFCDB);
                    try
                    {
                        SFCDB.BeginTrain();
                        list.ReMoveFromDB(SFCDB);
                        ret.Add(names[i].ToString());
                        SFCDB.CommitTrain();
                    }
                    catch
                    {
                        SFCDB.RollbackTrain();
                    }
                }
                StationReturn.Data   = ret;
                StationReturn.Status = StationReturnStatusValue.Pass;
            }
            catch (Exception ee)
            {
                this.DBPools["SFCDB"].Return(SFCDB);
                StationReturn.Status      = StationReturnStatusValue.Fail;
                StationReturn.MessageCode = "MES00000037";
                StationReturn.MessagePara.Add(ee.Message);
                return;
            }
            this.DBPools["SFCDB"].Return(SFCDB);
        }
Ejemplo n.º 29
0
        public void FileDownLoad(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            MESDBHelper.OleExec SFCDB = this.DBPools["SFCDB"].Borrow();
            string ID = Data["ID"].ToString();

            try
            {
                T_R_FILE   TRF      = new T_R_FILE(SFCDB, DB_TYPE_ENUM.Oracle);
                Row_R_FILE RRF      = (Row_R_FILE)TRF.GetObjByID(ID, SFCDB);
                string     filePath = ConfigurationManager.AppSettings["WebFilePath"];
                filePath += "\\" + RRF.FILENAME;
                if (System.IO.File.Exists(filePath))
                {
                    System.IO.File.Delete(filePath);
                }

                System.IO.FileStream F = new System.IO.FileStream(filePath, System.IO.FileMode.Create);
                byte[] b = (byte[])RRF["BLOB_FILE"];
                F.Write(b, 0, b.Length);
                F.Flush();
                F.Close();



                StationReturn.Data   = "DOWNLOAD\\" + RRF.FILENAME;
                StationReturn.Status = StationReturnStatusValue.Pass;
            }
            catch (Exception ee)
            {
                StationReturn.Status      = StationReturnStatusValue.Fail;
                StationReturn.MessageCode = "MES00000037";
                StationReturn.MessagePara.Add(ee.Message);
            }
            SFCDB.ThrowSqlExeception = false;
            this.DBPools["SFCDB"].Return(SFCDB);
        }
Ejemplo n.º 30
0
        public void UpLoadKPList(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            MESDBHelper.OleExec SFCDB = this.DBPools["SFCDB"].Borrow();
            SFCDB.BeginTrain();
            try
            {
                string Skuno    = Data["SkuNo"].ToString();
                string ListName = Data["ListName"].ToString();
                Newtonsoft.Json.Linq.JToken ListData = Data["ListData"];
                T_C_KP_LIST   T         = new T_C_KP_LIST(SFCDB, MESDataObject.DB_TYPE_ENUM.Oracle);
                string        NewListID = T.GetNewID(this.BU, SFCDB);
                Row_C_KP_LIST R         = (Row_C_KP_LIST)T.NewRow();
                DateTime      Now       = DateTime.Now;

                T_C_KP_List_Item   TItem = new T_C_KP_List_Item(SFCDB, MESDataObject.DB_TYPE_ENUM.Oracle);
                Row_C_KP_List_Item RItem = (Row_C_KP_List_Item)TItem.NewRow();

                T_C_KP_List_Item_Detail   TDetail = new T_C_KP_List_Item_Detail(SFCDB, MESDataObject.DB_TYPE_ENUM.Oracle);
                Row_C_KP_List_Item_Detail RDetail = (Row_C_KP_List_Item_Detail)TDetail.NewRow();

                KPListBase oldList = KPListBase.GetKPListByListName(ListName, SFCDB);
                if (oldList != null)
                {
                    oldList.ReMoveFromDB(SFCDB);
                }

                R.ID        = NewListID;
                R.SKUNO     = Skuno.Trim();
                R.LISTNAME  = ListName;
                R.EDIT_EMP  = this.LoginUser.EMP_NO;
                R.EDIT_TIME = Now;

                SFCDB.ExecSQL(R.GetInsertString(MESDataObject.DB_TYPE_ENUM.Oracle));
                //Item	PartNO	KPName	Station	QTY	ScanType
                DataTable dt = new DataTable();
                dt.Columns.Add("Item");
                dt.Columns.Add("PartNO");
                dt.Columns.Add("KPName");
                dt.Columns.Add("Station");
                dt.Columns.Add("QTY");
                dt.Columns.Add("ScanType");
                List <DataRow> ListItem = new List <DataRow>();
                for (int i = 0; i < ListData.Count(); i++)
                {
                    DataRow dr = dt.NewRow();
                    dr["Item"]     = ListData[i]["Item"].ToString();
                    dr["PartNO"]   = ListData[i]["PartNO"].ToString();
                    dr["KPName"]   = ListData[i]["KPName"].ToString();
                    dr["Station"]  = ListData[i]["Station"].ToString();
                    dr["QTY"]      = ListData[i]["QTY"].ToString();
                    dr["ScanType"] = ListData[i]["ScanType"].ToString();
                    dt.Rows.Add(dr);
                    ListItem.Add(dr);
                }
                Dictionary <string, string> Item = new Dictionary <string, string>();
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    if (!Item.ContainsKey(dt.Rows[i]["Item"].ToString()))
                    {
                        Item.Add(dt.Rows[i]["Item"].ToString(), dt.Rows[i]["PartNO"].ToString());
                    }
                }
                string[] itemNo = new string[Item.Keys.Count];
                Item.Keys.CopyTo(itemNo, 0);
                for (int i = 0; i < itemNo.Length; i++)
                {
                    List <DataRow> Items = ListItem.FindAll(TT => TT["Item"].ToString() == itemNo[i]);
                    for (int j = 0; j < Items.Count; j++)
                    {
                        if (j == 0)
                        {
                            RItem.ID        = TItem.GetNewID(BU, SFCDB);
                            RItem.LIST_ID   = NewListID;
                            RItem.KP_NAME   = Items[j]["KPName"].ToString();
                            RItem.KP_PARTNO = Items[j]["PartNO"].ToString();
                            RItem.STATION   = Items[j]["Station"].ToString();
                            RItem.QTY       = double.Parse(Items[j]["QTY"].ToString());
                            RItem.SEQ       = i;
                            RItem.EDIT_EMP  = this.LoginUser.EMP_NO;
                            RItem.EDIT_TIME = Now;
                            SFCDB.ExecSQL(RItem.GetInsertString(MESDataObject.DB_TYPE_ENUM.Oracle));
                        }

                        RDetail.ID        = TDetail.GetNewID(BU, SFCDB);
                        RDetail.ITEM_ID   = RItem.ID;
                        RDetail.SCANTYPE  = Items[j]["ScanType"].ToString();
                        RDetail.SEQ       = j + 1;
                        RDetail.EDIT_EMP  = RItem.EDIT_EMP;
                        RDetail.EDIT_TIME = Now;
                        SFCDB.ExecSQL(RDetail.GetInsertString(MESDataObject.DB_TYPE_ENUM.Oracle));
                    }
                }

                StationReturn.Status = StationReturnStatusValue.Pass;
            }
            catch (Exception ee)
            {
                SFCDB.RollbackTrain();
                this.DBPools["SFCDB"].Return(SFCDB);
                StationReturn.Status      = StationReturnStatusValue.Fail;
                StationReturn.MessageCode = "MES00000037";
                StationReturn.MessagePara.Add(ee.Message);
                return;
            }
            SFCDB.CommitTrain();
            this.DBPools["SFCDB"].Return(SFCDB);
        }