Esempio n. 1
0
        public string getProductType(string PartNO)
        {
            IDbConnection    connMY = DatabaceFactory.CreateConnection(ConfigurationManager.ConnectionStrings["MY"].ConnectionString, DatabaseType.SQLServer);
            string           sql    = string.Format("select top 1 isnull(PRODUCT_TYPE,'')  as PRODUCT_TYPE  from  SAP_PRODUCT where PART_NO =@PART_NO");
            IDbCommand       cmd    = DatabaceFactory.CreateCommand(sql, DatabaseType.SQLServer, connMY);
            IDbDataParameter dp     = cmd.CreateParameter(); dp.ParameterName = "PART_NO"; dp.Value = PartNO; cmd.Parameters.Add(dp);

            connMY.Open();
            object retObj = null;

            try
            {
                retObj = cmd.ExecuteScalar();
            }
            catch (Exception ex)
            { }
            finally
            {
                connMY.Close();
            }
            if (retObj != null && !string.IsNullOrEmpty(retObj.ToString()))
            {
                return(retObj.ToString().Trim());
            }
            return(string.Empty);
        }
Esempio n. 2
0
        public static bool LogQuote2Order(string OrderID, string QuoteID, ref string Msg)
        {
            if (string.IsNullOrEmpty(OrderID) || string.IsNullOrEmpty(QuoteID))
            {
                return(false);
            }
            StringBuilder sql = new StringBuilder();

            sql.Append("  select   top 1 ORDER_ID, ORDER_NO,PO_NO,CREATED_DATE,CREATED_BY ");
            sql.Append(" from  ORDER_MASTER where ORDER_ID =@ORDER_ID ");
            IDbDataParameter dp     = null;
            IDbConnection    connMY = DatabaceFactory.CreateConnection(ConfigurationManager.ConnectionStrings["MY"].ConnectionString, DatabaseType.SQLServer);
            IDbCommand       cmd    = DatabaceFactory.CreateCommand(sql.ToString(), DatabaseType.SQLServer, connMY);

            dp = cmd.CreateParameter();
            dp.ParameterName = "ORDER_ID";
            dp.Value         = OrderID;
            cmd.Parameters.Add(dp);
            DbDataAdapter da = DatabaceFactory.CreateAdapter(cmd, DatabaseType.SQLServer);
            DataTable     dt = new DataTable();

            da.Fill(dt);
            if (dt != null && dt.Rows.Count > 0)
            {
                sql.Clear();
                sql.Append(" INSERT INTO [QUOTE_TO_ORDER_LOG] ([QUOTEID] ,[SO_NO],[PO_NO] ,[ORDER_DATE] ,[ORDER_BY]) ");
                sql.Append(" VALUES ( @QUOTEID ,@SO_NO,@PO_NO ,@ORDER_DATE ,@ORDER_BY)  ");
                IDbConnection connEQ = DatabaceFactory.CreateConnection(ConfigurationManager.ConnectionStrings["EQ"].ConnectionString, DatabaseType.SQLServer);
                cmd = DatabaceFactory.CreateCommand(sql.ToString(), DatabaseType.SQLServer, connEQ);
                dp  = cmd.CreateParameter(); dp.ParameterName = "QUOTEID"; dp.Value = QuoteID; cmd.Parameters.Add(dp);
                dp  = cmd.CreateParameter(); dp.ParameterName = "SO_NO"; dp.Value = dt.Rows[0]["ORDER_NO"] ?? ""; cmd.Parameters.Add(dp);
                dp  = cmd.CreateParameter(); dp.ParameterName = "PO_NO"; dp.Value = dt.Rows[0]["PO_NO"] ?? ""; cmd.Parameters.Add(dp);
                dp  = cmd.CreateParameter(); dp.ParameterName = "ORDER_DATE"; dp.Value = dt.Rows[0]["CREATED_DATE"] ?? ""; cmd.Parameters.Add(dp);
                dp  = cmd.CreateParameter(); dp.ParameterName = "ORDER_BY"; dp.Value = dt.Rows[0]["CREATED_BY"] ?? ""; cmd.Parameters.Add(dp);
                int retInt = -1;
                connEQ.Open();
                try
                {
                    retInt = cmd.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    Msg = ex.ToString();
                }
                finally
                {
                    connEQ.Close();
                    connMY.Close();
                }
                if (retInt > 0)
                {
                    return(true);
                }
            }
            return(false);
        }
