Example #1
0
        /// <summary>
        /// 刪除角色ID信息刪除C_ROLE表,C_ROLE_PRIVILEGE ,C_USER_ROLE
        /// </summary>
        public void DeleteRole(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            OleExec            sfcdb     = null;
            string             DeleteSql = "";
            string             strid     = "";
            T_C_ROLE           GetRoleInformation;
            T_C_ROLE_PRIVILEGE GetRolePrivilegeInfo;

            try
            {
                sfcdb = this.DBPools["SFCDB"].Borrow();
                sfcdb.BeginTrain();
                GetRoleInformation   = new T_C_ROLE(sfcdb, DBTYPE);
                GetRolePrivilegeInfo = new T_C_ROLE_PRIVILEGE(sfcdb, DBTYPE);
                foreach (string item in Data["ID"])
                {
                    strid = item.Trim('\'').Trim('\"');
                    if (GetRoleInformation.CheckRole(strid, sfcdb))
                    {
                        Row_C_ROLE row = (Row_C_ROLE)GetRoleInformation.GetObjByID(strid, sfcdb);
                        DeleteSql += row.GetDeleteString(DBTYPE) + ";\n";
                        if (!GetRolePrivilegeInfo.CheckRolePrivilege(strid, sfcdb)) //檢查C_ROLE_PRIVILEGE是否有添加角色權限,如果存在就刪除
                        {
                            Row_C_PRIVILEGE PrivilegeRow = (Row_C_PRIVILEGE)GetRolePrivilegeInfo.GetObjByRoleID(strid, sfcdb);
                            DeleteSql += PrivilegeRow.GetDeleteString(DBTYPE) + ";\n";
                        }
                    }
                    else
                    {
                        sfcdb.RollbackTrain();
                        StationReturn.Status  = StationReturnStatusValue.Fail;
                        StationReturn.Message = "該角色已被賦予用戶使用,不能刪除";
                        StationReturn.Data    = "";
                        this.DBPools["SFCDB"].Return(sfcdb);
                        return;
                    }
                }

                DeleteSql = "BEGIN\n" + DeleteSql + "END;";

                sfcdb.ExecSQL(DeleteSql);
                sfcdb.CommitTrain();
                StationReturn.Status  = StationReturnStatusValue.Pass;
                StationReturn.Message = "刪除成功";
                sfcdb.CommitTrain();
                this.DBPools["SFCDB"].Return(sfcdb);
            }
            catch (Exception e)
            {
                sfcdb.RollbackTrain();
                this.DBPools["SFCDB"].Return(sfcdb);
                throw e;
            }
        }
Example #2
0
        /// <summary>
        /// 刪除用戶信息
        /// </summary>
        public void DeleteInformation(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            OleExec  sfcdb     = null;
            string   DeleteSql = "";
            string   strid     = "";
            T_c_user DeleteInformation;

            Newtonsoft.Json.Linq.JArray ID = (Newtonsoft.Json.Linq.JArray)Data["ID"];
            try
            {
                sfcdb = this.DBPools["SFCDB"].Borrow();
                sfcdb.BeginTrain();
                DeleteInformation = new T_c_user(sfcdb, DBTYPE);
                for (int i = 0; i < ID.Count; i++)
                {
                    strid = ID[i].ToString();
                    Row_c_user row = (Row_c_user)DeleteInformation.GetObjByID(strid, sfcdb);
                    DeleteSql += row.GetDeleteString(DBTYPE) + ";\n";
                }
                DeleteSql = "begin\n" + DeleteSql + "end;";
                sfcdb.ExecSQL(DeleteSql);
                StationReturn.Status      = StationReturnStatusValue.Pass;
                StationReturn.MessageCode = "MES00000004";
                sfcdb.CommitTrain();
                this.DBPools["SFCDB"].Return(sfcdb);
            }
            catch (Exception e)
            {
                sfcdb.RollbackTrain();
                this.DBPools["SFCDB"].Return(sfcdb);
                throw e;
            }
        }
Example #3
0
        public void DeleteByActionID(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            OleExec         sfcdb = null;
            string          StrID = "";
            T_C_ACTION_PARA actionpara;

            Newtonsoft.Json.Linq.JArray ID = (Newtonsoft.Json.Linq.JArray)Data["StationActionID"];
            try
            {
                sfcdb = this.DBPools["SFCDB"].Borrow();
                sfcdb.BeginTrain();
                actionpara = new T_C_ACTION_PARA(sfcdb, DBTYPE);
                for (int i = 0; i < ID.Count; i++)
                {
                    StrID = ID[i].ToString();
                    actionpara.DeleteByActionID(StrID, sfcdb);
                }
                sfcdb.CommitTrain();
                StationReturn.Status      = StationReturnStatusValue.Pass;
                StationReturn.MessageCode = "MES00000004";
                this.DBPools["SFCDB"].Return(sfcdb);
            }
            catch (Exception e)
            {
                this.DBPools["SFCDB"].Return(sfcdb);
                throw e;
            }
        }
        public void DeleteDepartment(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            OleExec        sfcdb     = null;
            string         DeleteSql = "";
            string         StrID     = "";
            T_C_DEPARTMENT department;

            //   string[] ID = Newtonsoft.Json.Linq.JArray(Data["ID"].);
            Newtonsoft.Json.Linq.JArray ID = (Newtonsoft.Json.Linq.JArray)Data["ID"];
            try
            {
                sfcdb = this.DBPools["SFCDB"].Borrow();
                sfcdb.BeginTrain();
                department = new T_C_DEPARTMENT(sfcdb, DBTYPE);
                for (int i = 0; i < ID.Count; i++)
                {
                    StrID = ID[i].ToString();
                    Row_C_DEPARTMENT row = (Row_C_DEPARTMENT)department.GetObjByID(StrID, sfcdb);
                    DeleteSql = row.GetDeleteString(DBTYPE);
                    sfcdb.ExecSQL(DeleteSql);
                }
                sfcdb.CommitTrain();
                StationReturn.Status      = StationReturnStatusValue.Pass;
                StationReturn.MessageCode = "MES00000004";
                this.DBPools["SFCDB"].Return(sfcdb);
            }
            catch (Exception e)
            {
                this.DBPools["SFCDB"].Return(sfcdb);
                throw e;
            }
        }
Example #5
0
        public void DeleteCKpCheck(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            string    RWOKPREPLACEIDS = Data["IDS"].ToString().Trim();
            ArrayList DelIds          = new ArrayList(RWOKPREPLACEIDS.Split(','));

            DelIds.Remove("");
            OleExec      oleDB    = null;
            T_C_KP_Check cKpCheck = null;

            try
            {
                oleDB    = this.DBPools["SFCDB"].Borrow();
                cKpCheck = new T_C_KP_Check(oleDB, DBTYPE);
                oleDB.BeginTrain();
                foreach (var VARIABLE in (string[])DelIds.ToArray(typeof(string)))
                {
                    oleDB.ThrowSqlExeception = true;
                    Row_C_KP_Check row = (Row_C_KP_Check)cKpCheck.GetObjByID(VARIABLE, oleDB, DBTYPE);
                    oleDB.ExecSQL(row.GetDeleteString(DBTYPE));
                }
                oleDB.CommitTrain();
                StationReturn.Status      = StationReturnStatusValue.Pass;
                StationReturn.MessageCode = "MES00000004";
            }
            catch (Exception e)
            {
                oleDB.RollbackTrain();
                throw e;
            }
            finally
            {
                this.DBPools["SFCDB"].Return(oleDB);
            }
        }
Example #6
0
        public void DeleteLine(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            OleExec  sfcdb = null;
            T_C_LINE line;
            C_LINE   checkLine;
            string   deleteid = "";

            Newtonsoft.Json.Linq.JArray ID = (Newtonsoft.Json.Linq.JArray)Data["ID"];
            try
            {
                sfcdb = this.DBPools["SFCDB"].Borrow();
                line  = new T_C_LINE(sfcdb, DBTYPE);
                bool isallOK = true;
                sfcdb.BeginTrain();
                for (int i = 0; i < ID.Count; i++)
                {
                    deleteid  = ID[i].ToString();
                    checkLine = line.GetLineById(deleteid, sfcdb);
                    if (checkLine == null)
                    {
                        StationReturn.Status      = StationReturnStatusValue.Fail;
                        StationReturn.MessageCode = "MES00000007";
                        StationReturn.MessagePara.Add("Line Id:" + deleteid);
                        isallOK = false;
                        break;
                    }
                    else
                    {
                        int result = line.deleteById(deleteid, sfcdb);
                        if (result <= 0)
                        {
                            StationReturn.Status      = StationReturnStatusValue.Fail;
                            StationReturn.MessageCode = "MES00000023";
                            StationReturn.MessagePara.Add("Line Id:" + deleteid);
                            isallOK = false;
                            break;
                        }
                    }
                }
                if (isallOK)
                {
                    sfcdb.CommitTrain();
                    StationReturn.Status      = StationReturnStatusValue.Pass;
                    StationReturn.MessageCode = "MES00000001";
                }
                else
                {
                    sfcdb.RollbackTrain();
                }
                this.DBPools["SFCDB"].Return(sfcdb);
            }
            catch (Exception e)
            {
                if (sfcdb != null)
                {
                    this.DBPools["SFCDB"].Return(sfcdb);
                }
                throw e;
            }
        }
