/// <summary> /// 构造结果VO /// </summary> /// <param name="p_objRow"></param> /// <param name="p_objResultVO"></param> private void m_mthConstructResultVO(DataRow p_objRow, ref clsAdvia2120ResultInf_VO p_objResultVO) { p_objResultVO.strInputDate = p_objRow["dat_inputdate"].ToString(); p_objResultVO.strSampleID = p_objRow["num_samplenum"].ToString(); p_objResultVO.intTypeID = int.Parse(p_objRow["num_typeid"].ToString()); p_objResultVO.strItemCode = p_objRow["chr_itemcode"].ToString(); p_objResultVO.intDataFormat = int.Parse(p_objRow["num_dataformat"].ToString()); p_objResultVO.num_value = decimal.Parse(p_objRow["num_value"].ToString()); p_objResultVO.chr_value = p_objRow["chr_value"].ToString(); p_objResultVO.num_od = decimal.Parse(p_objRow["num_od"].ToString()); p_objResultVO.strPicPath = p_objRow["chr_picpath"].ToString().Trim(); p_objResultVO.strState = p_objRow["chr_state"].ToString(); p_objResultVO.strTestTime = DateTime.Parse(p_objRow["dat_testtime"].ToString()).ToShortDateString(); p_objResultVO.strItemName = p_objRow["chr_itemname"].ToString(); p_objResultVO.m_strItemid = p_objRow["num_itemid"].ToString(); }
/// <summary> /// 插入报告 /// </summary> public void m_mthInsertReport() { if (this.m_objViewer.listView1.SelectedItems.Count <= 0) { return; } try { objConn.Open(); } catch (Exception) { MessageBox.Show(this.m_objViewer, "数据库连接失败,请检查数据库路径是否正确!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } try { com.digitalwave.iCare.gui.HIS.clsPublic.PlayAvi("findfile.avi", "正在插入检验报告单,请稍候..."); long lngRes = 0; bool blnHasCode = true; //含有标识值 int intInsertNum = 0; //记录数据库插入数据的条数 DataTable dt = new DataTable(); DataRow objRow = null; #region 生成SQL //string strSQL = @"select a.dat_inputdate, a.num_samplenum, a.num_typeid, a.chr_itemcode, a.num_dataformat, a.num_value, a.chr_value, a.num_od, a.chr_picpath, a.chr_state, a.dat_testtime, b.chr_itemname, c.chr_code from ((result_inf a left outer join item_set b on a.chr_itemcode = b.chr_itemcode) inner join report_inf c on a.dat_inputdate = c.dat_inputdate and a.num_samplenum = c.num_samplenum) where a.num_samplenum in("; string strSQL = @"select a.dat_inputdate, a.num_samplenum, a.num_typeid, a.chr_itemcode, a.num_dataformat, a.num_value, a.chr_value, a.num_od, a.chr_picpath, a.chr_state, a.dat_testtime, b.chr_itemname, b.num_itemid from (result_inf a left outer join item_set b on a.chr_itemcode = b.chr_itemcode) where a.num_samplenum in("; string strSQL2 = @") and a.dat_inputdate = :check_date"; ListViewItem objlvItem = null; for (int i1 = 0; i1 < this.m_objViewer.listView1.SelectedItems.Count; i1++) { objlvItem = this.m_objViewer.listView1.SelectedItems[i1]; strSQL += objlvItem.SubItems[0].Text + ","; } strSQL = strSQL.Remove(strSQL.Length - 1, 1) + strSQL2; OleDbCommand objCommand = new OleDbCommand(); OleDbParameter objParam = new OleDbParameter("check_date", OleDbType.DBDate); objParam.Value = DateTime.Parse(this.m_objViewer.listView1.SelectedItems[0].SubItems[4].Text); objCommand.Connection = objConn; objCommand.CommandText = strSQL; objCommand.Parameters.Add(objParam); #endregion OleDbDataAdapter objAdapter = new OleDbDataAdapter(objCommand); objAdapter.Fill(dt); objConn.Close(); List <clsAdvia2120ResultInf_VO> objResultList = new List <clsAdvia2120ResultInf_VO>(); clsAdvia2120ResultInf_VO objRes; string strPP = ""; DateTime datTmp; for (int i2 = 0; i2 < dt.Rows.Count; i2++) { objRow = dt.Rows[i2]; if (objRow["dat_inputdate"].ToString().Trim() == "" && objRow["num_samplenum"].ToString().Trim() == "") { blnHasCode = false; break; } objRes = new clsAdvia2120ResultInf_VO(); this.m_mthConstructResultVO(objRow, ref objRes); //objRes.strCode = objRow["chr_code"].ToString(); //<------------------ 2007-11-08 Modify #region 构造标识号 datTmp = DateTime.Parse(objRow["dat_inputdate"].ToString()); objRes.strCode = datTmp.ToString("yyyy") + datTmp.ToString("MM").PadLeft(2, '0') + datTmp.ToString("dd").PadLeft(2, '0') + objRow["num_samplenum"].ToString(); #endregion //------------------> objRes.strDeviceID = strDeviceModelID; objRes.m_strOperator_ID = this.m_objViewer.LoginInfo.m_strEmpID; if (objRes.intDataFormat == 2) { //构造图形 strPP = strPicturePath + objRow["chr_picpath"].ToString(); objRes.m_byaGraph = this.m_objConstructImage(strPP); } objResultList.Add(objRes); } if (blnHasCode) { lngRes = m_objDomain.m_lngInsertReport(this.m_objViewer.listView1.SelectedItems.Count, objResultList, out intInsertNum); //插入报告单 } else { MessageBox.Show(this.m_objViewer, "插入队列中含有空“样本号”,请检查后再操作!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } com.digitalwave.iCare.gui.HIS.clsPublic.CloseAvi(); if (lngRes > 0) { MessageBox.Show(this.m_objViewer, "选中要插入报告单的共 " + this.m_objViewer.listView1.SelectedItems.Count + " 人\r\n\r\n插入记录 " + intInsertNum + " 条", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); frmHandInputReport.WYH = true; } else { MessageBox.Show(this.m_objViewer, "没有任何插入报告条数!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception objEx) { objConn.Close(); com.digitalwave.iCare.gui.HIS.clsPublic.CloseAvi(); string strTmp = objEx.Message; com.digitalwave.Utility.clsLogText objLogger = new com.digitalwave.Utility.clsLogText(); bool blnRes = objLogger.LogError(objEx); } }
/// <summary> /// 读取报告信息 /// </summary> /// <param name="p_datInputDate">检验日期</param> /// <param name="p_intSampleID">样本号</param> public void m_mthReadReport(DateTime p_datInputDate, Int64 p_intSampleID) { string strSQL = @"select a.dat_inputdate, a.num_samplenum, a.num_typeid, a.chr_itemcode, a.num_dataformat, a.num_value, a.chr_value, a.num_od, a.chr_picpath, a.chr_state, a.dat_testtime, b.chr_itemname, b.num_itemid from result_inf a left outer join item_set b on a.chr_itemcode = b.chr_itemcode"; try { objConn.Open(); } catch (Exception) { MessageBox.Show(this.m_objViewer, "数据库连接失败,请检查数据库路径是否正确!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } OleDbParameter objParam = null; OleDbParameter objParam2 = null; DataTable dt = new DataTable(); OleDbCommand objCommand = new OleDbCommand(); objCommand.Connection = objConn; strSQL += @" where a.dat_inputdate = :input_date and a.num_samplenum = :sample_id"; objParam = new OleDbParameter("input_date", OleDbType.DBDate); objParam.Value = DateTime.Parse(p_datInputDate.ToShortDateString()); objParam2 = new OleDbParameter("sample_id", OleDbType.UnsignedBigInt); objParam2.Value = p_intSampleID; objCommand.CommandText = strSQL; objCommand.Parameters.Add(objParam); objCommand.Parameters.Add(objParam2); OleDbDataAdapter objAdapter = new OleDbDataAdapter(objCommand); objAdapter.Fill(dt); objConn.Close(); clsAdvia2120ResultInf_VO[] objReportVOArr = null; if (dt.Rows.Count > 0) { objReportVOArr = new clsAdvia2120ResultInf_VO[dt.Rows.Count]; ListViewItem objlvItem = null; for (int i1 = 0; i1 < dt.Rows.Count; i1++) { objReportVOArr[i1] = new clsAdvia2120ResultInf_VO(); m_mthConstructResultVO(dt.Rows[i1], ref objReportVOArr[i1]); #region 添加结果 objlvItem = new ListViewItem(Convert.ToString(i1 + 1)); objlvItem.SubItems.Add(objReportVOArr[i1].strItemCode); objlvItem.SubItems.Add(objReportVOArr[i1].num_od.ToString()); objlvItem.SubItems.Add(objReportVOArr[i1].num_value.ToString()); objlvItem.SubItems.Add(objReportVOArr[i1].chr_value); if (objReportVOArr[i1].strState == "1") { objlvItem.SubItems.Add("√"); } else { objlvItem.SubItems.Add(objReportVOArr[i1].strState); } objlvItem.SubItems.Add(objReportVOArr[i1].strTestTime); if (objReportVOArr[i1].intDataFormat == 2 && objReportVOArr[i1].strPicPath != "") { objlvItem.SubItems.Add("√"); } else { objlvItem.SubItems.Add(""); } this.m_objViewer.listView2.Items.Add(objlvItem); #endregion } //this.m_objViewer.listView1.SelectedItems[0].Tag = objReportVOArr; } }