using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using SOH.Kernel; using EAS.Services; using SOH.BLL; using SOH.Entities; using SOH.Data; using SOH.Common; using System.Text.RegularExpressions; using SOH; using EAS.Loggers; using System.IO; namespace TiJianJieGuoGuanLi { [ModuleAttribute(ModuleID = "54926AA9-394F-418D-8681-2ACFCE8CBA3D", ModuleName = "医生检查结果录入")] public partial class frmYiShengJieGuoLuRu : SOH.Window.baseChildForm { private String strBm = ""; private string pathName = ""; private String strJcxmmcStr = ""; public frmYiShengJieGuoLuRu() { InitializeComponent(); } public frmYiShengJieGuoLuRu(String tm) { InitializeComponent(); tbxtm.Text = tm.ToString(); loadTm(); } private void Form1_Load(object sender, EventArgs e) { dgvtjbw.AutoGenerateColumns = false; dgvzdjg.AutoGenerateColumns = false; dgvjgwh.AutoGenerateColumns = false; dgvjcjg.AutoGenerateColumns = false; dgbqtks.AutoGenerateColumns = false; dgvqtksjcjg.AutoGenerateColumns = false; inityi(); } private void inityi() { //throw new NotImplementedException(); System.Configuration.Configuration conf = SOH.Configuration.LocalConfig.Config; #region 处理电子血压仪器 if (conf.AppSettings.Settings.AllKeys.Contains("DZXYY") && conf.AppSettings.Settings["DZXYY"].Value == "1") { string BaundRate = conf.AppSettings.Settings["DZXYY_BaundRate"].Value; string DataBits = conf.AppSettings.Settings["DZXYY_DataBits"].Value; string Parity = conf.AppSettings.Settings["DZXYY_Parity"].Value; string PortName = conf.AppSettings.Settings["DZXYY_PortName"].Value; string StopBits = conf.AppSettings.Settings["DZXYY_StopBits"].Value; try { sp_dzxy.BaudRate = int.Parse(BaundRate); } catch { MessageBox.Show("电子血压仪信参数没有设置,请联系管理员设置!"); } sp_dzxy.DataBits = int.Parse(DataBits); sp_dzxy.PortName = PortName; switch (StopBits) { case "None": sp_dzxy.StopBits = System.IO.Ports.StopBits.None; break; case "One": sp_dzxy.StopBits = System.IO.Ports.StopBits.One; break; case "OnePointFive": sp_dzxy.StopBits = System.IO.Ports.StopBits.OnePointFive; break; case "Two": sp_dzxy.StopBits = System.IO.Ports.StopBits.Two; break; } switch (Parity) { case "Even": sp_dzxy.Parity = System.IO.Ports.Parity.Even; break; case "Mark": sp_dzxy.Parity = System.IO.Ports.Parity.Mark; break; case "None": sp_dzxy.Parity = System.IO.Ports.Parity.None; break; case "Odd": sp_dzxy.Parity = System.IO.Ports.Parity.Odd; break; case "Space": sp_dzxy.Parity = System.IO.Ports.Parity.Space; break; } try { sp_dzxy.Open(); } catch (Exception ex) { MessageBox.Show("打开串口" + PortName + "失败" + ex.Message); } } #endregion #region 处理身高体重仪器 if (conf.AppSettings.Settings.AllKeys.Contains("SGTZY") && conf.AppSettings.Settings["SGTZY"].Value == "1") { string BaundRate = conf.AppSettings.Settings["SGTZY_BaundRate"].Value; string DataBits = conf.AppSettings.Settings["SGTZY_DataBits"].Value; string Parity = conf.AppSettings.Settings["SGTZY_Parity"].Value; string PortName = conf.AppSettings.Settings["SGTZY_PortName"].Value; string StopBits = conf.AppSettings.Settings["SGTZY_StopBits"].Value; try { sp_sgtz.BaudRate = int.Parse(BaundRate); } catch { MessageBox.Show("身高体重仪信参数没有设置,请联系管理员设置!"); } sp_sgtz.DataBits = int.Parse(DataBits); sp_sgtz.PortName = PortName; switch (StopBits) { case "None": sp_sgtz.StopBits = System.IO.Ports.StopBits.None; break; case "One": sp_sgtz.StopBits = System.IO.Ports.StopBits.One; break; case "OnePointFive": sp_sgtz.StopBits = System.IO.Ports.StopBits.OnePointFive; break; case "Two": sp_sgtz.StopBits = System.IO.Ports.StopBits.Two; break; } switch (Parity) { case "Even": sp_sgtz.Parity = System.IO.Ports.Parity.Even; break; case "Mark": sp_sgtz.Parity = System.IO.Ports.Parity.Mark; break; case "None": sp_sgtz.Parity = System.IO.Ports.Parity.None; break; case "Odd": sp_sgtz.Parity = System.IO.Ports.Parity.Odd; break; case "Space": sp_sgtz.Parity = System.IO.Ports.Parity.Space; break; } try { sp_sgtz.Open(); } catch (Exception ex) { MessageBox.Show("打开串口" + PortName + "失败" + ex.Message); } } #endregion //System.Configuration.Configuration cm = System.Configuration.ConfigurationManager.OpenExeConfiguration(AppDomain.CurrentDomain.BaseDirectory + "\\local.ext"); //string isOpen = cm.AppSettings.Settings["isOpenPaidui"].Value; var FenDianService = ServiceContainer.GetService(); FenDian fd = FenDianService.getFenDianById(Convert.ToInt32(LoginUser.yydm)); if (fd.isPaidui.ToString() == "1") { this.button3.Visible = true; } else { this.button3.Visible = false; } } //完成 private void button2_Click(object sender, EventArgs e) { DateTime dt = DateTime.Now; string NowTime = dt.ToString("HH:mm:ss"); if (dgvbks.SelectedRows[0].Cells["ztz"].Value.ToString() == "4") { MessageBox.Show("已经保存无法修改!"); return; } if (dgvbks.SelectedRows[0].Cells["ksbm"].Value.ToString() == "21") { if (pathName == "") { if (MessageBox.Show("没有选择心电图报告,是否现在上传?!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk) == DialogResult.Yes) { tabControl1.SelectTab(2); return; } } } ILogger logger = new TextLogger(); for (int i = 0; i < dgvjcjg.Rows.Count; i++) { String flag = dgvjcjg.Rows[i].Cells["flag"].Value.ToString(); if (flag.Equals("1")) { //1.更新体检结果表 t_tjjg tjjg = new t_tjjg(); tjjg.tm = Convert.ToInt32(tbxtm.Text); tjjg.xmbm = Convert.ToInt32(dgvjcjg.Rows[i].Cells["jcbm"].Value);//检查项目编码 tjjg.jg = dgvjcjg.Rows[i].Cells["zcjg"].Value.ToString();//正常结果 tjjg.dw = dgvjcjg.Rows[i].Cells["dw"].Value.ToString();//单位 tjjg.lx = 0; tjjg.cksx = dgvjcjg.Rows[i].Cells["cksx"].Value.ToString();//参考上限 tjjg.ckxx = dgvjcjg.Rows[i].Cells["ckxx"].Value.ToString();//参考下限 tjjg.cksx = tjjg.cksx.Equals("") ? "0" : tjjg.cksx; tjjg.ckxx = tjjg.ckxx.Equals("") ? "0" : tjjg.ckxx; tjjg.czy = LoginUser.username; var vservice = ServiceContainer.GetService(); vservice.Update(tjjg); //2.更新体检登记项目表 t_tempdjxm tempdjxm = new t_tempdjxm(); tempdjxm.tm = Convert.ToInt32(tbxtm.Text); tempdjxm.zhbm = Convert.ToInt32(dgvjcjg.Rows[i].Cells["zhbm"].Value);//组合项目编码 tempdjxm.djrq = dt;//登记日期 tempdjxm.djsj = NowTime;//登记时间 tempdjxm.ztz = 4;//状态码 tempdjxm.czy = LoginUser.username;//操作员 tempdjxm.upflag = 1; tempdjxm.operid = ""; tempdjxm.ksbm = Convert.ToInt16(dgvbks.SelectedRows[0].Cells["ksbm"].Value);//科室编码 var tempvs = ServiceContainer.GetService(); tempvs.updateZtz(tempdjxm); try { logger.Info("检查项目-完成-检查结果更新:" + "条码号:" + tjjg.tm + " 项目编码" + tjjg.xmbm + " 结果:" + tjjg.jg + " 操作员:" + tjjg.czy + " 登记时间" + tempdjxm.djsj + " 更新状态码:" + tempdjxm.ztz); } catch { } } else if (flag.Equals("3")) { t_tjjd tjjd = new t_tjjd();//分组的综合结果 tjjd.tm = Convert.ToInt32(tbxtm.Text);//条码号 tjjd.ksbm = Convert.ToInt16(dgvbks.SelectedRows[0].Cells["ksbm"].Value);//科室编码 tjjd.zdjg = dgvjcjg.Rows[i].Cells["zcjg"].Value.ToString().Trim();//主要诊断 tjjd.zdys = LoginUser.xm;//姓名 tjjd.czy = LoginUser.username;//操作员 tjjd.djsj = DateTime.Now.ToString("yyyy-MM-dd");//登记时间 if (pathName != "") { //将图像读入到字节数组 System.IO.FileStream fs = new System.IO.FileStream(pathName, System.IO.FileMode.Open, System.IO.FileAccess.Read); byte[] buffByte = new byte[fs.Length]; fs.Read(buffByte, 0, (int)fs.Length); fs.Close(); fs = null; tjjd.image = buffByte; } var vservice = ServiceContainer.GetService(); vservice.Update(tjjd, true, short.Parse(LoginUser.yydm)); try { logger.Info("科室体检结果-完成-检查结果更新:" + " 科室编码" + tjjd.ksbm + " 主要诊断" + tjjd.zdjg + " 条码号:" + tjjd.tm + " 登记时间:" + tjjd.djsj + " 操作员:" + tjjd.czy); } catch { } } } dgvbks.SelectedRows[0].Cells["ztz"].Value = "4"; dgvbks.SelectedRows[0].DefaultCellStyle.BackColor = Color.FromArgb(128, 255, 128); MessageBox.Show("保存完成!"); pathName = ""; tbxtm.Focus(); } private void textBox1_TextChanged(object sender, EventArgs e) { //if() } private void dgvjcjg_SelectionChanged(object sender, EventArgs e) { loadJcjg(); } //load检查结果 private void loadJcjg() { if (dgvbks.SelectedRows.Count > 0) { int ksbm = Convert.ToInt32(dgvbks.SelectedRows[0].Cells["ksbm"].Value);//科室编码 var vservice = ServiceContainer.GetService(); String dataXb = vservice.getXb(Convert.ToInt32(strBm)); DataTable dtXb = Newtonsoft.Json.JsonConvert.DeserializeObject(dataXb, typeof(DataTable)) as DataTable; int xb = Convert.ToInt32(dtXb.Rows[0]["xb"]); List data = vservice.getZhxm(ksbm, strBm, xb); String tm = tbxtm.Text; var tjjdservice = ServiceContainer.GetService(); t_tjjd tjjd = tjjdservice.getTjjd(tm, ksbm); if (tjjd == null) { t_jglr zjg = new t_jglr(); zjg.xmmc = "\"" + dgvbks.SelectedRows[0].Cells["ksmc"].Value + "\"体检结果"; zjg.dw = ""; zjg.zcjg = dgvbks.SelectedRows[0].Cells["kszdjg"].Value.ToString(); zjg.defzcjg = dgvbks.SelectedRows[0].Cells["kszdjg"].Value.ToString(); zjg.flag = 3; zjg.jcbm = -2; data.Add(zjg); t_jglr zjys = new t_jglr(); zjys.xmmc = "\"" + dgvbks.SelectedRows[0].Cells["ksmc"].Value + "\"体检医师"; zjys.dw = ""; zjys.zcjg = LoginUser.xm; zjys.flag = 4; data.Add(zjys); } else { try { System.IO.MemoryStream ms = new System.IO.MemoryStream(tjjd.image); pictureBox1.Image = Image.FromStream(ms); } catch { } t_jglr zjg = new t_jglr(); zjg.xmmc = "\"" + dgvbks.SelectedRows[0].Cells["ksmc"].Value + "\"体检结果"; zjg.dw = ""; zjg.zcjg = tjjd.zdjg; zjg.defzcjg = ""; zjg.flag = 3; zjg.jcbm = -2; data.Add(zjg); t_jglr zjys = new t_jglr(); zjys.xmmc = "\"" + dgvbks.SelectedRows[0].Cells["ksmc"].Value + "\"体检医师"; zjys.dw = ""; zjys.zcjg = tjjd.zdys; zjys.flag = 4; data.Add(zjys); } dgvjcjg.DataSource = data; dgvjcjg.Refresh(); dgvjcjg.ClearSelection(); String str = tjjdservice.getAllTjjd(tm, ksbm); DataTable dt = Newtonsoft.Json.JsonConvert.DeserializeObject(str, typeof(DataTable)) as DataTable; tbxqtksyczd.Text = ""; for (int i = 0; i < dt.Rows.Count; i++) { tbxqtksyczd.Text = tbxqtksyczd.Text + dt.Rows[i]["key"] + ":" + Environment.NewLine + dt.Rows[i]["value"] + Environment.NewLine; } foreach (DataGridViewRow item in dgvjcjg.Rows) { String flag = item.Cells["flag"].Value.ToString(); if (flag.Equals("2")) { item.DefaultCellStyle.BackColor = Color.FromArgb(255, 0, 255); } else if (flag.Equals("3") || flag.Equals("4")) { item.DefaultCellStyle.BackColor = Color.FromArgb(128, 255, 128); } try { decimal value = Convert.ToDecimal(item.Cells["zcjg"].Value.ToString()); if (value > Convert.ToDecimal(item.Cells["cksx"].Value) || value < Convert.ToDecimal(item.Cells["ckxx"].Value)) { item.Cells["zcjg"].Style.BackColor = Color.FromArgb(255, 128, 128); } else { item.Cells["zcjg"].Style.BackColor = Color.White; } } catch { } } } } private void loadqtksJcjg() { if (dgbqtks.SelectedRows.Count > 0) { int ksbm = Convert.ToInt32(dgbqtks.SelectedRows[0].Cells["ksbmqt"].Value); var vservice = ServiceContainer.GetService(); String dataXb = vservice.getXb(Convert.ToInt32(strBm)); DataTable dtXb = Newtonsoft.Json.JsonConvert.DeserializeObject(dataXb, typeof(DataTable)) as DataTable; int xb = Convert.ToInt32(dtXb.Rows[0]["xb"]); List data = vservice.getZhxm(ksbm, strBm, xb); var tjjdservice = ServiceContainer.GetService(); String tm = tbxtm.Text; t_tjjd tjjd = tjjdservice.getTjjd(tm, ksbm); if (tjjd == null) { t_jglr zjg = new t_jglr(); zjg.xmmc = "\"" + dgbqtks.SelectedRows[0].Cells["ksmcqt"].Value + "\"体检结果"; zjg.dw = ""; zjg.zcjg = ""; zjg.flag = 3; zjg.jcbm = -2; data.Add(zjg); t_jglr zjys = new t_jglr(); zjys.xmmc = "\"" + dgbqtks.SelectedRows[0].Cells["ksmcqt"].Value + "\"体检医师"; zjys.dw = ""; zjys.zcjg = LoginUser.username; zjys.flag = 4; data.Add(zjys); } else { t_jglr zjg = new t_jglr(); zjg.xmmc = "\"" + dgbqtks.SelectedRows[0].Cells["ksmcqt"].Value + "\"体检结果"; zjg.dw = ""; zjg.zcjg = tjjd.zdjg; zjg.flag = 3; zjg.jcbm = -2; data.Add(zjg); t_jglr zjys = new t_jglr(); zjys.xmmc = "\"" + dgbqtks.SelectedRows[0].Cells["ksmcqt"].Value + "\"体检医师"; zjys.dw = ""; zjys.zcjg = tjjd.zdys; zjys.flag = 4; data.Add(zjys); } dgvqtksjcjg.DataSource = data; dgvqtksjcjg.Refresh(); dgvqtksjcjg.ClearSelection(); foreach (DataGridViewRow item in dgvqtksjcjg.Rows) { String flag = item.Cells["flagqt"].Value.ToString(); if (flag.Equals("2")) { item.DefaultCellStyle.BackColor = Color.FromArgb(255, 0, 255); } else if (flag.Equals("3") || flag.Equals("4")) { item.DefaultCellStyle.BackColor = Color.FromArgb(128, 255, 128); } try { decimal value = Convert.ToDecimal(item.Cells["zcjgqt"].Value.ToString()); if (value > Convert.ToDecimal(item.Cells["cksxqt"].Value) || value < Convert.ToDecimal(item.Cells["ckxxqt"].Value)) { item.Cells["zcjgqt"].Style.BackColor = Color.FromArgb(255, 0, 255); } else { item.Cells["zcjgqt"].Style.BackColor = Color.White; } } catch { } } } } private void dgvjcjg_SelectionChanged_1(object sender, EventArgs e) { if (dgvjcjg.SelectedRows.Count > 0) { if (!dgvjcjg.SelectedRows[0].Cells["flag"].Value.ToString().Equals("1") && !dgvjcjg.SelectedRows[0].Cells["flag"].Value.ToString().Equals("3")) { dgvjcjg.SelectedRows[0].Selected = false; return; } int jcbm = Convert.ToInt32(dgvjcjg.SelectedRows[0].Cells["jcbm"].Value); List data; List dataKszd; if (jcbm != -2) { var vservice = ServiceContainer.GetService(); data = vservice.getAllBwwh(jcbm); var vserviceKs = ServiceContainer.GetService(); dataKszd = vserviceKs.GetzdjgByjcxmID(jcbm); dgvtjbw.DataSource = data; dgvtjbw.Refresh(); dgvzdjg.DataSource = dataKszd; dgvzdjg.Refresh(); } else { var vserviceKs = ServiceContainer.GetService(); String text = vserviceKs.getAllJcxmStr(Convert.ToInt16(dgvbks.SelectedRows[0].Cells["ksbm"].Value)); DataTable dt = Newtonsoft.Json.JsonConvert.DeserializeObject(text, typeof(DataTable)) as DataTable; dgvtjbw.DataSource = null; dgvtjbw.Refresh(); dgvzdjg.DataSource = dt; dgvzdjg.Refresh(); } dgvtjbw.ClearSelection(); dgvzdjg.ClearSelection(); dgvjgwh.DataSource = null; tbxzdjg.Text = dgvjcjg.SelectedRows[0].Cells["zcjg"].Value.ToString(); tbxzdjg.Focus(); } } private void dgvzdjg_SelectionChanged(object sender, EventArgs e) { if (dgvzdjg.SelectedRows.Count > 0) { if (dgvjcjg.SelectedRows.Count <= 0) { return; } int jcbm = Convert.ToInt32(dgvjcjg.SelectedRows[0].Cells["jcbm"].Value); int zdxh = Convert.ToInt32(dgvzdjg.SelectedRows[0].Cells["zdxh"].Value); string zdjg = dgvzdjg.SelectedRows[0].Cells["zd"].Value.ToString().Trim(); string k = zdjg.Substring(zdjg.Length - 1, 1); if (k.Equals("史")) { strJcxmmcStr = zdjg + ":"; } else { strJcxmmcStr = ""; } String dataStr; if (jcbm == -2) { var vservice = ServiceContainer.GetService(); dataStr = vservice.GetzdjgStrByKs(zdxh); } else { var vservice = ServiceContainer.GetService(); dataStr = vservice.GetAllJgwhStr(zdxh); } dgvjgwh.DataSource = Newtonsoft.Json.JsonConvert.DeserializeObject(dataStr, typeof(DataTable)) as DataTable; ; dgvjgwh.ClearSelection(); dgvjgwh.Refresh(); //dgvjgwh.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); dgvjgwh.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCellsExceptHeaders); } } private void dgvjgwh_CellClick(object sender, DataGridViewCellEventArgs e) { if (dgvjgwh.SelectedRows.Count > 0) { if (dgvjgwh.SelectedRows[0].Cells["jgxz"].Value == null || dgvjgwh.SelectedRows[0].Cells["jgxz"].Value.Equals(false)) { if (tbxzdjg.Text.IndexOf(dgvjgwh.SelectedRows[0].Cells["jcjg"].Value.ToString()) != -1) { if (MessageBox.Show("体检项目中已经包括所选项目,是否添加?", "提示", MessageBoxButtons.YesNo) == DialogResult.No) { return; } } } else { dgvjgwh.SelectedRows[0].Cells["jgxz"].Value = false; return; } String zdjg = ""; for (int i = 0; i < dgvtjbw.Rows.Count; i++) { if (dgvtjbw.Rows[i].Cells["xz"].Value != null && dgvtjbw.Rows[i].Cells["xz"].Value.Equals(true)) { zdjg = zdjg + " " + dgvtjbw.Rows[i].Cells["tjbw"].Value; } } zdjg += " " + dgvjgwh.SelectedRows[0].Cells["jcjg"].Value; if (tbxzdjg.Text.Equals(dgvjcjg.SelectedRows[0].Cells["zcjg2"].Value == null ? "" : dgvjcjg.SelectedRows[0].Cells["zcjg2"].Value.ToString())) { tbxzdjg.Text = ""; } if (strJcxmmcStr != "") { tbxzdjg.Text = tbxzdjg.Text + strJcxmmcStr + zdjg + "\r\n"; } else { tbxzdjg.Text = tbxzdjg.Text + zdjg + "\r\n"; } dgvjgwh.SelectedRows[0].Cells["jgxz"].Value = true; } } private void tbxzdjg_TextChanged(object sender, EventArgs e) { if (dgvjcjg.SelectedRows.Count > 0) { dgvjcjg.SelectedRows[0].Cells["zcjg"].Value = tbxzdjg.Text; if (dgvbks.SelectedRows[0].Cells["ksbm"].Value.ToString().Equals("39")) { double shengao = -1; double tizhong = -1; for (int i = 0; i < dgvjcjg.Rows.Count; i++) { try { if (dgvjcjg.Rows[i].Cells["jcbm"].Value.ToString().Equals("1")) { shengao = Convert.ToDouble(dgvjcjg.Rows[i].Cells["zcjg"].Value); } if (dgvjcjg.Rows[i].Cells["jcbm"].Value.ToString().Equals("2")) { tizhong = Convert.ToDouble(dgvjcjg.Rows[i].Cells["zcjg"].Value); } if (dgvjcjg.Rows[i].Cells["jcbm"].Value.ToString().Equals("3903")) { if (tizhong > 0 && shengao > 0) { dgvjcjg.Rows[i].Cells["zcjg"].Value = (tizhong / ((shengao / 100) * (shengao / 100))).ToString("0.00"); try { decimal cksx = Convert.ToDecimal(dgvjcjg.Rows[i].Cells["cksx"].Value); decimal ckxx = Convert.ToDecimal(dgvjcjg.Rows[i].Cells["ckxx"].Value); if (cksx != ckxx) { if (Convert.ToDecimal(dgvjcjg.Rows[i].Cells["zcjg"].Value) > cksx || Convert.ToDecimal(dgvjcjg.Rows[i].Cells["zcjg"].Value) < ckxx) { dgvjcjg.Rows[i].Cells["zcjg"].Style.BackColor = Color.FromArgb(255, 0, 255); } else { dgvjcjg.Rows[i].Cells["zcjg"].Style.BackColor = Color.White; } } } catch { } } } } catch (Exception ex) { } } } if (dgvjcjg.SelectedRows[0].Cells["cksx"].Value != null && dgvjcjg.SelectedRows[0].Cells["ckxx"].Value != null) { try { decimal cksx = Convert.ToDecimal(dgvjcjg.SelectedRows[0].Cells["cksx"].Value); decimal ckxx = Convert.ToDecimal(dgvjcjg.SelectedRows[0].Cells["ckxx"].Value); if (cksx == ckxx) { return; } if (Convert.ToDecimal(tbxzdjg.Text) > cksx || Convert.ToDecimal(tbxzdjg.Text) < ckxx) { dgvjcjg.SelectedRows[0].Cells["zcjg"].Style.BackColor = Color.FromArgb(255, 0, 255); } else { dgvjcjg.SelectedRows[0].Cells["zcjg"].Style.BackColor = Color.White; } } catch { } } } } private void button1_Click(object sender, EventArgs e) { DateTime dt = DateTime.Now; string NowTime = dt.ToString("HH:mm:ss"); if (dgvbks.SelectedRows[0].Cells["ztz"].Value.ToString() == "4") { MessageBox.Show("已经保存无法修改!"); return; } if (dgvbks.SelectedRows[0].Cells["ksbm"].Value.ToString() == "21") { if (pathName == "") { if (MessageBox.Show("没有选择心电图报告,是否现在上传?!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk) == DialogResult.Yes) { tabControl1.SelectTab(2); return; } } } ILogger logger = new TextLogger(); for (int i = 0; i < dgvjcjg.Rows.Count; i++) { String flag = dgvjcjg.Rows[i].Cells["flag"].Value.ToString(); if (flag.Equals("1"))//检查项目 { t_tjjg tjjg = new t_tjjg();//体检结果 临时保存 tjjg.tm = Convert.ToInt32(tbxtm.Text);//条码号 tjjg.xmbm = Convert.ToInt32(dgvjcjg.Rows[i].Cells["jcbm"].Value);//项目编码 tjjg.jg = dgvjcjg.Rows[i].Cells["zcjg"].Value.ToString();//结果 tjjg.dw = dgvjcjg.Rows[i].Cells["dw"].Value.ToString();//单位 tjjg.lx = 0;//类型 tjjg.cksx = dgvjcjg.Rows[i].Cells["cksx"].Value.ToString();//参考上限 tjjg.ckxx = dgvjcjg.Rows[i].Cells["ckxx"].Value.ToString();//参考下限 tjjg.cksx = tjjg.cksx.Equals("") ? "0" : tjjg.cksx; tjjg.ckxx = tjjg.ckxx.Equals("") ? "0" : tjjg.ckxx; tjjg.czy = LoginUser.username;//操作员 var vservice = ServiceContainer.GetService(); vservice.Update(tjjg); t_tempdjxm tempdjxm = new t_tempdjxm(); tempdjxm.tm = Convert.ToInt32(tbxtm.Text); tempdjxm.zhbm = Convert.ToInt32(dgvjcjg.Rows[i].Cells["zhbm"].Value);//组合编码 tempdjxm.djrq = dt; tempdjxm.djsj = NowTime; tempdjxm.ztz = 1; tempdjxm.czy = LoginUser.username; tempdjxm.upflag = 1; tempdjxm.ksbm = Convert.ToInt16(dgvbks.SelectedRows[0].Cells["ksbm"].Value); tempdjxm.operid = ""; var tempvs = ServiceContainer.GetService(); tempvs.updateZtz(tempdjxm); try { logger.Info("检查项目-临时保存-检查结果更新:" + "条码号:" + tjjg.tm + " 项目编码" + tjjg.xmbm + " 结果:" + tjjg.jg + " 操作员:" + tjjg.czy + " 更新状态码:" + tempdjxm.ztz); } catch { } } else if (flag.Equals("3"))//科室体检结果 { t_tjjd tjjd = new t_tjjd(); tjjd.tm = Convert.ToInt32(tbxtm.Text); tjjd.ksbm = Convert.ToInt16(dgvbks.SelectedRows[0].Cells["ksbm"].Value); tjjd.zdjg = dgvjcjg.Rows[i].Cells["zcjg"].Value.ToString().Trim(); tjjd.zdys = LoginUser.xm; tjjd.czy = LoginUser.username; tjjd.djsj = DateTime.Now.ToString("yyyy-MM-dd"); if (pathName != "") { //将图像读入到字节数组 System.IO.FileStream fs = new System.IO.FileStream(pathName, System.IO.FileMode.Open, System.IO.FileAccess.Read); byte[] buffByte = new byte[fs.Length]; fs.Read(buffByte, 0, (int)fs.Length); fs.Close(); fs = null; tjjd.image = buffByte; } var vservice = ServiceContainer.GetService(); vservice.Update(tjjd, false, short.Parse(LoginUser.yydm)); try { logger.Info("科室体检结果-临时保存-检查结果更新:" + " 科室编码" + tjjd.ksbm + " 主要诊断" + tjjd.zdjg + "条码号:" + tjjd.tm + " 登记时间:" + tjjd.djsj + " 操作员:" + tjjd.czy); } catch { } } } MessageBox.Show("临时保存完成!"); dgvbks.SelectedRows[0].Cells["ztz"].Value = "1"; dgvbks.SelectedRows[0].DefaultCellStyle.BackColor = Color.FromArgb(255, 0, 255); logger.Info("flag: " + flag + " 已经修改状态:" + dgvbks.SelectedRows[0].Cells[0] + " 为临时保存 状态值ztz为" + dgvbks.SelectedRows[0].Cells["ztz"].Value); pathName = ""; tbxtm.Focus(); } private void loadTm() { String bm = tbxtm.Text; strBm = bm; var ttservice = ServiceContainer.GetService(); int tm = -999; try { tm = Convert.ToInt32(bm); } catch { MessageBox.Show("条码输入错误!"); return; } t_ttgzb ttgzb = ttservice.GetModelBytm(tm); if (ttgzb == null) { var grservice = ServiceContainer.GetService(); t_grgzb grgzb = grservice.GetGrgzbByTm(Convert.ToInt32(bm)); if (grgzb == null) { return; } lblxm.Text = grgzb.xm; lblxb.Text = grgzb.xb == 0 ? "男" : "女"; lblnl.Text = grgzb.nl.ToString(); lblhyzk.Text = grgzb.hyzk == 0 ? "未婚" : grgzb.hyzk == 1 ? "已婚" : "不限"; try { System.IO.MemoryStream ms = new System.IO.MemoryStream(grgzb.image); pic_zp.Image = Image.FromStream(ms); } catch { } } else { try { System.IO.MemoryStream ms = new System.IO.MemoryStream(ttgzb.image); pic_zp.Image = Image.FromStream(ms); } catch { } lblxm.Text = ttgzb.xm; lblxb.Text = ttgzb.xb == 0 ? "男" : "女"; lblnl.Text = ttgzb.nl.ToString(); lblhyzk.Text = ttgzb.hyzk1.ToString(); } if (sp_sgtz.IsOpen) { byte[] bs = new byte[7]; bs[0] = 2; bs[6] = 3; bs[1] = 0x32; bs[3] = 0x3b; bs[4] = 0x3b; if (lblxb.Text == "男") { bs[2] = 0x34; bs[5] = 0xdc; sp_sgtz.Write(bs, 0, 7); } else if (lblxb.Text == "女") { bs[2] = 0x35; bs[5] = 0xdd; sp_sgtz.Write(bs, 0, 7); } } var vservice = ServiceContainer.GetService(); String data = vservice.getBenKeShi(bm, LoginUser.username); String qitadata = vservice.getQiTaKeShi(bm, LoginUser.username); DataTable dt = Newtonsoft.Json.JsonConvert.DeserializeObject(data, typeof(DataTable)) as DataTable; dgvbks.DataSource = dt; dgvbks.Refresh(); DataTable dtqt = Newtonsoft.Json.JsonConvert.DeserializeObject(qitadata, typeof(DataTable)) as DataTable; dgbqtks.DataSource = dtqt; for (int i = 0; i < dgvbks.RowCount; i++) { if (dgvbks.Rows[i].Cells["ztz"].Value.ToString() == "1") { dgvbks.Rows[i].DefaultCellStyle.BackColor = Color.FromArgb(255, 0, 255); ; } else if (dgvbks.Rows[i].Cells["ztz"].Value.ToString() == "4") { dgvbks.Rows[i].DefaultCellStyle.BackColor = Color.FromArgb(128, 255, 128); } } for (int i = 0; i < dgbqtks.RowCount; i++) { if (dgbqtks.Rows[i].Cells["ztzqt"].Value.ToString() == "1") { dgbqtks.Rows[i].DefaultCellStyle.BackColor = Color.FromArgb(255, 0, 255); } else if (dgbqtks.Rows[i].Cells["ztzqt"].Value.ToString() == "4") { dgbqtks.Rows[i].DefaultCellStyle.BackColor = Color.FromArgb(128, 255, 128); } } dgbqtks.Refresh(); loadJcjg(); //System.Configuration.Configuration cm = System.Configuration.ConfigurationManager.OpenExeConfiguration(AppDomain.CurrentDomain.BaseDirectory + "\\local.ext"); //string isOpen = cm.AppSettings.Settings["isOpenPaidui"].Value; var FenDianService = ServiceContainer.GetService(); FenDian fd = FenDianService.getFenDianById(Convert.ToInt32(LoginUser.yydm)); if (fd.isPaidui.ToString() == "1") { kstj(tm); } } private void kstj(int tm) { //throw new NotImplementedException(); string ksid = "0"; try { ksid = SOH.Configuration.LocalConfig.Config.AppSettings.Settings["wlks"].Value; } catch (Exception ex) { EAS.Loggers.Logger.Warn(ex.Message); } var vser = ServiceContainer.GetService(); vser.kstj(tm, ksid); } private void tbxtm_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (char)13) { loadTm(); } } private void dgvjcjg_KeyPress(object sender, KeyPressEventArgs e) { if (dgvjcjg.SelectedRows.Count <= 0) { return; } else { int selectIndex = dgvjcjg.SelectedRows[0].Index; if (selectIndex >= dgvjcjg.Rows.Count) { return; } else { selectIndex++; for (int i = selectIndex; i < dgvjcjg.Rows.Count; i++) { if (dgvjcjg.Rows[i].Cells["flag"].Value.Equals("1") || dgvjcjg.Rows[i].Cells["flag"].Value.Equals("4")) { i++; } else { dgvjcjg.Rows[i].Cells["zcjg"].Selected = true; break; } } } } } private void dgvjcjg_KeyPress(object sender, KeyEventArgs e) { } private void dgvjcjg_KeyPress(object sender, PreviewKeyDownEventArgs e) { } private void dgbqtks_SelectionChanged(object sender, EventArgs e) { loadqtksJcjg(); } private void tbxzdjg_KeyPress(object sender, KeyPressEventArgs e) { } private void tbxzdjg_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode.ToString().Equals("F1")) { if (dgvjcjg.SelectedRows.Count <= 0) { return; } else { int selectIndex = dgvjcjg.SelectedRows[0].Index; if (selectIndex >= dgvjcjg.Rows.Count) { return; } else { selectIndex++; for (int i = selectIndex; i < dgvjcjg.Rows.Count; i++) { if (dgvjcjg.Rows[i].Cells["flag"].Value.ToString().Equals("2") || dgvjcjg.Rows[i].Cells["flag"].Value.ToString().Equals("4")) { i++; } else { dgvjcjg.Rows[i].Cells["zcjg"].Selected = true; tbxzdjg.Text = ""; break; } } } } } } private void dgvqtksjcjg_CellClick(object sender, DataGridViewCellEventArgs e) { if (dgvqtksjcjg.SelectedRows.Count > 0) { tbxqtjcjg.Text = dgvqtksjcjg.SelectedRows[0].Cells["zcjgqt"].Value.ToString(); } } string xdsj = ""; private void sp_dzxy_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { int readcount = sp_dzxy.BytesToRead; while (readcount > 0) { byte[] bs = new byte[readcount]; sp_dzxy.Read(bs, 0, readcount); xdsj += System.Text.Encoding.ASCII.GetString(bs); readcount = sp_dzxy.BytesToRead; } if (xdsj.EndsWith("\u000d")) clxd(); } private void clxd() { int gyxmbh = 0; int dyxmbh = 0; int xlbh = 0; ; System.Configuration.Configuration conf = SOH.Configuration.LocalConfig.Config; if (conf.AppSettings.Settings.AllKeys.Contains("DZXYY_SSY")) { int.TryParse(conf.AppSettings.Settings["DZXYY_SSY"].Value, out gyxmbh); } if (conf.AppSettings.Settings.AllKeys.Contains("DZXYY_SZY")) { int.TryParse(conf.AppSettings.Settings["DZXYY_SZY"].Value, out dyxmbh); } if (conf.AppSettings.Settings.AllKeys.Contains("DZXYY_XL")) { int.TryParse(conf.AppSettings.Settings["DZXYY_XL"].Value, out xlbh); } string sj = xdsj; xdsj = ""; if (sj.Length != 59) return; string gy = int.Parse(sj.Substring(41, 3)).ToString(); string dy = int.Parse(sj.Substring(49, 3)).ToString(); string xl = int.Parse(sj.Substring(53, 3)).ToString(); List jg = dgvjcjg.DataSource as List; if (jg == null) return; var jggy = jg.FirstOrDefault(t => t.jcbm == gyxmbh && gyxmbh != 0); if (jggy != null) { jggy.zcjg = gy; } var jgdy = jg.FirstOrDefault(t => t.jcbm == dyxmbh && dyxmbh != 0); if (jgdy != null) { jgdy.zcjg = dy; } var jgxl = jg.FirstOrDefault(t => t.jcbm == xlbh && xlbh != 0); if (jgxl != null) { jgxl.zcjg = xl; } CrossDelegate dl = new CrossDelegate(shuaxin); //string text = "test"; this.BeginInvoke(dl); } private void frmYiShengJieGuoLuRu_FormClosing(object sender, FormClosingEventArgs e) { if (sp_dzxy.IsOpen) sp_dzxy.Close(); if (sp_sgtz.IsOpen) sp_sgtz.Close(); } private void shuaxin() { dgvjcjg.Refresh(); } public delegate void CrossDelegate(); string sgtz = ""; private void sp_sgtz_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { if (sgtz == "") { MessageBox.Show("开始测量"); } else { MessageBox.Show("测量结束"); } int readcount = sp_sgtz.BytesToRead; while (readcount > 0) { byte[] bs = new byte[readcount]; sp_sgtz.Read(bs, 0, readcount); sgtz += System.Text.Encoding.GetEncoding("GB2312").GetString(bs); readcount = sp_sgtz.BytesToRead; } if (sgtz.EndsWith("**********本次测量完毕**********\r\n\r\n")) //clsgtz(); zbclsgtz(); } private void zbclsgtz() { int sgbh = 0; int tzbh = 0; int bmibh = 0; //德州额外增加 int lxtzbh = 0; //理想体重 编码 int tzflbh = 0; //体脂肪率 编码 int nzzfdjbh = 0; //内脏脂肪等级 编码 int tsflbh = 0; //体水份率 编码 int jrlbh = 0; //肌肉量 编码 int tdglbh = 0; //推定骨量 编码 int jcdxbh = 0; //基础代谢 编码 int zsyydbh = 0; //最适宜运动 编码 int rxnlbh = 0; //日需能量 编码 int phyybh = 0; //平衡营养 编码 int jkzsbh = 0; //健康指数 编码 System.Configuration.Configuration conf = SOH.Configuration.LocalConfig.Config; if (conf.AppSettings.Settings.AllKeys.Contains("SGTZY_SG")) { int.TryParse(conf.AppSettings.Settings["SGTZY_SG"].Value, out sgbh); } if (conf.AppSettings.Settings.AllKeys.Contains("SGTZY_TZ")) { int.TryParse(conf.AppSettings.Settings["SGTZY_TZ"].Value, out tzbh); } if (conf.AppSettings.Settings.AllKeys.Contains("SGTZY_TZZS")) { int.TryParse(conf.AppSettings.Settings["SGTZY_TZZS"].Value, out bmibh); } //德州额外增加 if (conf.AppSettings.Settings.AllKeys.Contains("SGTZY_LXTZ")) { int.TryParse(conf.AppSettings.Settings["SGTZY_LXTZ"].Value, out lxtzbh); } if (conf.AppSettings.Settings.AllKeys.Contains("SGTZY_TZFL")) { int.TryParse(conf.AppSettings.Settings["SGTZY_TZFL"].Value, out tzflbh); } if (conf.AppSettings.Settings.AllKeys.Contains("SGTZY_NZZFDJ")) { int.TryParse(conf.AppSettings.Settings["SGTZY_NZZFDJ"].Value, out nzzfdjbh); } if (conf.AppSettings.Settings.AllKeys.Contains("SGTZY_TSFL")) { int.TryParse(conf.AppSettings.Settings["SGTZY_TSFL"].Value, out tsflbh); } if (conf.AppSettings.Settings.AllKeys.Contains("SGTZY_JRL")) { int.TryParse(conf.AppSettings.Settings["SGTZY_JRL"].Value, out jrlbh); } if (conf.AppSettings.Settings.AllKeys.Contains("SGTZY_TDGL")) { int.TryParse(conf.AppSettings.Settings["SGTZY_TDGL"].Value, out tdglbh); } if (conf.AppSettings.Settings.AllKeys.Contains("SGTZY_JCDX")) { int.TryParse(conf.AppSettings.Settings["SGTZY_JCDX"].Value, out jcdxbh); } if (conf.AppSettings.Settings.AllKeys.Contains("SGTZY_ZSYYD")) { int.TryParse(conf.AppSettings.Settings["SGTZY_ZSYYD"].Value, out zsyydbh); } if (conf.AppSettings.Settings.AllKeys.Contains("SGTZY_RXNL")) { int.TryParse(conf.AppSettings.Settings["SGTZY_RXNL"].Value, out rxnlbh); } if (conf.AppSettings.Settings.AllKeys.Contains("SGTZY_PHYY")) { int.TryParse(conf.AppSettings.Settings["SGTZY_PHYY"].Value, out phyybh); } if (conf.AppSettings.Settings.AllKeys.Contains("SGTZY_JKZS")) { int.TryParse(conf.AppSettings.Settings["SGTZY_JKZS"].Value, out jkzsbh); } string sj = sgtz; sgtz = ""; int pos = sj.IndexOf("*******当前测量项测量结果*******"); if (pos < 0) return; sj = sj.Substring(pos); //MessageBox.Show(sj); try { pos = sj.IndexOf("身高"); if (pos < 0) return; double sg = 0; string ssg = ""; pos = pos + 2; while (true) { string a = sj.Substring(pos, 1); if (a == "c") { break; } ssg += a; pos++; } double.TryParse(ssg.Trim(), out sg); pos = sj.IndexOf("体重"); if (pos < 0) return; double tz = 0; string stz = ""; pos = pos + 2; while (true) { string a = sj.Substring(pos, 1); if (a == "k") { break; } stz += a; pos++; } double.TryParse(stz.Trim(), out tz); pos = sj.IndexOf("BMI"); if (pos < 0) return; double bmi = 0; string sbmi = ""; pos = pos + 3; while (true) { string a = sj.Substring(pos, 1); if (a == "(") { break; } sbmi += a; pos++; } double.TryParse(sbmi.Trim(), out bmi); pos = sj.IndexOf("理想体重"); if (pos < 0) return; string slxtz = ""; pos = pos + 4; while (true) { string a = sj.Substring(pos, 1); if (a == "g") { break; } slxtz += a; pos++; } pos = sj.IndexOf("体脂肪率"); if (pos < 0) return; string stzfl = ""; pos = pos + 4; while (true) { string a = sj.Substring(pos, 1); if (a == ")") { break; } stzfl += a; pos++; } pos = sj.IndexOf("内脏脂肪等级"); if (pos < 0) return; string snzzfdj = ""; pos = pos + 6; while (true) { string a = sj.Substring(pos, 1); if (a == ")") { break; } snzzfdj += a; pos++; } pos = sj.IndexOf("体水份率"); if (pos < 0) return; string stsfl = ""; pos = pos + 4; while (true) { string a = sj.Substring(pos, 1); if (a == ")") { break; } stsfl += a; pos++; } pos = sj.IndexOf("肌肉量"); if (pos < 0) return; string sjrl = ""; pos = pos + 3; while (true) { string a = sj.Substring(pos, 1); if (a == ")") { break; } sjrl += a; pos++; } pos = sj.IndexOf("推定骨量"); if (pos < 0) return; string stdgl = ""; pos = pos + 4; while (true) { string a = sj.Substring(pos, 1); if (a == "g") { break; } stdgl += a; pos++; } pos = sj.IndexOf("基础代谢"); if (pos < 0) return; string sjcdx = ""; pos = pos + 4; while (true) { string a = sj.Substring(pos, 1); if (a == ")") { break; } sjcdx += a; pos++; } pos = sj.IndexOf("最适宜运动"); if (pos < 0) return; string szsyyd = ""; pos = pos + 5; while (true) { string a = sj.Substring(pos, 1); if (a == ")") { break; } szsyyd += a; pos++; } pos = sj.IndexOf("日需能量"); if (pos < 0) return; string srxnl = ""; pos = pos + 11; while (true) { string a = sj.Substring(pos, 1); if (a == "l") { break; } srxnl += a; pos++; } pos = sj.IndexOf("平衡营养"); if (pos < 0) return; string sphyy = ""; pos = pos + 4; while (true) { string a = sj.Substring(pos, 1); if (a == "l") { break; } sphyy += a; pos++; } pos = sj.IndexOf("健康指数"); if (pos < 0) return; string sjkzs = ""; pos = pos + 5; while (true) { string a = sj.Substring(pos, 1); if (a == ")") { break; } sjkzs += a; pos++; } List jg = dgvjcjg.DataSource as List; if (jg == null) return; var jggy = jg.FirstOrDefault(t => t.jcbm == sgbh && sgbh != 0); if (jggy != null) { jggy.zcjg = sg.ToString(); } var jgdy = jg.FirstOrDefault(t => t.jcbm == tzbh && tzbh != 0); if (jgdy != null) { jgdy.zcjg = tz.ToString(); } var jgxl = jg.FirstOrDefault(t => t.jcbm == bmibh && bmibh != 0); if (jgxl != null) { jgxl.zcjg = bmi.ToString(); } //淄博身高体重仪 增加代码 var jglxtz = jg.FirstOrDefault(t => t.jcbm == lxtzbh && lxtzbh != 0); if (jglxtz != null) { jglxtz.zcjg = slxtz.Trim() + "g"; } var jgtzfl = jg.FirstOrDefault(t => t.jcbm == tzflbh && tzflbh != 0); if (jgtzfl != null) { jgtzfl.zcjg = stzfl.Trim() + ")"; } var jgnzzfdj = jg.FirstOrDefault(t => t.jcbm == nzzfdjbh && nzzfdjbh != 0); if (jgnzzfdj != null) { jgnzzfdj.zcjg = snzzfdj.Trim() + ")"; } var jgtsfl = jg.FirstOrDefault(t => t.jcbm == tsflbh && tsflbh != 0); if (jgtsfl != null) { jgtsfl.zcjg = stsfl.Trim() + ")"; } var jgjrl = jg.FirstOrDefault(t => t.jcbm == jrlbh && jrlbh != 0); if (jgjrl != null) { jgjrl.zcjg = sjrl.Trim() + ")"; } var jgtdgl = jg.FirstOrDefault(t => t.jcbm == tdglbh && tdglbh != 0); if (jgtdgl != null) { jgtdgl.zcjg = stdgl.Trim() + "g"; } var jgjcdx = jg.FirstOrDefault(t => t.jcbm == jcdxbh && jcdxbh != 0); if (jgjcdx != null) { jgjcdx.zcjg = sjcdx.Trim() + ")"; } var jgzsyyd = jg.FirstOrDefault(t => t.jcbm == zsyydbh && zsyydbh != 0); if (jgzsyyd != null) { jgzsyyd.zcjg = szsyyd.Trim() + ")"; } var jgrxnl = jg.FirstOrDefault(t => t.jcbm == rxnlbh && rxnlbh != 0); if (jgrxnl != null) { jgrxnl.zcjg = srxnl.Trim() + "l"; } var jgphyy = jg.FirstOrDefault(t => t.jcbm == phyybh && phyybh != 0); if (jgphyy != null) { jgphyy.zcjg = sphyy.Trim() + "l"; } var jgjkzs = jg.FirstOrDefault(t => t.jcbm == jkzsbh && jkzsbh != 0); if (jgjkzs != null) { jgjkzs.zcjg = sjkzs.Trim() + ")"; } CrossDelegate dl = new CrossDelegate(shuaxin); //string text = "test"; this.BeginInvoke(dl); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } private void clsgtz() { int sgbh = 0; int tzbh = 0; int bmibh = 0; System.Configuration.Configuration conf = SOH.Configuration.LocalConfig.Config; if (conf.AppSettings.Settings.AllKeys.Contains("SGTZY_SG")) { int.TryParse(conf.AppSettings.Settings["SGTZY_SG"].Value, out sgbh); } if (conf.AppSettings.Settings.AllKeys.Contains("SGTZY_TZ")) { int.TryParse(conf.AppSettings.Settings["SGTZY_TZ"].Value, out tzbh); } if (conf.AppSettings.Settings.AllKeys.Contains("SGTZY_TZZS")) { int.TryParse(conf.AppSettings.Settings["SGTZY_TZZS"].Value, out bmibh); } //throw new NotImplementedException(); string sj = sgtz; //MessageBox.Show(sj); sgtz = ""; int pos = sj.IndexOf("*******当前测量项测量结果*******"); if (pos < 0) return; sj = sj.Substring(pos); pos = sj.IndexOf("身高"); if (pos < 0) return; double sg = 0; string ssg = ""; pos = pos + 2; while (true) { string a = sj.Substring(pos, 1); if (a == "c") { break; } ssg += a; pos++; } double.TryParse(ssg.Trim(), out sg); pos = sj.IndexOf("体重"); if (pos < 0) return; double tz = 0; string stz = ""; pos = pos + 2; while (true) { string a = sj.Substring(pos, 1); if (a == "k") { break; } stz += a; pos++; } double.TryParse(stz.Trim(), out tz); pos = sj.IndexOf("BMI"); if (pos < 0) return; double bmi = 0; string sbmi = ""; pos = pos + 3; while (true) { string a = sj.Substring(pos, 1); if (a == "(") { break; } sbmi += a; pos++; } double.TryParse(sbmi.Trim(), out bmi); List jg = dgvjcjg.DataSource as List; if (jg == null) return; var jggy = jg.FirstOrDefault(t => t.jcbm == sgbh && sgbh != 0); if (jggy != null) { jggy.zcjg = sg.ToString(); } var jgdy = jg.FirstOrDefault(t => t.jcbm == tzbh && tzbh != 0); if (jgdy != null) { jgdy.zcjg = tz.ToString(); } var jgxl = jg.FirstOrDefault(t => t.jcbm == bmibh && bmibh != 0); if (jgxl != null) { jgxl.zcjg = bmi.ToString(); } CrossDelegate dl = new CrossDelegate(shuaxin); //string text = "test"; this.BeginInvoke(dl); } private void button3_Click(object sender, EventArgs e) { string ksid = "0"; try { ksid = SOH.Configuration.LocalConfig.Config.AppSettings.Settings["wlks"].Value; } catch (Exception ex) { EAS.Loggers.Logger.Warn(ex.Message); } var vser = ServiceContainer.GetService(); string ksname = vser.wctj(strBm, ksid); if (!string.IsNullOrEmpty(ksname)) MessageBox.Show("请到" + ksname + "体检!"); else MessageBox.Show("体检结束"); } private void button4_Click(object sender, EventArgs e) { openFileDialog1.Title = "请选择上传的图片"; //设置筛选的图片格式 openFileDialog1.Filter = "图片格式|*.TIF"; //设置是否允许多选 openFileDialog1.Multiselect = false; if (this.openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) { pathName = this.openFileDialog1.FileName; System.Drawing.Image img = System.Drawing.Image.FromFile(pathName); this.pictureBox1.Image = img; } } private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) { if (tabControl1.SelectedTab == tabPage3) { var tjjdservice = ServiceContainer.GetService(); t_tjjd tjjd = tjjdservice.getTjjd(tbxtm.Text.ToString(), 21); try { System.IO.MemoryStream ms = new System.IO.MemoryStream(tjjd.image); pictureBox1.Image = Image.FromStream(ms); } catch { } } } } }