Example #7
0
        public void DeleteInputActionByInputID(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            OleExec          sfcdb = null;
            string           StrID = "";
            T_R_Input_Action inputaction;

            //   string[] ID = Newtonsoft.Json.Linq.JArray(Data["ID"].);
            Newtonsoft.Json.Linq.JArray ID = (Newtonsoft.Json.Linq.JArray)Data["InputID"];
            try
            {
                sfcdb = this.DBPools["SFCDB"].Borrow();
                sfcdb.BeginTrain();
                inputaction = new T_R_Input_Action(sfcdb, DBTYPE);
                for (int i = 0; i < ID.Count; i++)
                {
                    StrID = ID[i].ToString();
                    inputaction.DeleteInputActionByInputID(StrID, sfcdb);
                }
                sfcdb.CommitTrain();
                StationReturn.Status      = StationReturnStatusValue.Pass;
                StationReturn.MessageCode = "MES00000004";
                this.DBPools["SFCDB"].Return(sfcdb);
            }
            catch (Exception e)
            {
                this.DBPools["SFCDB"].Return(sfcdb);
                throw e;
            }
        }
        public void DeleteInputRuleList(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            OleExec        sfcdb     = null;
            string         DeleteSql = "";
            string         StrID     = "";
            T_C_INPUT_RULE inputrule;

            string[] ID = Data["ID"].ToString().Split(',');
            try
            {
                sfcdb     = this.DBPools["SFCDB"].Borrow();
                inputrule = new T_C_INPUT_RULE(sfcdb, DBTYPE);
                sfcdb.BeginTrain();
                for (int i = 0; i < ID.Length; i++)
                {
                    StrID = ID[i].ToString();
                    Row_C_INPUT_RULE row = (Row_C_INPUT_RULE)inputrule.GetObjByID(StrID, sfcdb);
                    DeleteSql = row.GetDeleteString(DBTYPE);
                    sfcdb.ExecSQL(DeleteSql);
                }
                sfcdb.CommitTrain();
                StationReturn.Status      = StationReturnStatusValue.Pass;
                StationReturn.MessageCode = "MES00000004";
                this.DBPools["SFCDB"].Return(sfcdb);
            }
            catch (Exception e)
            {
                sfcdb.RollbackTrain();
                this.DBPools["SFCDB"].Return(sfcdb);
                throw e;
            }
        }
 public void GetBackFlustData()
 {
     SFCDB.BeginTrain();
     try
     {
         C_CONTROL control = t_c_control.GetControlByName("HWD_STOCKIN_TIME", SFCDB);
         if (control.CONTROL_VALUE == "" && string.IsNullOrEmpty(control.CONTROL_VALUE))
         {
             throw new Exception("Get last run time fail ");
         }
         startTime    = Convert.ToDateTime(control.CONTROL_VALUE);
         endTime      = InterfacePublicValues.GetDBDateTime(SFCDB, DB_TYPE_ENUM.Oracle);
         stockInTable = t_r_sn_station_detail.GetStockInQtyByTime(startTime, endTime, SFCDB);
         if (stockInTable != null)
         {
             foreach (DataRow dr in stockInTable.Rows)
             {
                 r_sap_temp              = (Row_R_SAP_TEMP)t_r_sap_temp.NewRow();
                 r_sap_temp.ID           = t_r_sap_temp.GetNewID(BU, SFCDB);
                 r_sap_temp.SKUNO        = dr["skuno"].ToString();
                 r_sap_temp.TYPE         = "011G To 016G";
                 r_sap_temp.QTY          = double.Parse(dr["qty"].ToString());
                 r_sap_temp.FROM_STORAGE = "011G";
                 r_sap_temp.TO_STORAGE   = "016G";
                 r_sap_temp.SAP_FLAG     = "0";
                 r_sap_temp.FAIL_COUNT   = 0;
                 r_sap_temp.EDIT_EMP     = "interface";
                 r_sap_temp.EDIT_TIME    = endTime;
                 SFCDB.ExecSQL(r_sap_temp.GetInsertString(DB_TYPE_ENUM.Oracle));
             }
         }
         Row_C_CONTROL rowControl = (Row_C_CONTROL)t_c_control.GetObjByID(control.ID, SFCDB);
         rowControl.CONTROL_VALUE = endTime.ToString("yyyy/MM/dd HH: mm: ss");
         rowControl.EDIT_EMP      = "intrerface";
         rowControl.EDIT_TIME     = endTime;
         SFCDB.ExecSQL(rowControl.GetUpdateString(DB_TYPE_ENUM.Oracle));
         SFCDB.CommitTrain();
     }
     catch (Exception exception)
     {
         SFCDB.RollbackTrain();
         WriteLog.WriteIntoMESLog(SFCDB, BU, "MESInterface", "MESInterface.HWD.StockInBackFlush", "GetBackFlustData", ip + ";" + exception.Message, "", "interface");
         StockInBackFlush_UI.OutPutMessage("", exception.Message, false);
     }
 }
Example #10
0
        /// <summary>
        /// 依據ID清單Approve稱重工站
        /// </summary>
        /// <param name="requestValue"></param>
        /// <param name="Data"></param>
        /// <param name="StationReturn"></param>
        public void ApproveWTByID(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            OleExec         sfcdb     = null;
            T_C_WT_CONFIG   TCWT      = null;
            Row_C_WT_CONFIG RCWT      = null;
            string          sql       = "";
            string          strReturn = "";

            try
            {
                sfcdb = this.DBPools["SFCDB"].Borrow();
                sfcdb.BeginTrain();
                TCWT = new T_C_WT_CONFIG(sfcdb, this.DBTYPE);
                RCWT = (Row_C_WT_CONFIG)TCWT.NewRow();
                foreach (string item in Data["IDList"])
                {
                    string strID = item.Trim('\'').Trim('\"');
                    RCWT              = (Row_C_WT_CONFIG)TCWT.GetObjByID(strID, sfcdb);
                    RCWT.APPROVE_EMP  = (string)Data["LoginUserEmp"];
                    RCWT.APPROVE_TIME = GetDBDateTime();
                    sql += RCWT.GetUpdateString(this.DBTYPE) + ";\n";
                }
                strReturn = sfcdb.ExecSQL("Begin\n" + sql + "End;");
                WriteIntoMESLog(sfcdb, BU, "WTConfig", "MESStation.Config.WTConfig", "ApproveWT", "簽核稱重記錄", sql.Substring(0, sql.Length - 1 > 900 ? 900 : sql.Length - 1), LoginUser.EMP_NO);
                //如果數據更新成功,則返回數據更新的記錄數,如果為Begn...END返回為-1,可被 Int32.Parse 方法轉換成 int
                if (Int32.Parse(strReturn) > -2)
                {
                    StationReturn.Status  = StationReturnStatusValue.Pass;
                    StationReturn.Message = "Approve成功!";
                }
                else
                {
                    StationReturn.Status  = StationReturnStatusValue.Fail;
                    StationReturn.Message = "Approve 數據更新失敗!";
                    StationReturn.Data    = strReturn;
                }
                sfcdb.CommitTrain();
            }catch (Exception e)
            {
                sfcdb.RollbackTrain();
                StationReturn.Status  = StationReturnStatusValue.Fail;
                StationReturn.Message = "Approve失敗或該記錄已經不存在!";
                StationReturn.Data    = e.Message;
            }
            finally
            {
                if (sfcdb != null)
                {
                    this.DBPools["SFCDB"].Return(sfcdb);
                }
            }
        }
Example #11
0
        /// <summary>
        /// DonwLoad WO From SAP
        /// </summary>
        /// <param name="requestValue"></param>
        /// <param name="Data"></param>
        /// <param name="StationReturn"></param>
        public void Download_WO(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            OleExec Sfcdb = this.DBPools["SFCDB"].Borrow();
            string  WO    = Data["WO"].ToString();
            string  PLANT = Data["PLANT"].ToString();

            Sfcdb.BeginTrain();
            Download(WO, PLANT);
            DownloadDetail(WO, PLANT);
            Sfcdb.CommitTrain();
            StationReturn.Status  = StationReturnStatusValue.Pass;
            StationReturn.Message = MESReturnMessage.GetMESReturnMessage("MES00000102");
        }
