Example #1
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;
            }
        }
Example #2
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 #4
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 #5
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 #6
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;
            }
        }
        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;
            }
        }
Example #8
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 #9
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 #10
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");
        }
        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 #12
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 #13
0
 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 #14
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 #15
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 #16
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 #17
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;
            }
        }
        public MESServiceRes TestDataUploadMES(string SN, string MODEL, string TESTTIME, string STATE, string STATION,
                                               string CELL, string OPERATOR, string ERROR_CODE)
        {
            //Sql注入;
            TestRecordData testRecord = new TestRecordData();

            #region DataCheck;

            try
            {
                testRecord = TestDataUploadMES_CheckInputData(SN, MODEL, TESTTIME, STATE, STATION, CELL, OPERATOR,
                                                              ERROR_CODE);
            }
            catch (Exception e)
            {
                resObj.Statusvalue = (int)StatusValue.fail;
                resObj.MessageCode = "MES00001";
                resObj.Message     = "输入参数错误:" + e.ToString();
                return(resObj);
            }

            #endregion

            OleExec DB = new OleExec("VERTIVTESTDB", true);
            T_C_TEMES_STATION_MAPPING cTeMesStationMappingControl = new T_C_TEMES_STATION_MAPPING(DB,
                                                                                                  DB_TYPE_ENUM.Oracle);
            T_R_TEST_RECORD        rTestRecordControl       = new T_R_TEST_RECORD(DB, DB_TYPE_ENUM.Oracle);
            T_R_TEST_DETAIL_VERTIV rTestDetailVertivControl = new T_R_TEST_DETAIL_VERTIV(DB, DB_TYPE_ENUM.Oracle);
            T_R_SN rSnControl = new T_R_SN(DB, DB_TYPE_ENUM.Oracle);

            Row_R_TEST_RECORD        rowRTestRecord       = (Row_R_TEST_RECORD)rTestRecordControl.NewRow();
            Row_R_TEST_DETAIL_VERTIV rowRTestDetailVertiv = (Row_R_TEST_DETAIL_VERTIV)rTestDetailVertivControl.NewRow();
            try
            {
                C_TEMES_STATION_MAPPING cTeMesStationMapping = cTeMesStationMappingControl.GetTeMesStationMapping(DB,
                                                                                                                  STATION, "A");
                if (cTeMesStationMapping == null)
                {
                    resObj.Statusvalue = (int)StatusValue.fail;
                    resObj.MessageCode = "MES000017";
                    resObj.Message     = $@"上傳失敗:未在MES系統找到Te-Station:{STATION}對應的工站,請聯繫IT配置!";
                    return(resObj);
                }
                R_SN rSn = rSnControl.LoadSN(SN, DB);
                //RTestRecord
                rowRTestRecord.ID          = cTeMesStationMappingControl.GetNewID("VERTIV", DB);
                rowRTestRecord.R_SN_ID     = rSn?.ID;
                rowRTestRecord.SN          = testRecord.SN;
                rowRTestRecord.ENDTIME     = DateTime.Parse(testRecord.TESTTIME);
                rowRTestRecord.STARTTIME   = DateTime.Parse(testRecord.TESTTIME);
                rowRTestRecord.STATE       = testRecord.STATE;
                rowRTestRecord.TEGROUP     = "A";
                rowRTestRecord.TESTATION   = testRecord.STATION;
                rowRTestRecord.MESSTATION  = cTeMesStationMapping?.MES_STATION;
                rowRTestRecord.DETAILTABLE = "R_TEST_DETAIL_VERTIV";
                //RTestDetailVertiv
                rowRTestDetailVertiv.ID = rTestDetailVertivControl.GetNewID("VERTIV", DB);
                rowRTestDetailVertiv.R_TEST_RECORD_ID = rowRTestRecord.ID;
                rowRTestDetailVertiv.SN         = testRecord.SN;
                rowRTestDetailVertiv.SKUNO      = testRecord.MODEL;
                rowRTestDetailVertiv.CREATETIME = DateTime.Parse(testRecord.TESTTIME);
                rowRTestDetailVertiv.STATE      = testRecord.STATE;
                rowRTestDetailVertiv.STATION    = testRecord.STATION;
                rowRTestDetailVertiv.CELL       = testRecord.CELL;
                rowRTestDetailVertiv.OPERATOR   = testRecord.OPERATOR;
                rowRTestDetailVertiv.ERROR_CODE = testRecord.ERROR_CODE;
            }
            catch (Exception e)
            {
                resObj.Statusvalue = (int)StatusValue.fail;
                resObj.MessageCode = "MES00003";
                resObj.Message     = "MESDB异常:" + e.ToString();
                return(resObj);
            }
            try
            {
                DB.BeginTrain();
                DB.ExecSQL(rowRTestDetailVertiv.GetInsertString(DB_TYPE_ENUM.Oracle));
                DB.ExecSQL(rowRTestRecord.GetInsertString(DB_TYPE_ENUM.Oracle));
                DB.CommitTrain();
                resObj.Statusvalue = (int)StatusValue.success;
                resObj.MessageCode = "";
                resObj.Message     = "Upload Success!";
            }
            catch (Exception e)
            {
                DB.RollbackTrain();
                resObj.Statusvalue = (int)StatusValue.fail;
                resObj.MessageCode = "MES00002";
                resObj.Message     = "写入MESERR:" + e.ToString();
            }
            finally
            {
                DB.FreeMe();
            }
            return(resObj);
        }
