linq用于获取两个字符串中的相同字符,匹配模糊查询-极品
//最难的一部分,可以与超说明书共享,其他超限部分的计算:下面这些是补充部分,把作用功效与典型病例合并,如果每一种疾病都无法被包含,则定义为违规
            var cx_qtcx = from aa in sjklj.病员信息大全
                          where aa.机构编号 == yybm && !(aa.限医保使用限制说明.Contains("支付不超过") || aa.限医保使用限制说明.Contains("二级"))
                          select aa;

            var cx_cxml = from aa in sjklj.超限项目
                          where aa.类别 == "超限"
                          select aa;

            var gl_cx = from aa in cx_qtcx
                        join
     bb in cx_cxml on aa.医药机构目录名称 equals bb.药品名称
                        select new
                        {
                            aa,
                            bb
                        };

            //错误的比较多,需要自己去删除不匹配的,超限部分,已有的限二级,加上不超过。。。月,再加上数据库表匹配(药品名称,获取每一个疾病,长度不足4个字符的取全部 超过的取前4个,
            //依次与数据库表中典型疾病或作用疗效中所有字符匹配,如果一个都匹配不上,则超限。超说明书类似,只是药品名称不同,取消限二级,限。。。月)
            foreach (var kk in gl_cx)
            {
                if (kk.aa.医药机构目录名称 == kk.bb.药品名称)
                {
                    string 疾病集 = kk.aa.疾病名称.Trim();
                    string jbdq = kk.bb.作用功效 + kk.bb.典型病例+kk.bb.限制条件;
                    // bool iswg = true;//初始化判断是否用药违规,默认违规
                    var cx = 疾病集.Intersect(jbdq);//查找两个字符串中的相同字符
                    string mn = string.Join("", cx);//相同字符全部整合到一起
                    if (mn == string.Empty)//超限目录表中不包含任何疾病,认为不可以治疗那种疾病,违规
                    {

渝公网安备 50011902000225号

渝ICP备18008233号-1