Esempio n. 3
0
        public void getOfficeGroupByEripIdOrg(string AccountRowId, string EripId, string org, out string officecode, out string groupcode, ref string Msg)
        {
            officecode = string.Empty; groupcode = string.Empty; EripId = EripId.Trim().ToUpper();
            DataTable     dt     = new DataTable();
            IDbConnection connMY = DatabaceFactory.CreateConnection(ConfigurationManager.ConnectionStrings["MY"].ConnectionString, DatabaseType.SQLServer);
            IDbConnection connEQ = DatabaceFactory.CreateConnection(ConfigurationManager.ConnectionStrings["EQ"].ConnectionString, DatabaseType.SQLServer);

            if (!string.IsNullOrEmpty(EripId))
            {
                string        sql = string.Format("SELECT top 1 isnull(SalesOffice,'') as OfficeCode,  isnull(SalesGroup,'') as GroupCode from sap_dimcompany where org_ID='{0}' AND company_id='{1}'", org, EripId);
                IDbCommand    cmd = DatabaceFactory.CreateCommand(sql, DatabaseType.SQLServer, connMY);
                DbDataAdapter da  = DatabaceFactory.CreateAdapter(cmd, DatabaseType.SQLServer);
                connMY.Open();
                da.Fill(dt);
                if (dt != null && dt.Rows.Count == 1)
                {
                    if (!string.IsNullOrEmpty(dt.Rows[0]["OfficeCode"].ToString()))
                    {
                        officecode = dt.Rows[0]["OfficeCode"].ToString();
                    }
                    if (!string.IsNullOrEmpty(dt.Rows[0]["GroupCode"].ToString()))
                    {
                        groupcode = dt.Rows[0]["GroupCode"].ToString();
                    }
                }
                connMY.Close();
            }

            if (string.IsNullOrEmpty(officecode) || string.IsNullOrEmpty(groupcode))
            {
                StringBuilder sb = new StringBuilder();
                sb.Append(" SELECT  TOP 1 a.ROW_ID, ISNULL(b.ATTRIB_05, N'') AS ERP_ID, a.NAME AS ACCOUNT_NAME, ");
                sb.Append(" a.CUST_STAT_CD AS ACCOUNT_STATUS, ISNULL(a.MAIN_FAX_PH_NUM, N'') AS FAX_NUM, ");
                sb.Append(" ISNULL(a.MAIN_PH_NUM, N'') AS PHONE_NUM, ISNULL(a.OU_TYPE_CD, N'') AS OU_TYPE_CD, ISNULL(a.URL, N'') ");
                sb.Append(" AS URL, ISNULL(b.ATTRIB_34, N'') AS BusinessGroup, ISNULL(a.OU_TYPE_CD, N'') AS ACCOUNT_TYPE, ");
                sb.Append(" ISNULL(c.NAME, N'') AS RBU, ISNULL");
                sb.Append(" ((SELECT    EMAIL_ADDR");
                sb.Append(" FROM  S_CONTACT");
                sb.Append(" WHERE  (ROW_ID IN");
                sb.Append(" (SELECT   PR_EMP_ID");
                sb.Append(" FROM   S_POSTN");
                sb.Append(" WHERE  (ROW_ID IN");
                sb.Append(" (SELECT PR_POSTN_ID");
                sb.Append(" FROM   S_ORG_EXT");
                sb.Append(" WHERE   (ROW_ID = a.ROW_ID)))))), N'') AS PRIMARY_SALES_EMAIL, ");
                sb.Append(" a.PAR_OU_ID AS PARENT_ROW_ID, ISNULL(b.ATTRIB_09, N'N') AS MAJORACCOUNT_FLAG, ISNULL(a.CMPT_FLG, ");
                sb.Append("  N'N') AS COMPETITOR_FLAG, ISNULL(a.PRTNR_FLG, N'N') AS PARTNER_FLAG, ISNULL(d.COUNTRY, N'') ");
                sb.Append(" AS COUNTRY, ISNULL(d.CITY, N'') AS CITY, ISNULL(d.ADDR, N'') AS ADDRESS, ISNULL(d.STATE, N'') AS STATE, ");
                sb.Append(" ISNULL(d.ZIPCODE, N'') AS ZIPCODE, ISNULL(d.PROVINCE, N'') AS PROVINCE, ISNULL");
                sb.Append(" ((SELECT  TOP (1) NAME");
                sb.Append(" FROM  S_INDUST");
                sb.Append(" WHERE   (ROW_ID = a.X_ANNIE_PR_INDUST_ID)), N'N/A') AS BAA, b.CREATED, ");
                sb.Append(" b.LAST_UPD AS LAST_UPDATED, ISNULL");
                sb.Append(" ((SELECT TOP (1) e.NAME");
                sb.Append(" FROM   S_PARTY AS e INNER JOIN");
                sb.Append(" S_POSTN AS f ON e.ROW_ID = f.OU_ID");
                sb.Append(" WHERE  (f.ROW_ID IN");
                sb.Append(" (SELECT   PR_POSTN_ID");
                sb.Append(" FROM   S_ORG_EXT AS S_ORG_EXT_2");
                sb.Append(" WHERE   (ROW_ID = a.ROW_ID)))), N'') AS PriOwnerDivision, ");
                sb.Append(" a.PR_POSTN_ID AS PriOwnerRowId, ISNULL");
                sb.Append(" ((SELECT   TOP (1) NAME");
                sb.Append(" FROM   S_POSTN AS f");
                sb.Append(" WHERE (ROW_ID IN");
                sb.Append(" (SELECT PR_POSTN_ID");
                sb.Append(" FROM S_ORG_EXT AS S_ORG_EXT_1");
                sb.Append(" WHERE   (ROW_ID = a.ROW_ID)))), N'') AS PriOwnerPosition, CAST('' AS nvarchar(10)) ");
                sb.Append(" AS LOCATION, CAST('' AS nvarchar(10)) AS ACCOUNT_TEAM, ISNULL(d.ADDR_LINE_2, N'') AS ADDRESS2, ");
                sb.Append(" ISNULL(b.ATTRIB_36, N'') AS ACCOUNT_CC_GRADE, ISNULL(a.BASE_CURCY_CD, N'') AS CURRENCY");
                sb.Append(" FROM  S_ORG_EXT AS a LEFT OUTER JOIN");
                sb.Append(" S_ORG_EXT_X AS b ON a.ROW_ID = b.ROW_ID LEFT OUTER JOIN");
                sb.Append(" S_PARTY AS c ON a.BU_ID = c.ROW_ID LEFT OUTER JOIN");
                sb.Append(" S_ADDR_ORG AS d ON a.PR_ADDR_ID = d.ROW_ID");
                sb.Append(" WHERE          (a.ROW_ID = @RID)");
                IDbDataParameter dp      = null;
                IDbConnection    connCRM = DatabaceFactory.CreateConnection(ConfigurationManager.ConnectionStrings["CRM"].ConnectionString, DatabaseType.SQLServer);
                IDbCommand       cmd     = DatabaceFactory.CreateCommand(sb.ToString(), DatabaseType.SQLServer, connCRM);
                dp = cmd.CreateParameter(); dp.ParameterName = "RID"; dp.Value = AccountRowId; cmd.Parameters.Add(dp);
                connCRM.Open();
                DbDataAdapter da = DatabaceFactory.CreateAdapter(cmd, DatabaseType.SQLServer);
                dt.Clear();
                da.Fill(dt);
                if (dt != null && dt.Rows.Count == 1)
                {
                    //'JJ 2014/2/13:Company_id如果空白時需要Office和Sales Group因為gpblock_logic這個table需要知道office和sales Group才能知道要appove給誰
                    //'由Sales的Emal去SIEBEL_POSITION的PRIMARY_POSITION_NAME查出字串如:AFR/Embedded/AOnline-eSales-SEU-Agnes_Iglesias,PRIMARY_POSITION_NAME 鎖定Embedded或iA
                    //'再由字串split(1)分出來Sales Group是EC Aonline(Embedded是EC Aonline、iA是iA Aonline)
                    //'由SIEBEL_POSITION  join SIEBEL_CONTACT,再由SIEBEL_CONTACT的OrgID就能知道office
                    //'如果查不到就由317(EC Aonline)的[email protected][email protected]來appove
                    string UserEmail = HttpContext.Current.User.Identity.Name;
                    string sql       = string.Format("SELECT TOP 1 a.PRIMARY_POSITION_NAME + ',' + b.OrgID FROM SIEBEL_POSITION a left join SIEBEL_CONTACT b on a.CONTACT_ID = b.ROW_ID WHERE a.EMAIL_ADDR =@UserEmail and(a.PRIMARY_POSITION_NAME like '%Embedded%' or a.PRIMARY_POSITION_NAME like '%iA%')");
                    cmd = DatabaceFactory.CreateCommand(sql, DatabaseType.SQLServer, connMY);
                    dp  = cmd.CreateParameter(); dp.ParameterName = "UserEmail"; dp.Value = UserEmail; cmd.Parameters.Add(dp);
                    connMY.Open();
                    object retObj = null;
                    try
                    {
                        retObj = cmd.ExecuteScalar();
                    }
                    catch (Exception ex)
                    { Msg += ex.ToString(); }
                    finally
                    {
                        connMY.Close();
                    }
                    //例:ABN/iA/AOnline-Manager-NEU-Wenyu_Lai,AUK
                    if ((retObj != null) && !string.IsNullOrEmpty(retObj.ToString()))
                    {
                        string sOffice = retObj.ToString().Split(new char[] { ',' })[1];
                        //例:AUK
                        string sGroup = retObj.ToString().Split(new char[] { ',' })[0].Split(new char[] { '/' })[1];
                        //例:iA
                        //轉換Sales Group Name
                        if (sGroup == "Embedded")
                        {
                            sGroup = "EC Aonline";
                        }
                        else if (sGroup == "iA")
                        {
                            sGroup = "iA Aonline";
                        }

                        //找出office code

                        sql = "SELECT TOP 1 OFFICE_CODE from gpblock_logic where OFFICE_NAME=@sOffice and active=1 AND TYPE='GP' and group_name=@sGroup";
                        cmd = DatabaceFactory.CreateCommand(sql, DatabaseType.SQLServer, connEQ);
                        dp  = cmd.CreateParameter(); dp.ParameterName = "sOffice"; dp.Value = sOffice; cmd.Parameters.Add(dp);
                        IDbDataParameter dpgroup = cmd.CreateParameter(); dpgroup.ParameterName = "sGroup"; dpgroup.Value = sGroup; cmd.Parameters.Add(dpgroup);
                        connEQ.Open();
                        retObj = null;
                        try
                        {
                            retObj = cmd.ExecuteScalar();
                        }
                        catch (Exception ex)
                        { Msg += ex.ToString(); }
                        finally
                        {
                            connEQ.Close();
                        }
                        if ((retObj != null) && !string.IsNullOrEmpty(retObj.ToString()))
                        {
                            officecode = retObj.ToString();

                            //找出Group code
                            sql     = "SELECT TOP 1 GROUP_CODE from gpblock_logic where OFFICE_NAME=@sOffice and active=1 AND TYPE='GP' and group_name=@sGroup";
                            cmd     = DatabaceFactory.CreateCommand(sql, DatabaseType.SQLServer, connEQ);
                            dp      = cmd.CreateParameter(); dp.ParameterName = "sOffice"; dp.Value = sOffice; cmd.Parameters.Add(dp);
                            dpgroup = cmd.CreateParameter(); dpgroup.ParameterName = "sGroup"; dpgroup.Value = sGroup; cmd.Parameters.Add(dpgroup);
                            connEQ.Open();
                            retObj = null;
                            try
                            {
                                retObj = cmd.ExecuteScalar();
                            }
                            catch (Exception ex)
                            { Msg += ex.ToString(); }
                            finally
                            {
                                connEQ.Close();
                            }
                            ///////
                            if ((retObj != null) && !string.IsNullOrEmpty(retObj.ToString()))
                            {
                                groupcode = retObj.ToString();
                            }
                            else
                            {
                                groupcode = "317";
                                //找不到就都帶317 (EC Aonline)
                            }
                        }
                        else
                        {
                            //都沒有就由Account RBU去查office code,而group code就固定是317 (EC Aonline)
                            object R = new object();
                            sql = "SELECT TOP 1 OFFICE_CODE from gpblock_logic where OFFICE_NAME=@OFFICE_NAME and active=1 AND TYPE='GP' and group_name='317'";
                            cmd = DatabaceFactory.CreateCommand(sql, DatabaseType.SQLServer, connEQ);
                            dp  = cmd.CreateParameter(); dp.ParameterName = "OFFICE_NAME"; dp.Value = dt.Rows[0]["RBU"]; cmd.Parameters.Add(dp);
                            connEQ.Open();
                            try
                            {
                                R = cmd.ExecuteScalar();
                            }
                            catch (Exception ex)
                            { }
                            finally
                            {
                                connEQ.Close();
                            }

                            if ((R != null) && !string.IsNullOrEmpty(R.ToString()))
                            {
                                officecode = R.ToString();
                                groupcode  = "317"; //找不到就都帶317 (EC Aonline)
                            }
                        }
                    }
                }
                connCRM.Close();
            }

            //JJ 2014/2/25 都找不到預設就帶ADL

            if (string.IsNullOrEmpty(officecode))
            {
                officecode = "3000";
            }

            //JJ 2014/2/25 都找不到預設就帶EC Aonline
            if (string.IsNullOrEmpty(groupcode))
            {
                groupcode = "317";
            }
        }