Example #12
0
        public override void Start()
        {
            //base.Start();
            IsRuning = synLock.IsLock("HWD_WOToMRBBackFlush", SFCDB, DB_TYPE_ENUM.Oracle, out lockIp);
            if (IsRuning)
            {
                throw new Exception("HWD WOToMRBBackFlush interface is running on " + lockIp + ",Please try again later");
            }

            try
            {
                synLock.SYNC_Lock(BU, ip, "HWD_WOToMRBBackFlush", "HWD_WOToMRBBackFlush", "interface", SFCDB, DB_TYPE_ENUM.Oracle);
                SFCDB.CommitTrain();
                DoMrbBackFlush();
            }
            catch (Exception ex)
            {
                SFCDB.RollbackTrain();
                throw new Exception("Start MrbBackFlush Fail" + ex.Message);
            }
            synLock.SYNC_UnLock(BU, ip, "HWD_WOToMRBBackFlush", "HWD_WOToMRBBackFlush", "interface", SFCDB, DB_TYPE_ENUM.Oracle);
            SFCDB.CommitTrain();
        }
        public void DeleteById(JObject requestValue, JToken Data, MESStationReturn StationReturn)
        {
            string id = Data["ID"].ToString();

            if (string.IsNullOrEmpty(id))
            {
                StationReturn.Status      = StationReturnStatusValue.Fail;
                StationReturn.MessageCode = "MES00000006";
                StationReturn.MessagePara = new List <Object>()
                {
                    "Reason Code ID"
                };
                StationReturn.Data = null;
                return;
            }

            OleExec sfcdb = DBPools["SFCDB"].Borrow();

            string[]          ids             = id.Split(',');
            Row_C_REASON_CODE row_reason_code = (Row_C_REASON_CODE) new T_C_REASON_CODE(sfcdb, DB_TYPE_ENUM.Oracle).NewRow();

            try
            {
                string deleteString = null;
                sfcdb.BeginTrain();
                foreach (string deleteID in ids)
                {
                    deleteString = row_reason_code.GetDeleteString(DB_TYPE_ENUM.Oracle, deleteID);
                    sfcdb.ExecuteNonQuery(deleteString, CommandType.Text, null);
                }
                sfcdb.CommitTrain();
            }
            catch (Exception ex)
            {
                sfcdb.RollbackTrain();
                if (sfcdb != null)
                {
                    this.DBPools["SFCDB"].Return(sfcdb);
                }
                throw ex;
            }
            StationReturn.Status      = StationReturnStatusValue.Pass;
            StationReturn.MessageCode = "MES00000004";
            StationReturn.Data        = "";
            if (sfcdb != null)
            {
                this.DBPools["SFCDB"].Return(sfcdb);
            }
        }
Example #14
0
        /// <summary>
        ///刪除用戶添加角色 DELETE C_USER_ROLE
        /// </summary>
        public void DeleteUserRolePrivilege(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            OleExec       sfcdb     = null;
            string        DeleteSql = "";
            T_c_user_role GetUserRole;
            string        EMP_NO = Data["EMP_NO"].ToString();

            //   string[] ROLE_ID = Data["ROLE_ID"].ToString().Split(',');

            try
            {
                sfcdb       = this.DBPools["SFCDB"].Borrow();
                GetUserRole = new T_c_user_role(sfcdb, DBTYPE);
                string USER_ID = GetUserRole.GetUserID(EMP_NO, sfcdb);
                sfcdb.BeginTrain();
                foreach (string item in Data["ROLE_ID"])
                {
                    string          strroleid = item.Trim('\'').Trim('\"');
                    Row_c_user_role row       = (Row_c_user_role)GetUserRole.GetObjByUserIDRoleID(USER_ID, strroleid, sfcdb, this.DBTYPE);
                    DeleteSql += row.GetDeleteString(DBTYPE) + ";\n";
                }
                DeleteSql = "begin\n" + DeleteSql + "end;";
                sfcdb.ExecSQL(DeleteSql);
                sfcdb.CommitTrain();
                StationReturn.Status  = StationReturnStatusValue.Pass;
                StationReturn.Message = "刪除成功";
                sfcdb.CommitTrain();
                this.DBPools["SFCDB"].Return(sfcdb);
            }
            catch (Exception e)
            {
                sfcdb.RollbackTrain();
                this.DBPools["SFCDB"].Return(sfcdb);
                throw e;
            }
        }
Example #15
0
        public void DeleteCStationAcation(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            OleExec            sfcdb     = null;
            string             DeleteSql = "";
            string             StrID     = "";
            T_c_station_action stationaction;
            T_R_Station_Action saction;

            Newtonsoft.Json.Linq.JArray ID = (Newtonsoft.Json.Linq.JArray)Data["ID"];
            try
            {
                sfcdb = this.DBPools["SFCDB"].Borrow();
                sfcdb.BeginTrain();
                stationaction = new T_c_station_action(sfcdb, DBTYPE);
                saction       = new T_R_Station_Action(sfcdb, DBTYPE);
                for (int i = 0; i < ID.Count; i++)
                {
                    StrID = ID[i].ToString();

                    if (saction.CheckExistByCSActionID(StrID, sfcdb))
                    {
                        Row_c_station_action row = (Row_c_station_action)stationaction.GetObjByID(StrID, sfcdb);
                        DeleteSql = row.GetDeleteString(DBTYPE);
                        sfcdb.ExecSQL(DeleteSql);
                    }
                    else
                    {
                        StationReturn.Status      = StationReturnStatusValue.Fail;
                        StationReturn.MessageCode = "MES00000113";
                        sfcdb.RollbackTrain();
                        this.DBPools["SFCDB"].Return(sfcdb);
                        return;
                    }
                }
                sfcdb.CommitTrain();
                StationReturn.Status      = StationReturnStatusValue.Pass;
                StationReturn.MessageCode = "MES00000004";
                this.DBPools["SFCDB"].Return(sfcdb);
            }
            catch (Exception e)
            {
                sfcdb.RollbackTrain();
                this.DBPools["SFCDB"].Return(sfcdb);
                throw e;
            }
        }
Example #16
0
        public void DeleteWorkClass(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            //string id = Data["CLASS_ID"].ToString().Trim();
            Newtonsoft.Json.Linq.JArray idArray = (Newtonsoft.Json.Linq.JArray)Data["CLASS_ID"];
            OleExec          oleDB     = null;
            T_C_WORK_CLASS   workClass = null;
            Row_C_WORK_CLASS workClassRow;

            if (idArray.Count == 0)
            {
                StationReturn.Status      = StationReturnStatusValue.Fail;
                StationReturn.MessageCode = "MES00000006";
                StationReturn.MessagePara.Add("CLASS ID");
                StationReturn.Data = "";
                return;
            }
            try
            {
                oleDB = this.DBPools["SFCDB"].Borrow();
                oleDB.ThrowSqlExeception = true;
                oleDB.BeginTrain();
                workClass = new T_C_WORK_CLASS(oleDB, DBTYPE);
                for (int i = 0; i < idArray.Count; i++)
                {
                    workClassRow = (Row_C_WORK_CLASS)workClass.GetObjByID(idArray[i].ToString(), oleDB, DBTYPE);

                    oleDB.ExecSQL(workClassRow.GetDeleteString(DBTYPE));
                }
                oleDB.CommitTrain();
                StationReturn.Status  = StationReturnStatusValue.Pass;
                StationReturn.Message = "MES00000004";
                StationReturn.Data    = "";
                this.DBPools["SFCDB"].Return(oleDB);
            }
            catch (Exception exception)
            {
                oleDB.RollbackTrain();
                this.DBPools["SFCDB"].Return(oleDB);
                throw exception;
            }
        }
Example #17
0
        /// <summary>
        /// Update Class Time
        /// </summary>
        /// <param name="requestValue"></param>
        /// <param name="Data"></param>
        /// <param name="StationReturn"></param>
        public void UpdateClassTime(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            string           strRet    = "";
            OleExec          sfcdb     = this.DBPools["SFCDB"].Borrow();
            T_C_CLASS_TIME   classTime = new T_C_CLASS_TIME(sfcdb, DB_TYPE_ENUM.Oracle);
            Row_C_CLASS_TIME row       = (Row_C_CLASS_TIME)classTime.NewRow();

            row = (Row_C_CLASS_TIME)classTime.GetObjByID(Data["ID"].ToString().Trim(), sfcdb, DB_TYPE_ENUM.Oracle);
            row.WORK_SECTION = Data["WORK_SECTION"].ToString().Trim();
            row.START_TIME   = Data["START_TIME"].ToString().Trim();
            row.END_TIME     = Data["END_TIME"].ToString().Trim();
            if (Data["DAY_DISTINCT"].ToString().Trim() == ("Shift1"))
            {
                row.WORK_CLASS   = ((int)WORK_CLASS.Shift1).ToString();
                row.DAY_DISTINCT = WORK_CLASS.Shift1.ToString();
            }
            else
            {
                row.WORK_CLASS   = ((int)WORK_CLASS.Shift2).ToString();
                row.DAY_DISTINCT = WORK_CLASS.Shift2.ToString();
            }
            row.EDIT_EMP  = this.LoginUser;
            row.EDIT_TIME = DateTime.Now;
            strRet        = sfcdb.ExecSQL(row.GetUpdateString(DB_TYPE_ENUM.Oracle));
            try
            {
                int rows = int.Parse(strRet);
                sfcdb.CommitTrain();
                StationReturn.Status  = "PASS";
                StationReturn.Message = "OK,Update Class Time OK!";
                StationReturn.data    = rows;
            }
            catch
            {
                sfcdb.RollbackTrain();
                StationReturn.Status  = "FAIL";
                StationReturn.Message = strRet;
                StationReturn.data    = "";
            }
            this.DBPools["SFCDB"].Return(sfcdb);
        }
