Example #1
0
        /// <summary>
        /// 获取地区的基础数据
        /// </summary>
        /// <returns></returns>
        public List <Region_Model> GetRegionList()
        {
            try
            {
                List <Region_Model> objs = new List <Region_Model>();

                DataTable dt = GetRegionInitData();

                if (dt != null && dt.Rows != null && dt.Rows.Count > 0)
                {
                    foreach (DataRow rowObj in dt.Rows)
                    {
                        Region_Model obj = new Region_Model();
                        obj.ID       = (int)rowObj["ID"];
                        obj.Name     = rowObj["Name"].ToString().Trim();
                        obj.ParentId = (int)rowObj["ParentId"];
                        obj.Depth    = (int)rowObj["Depth"];

                        objs.Add(obj);
                    }
                }

                return(objs);
            }
            catch
            {
                return(null);
            }
        }
        /// <summary>
        /// 保存企业大全页面需要的数据入库
        /// </summary>
        public void SaveEnterpriseData()
        {
            //省名集合
            List <Region_Model> provinceList = null;
            //城市名集合
            List <Region_Model> cityList = null;

            #region 获取地区集合
            SOSOshop.BLL.DrugsBase.BLL_Region regionBll = new SOSOshop.BLL.DrugsBase.BLL_Region();
            List <Region_Model> regionObjs = regionBll.GetRegionList();
            if (regionObjs != null && regionObjs.Count > 0)
            {
                //删除城市名集合中含香港名称的数据
                Region_Model xg = regionObjs.Find(r => r.Name.Contains("香港") && r.Depth == 2);
                if (xg != null)
                {
                    regionObjs.Remove(xg);
                }

                //删除澳门
                List <Region_Model> aoMen = regionObjs.FindAll(r => r.Name.Contains("澳门"));
                if (aoMen != null && aoMen.Count > 0)
                {
                    foreach (Region_Model a in aoMen)
                    {
                        regionObjs.Remove(a);
                    }
                }

                //插入国外企业
                regionObjs.Add(new Region_Model((int)Enum_OtherRegions.国外企业, "国外企业", 0, 1));

                //获取省名集合
                provinceList = regionObjs.FindAll(province => province.Depth == 1);
                if (provinceList != null && provinceList.Count > 0)
                {
                    //因为北京的Id靠后,所以如此处理
                    Region_Model beiJing = provinceList.Find(r => r.Name.Contains("北京"));
                    if (beiJing != null)
                    {
                        provinceList.Remove(beiJing);
                        provinceList.Insert(0, beiJing);
                    }
                    //插入“所有”
                    provinceList.Insert(0, new Region_Model((int)Enum_OtherRegions.所有, "所有", 0, 1));
                }

                //获取城市名集合
                List <Region_Model> tmpList = regionObjs.FindAll(city => city.Depth == 2);
                if (tmpList != null && tmpList.Count > 0)
                {
                    cityList = tmpList.OrderBy(c => c.ParentId).ToList <Region_Model>();
                }
            }
            #endregion


            #region 获取药厂集合

            //获取药厂大全
            List <DrugsBase_Manufacturer_Model> yaoChangList = null;

            SOSOshop.BLL.DrugsBase.DrugsBase_Manufacturer bll = new SOSOshop.BLL.DrugsBase.DrugsBase_Manufacturer();

            List <DrugsBase_Manufacturer_Model> manufactList = bll.GetManufactInitData();
            if (manufactList != null && manufactList.Count > 0)
            {
                yaoChangList = new List <DrugsBase_Manufacturer_Model>();

                //先搜索药厂名称中含省名的
                if (provinceList != null && provinceList.Count > 0)
                {
                    foreach (Region_Model rObj in provinceList)
                    {
                        List <DrugsBase_Manufacturer_Model> tmp = manufactList.FindAll(e => e.DrugsBase_Manufacturer1.Contains(rObj.Name.Replace("省", "")));
                        if (tmp != null && tmp.Count > 0)
                        {
                            foreach (DrugsBase_Manufacturer_Model ycObj in tmp)
                            {
                                //将省份Id赋值给药厂的省份Id字段
                                ycObj.Province = rObj.ID;

                                //从objs中移除已经搜索过的数据
                                manufactList.Remove(ycObj);
                            }

                            yaoChangList.AddRange(tmp);
                        }
                    }
                }
                //再搜索药厂名称中含城市名的
                if (cityList != null && cityList.Count > 0)
                {
                    //将南京中山单独归类
                    List <DrugsBase_Manufacturer_Model> tmp = manufactList.FindAll(e => e.DrugsBase_Manufacturer1.Contains("南京中山"));
                    if (tmp != null && tmp.Count > 0)
                    {
                        foreach (DrugsBase_Manufacturer_Model ycObj in tmp)
                        {
                            //将城市的父Id赋值给药厂的省份Id字段
                            ycObj.Province = provinceList.Find(p => p.Name.Contains("江苏")).ID;

                            //从objs中移除已经搜索过的数据
                            manufactList.Remove(ycObj);
                        }

                        yaoChangList.AddRange(tmp);
                    }

                    //将成都吉安康单独归类
                    List <DrugsBase_Manufacturer_Model> tmp2 = manufactList.FindAll(e => e.DrugsBase_Manufacturer1.Contains("成都吉安康"));
                    if (tmp2 != null && tmp2.Count > 0)
                    {
                        foreach (DrugsBase_Manufacturer_Model ycObj in tmp2)
                        {
                            //将城市的父Id赋值给药厂的省份Id字段
                            ycObj.Province = provinceList.Find(p => p.Name.Contains("四川")).ID;

                            //从objs中移除已经搜索过的数据
                            manufactList.Remove(ycObj);
                        }

                        yaoChangList.AddRange(tmp2);
                    }

                    //搜索药厂名称中含城市名的
                    foreach (Region_Model cObj in cityList)
                    {
                        List <DrugsBase_Manufacturer_Model> tmp3 = manufactList.FindAll(e => e.DrugsBase_Manufacturer1.Contains(cObj.Name.Replace("市", "")));
                        if (tmp3 != null && tmp3.Count > 0)
                        {
                            foreach (DrugsBase_Manufacturer_Model ycObj in tmp3)
                            {
                                //将城市的父Id赋值给药厂的省份Id字段
                                ycObj.Province = cObj.ParentId;

                                //从objs中移除已经搜索过的数据
                                manufactList.Remove(ycObj);
                            }

                            yaoChangList.AddRange(tmp3);
                        }
                    }
                }

                //剩下药厂名称不含省名和城市名的
                if (manufactList != null && manufactList.Count > 0)
                {
                    foreach (DrugsBase_Manufacturer_Model ycObj in manufactList)
                    {
                        if (ycObj.DrugsBase_Manufacturer1.Contains("西南") ||
                            ycObj.DrugsBase_Manufacturer1.Contains("九寨") ||
                            ycObj.DrugsBase_Manufacturer1.Contains("洪雅") ||
                            ycObj.DrugsBase_Manufacturer1.Contains("广汉"))
                        {
                            Region_Model tmp = provinceList.Find(p => p.Name.Contains("四川"));
                            if (tmp != null)
                            {
                                ycObj.Province = tmp.ID;
                            }
                        }
                        else if (ycObj.DrugsBase_Manufacturer1.Contains("天圣制药"))
                        {
                            Region_Model tmp = provinceList.Find(p => p.Name.Contains("重庆"));
                            if (tmp != null)
                            {
                                ycObj.Province = tmp.ID;
                            }
                        }
                        else if (ycObj.DrugsBase_Manufacturer1.Contains("悦康药业") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("朗致集团") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("华润双鹤"))
                        {
                            Region_Model tmp = provinceList.Find(p => p.Name.Contains("北京"));
                            if (tmp != null)
                            {
                                ycObj.Province = tmp.ID;
                            }
                        }
                        else if (ycObj.DrugsBase_Manufacturer1.Contains("天士力"))
                        {
                            Region_Model tmp = provinceList.Find(p => p.Name.Contains("天津"));
                            if (tmp != null)
                            {
                                ycObj.Province = tmp.ID;
                            }
                        }
                        else if (ycObj.DrugsBase_Manufacturer1.Contains("滇") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("西双版纳"))
                        {
                            Region_Model tmp = provinceList.Find(p => p.Name.Contains("云南"));
                            if (tmp != null)
                            {
                                ycObj.Province = tmp.ID;
                            }
                        }
                        else if (ycObj.DrugsBase_Manufacturer1.Contains("哈药") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("哈高科"))
                        {
                            Region_Model tmp = provinceList.Find(p => p.Name.Contains("黑龙江"));
                            if (tmp != null)
                            {
                                ycObj.Province = tmp.ID;
                            }
                        }
                        else if (ycObj.DrugsBase_Manufacturer1.Contains("修正药业"))
                        {
                            Region_Model tmp = provinceList.Find(p => p.Name.Contains("吉林"));
                            if (tmp != null)
                            {
                                ycObj.Province = tmp.ID;
                            }
                        }
                        else if (ycObj.DrugsBase_Manufacturer1.Contains("齐鲁") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("莱阳") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("辰欣药业") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("荣成百合") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("蓬莱") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("瑞阳制药"))
                        {
                            Region_Model tmp = provinceList.Find(p => p.Name.Contains("山东"));
                            if (tmp != null)
                            {
                                ycObj.Province = tmp.ID;
                            }
                        }
                        else if (ycObj.DrugsBase_Manufacturer1.Contains("亚宝药业") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("石药") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("国药集团"))
                        {
                            Region_Model tmp = provinceList.Find(p => p.Name.Contains("山西"));
                            if (tmp != null)
                            {
                                ycObj.Province = tmp.ID;
                            }
                        }
                        else if (ycObj.DrugsBase_Manufacturer1.Contains("白云山") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("四会") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("潮安") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("丽珠") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("华润三九"))
                        {
                            Region_Model tmp = provinceList.Find(p => p.Name.Contains("广东"));
                            if (tmp != null)
                            {
                                ycObj.Province = tmp.ID;
                            }
                        }
                        else if (ycObj.DrugsBase_Manufacturer1.Contains("扬子江") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("常熟") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("昆山") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("惠氏制药") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("阿斯利康") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("精华制药"))
                        {
                            Region_Model tmp = provinceList.Find(p => p.Name.Contains("江苏"));
                            if (tmp != null)
                            {
                                ycObj.Province = tmp.ID;
                            }
                        }
                        else if (ycObj.DrugsBase_Manufacturer1.Contains("江中"))
                        {
                            Region_Model tmp = provinceList.Find(p => p.Name.Contains("江西"));
                            if (tmp != null)
                            {
                                ycObj.Province = tmp.ID;
                            }
                        }
                        else if (ycObj.DrugsBase_Manufacturer1.Contains("湘北") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("石门") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("九芝堂") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("康普药业"))
                        {
                            Region_Model tmp = provinceList.Find(p => p.Name.Contains("湖南"));
                            if (tmp != null)
                            {
                                ycObj.Province = tmp.ID;
                            }
                        }
                        else if (ycObj.DrugsBase_Manufacturer1.Contains("马应龙") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("华中") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("远大医药"))
                        {
                            Region_Model tmp = provinceList.Find(p => p.Name.Contains("湖北"));
                            if (tmp != null)
                            {
                                ycObj.Province = tmp.ID;
                            }
                        }
                        else if (ycObj.DrugsBase_Manufacturer1.Contains("容生制药") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("百正药业") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("辅仁药业"))
                        {
                            Region_Model tmp = provinceList.Find(p => p.Name.Contains("河南"));
                            if (tmp != null)
                            {
                                ycObj.Province = tmp.ID;
                            }
                        }
                        else if (ycObj.DrugsBase_Manufacturer1.Contains("华北") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("涿州") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("颈复康") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("神威药业") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("石药集团") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("药都制药") ||
                                 ycObj.DrugsBase_Manufacturer1.Contains("协和药业"))
                        {
                            Region_Model tmp = provinceList.Find(p => p.Name.Contains("河北"));
                            if (tmp != null)
                            {
                                ycObj.Province = tmp.ID;
                            }
                        }
                        else if (ycObj.DrugsBase_Manufacturer1.Contains("京都念慈菴总厂"))
                        {
                            Region_Model tmp = provinceList.Find(p => p.Name.Contains("香港"));
                            if (tmp != null)
                            {
                                ycObj.Province = tmp.ID;
                            }
                        }
                        else if (ycObj.DrugsBase_Manufacturer1.Contains("先声药业"))
                        {
                            Region_Model tmp = provinceList.Find(p => p.Name.Contains("海南"));
                            if (tmp != null)
                            {
                                ycObj.Province = tmp.ID;
                            }
                        }
                        else if (ycObj.DrugsBase_Manufacturer1.Contains("白求恩医科大学制药厂二分厂"))
                        {
                            Region_Model tmp = provinceList.Find(p => p.Name.Contains("内蒙古"));
                            if (tmp != null)
                            {
                                ycObj.Province = tmp.ID;
                            }
                        }
                        else
                        {
                            if (!IsCN(ycObj.DrugsBase_Manufacturer1)) //全中文的剔除
                            {
                                //将国外企业Id(-1)赋值给药厂的省份Id字段
                                ycObj.Province = (int)Enum_OtherRegions.国外企业;
                            }
                        }
                    }

                    yaoChangList.AddRange(manufactList);
                }

                if (yaoChangList != null && yaoChangList.Count > 0)
                {
                    //计算各省药厂数量
                    if (provinceList != null && provinceList.Count > 0)
                    {
                        foreach (Region_Model rObj in provinceList)
                        {
                            if (rObj.ID == (int)Enum_OtherRegions.所有) //所有
                            {
                                rObj.ManufactNum = yaoChangList.Count;
                            }
                            else
                            {
                                List <DrugsBase_Manufacturer_Model> tmp = yaoChangList.FindAll(e => e.Province == rObj.ID);
                                if (tmp != null && tmp.Count > 0)
                                {
                                    rObj.ManufactNum = tmp.Count;
                                }
                            }
                        }
                    }
                }

                //将地区集合与药厂集合写入数据库
                InsertEnterprise(provinceList, yaoChangList);
            }
            #endregion
        }