示例#1
0
 protected DocumentTreeItem(StringZip stringZip)
 {
     if (stringZip != null)
     {
         ExceptionHelper.ThrowArgumentNullException("stringZip");
     }
     this._stringZip = stringZip;
 }
示例#2
0
        public void TestGetOrPutWord()
        {
            string[] testStrings = new string[] {
                null,
                string.Empty,
                "abc"
            };

            StringZip sz = new StringZip();

            foreach (var item in testStrings)
            {
                var data      = sz.GetOrAddWord(item);
                var newString = sz.GetWord(data);
                Assert.AreEqual <string>(item, newString);
            }

            Assert.IsTrue(sz.GetWord(int.MaxValue) == null);
        }
示例#3
0
        public void TestGetOrZipString()
        {
            string[] testStrings = new string[] {
                null,
                string.Empty,
                "abc",
                ".abc",
                "abc.",
                "...",
                "abc.ab",
                "abc.abc..abc"
            };

            StringZip sz = new StringZip();

            foreach (var item in testStrings)
            {
                var data      = sz.ZipString(item);
                var newString = sz.UnzipString(data);
                Assert.AreEqual <string>(item, newString);
            }
        }
示例#4
0
        public object Run(YiTian.db.Dao dao, YtService.data.OptData data, out string msg)
        {
            string A = data.Sql;

            msg = "";
            if ("Del".Equals(A))
            {
                object p = dao.ExecuteScalar("select count(*) num from 用户表 where fixedflag=0 and cHosCode = '" + data.Param["choscode"] + "'");
                if (p != null && int.Parse(p.ToString()) > 0)
                {
                    throw new Exception("当前医疗机构已被使用,不能删除!");
                }

                object p2 = dao.ExecuteScalar("select count(*) num from sysdicthospital where parenthoscode = '" + data.Param["choscode"] + "'");
                if (p2 != null && int.Parse(p2.ToString()) > 0)
                {
                    throw new Exception("当前医疗机构还有子机构,不能删除!");
                }

                if (dao.ExecuteNonQuery("DELETE FROM sysdicthospital WHERE cHosCode='" + data.Param["choscode"] + "'") < 0)
                {
                    throw new Exception("删除医疗机构失败!");
                }

                //msg = "删除成功完成!";
            }
            else if ("SaveNHFare".Equals(A))  //保存农合诊疗及药品字典
            {
                List <Dictionary <string, object> > mxli = ObjConvert.GetParamsByStr(StringZip.Decompress(data.Param["nhdatamx"].ToString()));
                Opt NhZLData = OptContent.get("nh_FareZLDict");
                Opt NhYPData = OptContent.get("nh_FareYPDict");
                if (mxli == null || mxli.Count == 0)
                {
                    throw new Exception("无农合费用字典明细!");
                }

                string vchoscode = data.Param["cHosCode"].ToString();
                int    rank      = int.Parse(data.Param["rank"].ToString());

                if (dao.ExecuteNonQuery("DELETE FROM 农合药品表 WHERE cHosCode='" + vchoscode + "' and RANK=" + rank) < 0)
                {
                    throw new Exception("删除农合药品数据出错!");
                }
                if (dao.ExecuteNonQuery("DELETE FROM 农合项目表 WHERE cHosCode='" + vchoscode + "' and RANK=" + rank) < 0)
                {
                    throw new Exception("删除农合项目数据出错!");
                }

                foreach (Dictionary <string, object> pa in mxli)
                {
                    pa["rank"]     = rank;
                    pa["cHosCode"] = vchoscode;
                    if (pa["农合类别"].ToString().Equals("02") || pa["农合类别"].ToString().Equals("09"))
                    {
                        if (DaoTool.Save(dao, NhYPData, pa) < 0)
                        {
                            throw new Exception("保存农合费用字典药品明细失败!");
                        }
                    }
                    else
                    {
                        if (pa["农合类别"].ToString().Equals("05") || pa["农合类别"].ToString().Equals("10"))
                        {
                            if (DaoTool.Save(dao, NhYPData, pa) < 0)
                            {
                                throw new Exception("保存农合费用字典药品明细失败!");
                            }
                        }

                        if (DaoTool.Save(dao, NhZLData, pa) < 0)
                        {
                            throw new Exception("保存农合费用字典诊疗明细失败!");
                        }
                    }
                }
            }
            else if ("SaveICD10".Equals(A))  //保存农合疾病字典
            {
                List <Dictionary <string, object> > mxli = ObjConvert.GetParamsByStr(StringZip.Decompress(data.Param["icd10"].ToString()));
                Opt NhicdData = OptContent.get("nh_saveICDDict");
                if (mxli == null || mxli.Count == 0)
                {
                    throw new Exception("无农合疾病字典明细!");
                }

                dao.ExecuteNonQuery("truncate table 农合疾病表");  //永远返回-1

                foreach (Dictionary <string, object> pa in mxli)
                {
                    if (DaoTool.Save(dao, NhicdData, pa) < 0)
                    {
                        throw new Exception("保存农合疾病字典失败!");
                    }
                }
                dao.ExecuteNonQuery("update 农合疾病表 t set t.orderid=(select ordid from jb where 编码=t.农合编码) where exists(select * from jb where 编码=t.农合编码)");
            }

            else if ("SaveSS".Equals(A))  //保存农合手术字典
            {
                List <Dictionary <string, object> > mxli = ObjConvert.GetParamsByStr(StringZip.Decompress(data.Param["SS"].ToString()));
                Opt NhicdData = OptContent.get("nh_saveSSDict");
                if (mxli == null || mxli.Count == 0)
                {
                    throw new Exception("无农合手术字典明细!");
                }
                dao.ExecuteNonQuery("truncate table 农合手术表");

                foreach (Dictionary <string, object> pa in mxli)
                {
                    if (DaoTool.Save(dao, NhicdData, pa) < 0)
                    {
                        throw new Exception("保存农合手术字典失败!");
                    }
                }
            }

            else if ("CheckNHFare".Equals(A))  //保存并进行核对农合费用项目
            {
                List <Dictionary <string, object> > mxli = ObjConvert.GetParamsByStr(StringZip.Decompress(data.Param["nhdatamx"].ToString()));
                Opt NhZLData = OptContent.get("nh_FareZLDict");
                Opt NhYPData = OptContent.get("nh_FareYPDict");
                if (mxli == null || mxli.Count == 0)
                {
                    throw new Exception("无农合费用字典明细!");
                }

                string vchoscode = data.Param["cHosCode"].ToString();
                int    rank      = int.Parse(data.Param["rank"].ToString());

                if (dao.ExecuteNonQuery("DELETE FROM 农合药品表BK WHERE cHosCode='" + vchoscode + "' and RANK=" + rank) < 0)
                {
                    throw new Exception("删除农合药品BK数据出错!");
                }

                if (dao.ExecuteNonQuery("DELETE FROM 农合项目表BK WHERE cHosCode='" + vchoscode + "' and RANK=" + rank) < 0)
                {
                    throw new Exception("删除农合项目BK数据出错!");
                }

                if (dao.ExecuteNonQuery("Insert into 农合药品表BK(农合编码,农合名称,农合类别,保内外,报补比例,单位,rank,updatetime,基药标志,cHosCode) " +
                                        "Select 农合编码,农合名称,农合类别,保内外,报补比例,单位,rank,updatetime,基药标志,cHosCode from 农合药品表 WHERE cHosCode='" + vchoscode + "' and RANK=" + rank) < 0)
                {
                    throw new Exception("插入农合药品BK数据出错!");
                }

                if (dao.ExecuteNonQuery("Insert into 农合项目表BK(农合编码,农合名称,农合类别,保内外,报补比例,单位,rank,updatetime,基药标志,cHosCode) " +
                                        "Select 农合编码,农合名称,农合类别,保内外,报补比例,单位,rank,updatetime,基药标志,cHosCode from 农合项目表 WHERE cHosCode='" + vchoscode + "' and RANK=" + rank) < 0)
                {
                    throw new Exception("插入农合项目BK数据出错!");
                }

                if (dao.ExecuteNonQuery("DELETE FROM 农合药品表 WHERE cHosCode='" + vchoscode + "' and RANK=" + rank) < 0)
                {
                    throw new Exception("删除农合药品数据出错!");
                }
                if (dao.ExecuteNonQuery("DELETE FROM 农合项目表 WHERE cHosCode='" + vchoscode + "' and RANK=" + rank) < 0)
                {
                    throw new Exception("删除农合项目数据出错!");
                }

                foreach (Dictionary <string, object> pa in mxli)
                {
                    pa["rank"]     = rank;
                    pa["cHosCode"] = vchoscode;
                    if (pa["农合类别"].ToString().Equals("02") || pa["农合类别"].ToString().Equals("09"))
                    {
                        if (DaoTool.Save(dao, NhYPData, pa) < 0)
                        {
                            throw new Exception("保存农合费用字典药品明细失败!");
                        }
                    }
                    else
                    {
                        if (pa["农合类别"].ToString().Equals("05") || pa["农合类别"].ToString().Equals("10"))
                        {
                            if (DaoTool.Save(dao, NhYPData, pa) < 0)
                            {
                                throw new Exception("保存农合费用字典药品明细失败!");
                            }
                        }

                        if (DaoTool.Save(dao, NhZLData, pa) < 0)
                        {
                            throw new Exception("保存农合费用字典诊疗明细失败!");
                        }
                    }
                }
            }

            else if ("getLog".Equals(A))  //生成日志数据
            {
                dao.ExecuteNonQuery(" begin PCK_HisCommUse.sp_SaveNHChangeFareLog('" + data.Param["cHosCode"].ToString() + "' ," + data.Param["rank"].ToString() + "); end;");

                dao.ExecuteNonQuery(" begin PCK_HisCommUse.sp_CheckNHFareDict('" + data.Param["cHosCode"].ToString() + "' ," + data.Param["rank"].ToString() + "); end;");
                //   throw new Exception("生成农合更新日志失败!");
            }

            else if ("SavejmFare".Equals(A))  //保存安顺地区城镇医保费用目录
            {
                List <Dictionary <string, object> > mxli = ObjConvert.GetParamsByStr(StringZip.Decompress(data.Param["datamx"].ToString()));
                Opt fareData = OptContent.get("jm_savefareDict");
                if (mxli == null || mxli.Count == 0)
                {
                    throw new Exception("无居保目录明细!");
                }
                if (dao.ExecuteNonQuery("delete 地区居保目录 where choscode='" + data.Param["cHosCode"].ToString() + "'") < 0)
                {
                    throw new Exception("保存费用目录失败del!");
                }

                string bm;
                foreach (Dictionary <string, object> pa in mxli)
                {
                    bm = pa["大类编码"].ToString();
                    if (bm.Equals("81"))
                    {
                        pa["ypflag"] = 1;
                    }
                    else if (bm.Equals("11") || bm.Equals("12") || bm.Equals("13"))
                    {
                        pa["ypflag"] = 2;
                    }
                    else
                    {
                        pa["ypflag"] = 0;
                    }

                    pa["拼音码"]      = pa["拼音码"].ToString().ToLower();
                    pa["choscode"] = data.Param["cHosCode"].ToString();
                    if (DaoTool.Save(dao, fareData, pa) < 0)
                    {
                        throw new Exception("保存居保目录明细失败!");
                    }
                }
            }
            else if ("dictcopy".Equals(A))  //机构字典相互复制
            {
                if (dao.ExecuteNonQuery(" begin PCK_HisCommUse.sp_jgDictCopy('" +
                                        data.Param["fromHosCode"].ToString() + "' ,'" + data.Param["toHosCode"].ToString() + "' ,'" +
                                        data.Param["ypflag"].ToString() + "' ,'" + data.Param["nhcode"].ToString() + "'); end;") < 0)
                {
                    if (dao.ErrMsg != null)
                    {
                        throw new Exception(dao.ErrMsg);
                    }
                }
            }
            else if ("delyw".Equals(A))  //业务数据删除
            {
                if (dao.ExecuteNonQuery(" begin PCK_HisCommUse.sp_clearData('" + data.Param["choscode"].ToString() + "'," +
                                        data.Param["flag"].ToString() + "); end;") < 0)
                {
                    if (dao.ErrMsg != null)
                    {
                        throw new Exception(dao.ErrMsg);
                    }
                }
            }
            else if ("delypdict".Equals(A))  //药品字典删除
            {
                object p = dao.ExecuteScalar("select count(*) num from 库存药品 where cHosCode = " + data.Param["choscode"].ToString());
                if (p != null && int.Parse(p.ToString()) > 0)
                {
                    throw new Exception("当前医疗还有库存药品业务数据,不能直接删除字典!");
                }

                if (dao.ExecuteNonQuery("delete 药品字典表 where choscode='" + data.Param["choscode"].ToString() + "'") < 0)
                {
                    throw new Exception("药品字典删除失败!");
                }
            }
            else if ("setFlag".Equals(A))  //设置机构提示信息
            {
                if (dao.ExecuteNonQuery(" update sysdicthospital set flag=" + data.Param["flag"].ToString() + ",LICENCE='" +
                                        data.Param["info"].ToString() + "' where CHOSCODE='" + data.Param["cHosCode"].ToString() + "'") < 0)
                {
                    if (dao.ErrMsg != null)
                    {
                        throw new Exception(dao.ErrMsg);
                    }
                }
            }


            return("ok");
        }
