using EAS.Services; using Microsoft.Win32; using SOH.BLL; using SOH.Data; using SOH.Entities; using SOH.Kernel; using System; using System.Collections.Generic; using System.Data; using System.Diagnostics; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Windows.Forms; namespace SOH.JianYan { //C53E054A-2951-410D-9474-4B52306999C7 [ModuleAttribute(ModuleID = "1734022E-1736-4B07-8FFF-0DF0ADA1A8AD", ModuleName = "检验管理")] public partial class frmLisMain : SOH.Window.baseChildForm { public frmLisMain() { InitializeComponent(); } private void cbb_yq_SelectedValueChanged(object sender, EventArgs e) { if (cbb_yq.SelectedValue != null) { hqyqjdbbh(); showxq(); } } protected override void DefWndProc(ref Message m) { if (m.Msg == 61135) { //EAS.Loggers.TextLogger tl = new EAS.Loggers.TextLogger(); EAS.Loggers.Logger.Info(m.Msg.ToString()); showxq(); } base.DefWndProc(ref m); } List ps = new List(); private void frmLisMain_Load(object sender, EventArgs e) { clckjb(); dgv_xm.AutoGenerateColumns = false; var vser = ServiceContainer.GetService(); string pcname = System.Net.Dns.GetHostName(); var yqs = vser.getYQbyDNMC(pcname); cbb_yq.DataSource = yqs.Select(t => new { yq = t.yq, yqmc = t.yq + "(" + t.yqmc + ")" }).ToList(); txt_jytm.Tag = false; yqs.ForEach(t => { try { Process p = new Process(); ProcessStartInfo si = new ProcessStartInfo(); si.FileName = Application.StartupPath + "\\DEC\\" + t.yq + "\\SOH.JianYan.DEC_" + t.yqxh + ".exe"; si.CreateNoWindow = false; p.StartInfo = si; p.Start(); ps.Add(p); } catch { } }); txt_jyys.Text = LoginUser.xm; } /// /// 处理窗口句柄 /// private void clckjb() { //throw new NotImplementedException(); var software = Registry.LocalMachine.OpenSubKey("SOFTWARE", true); var soh = software.OpenSubKey("SOH", true); if (soh == null) { soh = software.CreateSubKey("SOH"); } soh.SetValue("main", (int)this.Handle, RegistryValueKind.DWord); StreamWriter sw = new StreamWriter(Application.StartupPath + "\\JYMainHande.txt", false, Encoding.Default); sw.Write(((int)this.Handle).ToString()); sw.Close(); } private void hqyqjdbbh1() { } private void hqyqjdbbh() { //throw new NotImplementedException(); if (cbb_yq.SelectedValue != null) { var vser = ServiceContainer.GetService(); DateTime jyrq = dtp_bbrq.Value; int maxbbh = vser.getMaxBBH(jyrq, cbb_yq.SelectedValue.ToString()); txt_bbh.Text = maxbbh.ToString(); } } private void dtp_bbrq_ValueChanged(object sender, EventArgs e) { hqyqjdbbh(); showxq(); } private void txt_jytm_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { txt_jytm.SelectAll(); var vser = ServiceContainer.GetService(); jy_yhxx yhxx = vser.getyhxxbyyqrqbh(cbb_yq.SelectedValue.ToString(), dtp_bbrq.Value, int.Parse(txt_bbh.Text)); bool n = false; jy_yhxx yh = vser.getyhxxbyjytm(txt_jytm.Text); if (yhxx == null && yh == null) { n = true; jy_sqd sqd = vser.getsqdbyjytm(txt_jytm.Text); if (sqd == null) { txt_jytm.Text = ""; return; } DateTime jyrq = dtp_bbrq.Value; yhxx = new jy_yhxx(); yhxx.tm = sqd.tm; yhxx.jytm = sqd.jytm; txt_xm.Text = yhxx.xm = sqd.xm; txt_nl.Text = (yhxx.nl = sqd.nl).ToString(); txt_xb.Text = yhxx.xb = sqd.xb; dtp_cxsj.Value = yhxx.cxsj = sqd.cxsj; txt_cxyy.Text = yhxx.cxyy = sqd.cxyy; yhxx.jyrq = new DateTime(jyrq.Year, jyrq.Month, jyrq.Day); yhxx.csrq = sqd.csrq; yhxx.bbh = int.Parse(txt_bbh.Text); yhxx.yqbh = cbb_yq.SelectedValue.ToString(); yhxx.state = 0; yhxx.jyys = LoginUser.username; SOH.Data.OperationResult or = vser.regyhxx(yhxx); if (or.State == 1) { culichenggong(); huoqubiaoben(); } else { MessageBox.Show(or.Message); } } else { jy_sqd sqd = vser.getsqdbyjytm(txt_jytm.Text); if (sqd == null) { txt_jytm.Text = ""; return; } //yhxx=null //条码没有注册 //sqd存在 //yh纯在 if (yhxx == null && yh != null) { MessageBox.Show("当前条码已经登记不能操作!"); return; } if ((!string.IsNullOrEmpty(yhxx.jytm)) && sqd.jytm != yhxx.jytm) { MessageBox.Show("当前条码已经登记不能操作!"); return; } DateTime jyrq = dtp_bbrq.Value; yhxx = new jy_yhxx(); yhxx.tm = sqd.tm; yhxx.jytm = sqd.jytm; txt_xm.Text = yhxx.xm = sqd.xm; txt_nl.Text = (yhxx.nl = sqd.nl).ToString(); txt_xb.Text = yhxx.xb = sqd.xb; dtp_cxsj.Value = yhxx.cxsj = sqd.cxsj; txt_cxyy.Text = yhxx.cxyy = sqd.cxyy; yhxx.jyrq = new DateTime(jyrq.Year, jyrq.Month, jyrq.Day); yhxx.csrq = sqd.csrq; yhxx.bbh = int.Parse(txt_bbh.Text); yhxx.yqbh = cbb_yq.SelectedValue.ToString(); //yhxx.state = 0; yhxx.jyys = LoginUser.username; SOH.Data.OperationResult or = vser.regyhxx(yhxx); if (or.State == 1) { culichenggong(); } else { MessageBox.Show(or.Message); } } showxq(); } } private void culichenggong() { txt_bbh.Text = (int.Parse(txt_bbh.Text) + 1).ToString(); } private void huoqubiaoben() { //var vser = ServiceContainer.GetService(); var vser = ServiceContainer.GetService(); jy_yhxx yhxx = vser.getyhxxbyyqrqbh(cbb_yq.SelectedValue.ToString(), dtp_bbrq.Value, int.Parse(txt_bbh.Text)); if (yhxx == null) { txt_xm.Text = ""; txt_nl.Text = ""; txt_xb.Text = ""; dtp_cxsj.Value = DateTime.Now; txt_cxyy.Text = ""; txt_jyys.Text = ""; txt_shys.Text = ""; txt_jytm.Text = ""; } else { huoquxingmu(); txt_jytm.Text = yhxx.jytm; txt_xm.Text = yhxx.xm; txt_nl.Text = yhxx.nl.ToString(); txt_xb.Text = yhxx.xb; try { dtp_cxsj.Value = yhxx.cxsj; } catch { } txt_cxyy.Text = yhxx.cxyy; txt_jyys.Text = yhxx.jyys; txt_shys.Text = yhxx.shyy; } } private void huoquxingmu() { //throw new NotImplementedException(); var vser = ServiceContainer.GetService(); string jyxm = vser.getjyxm(cbb_yq.SelectedValue.ToString(), dtp_bbrq.Value, txt_bbh.Text); DataTable dt = Newtonsoft.Json.JsonConvert.DeserializeObject(jyxm); if (dt.Rows.Count > 0) { dt.DefaultView.Sort = "dysx"; } dgv_xm.DataSource = dt; if (cbb_yq.SelectedValue.ToString().Trim() != "BW500") { double c; for (int i = 0; i < dgv_xm.Rows.Count; i++) { if (dgv_xm.Rows[i].Cells["col_jg"].Value.ToString().Trim().Length > 0) { try { if (double.TryParse(dgv_xm.Rows[i].Cells["col_jg"].Value.ToString(), out c)) { //string a = dgv_xm.Rows[i].Cells["col_jg"].ToString(); double value = Convert.ToDouble(dgv_xm.Rows[i].Cells["col_jg"].Value.ToString()); double cksx = Convert.ToDouble(dgv_xm.Rows[i].Cells["col_ckz"].Value.ToString()); double ckxx = Convert.ToDouble(dgv_xm.Rows[i].Cells["col_ckxx"].Value.ToString()); if (value > cksx) { dgv_xm.Rows[i].Cells["col_jg"].Style.BackColor = Color.Red; //dgv_xm.Rows[i].DefaultCellStyle.BackColor = Color.LightPink; } if (value < ckxx) { dgv_xm.Rows[i].Cells["col_jg"].Style.BackColor = Color.LightGreen; } } } catch { } } } } } private void showxq() { throw new NotImplementedException(); var vser = ServiceContainer.GetService(); List yh = vser.getjyyhxx(cbb_yq.SelectedValue.ToString(), dtp_bbrq.Value); jyyhxxBindingSource.DataSource = yh; this.bbhS.Text = ""; this.bbhE.Text = ""; } private void txt_jytm_Enter(object sender, EventArgs e) { txt_jytm.Tag = true; txt_jytm.SelectAll(); } private void txt_jytm_MouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left && (bool)txt_jytm.Tag) { txt_jytm.Tag = false; txt_jytm.SelectAll(); } } private void txt_bbh_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { huoqubiaoben(); } } private void dgv_yhxx_CellClick(object sender, DataGridViewCellEventArgs e) { DataGridViewRow dgvr = dgv_yhxx.Rows[e.RowIndex]; var yh = dgvr.DataBoundItem as jy_yhxx; txt_bbh.Text = yh.bbh.ToString(); var vser = ServiceContainer.GetService(); List jysqdmx = vser.hqsqdmx(yh.jytm.ToString()); if (jysqdmx != null) { jysqdmxBindingSource.DataSource = jysqdmx; } huoquxingmu(); huoqubiaoben(); } private void btn_sh_Click(object sender, EventArgs e) { if (dgv_yhxx.SelectedRows.Count <= 0) { MessageBox.Show("请选择要上传的信息!"); } else { MessageBoxButtons messButton = MessageBoxButtons.OKCancel; DialogResult dr = MessageBox.Show("你确定要上传当前数据吗,上传后将不能修改!", "提示", messButton); if (dr == DialogResult.Cancel) { return; } else { String listm = dgv_yhxx.SelectedRows[0].Cells["col_tmh"].Value.ToString(); String yqh = cbb_yq.SelectedValue.ToString(); var vser = ServiceContainer.GetService(); OperationResult or = vser.shenhe(listm, yqh, LoginUser.xm, LoginUser.username, short.Parse(LoginUser.yydm)); if (or.State == 0) { MessageBox.Show(or.Message); } else { showxq(); MessageBox.Show("上传成功!"); } } } } private void frmLisMain_FormClosing(object sender, FormClosingEventArgs e) { foreach (Process p in ps) { if (!p.HasExited) p.Kill(); } } private void button1_Click(object sender, EventArgs e) { MessageBoxButtons messButton = MessageBoxButtons.OKCancel; DialogResult dr = MessageBox.Show("你确定要上传全部没有上传的数据吗,上传后将不能修改!", "提示", messButton); var vser = ServiceContainer.GetService(); if (dr == DialogResult.Cancel) { return; } else { int bbhstart; int bbhend; if (!int.TryParse(this.bbhS.Text.Trim(), out bbhstart) || !int.TryParse(this.bbhE.Text.Trim(), out bbhend)) { MessageBox.Show("请检查上传标本号区间的设置"); return; } if (bbhend == 0) { bbhend = 999; } var yhxx = jyyhxxBindingSource.DataSource as List; string mess = ""; yhxx.Where(t => t.state == 0 && t.bbh >= bbhstart && t.bbh <= bbhend).ToList().ForEach(t => { String listm = t.jytm; String yqh = cbb_yq.SelectedValue.ToString(); if (string.IsNullOrEmpty(listm)) { mess += "仪器" + yqh + "的标本号" + t.bbh + "没有扫码忽略\r\n"; } else { OperationResult or = vser.shenhe(listm, yqh, LoginUser.xm, LoginUser.username, short.Parse(LoginUser.yydm)); if (or.State == 0) mess += or.Message + "\r\n"; } }); showxq(); if (string.IsNullOrEmpty(mess)) MessageBox.Show("上传成功!"); else MessageBox.Show(mess); } } private void btn_del_Click(object sender, EventArgs e) { if (dgv_yhxx.SelectedRows.Count == 0) { MessageBox.Show("请先选择要删除的标本!"); return; } DataGridViewRow dgvr = dgv_yhxx.SelectedRows[0]; var yh = dgvr.DataBoundItem as jy_yhxx; //txt_bbh.Text = yh.bbh.ToString(); var vser = ServiceContainer.GetService(); string jyxm = vser.getjyxm(cbb_yq.SelectedValue.ToString(), dtp_bbrq.Value, txt_bbh.Text); //string jyxm = vser.getjyxm(yh.yqbh.ToString(), dtp_bbrq.Value, yh.bbh.ToString()); DataTable dt = Newtonsoft.Json.JsonConvert.DeserializeObject(jyxm); if (dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { if (!string.IsNullOrEmpty(dr["jg"].ToString())) { MessageBox.Show("你选择的标本号已经有结果不能删除!"); return; } } OperationResult or = vser.delyhxx(cbb_yq.SelectedValue.ToString(), dtp_bbrq.Value, txt_bbh.Text); MessageBox.Show(or.Message); showxq(); } else { OperationResult or = vser.delyhxx(cbb_yq.SelectedValue.ToString(), dtp_bbrq.Value, txt_bbh.Text); MessageBox.Show(or.Message); showxq(); } } private void button2_Click(object sender, EventArgs e) { if (dgv_yhxx.SelectedRows.Count <= 0) { MessageBox.Show("请选择要上传的信息!"); } else { MessageBoxButtons messButton = MessageBoxButtons.OKCancel; DialogResult dr = MessageBox.Show("你确定要上传当前数据吗,上传后将不能修改!", "提示", messButton); if (dr == DialogResult.Cancel) { return; } else { String listm = dgv_yhxx.SelectedRows[0].Cells["col_tmh"].Value.ToString(); String yqh = cbb_yq.SelectedValue.ToString(); var vser = ServiceContainer.GetService(); OperationResult or = vser.shenhe2(listm, yqh, LoginUser.xm, LoginUser.username, short.Parse(LoginUser.yydm)); if (or.State == 0) { MessageBox.Show(or.Message); } else { showxq(); MessageBox.Show("上传成功!"); } } } } private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { DataGridViewRow dgvr = dataGridView1.Rows[e.RowIndex]; var sqdmx = dgvr.DataBoundItem as jy_sqd_mx; var vser = ServiceContainer.GetService(); DataTable jcxms = vser.hqjcxm(sqdmx.zhxmbm.ToString()); if (jcxms.Rows.Count != 0) { tjcxmBindingSource.DataSource = jcxms; } } private void dgv_xm_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e) { DataGridView dgv = (DataGridView)sender; if (dgv.Columns[e.ColumnIndex].Name == "col_jg") { e.Cancel = false; } else { e.Cancel = true; } } private void dgv_xm_CellClick(object sender, DataGridViewCellEventArgs e) { this.dgv_xm.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnEnter; } private void dgv_xm_Enter(object sender, EventArgs e) { } private void dgv_xm_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (dgv_xm.Rows.Count != 0) { DataGridViewRow dgvxm = dgv_xm.Rows[e.RowIndex]; string yqbm = dgvxm.Cells["yq"].Value.ToString(); string jg = dgvxm.Cells["col_jg"].Value.ToString(); string bbh = dgvxm.Cells["bbhh"].Value.ToString(); string xiangmu = dgvxm.Cells["col_jyxm"].Value.ToString(); var vser = ServiceContainer.GetService(); vser.jyupdateresult(dtp_bbrq.Value, yqbm, Convert.ToInt32(bbh), jg, xiangmu); vser.jycalcsample(yqbm, new DateTime(dtp_bbrq.Value.Year, dtp_bbrq.Value.Month, dtp_bbrq.Value.Day), bbh); huoquxingmu(); } } } }