public DataTable SetOrderReceiveDT(UserInfo user, DataTable dt)
        {
            dt.Columns.Add("product_code");
            dt.Columns.Add("common_name");
            dt.Columns.Add("cpmc");
            dt.Columns.Add("mode_name");
            dt.Columns.Add("medicalspec");
            dt.Columns.Add("BASE_MEASURE");
            dt.Columns.Add("BASEMEASURESPEC");
            dt.Columns.Add("stand_rate");
            dt.Columns.Add("factory_code");
            dt.Columns.Add("factory_name");
            dt.Columns.Add("stock_id");
            dt.Columns.Add("stock_name");

            dt.Columns.Add("psqybm");
            dt.Columns.Add("psqymc");

            StringBuilder sql = new StringBuilder();

            foreach (DataRow dr in dt.Rows)
            {
                string product_id = Convert.ToString(dr["product_id"]);
                string spec_id    = Convert.ToString(dr["SPEC_ID"]);
                string model_id   = Convert.ToString(dr["MODEL_ID"]);

                string Saler_ID = Convert.ToString(dr["SENDER_ID"]);

                GpoOutReceiveModel OutReceiveModel1 = GetCorp_MapByProductID(user, Saler_ID);

                if (OutReceiveModel1 != null)
                {
                    dr["psqybm"] = OutReceiveModel1.Psqybm;
                    dr["psqymc"] = OutReceiveModel1.Psqymc;
                }

                GpoOutReceiveModel OutReceiveModel2 = GetProductMapByProductID(user, product_id, spec_id, model_id);

                if (OutReceiveModel2 != null)
                {
                    dr["product_code"]    = OutReceiveModel2.Ypbm;
                    dr["common_name"]     = OutReceiveModel2.Ypmc;
                    dr["cpmc"]            = OutReceiveModel2.Cpmc;
                    dr["mode_name"]       = OutReceiveModel2.Jxmc;
                    dr["medicalspec"]     = OutReceiveModel2.Ggmc;
                    dr["BASE_MEASURE"]    = OutReceiveModel2.Bzdw;
                    dr["BASEMEASURESPEC"] = OutReceiveModel2.Zxsydw;
                    dr["stand_rate"]      = OutReceiveModel2.Zhb;
                    dr["factory_code"]    = OutReceiveModel2.Scqybm;
                    dr["factory_name"]    = OutReceiveModel2.Scqymc;
                    dr["stock_id"]        = OutReceiveModel2.Ykbm;
                    dr["stock_name"]      = OutReceiveModel2.Ykmc;
                }
            }

            return(dt);
        }
        /// <summary>
        /// 获取对接产品对照表实体
        /// </summary>
        /// <param name="row"></param>
        /// <returns></returns>
        protected GpoOutReceiveModel GetGpoCorp_MapModelByRow(DataRow row)
        {
            GpoOutReceiveModel Model = new GpoOutReceiveModel();

            if (row == null)
            {
                return(null);
            }

            Model.Psqybm = ComUtil.getStringValue(row, "psqybm", "");
            Model.Psqymc = ComUtil.getStringValue(row, "psqymc", "");

            return(Model);
        }
        /// <summary>
        /// 获取对接产品对照信息
        /// </summary>
        /// <param name="ProductID"></param>
        /// <param name="user"></param>
        /// <returns></returns>
        private GpoOutReceiveModel GetProductMapByProductID(UserInfo user, string ProductID, string specid, string modelid)
        {
            GpoOutReceiveModel Model = new GpoOutReceiveModel();
            DataTable          dt    = new DataTable();

            StringBuilder sql = new StringBuilder();

            sql.Append("Select");
            sql.Append(" p.HIS_PRODUCT_ID as product_code,");
            sql.Append(" p.common_name as common_name,");
            sql.Append(" p.product_name as product_name,");
            sql.Append(" p.mode_name as mode_name,");
            sql.Append(" p.spec as medicalspec,");
            sql.Append(" p.BASE_MEASURE as BASE_MEASURE,");
            sql.Append(" p.BASE_MEASURE_SPEC as BASEMEASURESPEC,");
            sql.Append(" (case when p.stand_rate Is Null then '0' else p.stand_rate end) as stand_rate,");
            sql.Append(" (case when p.factory_code Is Null then ' ' else p.factory_code end) as factory_code,");
            sql.Append(" p.factory_name as factory_name,");
            sql.Append(" p.stock_id as stock_id,");
            sql.Append(" p.stock_name as stock_name");
            sql.Append(" From HC_PRODUCT_MAP p ");

            string sql1 = string.Format(" Where PROJECT_PROD_ID = {0}  And hh_SPEC_ID = {1} And hh_MODE_ID = {2}", ProductID, specid, modelid);

            //string sql2 = string.Format(",GPO_REG_PRODUCT_PUBLIC grpp Where p.DATA_PRODUCT_ID = grpp.DATA_PRODUCT_ID and  grpp.ID = '{0}' And p.MAP_ORGID = '{1}' ", ProductID, user.OrgId);

            try
            {
                dt = DbFacade.SQLExecuteDataTable(sql + sql1.ToString());

                //if (dt == null || dt.Rows.Count == 0)
                //{
                //    dt = DbFacade.SQLExecuteDataTable(sql + sql2.ToString());
                //}

                if (dt != null && dt.Rows.Count > 0)
                {
                    Model = GetGpoProductMapModelByRow(dt.Rows[0]);
                }
            }
            catch (Exception ex)
            {
                throw ex;
                return(null);
            }

            return(Model);
        }
        /// <summary>
        /// 对接企业对照表信息
        /// </summary>
        /// <param name="ProductID"></param>
        /// <param name="user"></param>
        /// <returns></returns>
        private GpoOutReceiveModel GetCorp_MapByProductID(UserInfo user, string SalerID)
        {
            GpoOutReceiveModel Model = new GpoOutReceiveModel();
            DataTable          dt    = new DataTable();

            StringBuilder sql = new StringBuilder();

            sql.Append("Select");
            sql.Append(" c.HIS_ORG_ID as psqybm,");
            sql.Append(" c.EASY_NAME as psqymc");

            sql.Append(" From HC_CORP_MAP c ");

            string sql1 = string.Format(" Where c.ORG_ID = '{0}'", SalerID);

            //string sql2 = string.Format(",GPO_REG_BUYER grb Where c.DATA_ORG_ID = grb.DATA_BUYER_ID and  grb.ID = '{0}'", SalerID);

            try
            {
                dt = DbFacade.SQLExecuteDataTable((sql + sql1).ToString());

                //if (dt == null || dt.Rows.Count == 0)
                //{
                //    dt = DbFacade.SQLExecuteDataTable((sql + sql2).ToString());
                //}

                if (dt != null && dt.Rows.Count > 0)
                {
                    Model = GetGpoCorp_MapModelByRow(dt.Rows[0]);
                }
            }
            catch (Exception ex)
            {
                //throw ex;
                return(null);
            }

            return(Model);
        }
        /// <summary>
        /// 获取对接产品对照表实体
        /// </summary>
        /// <param name="row"></param>
        /// <returns></returns>
        protected GpoOutReceiveModel GetGpoProductMapModelByRow(DataRow row)
        {
            GpoOutReceiveModel Model = new GpoOutReceiveModel();

            if (row == null)
            {
                return(null);
            }

            Model.Ypbm   = ComUtil.getStringValue(row, "product_code", "");
            Model.Ypmc   = ComUtil.getStringValue(row, "common_name", "");
            Model.Cpmc   = ComUtil.getStringValue(row, "product_name", "");
            Model.Jxmc   = ComUtil.getStringValue(row, "mode_name", "");
            Model.Ggmc   = ComUtil.getStringValue(row, "medicalspec", "");
            Model.Bzdw   = ComUtil.getStringValue(row, "BASE_MEASURE", "");
            Model.Zxsydw = ComUtil.getStringValue(row, "BASEMEASURESPEC", "");
            Model.Zhb    = ComUtil.getStringValue(row, "stand_rate", "");
            Model.Scqybm = ComUtil.getStringValue(row, "factory_code", "");
            Model.Scqymc = ComUtil.getStringValue(row, "factory_name", "");
            Model.Ykbm   = ComUtil.getStringValue(row, "stock_id", "");
            Model.Ykmc   = ComUtil.getStringValue(row, "stock_name", "");

            return(Model);
        }