示例#5
0
        private static string ReadConfigToString()
        {
            string  buffer    = string.Empty;
            string  zipBuffer = string.Empty;
            Catalog catalog   = new Catalog();

            catalog.Rows = 2;
            using (AvtoritetEntities ae = new AvtoritetEntities())
            {
                System.Collections.Generic.List <RelayServer.DataContext.Group> groups = (from r in ae.Group
                                                                                          where r.Enable
                                                                                          select r into t
                                                                                          orderby t.Order
                                                                                          select t).ToList <RelayServer.DataContext.Group>();
                catalog.Groups = new System.Collections.Generic.List <RelayServer.Models.Group>();
                using (System.Collections.Generic.List <RelayServer.DataContext.Group> .Enumerator enumerator = groups.GetEnumerator())
                {
                    while (enumerator.MoveNext())
                    {
                        RelayServer.DataContext.Group group        = enumerator.Current;
                        RelayServer.Models.Group      catalogGroup = new RelayServer.Models.Group();
                        System.Collections.Generic.List <RelayServer.DataContext.GroupBox> groupboxs = (from t in ae.GroupBox
                                                                                                        where t.GroupId == @group.GroupId && t.Enable
                                                                                                        select t into r
                                                                                                        orderby r.Title
                                                                                                        select r).ToList <RelayServer.DataContext.GroupBox>();
                        catalogGroup.GroupBoxs = new System.Collections.Generic.List <RelayServer.Models.GroupBox>();
                        using (System.Collections.Generic.List <RelayServer.DataContext.GroupBox> .Enumerator enumerator2 = groupboxs.GetEnumerator())
                        {
                            while (enumerator2.MoveNext())
                            {
                                RelayServer.DataContext.GroupBox groupBox        = enumerator2.Current;
                                RelayServer.Models.GroupBox      catalogGroupBox = new RelayServer.Models.GroupBox();
                                System.Collections.Generic.List <RelayServer.DataContext.Brand> brands = (from t in ae.Brand
                                                                                                          where t.GroupBoxId == groupBox.GroupBoxId && t.Enable
                                                                                                          select t into r
                                                                                                          orderby r.NameAndFolder
                                                                                                          select r).ToList <RelayServer.DataContext.Brand>();
                                catalogGroupBox.Brands = new System.Collections.Generic.List <RelayServer.Models.Brand>();
                                using (System.Collections.Generic.List <RelayServer.DataContext.Brand> .Enumerator enumerator3 = brands.GetEnumerator())
                                {
                                    while (enumerator3.MoveNext())
                                    {
                                        RelayServer.DataContext.Brand brand        = enumerator3.Current;
                                        RelayServer.Models.Brand      catalogBrand = new RelayServer.Models.Brand();
                                        System.Collections.Generic.List <RelayServer.DataContext.Provider> providers = (from t in ae.Provider
                                                                                                                        where t.BrandId == brand.BrandId && t.Enable
                                                                                                                        select t into r
                                                                                                                        orderby r.Order
                                                                                                                        select r).ToList <RelayServer.DataContext.Provider>();
                                        catalogBrand.Providers = new System.Collections.Generic.List <RelayServer.Models.Provider>();
                                        using (System.Collections.Generic.List <RelayServer.DataContext.Provider> .Enumerator enumerator4 = providers.GetEnumerator())
                                        {
                                            while (enumerator4.MoveNext())
                                            {
                                                RelayServer.DataContext.Provider provider = enumerator4.Current;
                                                ProviderAccount provAcc = ae.ProviderAccount.FirstOrDefault((ProviderAccount t) => t.ProviderId == provider.ProviderId && t.Enable);
                                                System.Collections.Generic.List <RelayServer.Models.CommandFile> commandFiles = (from t in ae.CommandFile
                                                                                                                                 where t.ProviderId == (int?)provider.ProviderId
                                                                                                                                 select t into r
                                                                                                                                 select new RelayServer.Models.CommandFile
                                                {
                                                    FileName = r.FileName,
                                                    FileContent = r.FileContent
                                                }).ToList <RelayServer.Models.CommandFile>();
                                                System.Collections.Generic.List <RelayServer.Models.ProviderFile> providerFiles = (from t in ae.ProviderFile
                                                                                                                                   where t.ProviderId == (int?)provider.ProviderId
                                                                                                                                   select t into r
                                                                                                                                   select new RelayServer.Models.ProviderFile
                                                {
                                                    FileName = r.FileName,
                                                    FileExt = r.FileExt,
                                                    FileSize = (long)r.FileSize,
                                                    FileContent = r.FileContent
                                                }).ToList <RelayServer.Models.ProviderFile>();
                                                catalogBrand.Providers.Add(new RelayServer.Models.Provider
                                                {
                                                    Uri           = provider.Uri.Trim(),
                                                    IconPath      = provider.IconPath,
                                                    Title         = provider.Title,
                                                    Order         = (provider.Order ?? 0),
                                                    Commands      = provider.commandcontent,
                                                    Login         = ((provAcc != null) ? provAcc.Login.Trim() : string.Empty),
                                                    Password      = ((provAcc != null) ? provAcc.Password.Trim() : string.Empty),
                                                    CommandFiles  = commandFiles,
                                                    ProviderFiles = providerFiles
                                                });
                                            }
                                        }
                                        catalogBrand.NameAndFolder = brand.NameAndFolder;
                                        catalogBrand.IconPath      = brand.IconPath;
                                        catalogBrand.IconPath2     = brand.IconPath2;
                                        catalogBrand.IconPathImg   = brand.IconPathImg;
                                        catalogBrand.IconPath2Img  = brand.IconPath2Img;
                                        catalogBrand.Top           = (brand.Top ?? 0);
                                        catalogBrand.Left          = (brand.Left ?? 0);
                                        catalogBrand.Width         = (brand.Width ?? 0);
                                        catalogBrand.Height        = (brand.Height ?? 0);
                                        catalogBrand.BrandId       = brand.BrandId;
                                        catalogBrand.ButtonStyle   = brand.ButtonStyle;
                                        catalogBrand.MenuWindow    = brand.MenuWindow.Value;
                                        catalogGroupBox.Brands.Add(catalogBrand);
                                    }
                                }
                                catalogGroupBox.Left          = groupBox.Left.Value;
                                catalogGroupBox.Top           = groupBox.Top.Value;
                                catalogGroupBox.Width         = groupBox.Width.Value;
                                catalogGroupBox.Height        = groupBox.Height.Value;
                                catalogGroupBox.Title         = groupBox.Title;
                                catalogGroupBox.VisibleBorder = groupBox.VisibleBorder.Value;
                                catalogGroup.GroupBoxs.Add(catalogGroupBox);
                            }
                        }
                        catalogGroup.Name   = group.Name;
                        catalogGroup.Width  = group.Width.Value;
                        catalogGroup.Height = group.Height.Value;
                        catalogGroup.Order  = (group.Order ?? 0);
                        catalog.Groups.Add(catalogGroup);
                    }
                }
                buffer = StringZip.Zip(new JavaScriptSerializer
                {
                    MaxJsonLength = 2147483647
                }.Serialize(catalog));
            }
            return(buffer);
        }