Example #19
0
        /// <summary>
        ///添加角色所擁有的權限ID INSERT C_ROLE_PRIVILEGE
        /// </summary>
        public void AddRolePrivilege(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            OleExec            sfcdb     = null;
            string             InsertSql = "";
            string             P_code    = "";
            T_C_ROLE_PRIVILEGE Roler;
            string             ROLE_ID = Data["ROLE_ID"].ToString();

            try
            {
                sfcdb = this.DBPools["SFCDB"].Borrow();
                sfcdb.BeginTrain();
                Roler = new T_C_ROLE_PRIVILEGE(sfcdb, DBTYPE);
                T_C_PRIVILEGE        CheckExistMenuID = new T_C_PRIVILEGE(sfcdb, DBTYPE);
                T_C_MENU             tcm  = new T_C_MENU(sfcdb, DBTYPE);
                Row_C_MENU           rcm  = (Row_C_MENU)tcm.NewRow();
                T_C_ROLE_PRIVILEGE   tcup = new T_C_ROLE_PRIVILEGE(sfcdb, DBTYPE);
                Row_C_ROLE_PRIVILEGE rcup = (Row_C_ROLE_PRIVILEGE)tcup.NewRow();

                foreach (string item in Data["PRIVILEGE_ID"])
                {
                    string PRIVILEGE_ID = item.Trim('\'').Trim('\"');
                    if (Roler.CheckPrivilegeData(ROLE_ID, PRIVILEGE_ID, sfcdb))
                    {
                        Row_C_ROLE_PRIVILEGE row = (Row_C_ROLE_PRIVILEGE)Roler.NewRow();
                        row.ID           = Roler.GetNewID(BU, sfcdb);
                        row.ROLE_ID      = ROLE_ID;
                        row.PRIVILEGE_ID = PRIVILEGE_ID;
                        row.EDIT_EMP     = LoginUser.EMP_NO;
                        row.SYSTEM_NAME  = SystemName;
                        row.EDIT_TIME    = GetDBDateTime();
                        InsertSql       += row.GetInsertString(DBTYPE) + ";\n";

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

                            if (rcm.PARENT_CODE != "0")
                            {
                                if (P_code.IndexOf(rcm.PARENT_CODE) < 0 && tcup.GetC_Role_Privilege_ID(ROLE_ID, ChRow.MENU_ID, sfcdb) == null && Roler.CheckPrivilegeData(ROLE_ID, rcm.PARENT_CODE, sfcdb))
                                {
                                    rcup.ID           = tcup.GetNewID(BU, sfcdb);
                                    rcup.SYSTEM_NAME  = SystemName;
                                    rcup.ROLE_ID      = ROLE_ID;
                                    rcup.PRIVILEGE_ID = rcm.PARENT_CODE;
                                    rcup.EDIT_EMP     = LoginUser.EMP_NO;
                                    rcup.EDIT_TIME    = DateTime.Now;
                                    InsertSql        += rcup.GetInsertString(this.DBTYPE) + ";\n";
                                    P_code           += rcm.PARENT_CODE + ",";
                                }
                                do
                                {
                                    rcm = tcm.getC_MenubyID(rcm.PARENT_CODE, sfcdb);
                                    if (rcm.PARENT_CODE != "0")
                                    {
                                        if (P_code.IndexOf(rcm.PARENT_CODE) < 0 && tcup.GetC_Role_Privilege_ID(ROLE_ID, ChRow.MENU_ID, sfcdb) == null && Roler.CheckPrivilegeData(ROLE_ID, rcm.PARENT_CODE, sfcdb))
                                        {
                                            rcup.ID           = tcup.GetNewID(BU, sfcdb);
                                            rcup.SYSTEM_NAME  = SystemName;
                                            rcup.ROLE_ID      = ROLE_ID;
                                            rcup.PRIVILEGE_ID = rcm.PARENT_CODE;
                                            rcup.EDIT_EMP     = LoginUser.EMP_NO;
                                            rcup.EDIT_TIME    = DateTime.Now;
                                            InsertSql        += rcup.GetInsertString(this.DBTYPE) + ";\n";
                                            P_code           += rcm.PARENT_CODE + ",";
                                        }
                                    }
                                } while (rcm.PARENT_CODE != "0");
                            }
                        }
                    }
                    else
                    {
                        StationReturn.Status  = StationReturnStatusValue.Fail;
                        StationReturn.Message = "該角色已包含該權限ID";
                        StationReturn.Data    = "";
                        this.DBPools["SFCDB"].Return(sfcdb);
                        return;
                    }
                }

                InsertSql = "begin\n" + InsertSql + "end;";

                sfcdb.ExecSQL(InsertSql);
                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 #20
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 #21
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;
            }
        }
Example #22
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 #23
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 #24
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 #25
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);
        }