tijian_jichuang/Code/SOH.JianYan.DEC_CS800B/CS800B.cs
2025-02-20 11:54:48 +08:00

141 lines
5.6 KiB
C#

using SOH.JianYan.YiQi.Base;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace SOH.JianYan.DEC_CS800B
{
public partial class CS800B : SOH.JianYan.YiQi.Base.baseMain
{
public CS800B()
{
InitializeComponent();
}
string _yqbm;
private void CS800B_Load(object sender, EventArgs e)
{
System.Configuration.Configuration conf = System.Configuration.ConfigurationManager.OpenExeConfiguration(Application.StartupPath + "\\local.ext");
if (conf.AppSettings.Settings.AllKeys.Contains("conn"))
{
txt_filename.Text = conf.AppSettings.Settings["conn"].Value;
}
if (conf.AppSettings.Settings.AllKeys.Contains("yqbm"))
{
_yqbm = conf.AppSettings.Settings["yqbm"].Value;
}
this.WindowState = FormWindowState.Normal;
this.Show();
}
private void btn_xz_Click(object sender, EventArgs e)
{
if (ofd_xz.ShowDialog() == DialogResult.OK)
{
txt_filename.Text = ofd_xz.FileName;
}
}
private void btn_cl_Click(object sender, EventArgs e)
{
btn_cl.Enabled = false;
if(string.IsNullOrEmpty(_yqbm))
{
MessageBox.Show("仪器编码没有维护,请联系管理员维护仪器编码!");
return;
}
if (txt_filename.Text == "")
{
MessageBox.Show("请先选择数据库文件!");
return;
}
if (!File.Exists(txt_filename.Text))
{
MessageBox.Show("你选择的数据库文件不存在!");
return;
}
Data.DBHelpAccess acc = new Data.DBHelpAccess();
acc.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + txt_filename.Text + ";Persist Security Info=False";
string sql = "select * from DR_Test_App where 1=1";
sql += " and TestDate=#" + dtp_bbrq.Value.ToString("yyyy-MM-dd") + "#";
if (txt_qjxx.Text != "")
{
int qjxx = 0;
if (int.TryParse(txt_qjxx.Text, out qjxx))
{
sql += " and TestNo>=" + qjxx.ToString();
}
}
if (txt_qjsx.Text != "")
{
int qjsx = 0;
if (int.TryParse(txt_qjsx.Text, out qjsx))
{
sql += " and TestNo<=" + qjsx.ToString();
}
}
DataTable dt;
try
{
dt = acc.GetDataSet(sql);
System.Configuration.Configuration conf = System.Configuration.ConfigurationManager.OpenExeConfiguration(Application.StartupPath + "\\local.ext");
if (conf.AppSettings.Settings.AllKeys.Contains("conn"))
{
conf.AppSettings.Settings["conn"].Value = txt_filename.Text;
}
else
{
conf.AppSettings.Settings.Add("conn", txt_filename.Text);
}
conf.Save();
}
catch (Exception ex)
{
MessageBox.Show("请确定仪器程序已经关闭!" + ex.Message);
return;
}
var bbhs = dt.AsEnumerable().Select(t => t.Field<Int32>("TestNo")).Distinct().OrderBy(t => t).ToList();
bbhs.ForEach(t =>
{
DataRow[] drs = dt.Select("TestNo=" + t.ToString());
if (Lis_result.canmodify(_yqbm, new DateTime(dtp_bbrq.Value.Year, dtp_bbrq.Value.Month, dtp_bbrq.Value.Day), t.ToString()))
{
Lis_RiZhi.resultlog(DateTime.Now.ToString("yyyy-MM-dd") + "\t==============开始处理标本:" + t.ToString() + "=======================");
txt_jg.Text += "==============开始处理标本:" + t.ToString() + "=======================\r\n";
foreach (DataRow dr in drs)
{
Lis_result.addresult(new DateTime(dtp_bbrq.Value.Year, dtp_bbrq.Value.Month, dtp_bbrq.Value.Day), _yqbm, t.ToString(), dr["TestName"].ToString(), dr["TestResult"].ToString());
}
Lis_RiZhi.resultlog(DateTime.Now.ToString("yyyy-MM-dd") + "\t==============开始计算标本:" + t.ToString() + "=======================");
txt_jg.Text += "==============开始计算标本:" + t.ToString() + "=======================\r\n";
Lis_result.calcsample(_yqbm, new DateTime(dtp_bbrq.Value.Year, dtp_bbrq.Value.Month, dtp_bbrq.Value.Day), t.ToString());
Lis_RiZhi.resultlog(DateTime.Now.ToString("yyyy-MM-dd") + "\t==============完成计算标本:" + t.ToString() + "=======================");
txt_jg.Text += "==============完成计算标本:" + t.ToString() + "=======================\r\n";
}
else
{
txt_jg.Text += "==============标本已经审核不能入库:" + t.ToString() + "=======================\r\n";
Lis_RiZhi.resultlog("标本已经审核不能入库");
}
Application.DoEvents();
});
MessageBox.Show("处理完成!");
btn_cl.Enabled = true;
}
}
}