570 lines
20 KiB
C#
570 lines
20 KiB
C#
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<Process> ps = new List<Process>();
|
|
private void frmLisMain_Load(object sender, EventArgs e)
|
|
{
|
|
clckjb();
|
|
|
|
dgv_xm.AutoGenerateColumns = false;
|
|
var vser = ServiceContainer.GetService<IJianYan>();
|
|
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;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 处理窗口句柄
|
|
/// </summary>
|
|
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<IJianYan>();
|
|
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<IJianYan>();
|
|
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<IJianYan>();
|
|
var vser = ServiceContainer.GetService<IJianYan>();
|
|
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<IJianYan>();
|
|
string jyxm = vser.getjyxm(cbb_yq.SelectedValue.ToString(), dtp_bbrq.Value, txt_bbh.Text);
|
|
DataTable dt = Newtonsoft.Json.JsonConvert.DeserializeObject<DataTable>(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<IJianYan>();
|
|
List<jy_yhxx> 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<IJianYan>();
|
|
List<jy_sqd_mx> 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<IJianYan>();
|
|
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<IJianYan>();
|
|
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<jy_yhxx>;
|
|
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<IJianYan>();
|
|
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<DataTable>(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<IJianYan>();
|
|
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<IJianYan>();
|
|
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<IJianYan>();
|
|
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();
|
|
}
|
|
}
|
|
|
|
}
|
|
} |