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"; } } } }