public void ParseResult(string strSource, ref string strResult, ref string strReserved, ref string strCmd) { try { string file = "HZK320P样本号重复处理.txt"; StreamReader sr = new StreamReader(@".\HZK320P.txt", System.Text.Encoding.GetEncoding("GB2312")); string correspondence = sr.ReadLine(); string[] correspondenceArray = correspondence.Split('|'); string configPath = sr.ReadLine(); string password = sr.ReadLine(); string dateTime = DateTime.Now.ToString("yyyy-MM-dd"); sr.Close(); //拆分路径,寻找地址 string configPathDateTime = DateTime.Now.ToString("yyyyMMdd"); configPath = configPath + "yb" + configPathDateTime + ".mdb"; if (!File.Exists(configPath)) { writelog.Write(strDevice, configPath + "没有找到,系统进入下一个循环周期", "log"); return; } string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + configPath + ";Persist Security Info=False;Jet OLEDB:Database Password="******"select distinct(ybno) as ItemNo from zzjgb "; DataTable dt = OleDBHelper.GetOledbDataTable(sql, connStr); strTestTime = dateTime; if (dt.Rows.Count > 0) { foreach (DataRow item in dt.Rows) { StringBuilder sBuilder = new StringBuilder(""); strSampleNo = item["ItemNo"].ToString(); string sqlSelect = @"select * from zzjgb where ybno=in_编号 "; sqlSelect = sqlSelect.Replace("in_编号", strSampleNo); DataTable dt2 = OleDBHelper.GetOledbDataTable(sqlSelect, connStr); List <string> TestValues = new List <string>(); if (dt2.Rows.Count > 0) { foreach (DataRow item2 in dt2.Rows) { string itemName = item2["ywjc"].ToString(); double itemValue = Convert.ToDouble(item2["zzjg"].ToString()); itemValue = Math.Round(itemValue, 2); TestValues.Add(itemName + ":" + itemValue.ToString()); sBuilder.Append(itemName + ',' + itemValue + '|'); } } ///// if (Helper.CompareSampleNoAndTime(file, strSampleNo, strTestTime, TestValues)) { continue; } string str = sBuilder.ToString().Remove(sBuilder.Length - 1, 1); string[] strs = str.Split('|'); string ChannelType = ""; //0-普通结果;1-直方图;2-散点图;3-直方图界标;4-散点图界标;5-BASE64 string testItemID = ""; string TestResultValue = ""; for (int i = 0; i < strs.Length; i++) { FindRow = tItemChannel.Select("通道编码='" + strs[i].Split(',')[0] + "'"); if (FindRow.Length == 0) //无普通结果则查找图像能道,无图像通道则更新通道类型为空 { ChannelType = null; writelog.Write(strDevice, "未设置通道:" + strs[i].Split(',')[0], "log"); } else { testItemID = FindRow[0]["项目id"].ToString(); ChannelType = "0"; //普通结果 TestResultValue = TestResultValue + testItemID + "^" + strs[i].Split(',')[1] + "|"; } } TestResultValue = strTestTime + "|" + strSampleNo + "^" + strSampleType + "^" + strBarCode + "|" + strOperator + "|" + StrSpecimen + "|" + "|" + TestResultValue; saveResult = new SaveResult(); if (!string.IsNullOrEmpty(strSampleNo) || !string.IsNullOrEmpty(strBarCode)) { saveResult.SaveTextResult(strInstrument_id, TestResultValue, TestGraph, DrSampleNoField); if (ImmediatelyUpdate) { saveResult.UpdateData(); } } } } } catch (Exception e) { writelog.Write(strDevice, "处理失败: " + e.ToString(), "log"); } System.Threading.Thread.Sleep(3000); }
public void ParseResult(string strSource, ref string strResult, ref string strReserved, ref string strCmd) { #region 设置为串口通讯的时候 //char c03 = Convert.ToChar(0x03); //char c0f = Convert.ToChar(0x0F); //char c00 = Convert.ToChar(0x00); //#region ////存储每次接收后的10进制字符串 //char[] chars = strSource.ToCharArray(); //writelog.Write(strDevice, "接收数据开始:"+strSource, "log"); //string output = ""; //for (int i = 0; i < chars.Length; i++) //{ // output = output + Convert.ToInt32(chars[i]) + " "; //} //writelog.Write(strDevice, "10进制接收数据:"+output, "log"); //// //#endregion ////去掉空 //strSource = strSource.Replace(c00, ' ').Trim(); //strResult += strSource; //if (strSource.EndsWith(c03+"")) //{ // try // { // bool isSampleBar = true; // //将接收到的字符串写入到日志文件中 // writelog.Write(strDevice, "接收数据开始:\r\n " + strResult, "log"); // writelog.Write(strDevice, "接收数据完成 ", "log"); // StreamReader sr = new StreamReader(@".\MVIS2010.txt"); // string correspondence = sr.ReadLine(); // sr.Close(); // string[] correspondenceArray = correspondence.Split('|'); // StringBuilder sBuilder = new StringBuilder(""); // string[] ss = strResult.Split(new char[] { '\r','\n' }, StringSplitOptions.RemoveEmptyEntries); // string ChannelCode = ""; // for (int i = 0; i < ss.Length; i++) // { // if (ss[i].Trim().ToUpper().StartsWith("SN")) // { // strSampleNo = ss[i].Split(':')[1].Trim(); // } // if (ss[i].Trim().ToUpper().StartsWith("DATE")) // { // strTestTime = ss[i].Replace("Date:","").Trim(); // } // for (int j = 0; j < correspondenceArray.Length; j++) // { // string sTemp = ss[i].Trim(); // string lis = correspondenceArray[j].Split(',')[0]; // string zlchs = correspondenceArray[j].Split(',')[1]; // if (ss[i].StartsWith(lis)) // { // string itemValue = ss[i].Split(':')[1].Trim(); // if (itemValue.IndexOf(" ") > -1) // itemValue = itemValue.Split(' ')[0]; // sBuilder.Append(zlchs + ',' + itemValue + '|'); // } // } // } // string str = sBuilder.ToString().Remove(sBuilder.Length - 1, 1); // writelog.Write(strDevice, "数据处理结果:" + str, "log"); // string[] strs = str.Split('|'); // string ChannelType = ""; //0-普通结果;1-直方图;2-散点图;3-直方图界标;4-散点图界标;5-BASE64 // string testItemID = ""; // string TestResultValue = ""; // for (int i = 0; i < strs.Length; i++) // { // FindRow = tItemChannel.Select("通道编码='" + strs[i].Split(',')[0] + "'"); // if (FindRow.Length == 0) //无普通结果则查找图像能道,无图像通道则更新通道类型为空 // { // ChannelType = null; // writelog.Write(strDevice, "未设置通道:" + strs[i].Split(',')[0], "log"); // } // else // { // testItemID = FindRow[0]["项目id"].ToString(); // ChannelType = "0"; //普通结果 // TestResultValue = TestResultValue + testItemID + "^" + strs[i].Split(',')[1] + "|"; // } // } // TestResultValue = strTestTime + "|" + strSampleNo + "^" + strSampleType + "^" + strBarCode + "|" + strOperator + "|" + StrSpecimen + "|" + "|" + TestResultValue; // saveResult = new SaveResult(); // if (!string.IsNullOrEmpty(strSampleNo)) // { // saveResult.SaveTextResult(strInstrument_id, TestResultValue, TestGraph, DrSampleNoField); if (ImmediatelyUpdate) // { // saveResult.UpdateData(); // } // } // if (!ImmediatelyUpdate) // { // saveResult.UpdateData(); // } // } // catch (Exception e) // { // writelog.Write(strDevice, "处理失败: " + e.ToString(), "log"); // } // strResult = ""; //} //strCmd = Convert.ToChar(0x06) + ""; #endregion try { string file = "MVIS2010样本号重复处理.txt"; StreamReader sr = new StreamReader(@".\MVIS2010.txt", System.Text.Encoding.GetEncoding("GB2312")); string correspondence = sr.ReadLine(); string[] correspondenceArray = correspondence.Split('|'); string configPath = sr.ReadLine(); string configPathSrc = configPath; string password = sr.ReadLine(); string dateTime = DateTime.Now.ToString("yyyy-MM-dd"); sr.Close(); //拆分路径,寻找地址 string[] configPaths = configPath.Split('_'); string configPathRoot = configPaths[0] + '_' + configPaths[1] + '_'; string configPathEndStr = DateTime.Now.ToString("yyyy_MM"); configPath = configPathRoot + configPathEndStr + ".mdb"; if (!File.Exists(configPath)) { writelog.Write(strDevice, configPath + "没有找到本月源数据,尝试寻找上一月", "log"); string configPathLastMonth = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(-1).ToString("yyyy_MM"); configPath = configPathRoot + configPathLastMonth + ".mdb"; if (!File.Exists(configPath)) { writelog.Write(strDevice, configPath + "没有找到上月源数据,尝试寻找原始配置文件", "log"); configPath = configPathSrc;; if (!File.Exists(configPath)) { writelog.Write(strDevice, configPath + "没有找到,系统进入下一个循环周期", "log"); return; } } } string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + configPath + ";Persist Security Info=False;Jet OLEDB:Database Password="******"select distinct(SN) as ItemNo from Test where Format(todaydate, 'yyyy-mm-dd')='" + dateTime + "'"; DataTable dt = OleDBHelper.GetOledbDataTable(sql, connStr); strTestTime = dateTime; if (dt.Rows.Count > 0) { foreach (DataRow item in dt.Rows) { StringBuilder sBuilder = new StringBuilder(""); strSampleNo = item["ItemNo"].ToString(); string sqlSelect = @"select * from Test where SN=in_编号 and Format(todaydate, 'yyyy-mm-dd')= 'in_clrq' "; sqlSelect = sqlSelect.Replace("in_编号", strSampleNo); sqlSelect = sqlSelect.Replace("in_clrq", dateTime); DataTable dt2 = OleDBHelper.GetOledbDataTable(sqlSelect, connStr); List <string> TestValues = new List <string>(); if (dt2.Rows.Count > 0) { foreach (DataRow item2 in dt2.Rows) { foreach (var subItem in correspondenceArray) { string lis = subItem.Split(',')[0].Trim(); string zlchs = subItem.Split(',')[1].Trim(); string itemName = zlchs; double itemValue = Convert.ToDouble(item2[lis].ToString()); itemValue = Math.Round(itemValue, 2); TestValues.Add(itemName + ":" + itemValue.ToString()); sBuilder.Append(itemName + ',' + itemValue + '|'); } } } ///// if (Helper.CompareSampleNoAndTime(file, strSampleNo, strTestTime, TestValues)) { continue; } string str = sBuilder.ToString().Remove(sBuilder.Length - 1, 1); string[] strs = str.Split('|'); string ChannelType = ""; //0-普通结果;1-直方图;2-散点图;3-直方图界标;4-散点图界标;5-BASE64 string testItemID = ""; string TestResultValue = ""; for (int i = 0; i < strs.Length; i++) { FindRow = tItemChannel.Select("通道编码='" + strs[i].Split(',')[0] + "'"); if (FindRow.Length == 0) //无普通结果则查找图像能道,无图像通道则更新通道类型为空 { ChannelType = null; writelog.Write(strDevice, "未设置通道:" + strs[i].Split(',')[0], "log"); } else { testItemID = FindRow[0]["项目id"].ToString(); ChannelType = "0"; //普通结果 TestResultValue = TestResultValue + testItemID + "^" + strs[i].Split(',')[1] + "|"; } } TestResultValue = strTestTime + "|" + strSampleNo + "^" + strSampleType + "^" + strBarCode + "|" + strOperator + "|" + StrSpecimen + "|" + "|" + TestResultValue; saveResult = new SaveResult(); if (!string.IsNullOrEmpty(strSampleNo) || !string.IsNullOrEmpty(strBarCode)) { saveResult.SaveTextResult(strInstrument_id, TestResultValue, TestGraph, DrSampleNoField); if (ImmediatelyUpdate) { saveResult.UpdateData(); } } } } } catch (Exception e) { writelog.Write(strDevice, "处理失败: " + e.ToString(), "log"); } System.Threading.Thread.Sleep(3000); }
public void ParseResult(string strSource, ref string strResult, ref string strReserved, ref string strCmd) { string strTestTime = ""; //检验时间 string strSampleNo = ""; //标本号 string strBarCode = ""; //条码 string strOperator = ""; //检验医师 string strSampleType = ""; //检验类型 string StrSpecimen = ""; //标本类型 //连接access数据库 //配置文件中读取密码,查询语句 //读取配置文件 try { string file = "FC3样本号重复处理.txt"; StreamReader sr = new StreamReader(@".\FC3.txt", System.Text.Encoding.GetEncoding("GB2312")); string correspondence = sr.ReadLine(); string[] correspondenceArray = correspondence.Split('|'); string configPath = sr.ReadLine(); string pwd = sr.ReadLine().Replace("pwd:", ""); sr.Close(); string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + configPath + ";Persist Security Info=False;Jet OLEDB:Database Password="******"yyyy-MM-dd"); string sql = "SELECT distinct(testno) as testNo from samples where Format(gatherdate, 'yyyy-mm-dd') ='" + dateTime + "'"; DataTable dt = OleDBHelper.GetOledbDataTable(sql, connStr); foreach (DataRow item in dt.Rows) { string testNo = item["testNo"].ToString(); strSampleNo = testNo; strTestTime = dateTime; string sqlSelect = @"select * from samples where Format(gatherdate, 'yyyy-mm-dd') ='in_testTime' and testno=in_testNo"; sqlSelect = sqlSelect.Replace("in_testTime", dateTime); sqlSelect = sqlSelect.Replace("in_testNo", testNo); DataTable dt2 = OleDBHelper.GetOledbDataTable(sqlSelect, connStr); List <string> TestValues = new List <string>(); StringBuilder sBuilder = new StringBuilder(); foreach (DataRow subItem in dt2.Rows) { string lisTestName = subItem["outname"].ToString(); string lisTestValue = subItem["result"].ToString(); sBuilder.Append(lisTestName + "," + lisTestValue + "|"); TestValues.Add(lisTestName + ":" + lisTestValue); } if (Helper.CompareSampleNoAndTime(file, testNo, strTestTime, TestValues)) { continue; } string str = sBuilder.ToString().Remove(sBuilder.Length - 1, 1); string[] strs = str.Split('|'); sBuilder = null; string ChannelType = ""; //0-普通结果;1-直方图;2-散点图;3-直方图界标;4-散点图界标;5-BASE64 string testItemID = ""; string TestResultValue = ""; for (int i = 0; i < strs.Length; i++) { FindRow = tItemChannel.Select("通道编码='" + strs[i].Split(',')[0] + "'"); if (FindRow.Length == 0) //无普通结果则查找图像能道,无图像通道则更新通道类型为空 { ChannelType = null; writelog.Write(strDevice, "未设置通道:" + strs[i].Split(',')[0], "log"); } else { testItemID = FindRow[0]["项目id"].ToString(); ChannelType = "0"; //普通结果 TestResultValue = TestResultValue + testItemID + "^" + strs[i].Split(',')[1] + "|"; } } TestResultValue = strTestTime + "|" + strSampleNo + "^" + strSampleType + "^" + strBarCode + "|" + strOperator + "|" + StrSpecimen + "|" + "|" + TestResultValue; saveResult = new SaveResult(); if (!string.IsNullOrEmpty(strSampleNo) || !string.IsNullOrEmpty(strBarCode)) { saveResult.SaveTextResult(strInstrument_id, TestResultValue, TestGraph, DrSampleNoField); if (ImmediatelyUpdate) { saveResult.UpdateData(); } } if (!ImmediatelyUpdate) { saveResult.UpdateData(); } } } catch (Exception e) { writelog.Write(strDevice, e.ToString(), "log"); } }
public void ParseResult(string strSource, ref string strResult, ref string strReserved, ref string strCmd) { try { string file = "D280样本号重复处理.txt"; StreamReader sr = new StreamReader(@".\D280.txt", Encoding.Default); string correspondence = sr.ReadLine(); string[] correspondenceArray = correspondence.Split('|'); string configPath = sr.ReadLine(); strTestTime = DateTime.Now.ToString("yyyy-MM-dd"); sr.Close(); if (!File.Exists(configPath)) { writelog.Write(strDevice, "找不到数据库文件: " + configPath, "log"); return; } string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + configPath + ";Persist Security Info=False;Jet OLEDB:Database Password=iamysh"; string sql = "select distinct(sample_id) as ItemNo from SAMPLE_ITEM_TEST_RESULT where format(time,'yyyy-MM-dd')='in_dateTimeName'"; sql = sql.Replace("in_dateTimeName", strTestTime); DataTable dt = OleDBHelper.GetOledbDataTable(sql, connStr); if (dt.Rows.Count > 0) { foreach (DataRow item in dt.Rows) { StringBuilder sBuilder = new StringBuilder(""); strSampleNo = item["ItemNo"].ToString(); string sqlSelect = @" select * from SAMPLE_ITEM_TEST_RESULT where sample_id='in_strSampleNo' and format(time,'yyyy-MM-dd')='in_dateTimeName' "; sqlSelect = sqlSelect.Replace("in_dateTimeName", strTestTime); sqlSelect = sqlSelect.Replace("in_strSampleNo", strSampleNo); DataTable dt2 = OleDBHelper.GetOledbDataTable(sqlSelect, connStr); List <string> TestValues = new List <string>(); if (dt2.Rows.Count > 0) { foreach (DataRow item2 in dt2.Rows) { string itemName = item2["item"].ToString().ToUpper(); string itemValue = item2["result"].ToString().ToUpper(); TestValues.Add(itemName + ":" + itemValue.ToString()); sBuilder.Append(itemName + ',' + itemValue + '|'); } } ///// if (Helper.CompareSampleNoAndTime(file, strSampleNo, strTestTime, TestValues)) { continue; } string str = sBuilder.ToString().Remove(sBuilder.Length - 1, 1); string[] strs = str.Split('|'); string ChannelType = ""; //0-普通结果;1-直方图;2-散点图;3-直方图界标;4-散点图界标;5-BASE64 string testItemID = ""; string TestResultValue = ""; for (int i = 0; i < strs.Length; i++) { FindRow = tItemChannel.Select("通道编码='" + strs[i].Split(',')[0] + "'"); if (FindRow.Length == 0) //无普通结果则查找图像能道,无图像通道则更新通道类型为空 { ChannelType = null; writelog.Write(strDevice, "未设置通道:" + strs[i].Split(',')[0], "log"); } else { testItemID = FindRow[0]["项目id"].ToString(); ChannelType = "0"; //普通结果 TestResultValue = TestResultValue + testItemID + "^" + strs[i].Split(',')[1] + "|"; } } TestResultValue = strTestTime + "|" + strSampleNo + "^" + strSampleType + "^" + strBarCode + "|" + strOperator + "|" + StrSpecimen + "|" + "|" + TestResultValue; saveResult = new SaveResult(); if (!string.IsNullOrEmpty(strSampleNo) || !string.IsNullOrEmpty(strBarCode)) { saveResult.SaveTextResult(strInstrument_id, TestResultValue, TestGraph, DrSampleNoField); if (ImmediatelyUpdate) { saveResult.UpdateData(); } } } } } catch (Exception e) { writelog.Write(strDevice, "处理失败: " + e.ToString(), "log"); } System.Threading.Thread.Sleep(5000); }
public void ParseResult(string strSource, ref string strResult, ref string strReserved, ref string strCmd) { //连接access数据库 //配置文件中读取密码,查询语句 //读取配置文件 try { init(); string file = "SF8000样本号重复处理.txt"; StreamReader sr = new StreamReader(@".\SF8000.txt", System.Text.Encoding.GetEncoding("GB2312")); string correspondence = sr.ReadLine(); string[] correspondenceArray = correspondence.Split('|'); string configPath = sr.ReadLine(); sr.Close(); string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + configPath + ";Persist Security Info=False;Jet OLEDB:Database Password="******"yyyy-MM-dd"); strTestTime = dateTime; string sql = "select distinct(标本号) as 标本号 from TB_TEST_RESULT where Format(测试日期, 'yyyy-mm-dd')='" + dateTime + "'"; DataTable dt = OleDBHelper.GetOledbDataTable(sql, connStr); foreach (DataRow item in dt.Rows) { string time1 = ""; string no1 = ""; StringBuilder sBuilder = new StringBuilder(); string bbh = item["标本号"].ToString(); string sqlSelect = @"select id,标本号,标本孔位,项目编号,项目名称,测试通道,结果状态,单位,Format(测试日期,'yyyy-mm-dd') as 测试日期,format(测试时间,'Long Time') as 测试时间,测试次序,已删除 , 测试结果 FROM TB_TEST_RESULT A where Format(测试日期, 'yyyy-mm-dd')='" + dateTime + "' and 标本号 =" + bbh; DataTable dt2 = OleDBHelper.GetOledbDataTable(sqlSelect, connStr); List <string> TestValues = new List <string>(); foreach (DataRow item1 in dt2.Rows) { for (int j = 0; j < correspondenceArray.Length; j++) { string strTestTime_little = item1["测试时间"].ToString().Trim(); string strTestTime1 = item1["测试日期"].ToString().Trim(); strTestTime = strTestTime1 + " " + strTestTime_little; strSampleNo = bbh; no1 = bbh; time1 = strTestTime; string returns = Helper.SampleNoToSampleBar(bbh); if (!string.IsNullOrEmpty(returns)) { strTestTime = returns.Split('|')[0]; strSampleNo = returns.Split('|')[1]; strBarCode = bbh; } string lis = correspondenceArray[j].Split(',')[0].Trim(); string zlchs = correspondenceArray[j].Split(',')[1]; string lisName = item1["项目名称"].ToString().Trim(); string lisUnit = lisName + item1["单位"].ToString().Trim(); TestValues.Add(lisName + ":" + item1["测试结果"].ToString()); if (lisUnit.Equals(lis)) { sBuilder.Append(zlchs + ',' + item1["测试结果"].ToString().Trim() + '|'); } } } if (Helper.CompareSampleNoAndTime(file, no1, strTestTime, TestValues)) { continue; } string str = sBuilder.ToString().Remove(sBuilder.Length - 1, 1); string[] strs = str.Split('|'); sBuilder = null; string ChannelType = ""; //0-普通结果;1-直方图;2-散点图;3-直方图界标;4-散点图界标;5-BASE64 string testItemID = ""; string TestResultValue = ""; for (int i = 0; i < strs.Length; i++) { FindRow = tItemChannel.Select("通道编码='" + strs[i].Split(',')[0] + "'"); if (FindRow.Length == 0) //无普通结果则查找图像能道,无图像通道则更新通道类型为空 { ChannelType = null; writelog.Write(strDevice, "未设置通道:" + strs[i].Split(',')[0], "log"); } else { testItemID = FindRow[0]["项目id"].ToString(); ChannelType = "0"; //普通结果 TestResultValue = TestResultValue + testItemID + "^" + strs[i].Split(',')[1] + "|"; } } TestResultValue = strTestTime + "|" + strSampleNo + "^" + strSampleType + "^" + strBarCode + "|" + strOperator + "|" + StrSpecimen + "|" + "|" + TestResultValue; saveResult = new SaveResult(); if (!string.IsNullOrEmpty(strSampleNo) || !string.IsNullOrEmpty(strBarCode)) { saveResult.SaveTextResult(strInstrument_id, TestResultValue, TestGraph, DrSampleNoField); if (ImmediatelyUpdate) { saveResult.UpdateData(); } } if (!ImmediatelyUpdate) { saveResult.UpdateData(); } } } catch (Exception ex) { writelog.Write(strDevice, "处理失败: " + ex.ToString(), "log"); } System.Threading.Thread.Sleep(10000); }
public void ParseResult(string strSource, ref string strResult, ref string strReserved, ref string strCmd) { //连接access数据库 //配置文件中读取密码,查询语句 //读取配置文件 string file = "FC3样本号重复处理.txt"; init(); StreamReader sr = new StreamReader(@".\FC3.txt", System.Text.Encoding.GetEncoding("GB2312")); string correspondence = sr.ReadLine(); string[] correspondenceArray = correspondence.Split('|'); string configPath = sr.ReadLine(); sr.Close(); string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + configPath + ";Persist Security Info=False;Jet OLEDB:Database Password="******"yyyy-MM-dd"); strTestTime = dateTime; // dateTime = "2016-06-15"; string sql = "select distinct(Swatch) as swatch from result where Format(CheckDate, 'yyyy-mm-dd')='" + dateTime + "'"; DataTable dt = OleDBHelper.GetOledbDataTable(sql, connStr); // sqlMessage="select 标本号,测试日期,测试时间,项目名称,测试结果 FROM TB_TEST_RESULT A where 测试时间=" foreach (DataRow item in dt.Rows) { string time1 = ""; string no1 = ""; string bbh = item["Swatch"].ToString(); string sqlSelect = @"SELECT Swatch,Result,ProName,DW_Unit,Format(CheckDate,'yyyy-mm-dd hh:nn:ss') as CheckDate FROM result where Format(CheckDate, 'yyyy-mm-dd')='" + dateTime + "' and Swatch ='" + bbh + "'"; DataTable dt2 = OleDBHelper.GetOledbDataTable(sqlSelect, connStr); try { StringBuilder sBuilder = new StringBuilder(); foreach (DataRow item1 in dt2.Rows) { for (int j = 0; j < correspondenceArray.Length; j++) { strTestTime = item1["CheckDate"].ToString().Trim(); strSampleNo = bbh; time1 = strTestTime; no1 = bbh; string returns = Helper.SampleNoToSampleBar(bbh); if (!string.IsNullOrEmpty(returns)) { strTestTime = returns.Split('|')[0]; strSampleNo = returns.Split('|')[1]; strBarCode = bbh; } string lis = correspondenceArray[j].Split(',')[0].Trim().ToUpper(); string zlchs = correspondenceArray[j].Split(',')[1].Trim().ToUpper(); string lisUnit = item1["ProName"].ToString().Trim().ToUpper(); if (lisUnit.Equals(lis)) { sBuilder.Append(zlchs.ToUpper() + ',' + item1["Result"].ToString().Trim() + '|'); } } } if (Helper.CompareSampleNoAndTime(file, no1, time1)) { continue; } string str = sBuilder.ToString().Remove(sBuilder.Length - 1, 1); string[] strs = str.Split('|'); sBuilder = null; string ChannelType = ""; //0-普通结果;1-直方图;2-散点图;3-直方图界标;4-散点图界标;5-BASE64 string testItemID = ""; string TestResultValue = ""; for (int i = 0; i < strs.Length; i++) { FindRow = tItemChannel.Select("通道编码='" + strs[i].Split(',')[0] + "'"); if (FindRow.Length == 0) //无普通结果则查找图像能道,无图像通道则更新通道类型为空 { ChannelType = null; writelog.Write(strDevice, "未设置通道:" + strs[i].Split(',')[0], "log"); } else { testItemID = FindRow[0]["项目id"].ToString(); ChannelType = "0"; //普通结果 TestResultValue = TestResultValue + testItemID + "^" + strs[i].Split(',')[1] + "|"; } } TestResultValue = strTestTime + "|" + strSampleNo + "^" + strSampleType + "^" + strBarCode + "|" + strOperator + "|" + StrSpecimen + "|" + "|" + TestResultValue; saveResult = new SaveResult(); if (!string.IsNullOrEmpty(strSampleNo) || !string.IsNullOrEmpty(strBarCode)) { //strInstrument_id 替换到目标设备 if (string.IsNullOrEmpty(strReserved)) { saveResult.SaveTextResult(strInstrument_id, TestResultValue, TestGraph, DrSampleNoField); } else { saveResult.SaveTextResult(strReserved, TestResultValue, TestGraph, DrSampleNoField); } if (ImmediatelyUpdate) { saveResult.UpdateData(); } } if (!ImmediatelyUpdate) { saveResult.UpdateData(); } } catch (Exception e) { writelog.Write(strDevice, e.ToString(), "log"); writelog.Write(strDevice, "===========================标本号存在异常=======================:" + bbh, "log"); } } // System.Threading.Thread.Sleep(5000); }
public void ParseResult(string strSource, ref string strResult, ref string strReserved, ref string strCmd) { try { string file = "BIOBASE.BK400样本号重复处理.txt"; StreamReader sr = new StreamReader(@".\BIOBASE.BK400.txt", System.Text.Encoding.GetEncoding("GB2312")); string correspondence = sr.ReadLine(); string[] correspondenceArray = correspondence.Split('|'); string configPath = sr.ReadLine(); string dateTimeName = DateTime.Now.ToString("yyyyMMdd"); string dateTime = DateTime.Now.ToString("yyyy-MM-dd"); configPath = configPath + dateTimeName + ".mdb"; sr.Close(); if (!File.Exists(configPath)) { return; } string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + configPath + ";Persist Security Info=False;Jet OLEDB:Database Password="******"select distinct(sampleNo) as sampleNo from sampleInfo where Format(SampleTime, 'yyyy-mm-dd')='" + dateTime + "'"; DataTable dt = OleDBHelper.GetOledbDataTable(sql, connStr); if (dt.Rows.Count > 0) { foreach (DataRow item in dt.Rows) { string time1 = ""; string no1 = ""; StringBuilder sBuilder = new StringBuilder(""); string s = item["sampleNo"].ToString(); string sqlSelect = @" select ProName as ItemCode, resultValue as TestValue , Format(a.SampleTime, 'yyyy-mm-dd') as TestTime from sampleinfo a,sampleprogram b where a.sampleInfoID=b.sampleInfoID and a.sampleNo= in_sampleNo and Format(a.SampleTime, 'yyyy-mm-dd')='in_SampleTime'"; sqlSelect = sqlSelect.Replace("in_sampleNo", s); sqlSelect = sqlSelect.Replace("in_SampleTime", dateTime); DataTable dt2 = OleDBHelper.GetOledbDataTable(sqlSelect, connStr); List <string> TestValues = new List <string>(); if (dt2.Rows.Count > 0) { foreach (DataRow item1 in dt2.Rows) { strTestTime = item1["TestTime"].ToString(); strSampleNo = s; time1 = strTestTime; no1 = strSampleNo; TestValues.Add(item1["ItemCode"].ToString() + ":" + item1["TestValue"].ToString()); for (int j = 0; j < correspondenceArray.Length; j++) { string lis = correspondenceArray[j].Split(',')[0].ToUpper(); string zlchs = correspondenceArray[j].Split(',')[1].ToUpper(); string itemName = item1["ItemCode"].ToString().ToUpper(); string itemValue = item1["TestValue"].ToString().ToUpper(); try { itemValue = Math.Round(Convert.ToDouble(itemValue), 2).ToString(); } catch { } if (lis.Equals(itemName)) { sBuilder.Append(zlchs + ',' + itemValue + '|'); } } } } ///// if (Helper.CompareSampleNoAndTime(file, no1, strTestTime, TestValues)) { continue; } string str = sBuilder.ToString().Remove(sBuilder.Length - 1, 1); string[] strs = str.Split('|'); string ChannelType = ""; //0-普通结果;1-直方图;2-散点图;3-直方图界标;4-散点图界标;5-BASE64 string testItemID = ""; string TestResultValue = ""; for (int i = 0; i < strs.Length; i++) { FindRow = tItemChannel.Select("通道编码='" + strs[i].Split(',')[0] + "'"); if (FindRow.Length == 0) //无普通结果则查找图像能道,无图像通道则更新通道类型为空 { ChannelType = null; writelog.Write(strDevice, "未设置通道:" + strs[i].Split(',')[0], "log"); } else { testItemID = FindRow[0]["项目id"].ToString(); ChannelType = "0"; //普通结果 TestResultValue = TestResultValue + testItemID + "^" + strs[i].Split(',')[1] + "|"; } } TestResultValue = strTestTime + "|" + strSampleNo + "^" + strSampleType + "^" + strBarCode + "|" + strOperator + "|" + StrSpecimen + "|" + "|" + TestResultValue; saveResult = new SaveResult(); if (!string.IsNullOrEmpty(strSampleNo) || !string.IsNullOrEmpty(strBarCode)) { saveResult.SaveTextResult(strInstrument_id, TestResultValue, TestGraph, DrSampleNoField); if (ImmediatelyUpdate) { saveResult.UpdateData(); } } } } } catch (Exception e) { writelog.Write(strDevice, "处理失败: " + e.ToString(), "log"); } System.Threading.Thread.Sleep(3000); }
public void ParseResult(string strSource, ref string strResult, ref string strReserved, ref string strCmd) { string strTestTime = ""; //检验时间 string strSampleNo = ""; //标本号 string strBarCode = ""; //条码 string strOperator = ""; //检验医师 string strSampleType = ""; //检验类型 string StrSpecimen = ""; //标本类型 try { string file = "SH212C样本号重复处理.txt"; StreamReader sr = new StreamReader(@".\SH212C.txt", System.Text.Encoding.GetEncoding("GB2312")); string correspondence = sr.ReadLine(); string[] correspondenceArray = correspondence.Split('|'); string configPath = sr.ReadLine(); string password = sr.ReadLine(); string dateTime = DateTime.Now.ToString("yyyy-MM-dd"); sr.Close(); if (!File.Exists(configPath)) { return; } string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + configPath + ";Persist Security Info=False;Jet OLEDB:Database Password="******"select distinct(编号) as ItemNo from 病人数据表 where Format(clrq, 'yyyy-mm-dd')='" + dateTime + "'"; DataTable dt = OleDBHelper.GetOledbDataTable(sql, connStr); strTestTime = dateTime; if (dt.Rows.Count > 0) { foreach (DataRow item in dt.Rows) { StringBuilder sBuilder = new StringBuilder(""); strSampleNo = item["ItemNo"].ToString(); string sqlSelect = @"select * from 病人数据表 where 编号=in_编号 and Format(clrq, 'yyyy-mm-dd')= 'in_clrq' "; sqlSelect = sqlSelect.Replace("in_编号", strSampleNo); sqlSelect = sqlSelect.Replace("in_clrq", dateTime); DataTable dt2 = OleDBHelper.GetOledbDataTable(sqlSelect, connStr); List <string> TestValues = new List <string>(); if (dt2.Rows.Count > 0) { foreach (DataRow item2 in dt2.Rows) { foreach (var subItem in correspondenceArray) { string lis = subItem.Split(',')[0].Trim(); string zlchs = subItem.Split(',')[1].Trim(); string itemName = zlchs; string itemValue = item2[lis].ToString().ToUpper(); TestValues.Add(itemName + ":" + itemValue.ToString()); sBuilder.Append(itemName + ',' + itemValue + '|'); } } } ///// if (Helper.CompareSampleNoAndTime(file, strSampleNo, strTestTime, TestValues)) { continue; } string str = sBuilder.ToString().Remove(sBuilder.Length - 1, 1); string[] strs = str.Split('|'); string ChannelType = ""; //0-普通结果;1-直方图;2-散点图;3-直方图界标;4-散点图界标;5-BASE64 string testItemID = ""; string TestResultValue = ""; for (int i = 0; i < strs.Length; i++) { FindRow = tItemChannel.Select("通道编码='" + strs[i].Split(',')[0] + "'"); if (FindRow.Length == 0) //无普通结果则查找图像能道,无图像通道则更新通道类型为空 { ChannelType = null; writelog.Write(strDevice, "未设置通道:" + strs[i].Split(',')[0], "log"); } else { testItemID = FindRow[0]["项目id"].ToString(); ChannelType = "0"; //普通结果 TestResultValue = TestResultValue + testItemID + "^" + strs[i].Split(',')[1] + "|"; } } TestResultValue = strTestTime + "|" + strSampleNo + "^" + strSampleType + "^" + strBarCode + "|" + strOperator + "|" + StrSpecimen + "|" + "|" + TestResultValue; saveResult = new SaveResult(); if (!string.IsNullOrEmpty(strSampleNo) || !string.IsNullOrEmpty(strBarCode)) { saveResult.SaveTextResult(strInstrument_id, TestResultValue, TestGraph, DrSampleNoField); if (ImmediatelyUpdate) { saveResult.UpdateData(); } } } } } catch (Exception e) { writelog.Write(strDevice, "处理失败: " + e.ToString(), "log"); } System.Threading.Thread.Sleep(3000); }
public void ParseResult(string strSource, ref string strResult, ref string strReserved, ref string strCmd) { string strSampleNo_temp = ""; string file = "DIRUI.CST300样本号重复处理.txt"; try { string msg = ""; StreamReader sr = new StreamReader(@".\DIRUI.CST300.txt", Encoding.Default); string correspondence = sr.ReadLine(); string ipPath = sr.ReadLine(); sr.Close(); sr.Dispose(); string[] correspondenceArray = correspondence.Split('|'); string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ipPath + ";Persist Security Info=False;Jet OLEDB:Database Password="******"yyyy-MM-dd"); string sql = @"select distinct(pat_testno) as itemNo from dr_patient where format(pat_testing_date,'yyyy-MM-dd') ='in_pat_testing'"; sql = sql.Replace("in_pat_testing", dateTime); DataTable dt = OleDBHelper.GetOledbDataTable(sql, strConn); foreach (DataRow item in dt.Rows) { StringBuilder sBuilder = new StringBuilder(""); strSampleNo_temp = item["itemNo"].ToString(); sql = @"select testname as itemName ,testresult as itemvalue from dr_test_app where format(testdate,'yyyy-MM-dd')='in_testdate' and testno=in_testno"; sql = sql.Replace("in_testdate", dateTime); sql = sql.Replace("in_testno", strSampleNo_temp); DataTable dt2 = OleDBHelper.GetOledbDataTable(sql, strConn); List <string> TestValues = new List <string>(); foreach (DataRow item1 in dt2.Rows) { strTestTime = DateTime.Now.ToString("yyyy-MM-dd"); string itemName = item1["itemName"].ToString(); string itemVaue = item1["itemValue"].ToString(); if (string.IsNullOrEmpty(itemVaue)) { itemVaue = "*"; } TestValues.Add(item1["itemName"].ToString() + ":" + itemVaue); sBuilder.Append(itemName + ',' + itemVaue + '|'); } ///// if (Helper.CompareSampleNoAndTime(file, strSampleNo_temp, strTestTime, TestValues)) { continue; } string str = sBuilder.ToString().Remove(sBuilder.Length - 1, 1); string[] strs = str.Split('|'); string ChannelType = ""; //0-普通结果;1-直方图;2-散点图;3-直方图界标;4-散点图界标;5-BASE64 string testItemID = ""; string TestResultValue = ""; for (int i = 0; i < strs.Length; i++) { FindRow = tItemChannel.Select("通道编码='" + strs[i].Split(',')[0] + "'"); if (FindRow.Length == 0) //无普通结果则查找图像能道,无图像通道则更新通道类型为空 { ChannelType = null; writelog.Write(strDevice, "未设置通道:" + strs[i].Split(',')[0], "log"); } else { testItemID = FindRow[0]["项目id"].ToString(); ChannelType = "0"; //普通结果 TestResultValue = TestResultValue + testItemID + "^" + strs[i].Split(',')[1] + "|"; } } TestResultValue = strTestTime + "|" + strSampleNo_temp + "^" + strSampleType + "^" + strBarCode + "|" + strOperator + "|" + StrSpecimen + "|" + "|" + TestResultValue; saveResult = new SaveResult(); if (!string.IsNullOrEmpty(strSampleNo_temp) || !string.IsNullOrEmpty(strBarCode)) { saveResult.SaveTextResult(strInstrument_id, TestResultValue, TestGraph, DrSampleNoField); if (ImmediatelyUpdate) { saveResult.UpdateData(); } } if (!ImmediatelyUpdate) { saveResult.UpdateData(); } ///// } System.Threading.Thread.Sleep(10000); } catch (Exception e) { writelog.Write(strDevice, "处理失败: " + e.ToString(), "log"); } }