Esempio n. 1
0
        public void init()
        {
            textBox1.Text = zyhm;
            fl            = new fymxlr();
            hisDBConn hdb    = new hisDBConn();
            string    zyhsql = "select zyh from ZY_BRRY where ZYHM = '" + zyhm.Trim() + "'";
            DataTable dt     = hdb.GetDataSet(zyhsql).Tables[0];

            if (dt.Rows.Count < 1)
            {
                MessageBox.Show("查询不到该病号的费用明细");
                return;
            }

            zyh = dt.Rows[0]["zyh"].ToString();

            string fymxsql = "  SELECT   f.yzxh as 'akc220',f.rowid as 'ykc610',  s.SFXM as 'yka111',s.SFMC as 'yka112',"
                             + "( case when fyxm = 2 or fyxm = 3 or fyxm = 4 or fyxm = 21 or fyxm = 22 or fyxm = 23  or fyxm = 24  then case when f.yplx = 1  or f.yplx = 3 or f.yplx = 0 or f.yplx = 2"
                             + "then(select distinct ISNULL( ybdm,sbdm) from yk_typk where yk_typk.ypxh = f.fyxh)  end ELSE(select distinct ISNULL( ybdm,sbdm)  from gy_ylsf where gy_ylsf.fyxh"
                             + "= f.fyxh )    END) as 'ake001',    "
                             + "( case when fyxm = 2 or fyxm = 3 or fyxm = 4 or fyxm = 21 or fyxm = 22 or fyxm = 23  or fyxm = 24 then case when f.yplx = 1  or f.yplx = 3 or f.yplx = 0 or f.yplx = 2"
                             + "then(select distinct fymc from yk_typk where yk_typk.ypxh = f.fyxh)  end ELSE(select distinct fymc from  gy_ylsf where gy_ylsf.fyxh"
                             + "= f.fyxh)    END) as 'ake002',"
                             + "( case when fyxm = 2 or fyxm = 3 or fyxm = 4 or fyxm = 21 or fyxm = 22 or fyxm = 23  or fyxm = 24 then case when f.yplx = 1  or f.yplx = 3 or f.yplx = 0 or f.yplx = 2"
                             + " then(select MESS from yk_typk where yk_typk.ypxh = f.fyxh)  end ELSE('')    END) as 'mess' ,"
                             + "'' as 'ake114','0' as 'aka185','' as 'yke230','' as 'yke231',"
                             + "( case when fyxm = 2 or fyxm = 3 or fyxm = 4 or fyxm = 21 or fyxm = 22 or fyxm = 23  or fyxm = 24  then case when f.yplx = 1  or f.yplx = 3 or f.yplx = 0 or f.yplx = 2"
                             + "then(select distinct sbdm from yk_typk where yk_typk.ypxh = f.fyxh)  end ELSE(select distinct sbdm from  gy_ylsf where gy_ylsf.fyxh"
                             + "= f.fyxh)    END) as 'ake005',f.FYMC as 'ake006' , f.FYSL as 'akc226',f.FYDJ as 'akc225', f.ZJJE as 'akc264',yc.CDMC as 'ykc611', '' as 'ykc615','' as 'aka074',"
                             + " '' as 'aka067' , '' as 'aka070','' as 'akc056','' as 'akc273' ,k.KSMC as 'aae386' ,CONVERT(varchar(12) , f.fyrq, 112 ) as 'akc221','" + aae011 + "' as 'aae011','' as 'aae036'"
                             + " FROM ZY_FYMX f join GY_SFXM s on s.SFXM = f.FYXM left join YK_CDDZ yc on yc.YPCD = f.YPCD  join GY_KSDM k on k.KSDM = f.FYKS  WHERE 1 = 1 AND(f.ZYH = '" + zyh + "')  ";

            mxdt = hdb.GetDataSet(fymxsql).Tables[0];

            Form2  frm  = new Form2(this);
            string path = System.AppDomain.CurrentDomain.BaseDirectory + "//dlwh.xml";

            frm.ReadXml(path);
            List <string> mesls = new List <string>();

            foreach (DataRow r in mxdt.Rows)
            {
                if (r["mess"].ToString() != "" && r["mess"] != null)
                {
                    mesls.Add(r["ykc610"].ToString());
                }
                foreach (var v in qj.dlwh)
                {
                    if (v.odlmc == r["yka112"].ToString())
                    {
                        if (v.dlmc != "-")
                        {
                            r["yka111"] = (from y in qj.yka111 where y.Value == v.dlmc select y.Key).ToList <string>()[0];
                            r["yka112"] = v.dlmc;
                        }
                    }
                }
                fymx fy   = new fymx();
                var  pros = fy.GetType().GetProperties();
                foreach (var p in pros)
                {
                    if (p.Name == "yka111")
                    {
                        if (r[p.Name].ToString().Length < 2)
                        {
                            p.SetValue(fy, "0" + r[p.Name].ToString().Trim(), null);
                            continue;
                        }
                    }
                    if (p.Name == "aae036")
                    {
                        p.SetValue(fy, DateTime.Now.ToString("yyyyMMdd"), null);
                        continue;
                    }
                    p.SetValue(fy, r[p.Name].ToString().Trim(), null);
                }
                fl.fyls.Add(fy);
            }
            dataGridView1.DataSource = mxdt;
            DBConn    db      = new DBConn();
            string    fyczsql = "select * from fymxjl where aac044 = '" + gx.aac044 + "'and id = " + str_id;
            DataTable dt2     = db.GetDataSet(fyczsql).Tables[0];

            if (dt2.Rows.Count != 0)
            {
                button1.Text = "费用明细回退"; return;
            }
            else
            {
                List <DataRow> lsd = new List <DataRow>();
                foreach (var l in mesls)
                {
                    DataRow      d  = mxdt.Select("ykc610 = " + l + "")[0];
                    DialogResult dr = MessageBox.Show(d["ake006"].ToString() + ",该药品为(" + d["mess"].ToString() + ")使用药品!是[可报销],否[自费]?", "提示:医保限制用药", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                    if (dr == DialogResult.Yes)
                    {
                        d["aka185"] = "1";
                    }
                }
            }
        }