1769 lines
66 KiB
C#
1769 lines
66 KiB
C#
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<IFenDian>();
|
|
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<It_tjjg>();
|
|
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<It_tempdjxm>();
|
|
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<It_tjjd>();
|
|
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<It_tempdjxm>();
|
|
|
|
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<t_jglr> data = vservice.getZhxm(ksbm, strBm, xb);
|
|
String tm = tbxtm.Text;
|
|
var tjjdservice = ServiceContainer.GetService<It_tjjd>();
|
|
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<It_tempdjxm>();
|
|
|
|
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<t_jglr> data = vservice.getZhxm(ksbm, strBm, xb);
|
|
var tjjdservice = ServiceContainer.GetService<It_tjjd>();
|
|
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<t_bwwh> data;
|
|
List<SOH.Entities.t_kszdjg> dataKszd;
|
|
if (jcbm != -2)
|
|
{
|
|
var vservice = ServiceContainer.GetService<It_bwwh>();
|
|
data = vservice.getAllBwwh(jcbm);
|
|
var vserviceKs = ServiceContainer.GetService<It_kszdjg>();
|
|
dataKszd = vserviceKs.GetzdjgByjcxmID(jcbm);
|
|
dgvtjbw.DataSource = data;
|
|
dgvtjbw.Refresh();
|
|
dgvzdjg.DataSource = dataKszd;
|
|
dgvzdjg.Refresh();
|
|
}
|
|
else
|
|
{
|
|
var vserviceKs = ServiceContainer.GetService<It_jcxm>();
|
|
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<It_kszdjg>();
|
|
dataStr = vservice.GetzdjgStrByKs(zdxh);
|
|
}
|
|
else
|
|
{
|
|
var vservice = ServiceContainer.GetService<It_jgwh>();
|
|
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<It_tjjg>();
|
|
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<It_tempdjxm>();
|
|
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<It_tjjd>();
|
|
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<It_ttgzb>();
|
|
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<It_grgzb>();
|
|
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<It_tempdjxm>();
|
|
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<IFenDian>();
|
|
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<IPaiDuiJiaoHao>();
|
|
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<SOH.Entities.t_jglr> jg = dgvjcjg.DataSource as List<SOH.Entities.t_jglr>;
|
|
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<SOH.Entities.t_jglr> jg = dgvjcjg.DataSource as List<SOH.Entities.t_jglr>;
|
|
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<SOH.Entities.t_jglr> jg = dgvjcjg.DataSource as List<SOH.Entities.t_jglr>;
|
|
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<IPaiDuiJiaoHao>();
|
|
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<It_tjjd>();
|
|
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
|
|
{
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|