Example #18
0
        public void DeteleCustomer(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            string strbu = BU;

            Newtonsoft.Json.Linq.JArray idArray = (Newtonsoft.Json.Linq.JArray)Data["CUSTOMER_ID"];
            OleExec        oleDB       = null;
            T_C_CUSTOMER   customer    = null;
            Row_C_CUSTOMER customerRow = null;

            if (idArray.Count == 0)
            {
                StationReturn.Status      = StationReturnStatusValue.Fail;
                StationReturn.MessageCode = "MES00000006";
                StationReturn.MessagePara.Add("CUSTOMER ID");
                StationReturn.Data = "";
                return;
            }
            try
            {
                oleDB    = this.DBPools["SFCDB"].Borrow();
                customer = new T_C_CUSTOMER(oleDB, DBTYPE);
                oleDB.ThrowSqlExeception = true;
                oleDB.BeginTrain();
                for (int i = 0; i < idArray.Count; i++)
                {
                    customerRow = (Row_C_CUSTOMER)customer.GetObjByID(idArray[i].ToString(), oleDB, DBTYPE);
                    oleDB.ExecSQL(customerRow.GetDeleteString(DBTYPE));
                }
                oleDB.CommitTrain();
                StationReturn.Status      = StationReturnStatusValue.Pass;
                StationReturn.MessageCode = "MES00000004";
                StationReturn.Data        = "";
                this.DBPools["SFCDB"].Return(oleDB);
            }
            catch (Exception exception)
            {
                oleDB.RollbackTrain();
                this.DBPools["SFCDB"].Return(oleDB);
                throw exception;
            }
        }
Example #19
0
 public override void Start()
 {
     IsRuning = synLock.IsLock("TJL5_DownLoadWO", SFCDB, DB_TYPE_ENUM.Oracle, out lockIp);
     if (IsRuning)
     {
         throw new Exception("TJL5 DownLoadWO interface is running on " + lockIp + ",Please try again later");
     }
     try
     {
         synLock.SYNC_Lock(BU, ip, "TJL5_DownLoadWO", "TJL5_DownLoadWO", "interface", SFCDB, DB_TYPE_ENUM.Oracle);
         SFCDB.CommitTrain();
         CallRFC();
     }
     catch (Exception ex)
     {
         SFCDB.RollbackTrain();
         throw new Exception("Start DownLoadWO Fail" + ex.Message);
     }
     synLock.SYNC_UnLock(BU, ip, "TJL5_DownLoadWO", "TJL5_DownLoadWO", "interface", SFCDB, DB_TYPE_ENUM.Oracle);
     SFCDB.CommitTrain();
 }
Example #20
0
        public void DeleteKeyPart(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            OleExec       sfcdb = null;
            T_C_KEYPART   ketpart;
            Row_C_KEYPART newketpart;

            string[] ids = Data["ID"].ToString().Trim().Split(',');
            string   SQL = "";

            sfcdb = this.DBPools["SFCDB"].Borrow();
            sfcdb.BeginTrain();
            try
            {
                foreach (string id in ids)
                {
                    ketpart    = new T_C_KEYPART(sfcdb, DBTYPE);
                    newketpart = (Row_C_KEYPART)ketpart.GetObjByID(id, sfcdb);
                    SQL       += newketpart.GetDeleteString(DB_TYPE_ENUM.Oracle) + ";\n";
                }
                sfcdb.ExecSQL("Begin\n" + SQL + "End;");
                sfcdb.CommitTrain();
                this.DBPools["SFCDB"].Return(sfcdb);
                StationReturn.Status  = StationReturnStatusValue.Pass;
                StationReturn.Message = "刪除成功!!";
                this.DBPools["SFCDB"].Return(sfcdb);
            }
            catch (Exception e)
            {
                sfcdb.RollbackTrain();
                StationReturn.Status      = StationReturnStatusValue.Fail;
                StationReturn.MessageCode = "刪除失敗!!";
                if (sfcdb != null)
                {
                    this.DBPools["SFCDB"].Return(sfcdb);
                }
                throw e;
            }
        }
Example #21
0
 public override void Start()
 {
     //判斷當前任務是否正在被執行:SELECT * From R_SYNC_LOCK where Lock_Name='{Section}'
     IsRuning = synLock.IsLock(Section, SFCDB, DB_TYPE_ENUM.Oracle, out lockIp);
     if (IsRuning)
     {
         throw new Exception(Section + " interface is running on " + lockIp + ",Please try again later");
     }
     try
     {
         //TEST();
         //寫一筆正在執行的記錄
         synLock.SYNC_Lock(BU, ip, Section, Section, "interface", SFCDB, DB_TYPE_ENUM.Oracle);
         SFCDB.CommitTrain();
         CallRFC();
     }
     catch (Exception ex)
     {
         SFCDB.RollbackTrain();
         throw new Exception("Start DownLoadWO Fail" + ex.Message);
     }
     synLock.SYNC_UnLock(BU, ip, Section, Section, "interface", SFCDB, DB_TYPE_ENUM.Oracle);
     SFCDB.CommitTrain();
 }
Example #22
0
        public override void Start()
        {
            string    oldSql      = "";
            string    newSql      = "";
            string    runSql      = "";
            string    codeName    = "";
            string    codeValue   = "";
            string    description = "";
            string    route       = "";
            DataTable dtNew       = new DataTable();
            DataTable dtOld       = new DataTable();
            DataTable dtRoute     = new DataTable();

            try
            {
                newSFCDB = new OleExec("HWDMES", false);
                oldSFCDB = new OleExec("HWD_OLD_SFCDB", false);
                newSFCDB.ThrowSqlExeception = true;
                oldSFCDB.ThrowSqlExeception = true;

                if (updateDate != "")
                {
                    newSql = $@"select * from c_sku where to_date(to_char(edit_time,'yyyy/mm/dd'),'yyyy/mm/dd') =to_date('{updateDate}','yyyy/mm/dd')";
                }
                else
                {
                    newSql = "select * from c_sku where edit_time>sysdate-1";
                }
                dtNew = newSFCDB.ExecSelect(newSql).Tables[0];
                //WriteLog.WriteIntoMESLog(newSFCDB, "HWD", "MESInterface", "MESInterface.HWD.CopySkuTypeToOld", "CopySkuTypeToOld", ip + ";" + dtNew.Rows.Count + "; Copy sku type to old DB fail," , "", "interface");
                //newSFCDB.CommitTrain();
                foreach (DataRow row in dtNew.Rows)
                {
                    if (row["SKUNO"].ToString() != "")
                    {
                        try
                        {
                            runSql  = $@"select c.* from r_sku_route a,c_sku b,c_route c where a.sku_id=b.id and c.id=a.route_id and b.skuno='{row["SKUNO"].ToString()}'";
                            dtRoute = newSFCDB.ExecSelect(runSql).Tables[0];
                            if (dtRoute.Rows.Count == 0)
                            {
                                throw new Exception(row["SKUNO"].ToString() + " can't setting route!");
                            }
                            route = dtRoute.Rows[0]["ROUTE_NAME"].ToString();

                            oldSql = $@"select * from sfccodelike where skuno='{row["SKUNO"].ToString()}'";
                            dtOld  = oldSFCDB.ExecSelect(oldSql).Tables[0];
                            runSql = "";
                            if (dtOld.Rows.Count > 0)
                            {
                                if (row["SKU_TYPE"].ToString() != "" && dtOld.Rows[0]["CATEGORY"].ToString() != row["SKU_TYPE"].ToString())
                                {
                                    runSql = $@" update sfccodelike set category='{row["SKU_TYPE"].ToString()}' where skuno='{row["SKUNO"].ToString()}'";
                                }
                            }
                            else
                            {
                                if (row["SKU_NAME"].ToString() != "")
                                {
                                    codeName  = row["SKU_NAME"].ToString();
                                    codeValue = row["SKU_NAME"].ToString();
                                }
                                else
                                {
                                    codeName  = row["SKUNO"].ToString();
                                    codeValue = row["SKUNO"].ToString();
                                }

                                if (row["DESCRIPTION"].ToString() != "")
                                {
                                    description = row["DESCRIPTION"].ToString();
                                }
                                else
                                {
                                    description = row["SKUNO"].ToString();
                                }
                                if (row["VERSION"].ToString() == "")
                                {
                                    throw new Exception(row["SKUNO"].ToString() + " the version is null!");
                                }


                                if (row["SKU_TYPE"].ToString() != "")
                                {
                                    runSql = $@"insert into sfccodelike
                                (category,codename,codevalue,skuno,version,custpartno,sfcroute,createby,createdate,series,ctntype,pltype,description)
                                values
                                ('{row["SKU_TYPE"].ToString()}',
                                '{codeName}',
                                '{codeValue}',
                                '{row["SKUNO"].ToString()}',
                                '{row["VERSION"].ToString()}',
                                '{row["CUST_PARTNO"].ToString()}',
                                '{route}', 
                                '{row["EDIT_EMP"].ToString()}',
                                 sysdate,
                                'HWD','C','PL','{description}')";
                                }
                                else
                                {
                                    throw new Exception(row["SKUNO"].ToString() + " can't setting sku type!");
                                }
                            }
                            //WriteLog.WriteIntoMESLog(newSFCDB, "HWD", "MESInterface", "MESInterface.HWD.CopySkuTypeToOld", "CopySkuTypeToOld", ip + ";" + row["SKUNO"].ToString() + "; Copy sku type to old DB fail,", runSql, "interface");
                            //newSFCDB.CommitTrain();
                            if (runSql != "")
                            {
                                oldSFCDB.ExecSQL(runSql);
                                oldSFCDB.CommitTrain();
                            }
                        }
                        catch (Exception ex)
                        {
                            WriteLog.WriteIntoMESLog(newSFCDB, "HWD", "MESInterface", "MESInterface.HWD.CopySkuTypeToOld", "CopySkuTypeToOld", ip + ";" + row["SKUNO"].ToString() + ";" + ex.Message.ToString(), "", "interface");
                            newSFCDB.CommitTrain();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Start CopySkuTypeToOld Fail" + ex.Message);
                //WriteLog.WriteIntoMESLog(newSFCDB, "HWD", "MESInterface", "MESInterface.HWD.CopySkuTypeToOld", "CopySkuTypeToOld", ip + ";Copy sku type to old DB fail," + ex.Message.ToString(), "", "interface");
            }
        }
Example #23
0
        /// <summary>
        /// 刪除角色權限
        /// </summary>
        public void DeleteRolePrivilege(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            OleExec sfcdb = this.DBPools["SFCDB"].Borrow();
            string  DeleteSql = "", P_code = "";
            string  strid  = "";
            string  MenuID = "";

            T_C_PRIVILEGE   CheckExistMenuID = new T_C_PRIVILEGE(sfcdb, DBTYPE);
            Row_C_PRIVILEGE ChRow            = (Row_C_PRIVILEGE)CheckExistMenuID.NewRow();
            T_C_MENU        tcm  = new T_C_MENU(sfcdb, DBTYPE);
            DataTable       rcm  = new DataTable();
            DataTable       TTcm = new DataTable();
            List <c_role_privilegeinfobyemp> RolePrivilegeList = new List <c_role_privilegeinfobyemp>();
            List <string>        DeletePrivilege = new List <string>();
            List <MENUS>         GetMenuList     = new List <MENUS>();
            T_C_ROLE_PRIVILEGE   tcup            = new T_C_ROLE_PRIVILEGE(sfcdb, DBTYPE);
            Row_C_ROLE_PRIVILEGE rcup            = (Row_C_ROLE_PRIVILEGE)tcup.NewRow();
            T_C_MENU             Tmenu           = new T_C_MENU(sfcdb, DBTYPE);
            string ROLE_ID = Data["ROLE_ID"].ToString();

            try
            {
                //sfcdb.BeginTrain();
                //foreach (string  item in Data["PRIVILEGE_ID"])
                //{
                //    DeletePrivilege.Add(item.Trim('\'').Trim('\"'));
                //}


                foreach (string item in Data["PRIVILEGE_ID"])
                {
                    string PRIVILEGE_ID = item.Trim('\'').Trim('\"');

                    //RolePrivilegeList = tcup.QueryRolePrivilege(ROLE_ID, sfcdb);

                    //ChRow = (Row_C_PRIVILEGE)CheckExistMenuID.getC_PrivilegebyID(PRIVILEGE_ID, sfcdb);
                    //if (ChRow.MENU_ID != null && ChRow.MENU_ID != "N/A")
                    //{
                    //    if (!Tmenu.Check_PARENT(ChRow.MENU_ID,sfcdb))  //CHECK刪除的權限是否存在下級權限
                    //    {
                    //        GetMenuList = Tmenu.GetMenuNextID("PARENT_CODE", ChRow.MENU_ID, sfcdb);
                    //        if (GetMenuList!=null)
                    //        {
                    //            for (int i = 0; i < GetMenuList.Count-1; i++)
                    //            {
                    //                ChRow = (Row_C_PRIVILEGE)CheckExistMenuID.getC_PrivilegebyMenuID(GetMenuList[i].ID.ToString(), sfcdb);
                    //                c_role_privilegeinfobyemp h = RolePrivilegeList.Find(s=>s.PRIVILEGE_ID== ChRow.ID);
                    //                if (h != null)
                    //                {
                    //                    string u = DeletePrivilege.Find(t => t == ChRow.ID);
                    //                    if (u == null || u == "")
                    //                    {
                    //                        StationReturn.Status = StationReturnStatusValue.Fail;
                    //                        StationReturn.Message = "要刪除的權限存在下級權限,無法越級刪除";
                    //                        StationReturn.Data = ChRow.PRIVILEGE_NAME;
                    //                        this.DBPools["SFCDB"].Return(sfcdb);
                    //                        return;
                    //                    }
                    //                }

                    //            }
                    //        }

                    //    }

                    //        rcup = tcup.GetC_Role_Privilege_ID(ROLE_ID, PRIVILEGE_ID, sfcdb);
                    //        strid = rcup.ID.ToString();
                    //        rcup = (Row_C_ROLE_PRIVILEGE)tcup.GetObjByID(strid, sfcdb);
                    //        DeleteSql += rcup.GetDeleteString(DBTYPE) + ";\n";

                    //}
                    //else
                    //{
                    //    rcup = tcup.GetC_Role_Privilege_ID(ROLE_ID, PRIVILEGE_ID, sfcdb);
                    //    strid = rcup.ID.ToString();
                    //    rcup = (Row_C_ROLE_PRIVILEGE)tcup.GetObjByID(strid, sfcdb);
                    //    DeleteSql += rcup.GetDeleteString(DBTYPE) + ";\n";
                    //}


                    // by SDL  CHECK要刪除的權限要是存在下級菜單則不允許刪除
                    rcup       = tcup.GetC_Role_Privilege_ID(ROLE_ID, PRIVILEGE_ID, sfcdb);
                    strid      = rcup.ID.ToString();
                    rcup       = (Row_C_ROLE_PRIVILEGE)tcup.GetObjByID(strid, sfcdb);
                    DeleteSql += rcup.GetDeleteString(DBTYPE) + ";\n";

                    ChRow = (Row_C_PRIVILEGE)CheckExistMenuID.getC_PrivilegebyID(PRIVILEGE_ID, sfcdb);
                    if (ChRow.MENU_ID != null || ChRow.MENU_ID != "N/A")
                    {
                        rcm = tcm.getC_MenubyPARENT_CODE(ChRow.MENU_ID, sfcdb);

                        if (rcm.Rows.Count != 0)
                        {
                            for (int i = 0; i < rcm.Rows.Count - 1; i++)
                            {
                                MenuID = rcm.Rows[i]["ID"].ToString();

                                ChRow = (Row_C_PRIVILEGE)CheckExistMenuID.getC_PrivilegebyMenuID(MenuID, sfcdb);
                                rcup  = (Row_C_ROLE_PRIVILEGE)tcup.GetC_Role_Privilege_ID(ROLE_ID, ChRow.ID, sfcdb);
                                if (P_code.IndexOf(MenuID) < 0 && rcup != null)
                                {
                                    rcup       = (Row_C_ROLE_PRIVILEGE)tcup.GetObjByID(rcup.ID, sfcdb);
                                    DeleteSql += rcup.GetDeleteString(DBTYPE) + ";\n";
                                    P_code    += MenuID + ",";
                                }
                                TTcm = tcm.getC_MenubyPARENT_CODE(MenuID, sfcdb);

                                if (TTcm.Rows.Count != 0)
                                {
                                    for (int j = 0; j < TTcm.Rows.Count - 1; j++)
                                    {
                                        MenuID = TTcm.Rows[j]["ID"].ToString();
                                        ChRow  = (Row_C_PRIVILEGE)CheckExistMenuID.getC_PrivilegebyMenuID(MenuID, sfcdb);
                                        if (ChRow != null)
                                        {
                                            rcup = (Row_C_ROLE_PRIVILEGE)tcup.GetC_Role_Privilege_ID(ROLE_ID, ChRow.ID, sfcdb);
                                            if (P_code.IndexOf(MenuID) < 0 && rcup != null)
                                            {
                                                rcup       = (Row_C_ROLE_PRIVILEGE)tcup.GetObjByID(rcup.ID, sfcdb);
                                                DeleteSql += rcup.GetDeleteString(DBTYPE) + ";\n";
                                                P_code    += MenuID + ",";
                                            }
                                        }

                                        DataTable HHcm = tcm.getC_MenubyPARENT_CODE(MenuID, sfcdb);

                                        if (HHcm.Rows.Count != 0)
                                        {
                                            for (int z = 0; z < HHcm.Rows.Count - 1; z++)
                                            {
                                                MenuID = HHcm.Rows[z]["ID"].ToString();
                                                ChRow  = (Row_C_PRIVILEGE)CheckExistMenuID.getC_PrivilegebyMenuID(MenuID, sfcdb);
                                                if (ChRow != null)
                                                {
                                                    rcup = (Row_C_ROLE_PRIVILEGE)tcup.GetC_Role_Privilege_ID(ROLE_ID, ChRow.ID, sfcdb);
                                                    if (P_code.IndexOf(MenuID) < 0 && rcup != null)
                                                    {
                                                        rcup       = (Row_C_ROLE_PRIVILEGE)tcup.GetObjByID(rcup.ID, sfcdb);
                                                        DeleteSql += rcup.GetDeleteString(DBTYPE) + ";\n";
                                                        P_code    += MenuID + ",";
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

                DeleteSql = "begin\n" + DeleteSql + "end;";
                sfcdb.ExecSQL(DeleteSql);
                sfcdb.CommitTrain();
                StationReturn.Status  = StationReturnStatusValue.Pass;
                StationReturn.Message = "刪除成功";
                sfcdb.CommitTrain();
                this.DBPools["SFCDB"].Return(sfcdb);
            }
            catch (Exception e)
            {
                sfcdb.RollbackTrain();
                this.DBPools["SFCDB"].Return(sfcdb);
                throw e;
            }
        }
Example #24
0
        /// <summary>
        ///給用戶添加角色 INSERT C_USER_ROLE,并更新C_USER LEVEL_FLAG欄位的值 0表示普通用戶,1表示普通管理員,9 IT所有
        /// </summary>
        public void AddUserRolePrivilege(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            OleExec       sfcdb = null;
            string        InsertSql = "", UpdateSql = "";
            T_c_user_role UserRoler;
            T_c_user      EmpLevel;
            string        EMP_NO     = Data["EMP_NO"].ToString();
            string        LEVEL_FLAG = Data["LEVEL_FLAG"].ToString();

            //    string[] ROLE_ID = Data["ROLE_ID"].ToString().Trim('[').Trim(']').Split(',');
            try
            {
                sfcdb = this.DBPools["SFCDB"].Borrow();
                sfcdb.BeginTrain();
                UserRoler = new T_c_user_role(sfcdb, DBTYPE);
                EmpLevel  = new T_c_user(sfcdb, DBTYPE);
                string USER_ID = UserRoler.GetUserID(EMP_NO, sfcdb);

                foreach (string item in Data["ROLE_ID"])
                {
                    string strroleid = item.Trim('\'').Trim('\"');
                    if (UserRoler.CheckUserRole(USER_ID, strroleid, sfcdb))
                    {
                        Row_c_user_role row = (Row_c_user_role)UserRoler.NewRow();
                        row.ID          = UserRoler.GetNewID(BU, sfcdb);
                        row.USER_ID     = USER_ID;
                        row.ROLE_ID     = strroleid;
                        row.EDIT_EMP    = LoginUser.EMP_NO;
                        row.SYSTEM_NAME = SystemName;
                        row.EDIT_TIME   = GetDBDateTime();
                        InsertSql      += row.GetInsertString(DBTYPE) + ";\n";
                    }
                    else
                    {
                        sfcdb.RollbackTrain();
                        StationReturn.Status  = StationReturnStatusValue.Fail;
                        StationReturn.Message = "該用戶已擁有該角色";
                        StationReturn.Data    = "";
                        this.DBPools["SFCDB"].Return(sfcdb);
                        return;
                    }
                }

                InsertSql = "begin\n" + InsertSql + "end;";
                sfcdb.ExecSQL(InsertSql);

                if (EmpLevel.CheckEmpLevel(USER_ID, LEVEL_FLAG, sfcdb))
                {
                    Row_c_user RowLevel = (Row_c_user)EmpLevel.GetObjByID(USER_ID, sfcdb);
                    RowLevel.ID        = USER_ID;
                    RowLevel.EMP_LEVEL = LEVEL_FLAG;
                    RowLevel.EDIT_EMP  = LoginUser.EMP_NO;
                    RowLevel.EDIT_TIME = GetDBDateTime();

                    UpdateSql = RowLevel.GetUpdateString(DBTYPE);
                    sfcdb.ExecSQL(UpdateSql);
                }

                sfcdb.CommitTrain();
                StationReturn.Status  = StationReturnStatusValue.Pass;
                StationReturn.Message = "添加成功";
                sfcdb.CommitTrain();
                this.DBPools["SFCDB"].Return(sfcdb);
            }
            catch (Exception e)
            {
                sfcdb.RollbackTrain();
                this.DBPools["SFCDB"].Return(sfcdb);
                throw e;
            }
        }
Example #25
0
        /// <summary>
        /// Deploy New Class Time Row
        /// </summary>
        /// <param name="requestValue"></param>
        /// <param name="Data"></param>
        /// <param name="StationReturn"></param>
        public void DeployNewClassTime(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            MESException exception = new MESException("");

            string[] msg = new string[1];
            if (string.IsNullOrEmpty(Data["WORK_SECTION"].ToString()))
            {
                //msg[0] = "Please Input Work Section";
                //throw exception.GetMESException("", "", msg);
                throw new Exception("Please Input Work Section");
            }
            if (string.IsNullOrEmpty(Data["START_TIME"].ToString()))
            {
                throw new Exception("Please Input Start Time");
            }
            if (string.IsNullOrEmpty(Data["END_TIME"].ToString()))
            {
                throw new Exception("Please Input End Time");
            }
            if (string.IsNullOrEmpty(Data["DAY_DISTINCT"].ToString()))
            {
                throw new Exception("Please Input Day Distinct");
            }
            string           strRet    = "";
            OleExec          sfcdb     = this.DBPools["SFCDB"].Borrow();
            T_C_CLASS_TIME   classTime = new T_C_CLASS_TIME(sfcdb, DB_TYPE_ENUM.Oracle);
            Row_C_CLASS_TIME r         = (Row_C_CLASS_TIME)classTime.NewRow();

            //r.ID = classTime.GetNewID(this.BU,sfcdb,DB_TYPE_ENUM.Oracle);
            r.ID           = classTime.GetNewID("HWD", sfcdb, DB_TYPE_ENUM.Oracle);
            r.SEQ_NO       = classTime.GetTotalRows(sfcdb) + 1;
            r.WORK_SECTION = Data["WORK_SECTION"].ToString().Trim();
            r.START_TIME   = Data["START_TIME"].ToString().Trim();
            r.END_TIME     = Data["END_TIME"].ToString().Trim();
            if (Data["DAY_DISTINCT"].ToString().Trim() == "Shift1")
            {
                r.WORK_CLASS   = ((int)WORK_CLASS.Shift1).ToString();
                r.DAY_DISTINCT = WORK_CLASS.Shift1.ToString();
            }
            else
            {
                r.WORK_CLASS   = ((int)WORK_CLASS.Shift2).ToString();
                r.DAY_DISTINCT = WORK_CLASS.Shift2.ToString();
            }
            r.EDIT_EMP  = this.LoginUser;
            r.EDIT_TIME = DateTime.Now;
            strRet      = sfcdb.ExecSQL(r.GetInsertString(DB_TYPE_ENUM.Oracle));
            try
            {
                int rows = int.Parse(strRet);
                sfcdb.CommitTrain();
                StationReturn.Status  = "PASS";
                StationReturn.Message = "OK,Deploy New Class Time OK!";
                StationReturn.data    = rows;
            }
            catch
            {
                sfcdb.RollbackTrain();
                StationReturn.Status  = "FAIL";
                StationReturn.Message = strRet;
                StationReturn.data    = "";
            }
            this.DBPools["SFCDB"].Return(sfcdb);
        }
Example #26
0
        public void DeleteSeriesById(JObject requestValue, JToken Data, MESStationReturn StationReturn)
        {
            OleExec    sfcdb     = null;
            string     DeleteSql = "";
            string     strid     = "";
            T_C_SERIES DeleteInformation;

            Newtonsoft.Json.Linq.JArray seriesId = (Newtonsoft.Json.Linq.JArray)Data["ID"];
            try
            {
                sfcdb = this.DBPools["SFCDB"].Borrow();
                sfcdb.BeginTrain();
                DeleteInformation = new T_C_SERIES(sfcdb, DBTYPE);
                for (int i = 0; i < seriesId.Count; i++)
                {
                    strid = seriesId[i].ToString();
                    Row_C_SERIES row = (Row_C_SERIES)DeleteInformation.GetObjByID(strid, sfcdb);
                    DeleteSql += row.GetDeleteString(DBTYPE) + ";\n";
                }
                DeleteSql = "begin\n" + DeleteSql + "end;";
                sfcdb.ExecSQL(DeleteSql);
                StationReturn.Status      = StationReturnStatusValue.Pass;
                StationReturn.MessageCode = "MES00000004";
                sfcdb.CommitTrain();
                this.DBPools["SFCDB"].Return(sfcdb);
            }
            catch (Exception e)
            {
                sfcdb.RollbackTrain();
                this.DBPools["SFCDB"].Return(sfcdb);
                throw e;
            }

            //string seriesId = Data["SeriesId"].ToString();
            //if (string.IsNullOrEmpty(seriesId))
            //{
            //    StationReturn.Status = StationReturnStatusValue.Fail;
            //    StationReturn.MessageCode = "MES00000006";
            //    StationReturn.MessagePara = new List<Object>() { "Series" };
            //    StationReturn.Data = null;
            //    return;
            //}

            //OleExec sfcdb = DBPools["SFCDB"].Borrow();
            //Row_C_SERIES c_series = (Row_C_SERIES) new T_C_SERIES(sfcdb, DB_TYPE_ENUM.Oracle).NewRow();
            //string[] ids = seriesId.Split(',');
            //try
            //{
            //    sfcdb.BeginTrain();
            //    string deleteString = null;
            //    foreach (string id in ids)
            //    {
            //        deleteString = c_series.GetDeleteString(DB_TYPE_ENUM.Oracle, id);
            //        sfcdb.ExecuteNonQuery(deleteString, CommandType.Text, null);
            //    }
            //    sfcdb.CommitTrain();
            //}
            //catch (Exception ex)
            //{
            //    sfcdb.RollbackTrain();
            //    if (sfcdb != null) this.DBPools["SFCDB"].Return(sfcdb);
            //    throw ex;
            //}
            //StationReturn.Status = StationReturnStatusValue.Pass;
            //StationReturn.MessageCode = "MES00000004";
            //StationReturn.Data = "";
            //if (sfcdb != null) this.DBPools["SFCDB"].Return(sfcdb);
        }
Example #27
0
        public void AddLink(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            System.Web.Script.Serialization.JavaScriptSerializer JsonConvert = new System.Web.Script.Serialization.JavaScriptSerializer();
            OleExec       sfcdb = this.DBPools["SFCDB"].Borrow();
            T_C_KEYPART   ketpart;
            Row_C_KEYPART newketpart;
            string        KeyPartId   = Data["KEYPART_ID"].ToString().Trim();
            string        StationName = Data["STATION_NAME"].ToString().Trim();
            string        Skuno       = Data["SKUNO"].ToString().Trim();
            string        SkunoVer    = Data["SKUNO_VER"].ToString().Trim();
            //string SEQ = Data["SEQ"].ToString().Trim();
            string SQL = "";

            sfcdb.BeginTrain();
            try
            {
                if (KeyPartId.Length <= 0)
                {
                    StationReturn.Status      = StationReturnStatusValue.Fail;
                    StationReturn.MessageCode = "MES00000006";
                    StationReturn.MessagePara.Add("KEYPART_ID");
                    return;
                }


                if (StationName.Length <= 0)
                {
                    StationReturn.Status      = StationReturnStatusValue.Fail;
                    StationReturn.MessageCode = "MES00000006";
                    StationReturn.MessagePara.Add("STAION_NAME");
                    return;
                }

                if (Skuno.Length <= 0)
                {
                    StationReturn.Status      = StationReturnStatusValue.Fail;
                    StationReturn.MessageCode = "MES00000006";
                    StationReturn.MessagePara.Add("SKUNO");
                    return;
                }
                if (SkunoVer.Length <= 0)
                {
                    StationReturn.Status      = StationReturnStatusValue.Fail;
                    StationReturn.MessageCode = "MES00000006";
                    StationReturn.MessagePara.Add("SKUNO_VER");
                    return;
                }

                KEYPARTLIST list = new KEYPARTLIST();
                foreach (Newtonsoft.Json.Linq.JToken s in Data["KEYPARTLIST"])
                {
                    int i = 10;
                    list                     = (KEYPARTLIST)JsonConvert.Deserialize(s.ToString(), typeof(KEYPARTLIST));
                    ketpart                  = new T_C_KEYPART(sfcdb, DBTYPE);
                    newketpart               = (Row_C_KEYPART)ketpart.NewRow();
                    newketpart.ID            = ketpart.GetNewID(BU, sfcdb);
                    newketpart.KEYPART_ID    = KeyPartId;
                    newketpart.SEQ_NO        = list.SEQ;
                    newketpart.PART_NO       = list.PART_NO;
                    newketpart.PART_NO_VER   = list.PART_NO_VER;
                    newketpart.QTY           = Convert.ToDouble(list.QTY);
                    newketpart.STATION_NAME  = StationName;
                    newketpart.CATEGORY      = list.CATEGORY;
                    newketpart.CATEGORY_NAME = list.CATEGORY_NAME;
                    newketpart.SKUNO         = Skuno;
                    newketpart.SKUNO_VER     = SkunoVer;
                    newketpart.EDIT_EMP      = LoginUser.EMP_NO;
                    newketpart.EDIT_TIME     = GetDBDateTime();
                    i   += 10;
                    SQL += newketpart.GetInsertString(DB_TYPE_ENUM.Oracle) + ";\n";
                }

                sfcdb.ExecSQL("Begin\n" + SQL + "End;");
                sfcdb.CommitTrain();
                this.DBPools["SFCDB"].Return(sfcdb);
                StationReturn.Status  = StationReturnStatusValue.Pass;
                StationReturn.Message = "添加成功!!";
            }
            catch (Exception e)
            {
                sfcdb.RollbackTrain();
                StationReturn.Status      = StationReturnStatusValue.Fail;
                StationReturn.MessageCode = "添加失敗!!";
                if (sfcdb != null)
                {
                    this.DBPools["SFCDB"].Return(sfcdb);
                }
                throw e;
            }
        }
Example #28
0
        public void DeleteByIdArray(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JToken Data, MESStationReturn StationReturn)
        {
            OleExec sfcdb = null;

            try
            {
                sfcdb = this.DBPools["SFCDB"].Borrow();
                T_C_STORAGE_CODE TC_STORAGE_CODE   = new T_C_STORAGE_CODE(sfcdb, MESDataObject.DB_TYPE_ENUM.Oracle);
                C_STORAGE_CODE   GetC_STORAGE_CODE = new C_STORAGE_CODE();
                string           strIdArray        = Data["IdArray"].ToString().Trim();
                strIdArray = strIdArray.Replace("[", "").Replace("]", "");
                strIdArray = strIdArray.Replace("\"", "");
                string[] IdArray = strIdArray.Replace("\r\n", "").Split(',');
                bool     isError = false;
                if (IdArray == null || IdArray.Length <= 0)
                {
                    StationReturn.Data        = "";
                    StationReturn.Status      = StationReturnStatusValue.Fail;
                    StationReturn.MessageCode = "MES00000006";
                    StationReturn.MessagePara.Add("IdArray");
                }
                else
                {
                    isError = false;
                    sfcdb.BeginTrain();
                    for (int i = 0; i < IdArray.Length; i++)
                    {
                        GetC_STORAGE_CODE = TC_STORAGE_CODE.GetById(IdArray[i].Trim(), sfcdb);
                        if (GetC_STORAGE_CODE != null)
                        {
                            int result = TC_STORAGE_CODE.DeleteById(IdArray[i].Trim(), sfcdb);
                            if (result <= 0)
                            {
                                StationReturn.Data        = IdArray[i].Trim();
                                StationReturn.Status      = StationReturnStatusValue.Fail;
                                StationReturn.MessageCode = "MES00000023";
                                StationReturn.MessagePara.Add("C_STORAGE_CODE");
                                isError = true;
                                break;
                            }
                        }
                        else
                        {
                            StationReturn.Data        = "";
                            StationReturn.Status      = StationReturnStatusValue.Fail;
                            StationReturn.MessageCode = "MES00000007";
                            StationReturn.MessagePara.Add("Id:" + IdArray[i].Trim());
                            isError = true;
                            break;
                        }
                    }
                    if (isError)
                    {
                        sfcdb.RollbackTrain();
                    }
                    else
                    {
                        sfcdb.CommitTrain();
                        StationReturn.Data        = "";
                        StationReturn.Status      = StationReturnStatusValue.Pass;
                        StationReturn.MessageCode = "MES00000001";
                    }
                }
                this.DBPools["SFCDB"].Return(sfcdb);
            }
            catch (Exception ex)
            {
                if (sfcdb != null)
                {
                    this.DBPools["SFCDB"].Return(sfcdb);
                }
                StationReturn.Data        = "";
                StationReturn.Status      = StationReturnStatusValue.Fail;
                StationReturn.MessageCode = "MES00000037";
                StationReturn.MessagePara.Add(ex.Message);
            }
        }
Example #29
0
        public static void SNFailAction_Old(MESStation.BaseClass.MESStationBase Station, MESStation.BaseClass.MESStationInput Input, List <R_Station_Action_Para> Paras)
        {
            string R_SN_STATION_DETAIL_ID = "";

            if (Paras.Count == 0)
            {
                throw new Exception(MESReturnMessage.GetMESReturnMessage("MES00000050"));
            }
            MESStationSession SNLoadPoint = Station.StationSession.Find(t => t.MESDataType == Paras[0].SESSION_TYPE && t.SessionKey == Paras[0].SESSION_KEY);

            if (SNLoadPoint == null)
            {
                SNLoadPoint = new MESStationSession()
                {
                    MESDataType = "SN", InputValue = Input.Value.ToString(), SessionKey = "1", ResetInput = Input
                };
                Station.StationSession.Add(SNLoadPoint);
            }

            //獲取頁面傳過來的數據
            string failCode        = Station.Inputs.Find(s => s.DisplayName == "Fail_Code").Value.ToString();
            string failLocation    = Station.Inputs.Find(s => s.DisplayName == "Fail_Location").Value.ToString();
            string failProcess     = Station.Inputs.Find(s => s.DisplayName == "Fail_Process").Value.ToString();
            string failDescription = Station.Inputs.Find(s => s.DisplayName == "Description").Value.ToString();
            string strSn           = Input.Value.ToString();

            OleExec oleDB = null;

            oleDB = Station.SFCDB;
            //oleDB = this.DBPools["SFCDB"].Borrow();
            oleDB.BeginTrain();  //以下執行 要么全成功,要么全失敗

            //更新R_SN REPAIR_FAILED_FLAG=’1’
            T_R_SN   rSn  = new T_R_SN(Station.SFCDB, DB_TYPE_ENUM.Oracle);
            Row_R_SN rrSn = (Row_R_SN)rSn.NewRow();
            R_SN     r    = rSn.GetDetailBySN(strSn, Station.SFCDB);

            rrSn = (Row_R_SN)rSn.GetObjByID(r.ID, Station.SFCDB);
            rrSn.REPAIR_FAILED_FLAG = "1";
            string strRet = (Station.SFCDB).ExecSQL(rrSn.GetUpdateString(DB_TYPE_ENUM.Oracle));

            if (!(Convert.ToInt32(strRet) > 0))
            {
                throw new Exception("update repair failed flag error!");
            }

            //新增一筆FAIL記錄到R_SN_STATION_DETAIL
            T_R_SN_STATION_DETAIL rSnStationDetail = new T_R_SN_STATION_DETAIL(Station.SFCDB, DB_TYPE_ENUM.Oracle);

            R_SN_STATION_DETAIL_ID = rSnStationDetail.GetNewID(Station.BU, Station.SFCDB);
            string detailResult = rSnStationDetail.AddDetailToRSnStationDetail(R_SN_STATION_DETAIL_ID, rrSn.GetDataObject(), Station.Line, Station.StationName, Station.StationName, Station.SFCDB);

            if (!(Convert.ToInt32(detailResult) > 0))
            {
                throw new Exception("Insert sn station detail error!");
            }

            //新增一筆到R_REPAIR_MAIN
            T_R_REPAIR_MAIN   tRepairMain = new T_R_REPAIR_MAIN(Station.SFCDB, DB_TYPE_ENUM.Oracle);
            Row_R_REPAIR_MAIN rRepairMain = (Row_R_REPAIR_MAIN)tRepairMain.NewRow();

            rRepairMain.ID           = tRepairMain.GetNewID(Station.BU, Station.SFCDB);
            rRepairMain.SN           = strSn;
            rRepairMain.WORKORDERNO  = rrSn.WORKORDERNO;
            rRepairMain.SKUNO        = rrSn.SKUNO;
            rRepairMain.FAIL_LINE    = Station.Line;
            rRepairMain.FAIL_STATION = Station.StationName;
            rRepairMain.FAIL_EMP     = Station.User.EMP_NO;
            rRepairMain.FAIL_TIME    = Station.GetDBDateTime();
            rRepairMain.CLOSED_FLAG  = "0";
            string insertResult = (Station.SFCDB).ExecSQL(rRepairMain.GetInsertString(DB_TYPE_ENUM.Oracle));

            if (!(Convert.ToInt32(insertResult) > 0))
            {
                throw new Exception("Insert repair main error!");
            }

            //新增一筆到R_REPAIR_FAILCODE
            T_R_REPAIR_FAILCODE   tRepairFailCode = new T_R_REPAIR_FAILCODE(Station.SFCDB, DB_TYPE_ENUM.Oracle);
            Row_R_REPAIR_FAILCODE rRepairFailCode = (Row_R_REPAIR_FAILCODE)tRepairFailCode.NewRow();

            rRepairFailCode.ID             = tRepairFailCode.GetNewID(Station.BU, Station.SFCDB);
            rRepairFailCode.REPAIR_MAIN_ID = rRepairMain.ID;
            rRepairFailCode.SN             = strSn;
            rRepairFailCode.FAIL_CODE      = failCode;
            rRepairFailCode.FAIL_EMP       = Station.User.EMP_NO;
            rRepairFailCode.FAIL_TIME      = DateTime.Now;
            rRepairFailCode.FAIL_CATEGORY  = "SYMPTON";
            rRepairFailCode.FAIL_LOCATION  = failLocation;
            rRepairFailCode.FAIL_PROCESS   = failProcess;
            rRepairFailCode.DESCRIPTION    = failDescription;
            rRepairFailCode.REPAIR_FLAG    = "0";
            string strResult = (Station.SFCDB).ExecSQL(rRepairFailCode.GetInsertString(DB_TYPE_ENUM.Oracle));

            if (!(Convert.ToInt32(strResult) > 0))
            {
                throw new Exception("Insert repair failcode error!");
            }

            oleDB.CommitTrain();

            Station.AddMessage("MES00000001", new string[] { }, MESReturnView.Station.StationMessageState.Pass);
        }
Example #30
0
        /// <summary>
        /// 保存工站信息
        /// </summary>
        /// <param name="requestValue"></param>
        /// <param name="Data"></param>
        /// <param name="StationReturn"></param>
        public void SaveStation(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            string DisplayName     = Data["Station"]["DISPLAY_STATION_NAME"]?.ToString();
            string StationName     = Data["Station"]["STATION_NAME"]?.ToString();
            string FailStationID   = Data["Station"]["FAIL_STATION_ID"]?.ToString();
            double FailStationFlag = Convert.ToDouble(Data["Station"]["FAIL_STATION_FLAG"]);

            try
            {
                FailStationFlag = Convert.ToDouble(Data["Station"]["FAIL_STATION_FLAG"]);
            }
            catch
            { }

            string StationID = Data["Station"]["ID"]?.ToString();

            OleExec sfcdb = this.DBPools["SFCDB"].Borrow();

            try
            {
                sfcdb.BeginTrain();
                ByIDDeleteStationID(StationID, sfcdb);//刪除整下工站

                AddStation(DisplayName, StationName, FailStationID, FailStationFlag, StationID, sfcdb);
                //插入R_Station_Output表
                for (int i = 0; i < Data["Station"]["OutputList"].Count(); i++)
                {
                    JToken output = Data["Station"]["OutputList"][i];
                    AddStationOutput(output, sfcdb);
                }
                //插入 R_Station_Input 表
                for (int i = 0; i < Data["Station"]["InputList"].Count(); i++)
                {
                    //插入 R_Station_Input 表
                    JToken input = Data["Station"]["InputList"][i];
                    AddInput(input, sfcdb);
                    ////插入 R_Input_Action 表
                    //for (int j = 0; j < input["InputActionList"].Count(); j++)
                    //{
                    //    JToken iaction = input["InputActionList"][j];
                    //    AddInputActionS(iaction, sfcdb);
                    //    for (int k = 0; k < iaction["ParaSA"].Count(); k++) //插入R_Station_Action_Para表
                    //    {
                    //        AddStationActionPara(iaction["ParaSA"][k], sfcdb);
                    //    }
                    //}
                    //插入 R_Station_Action 表
                    for (int j = 0; j < input["StationActionList"].Count(); j++)
                    {
                        JToken saction = input["StationActionList"][j];
                        AddStationAction(saction, sfcdb);
                        for (int k = 0; k < saction["ParaSA"].Count(); k++) //插入R_Station_Action_Para表
                        {
                            AddStationActionPara(saction["ParaSA"][k], sfcdb);
                        }
                    }
                }
                sfcdb.CommitTrain();
                StationReturn.Status      = StationReturnStatusValue.Pass;
                StationReturn.MessageCode = "MES00000001";
                this.DBPools["SFCDB"].Return(sfcdb);
            }
            catch (Exception ee)
            {
                sfcdb.RollbackTrain();
                this.DBPools["SFCDB"].Return(sfcdb);
                throw ee;
            }
        }