/// <summary> /// CompletePack /// </summary> /// <param name="packType">0 临时打包; 1 正式打包</param> internal void CompletePack(int packType, bool isMsg) { viewer.lblHint.Text = string.Empty; if (viewer.dataGridView.Rows.Count > 0) { decimal packId = 0; decimal packId2 = 0; bool isTrue = false; List <EntitySamplePack> data = new List <EntitySamplePack>(); EntitySamplePack vo = null; for (int i = 0; i < viewer.dataGridView.Rows.Count; i++) { packId = Convert.ToDecimal(viewer.dataGridView.Rows[i].Cells["packId"].Value); vo = new EntitySamplePack(); vo.packId = packId; vo.barCode = viewer.dataGridView.Rows[i].Cells["barCode"].Value.ToString(); vo.patName = viewer.dataGridView.Rows[i].Cells["patName"].Value.ToString(); vo.sex = viewer.dataGridView.Rows[i].Cells["sex"].Value.ToString(); vo.age = viewer.dataGridView.Rows[i].Cells["age"].Value.ToString(); vo.itemName = viewer.dataGridView.Rows[i].Cells["itemName"].Value.ToString(); vo.itemCode = viewer.dataGridView.Rows[i].Cells["itemCode"].Value.ToString(); vo.packId = packId; vo.peNo = viewer.dataGridView.Rows[i].Cells["peNo"].Value.ToString(); vo.recorderId = viewer.dataGridView.Rows[i].Cells["recorderId"].Value.ToString(); vo.recordDate = Convert.ToDateTime(viewer.dataGridView.Rows[i].Cells["recordDate"].Value.ToString()); vo.status = Convert.ToInt32(viewer.dataGridView.Rows[i].Cells["status"].Value.ToString()); vo.typeId = viewer.BizType; if (packType == 1) { vo.packOperId = viewer.LoginInfo.m_strEmpID; } if (this.FloorNo > 0) { vo.floorNo = this.FloorNo; } if (vo.status == 1) { isTrue = true; } if (packId == 0) { data.Add(vo); } else { packId2 = packId; if (packType == 0) { continue; } else if (packType == 1 && vo.status == 1) { continue; } else { data.Add(vo); } } } if (isTrue && packType == 0 && data.Count > 0) { MessageBox.Show("当前列表存在已打包记录,不能再进行临时打包。", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (data.Count == 0) { if (packType == 0) { MessageBox.Show("数据已完成临时保存。", "系统提示"); } else { MessageBox.Show("数据已完成打包。", "系统提示"); } return; } List <EntitySamplePackDetail> lstDetail = new List <EntitySamplePackDetail>(); EntitySamplePackDetail vod = null; foreach (EntitySamplePack item in data) { item.status = packType; string[] arr1 = item.itemCode.Split(','); string[] arr2 = item.itemName.Split(','); if (item.packId == 0) { item.packId2 = packId2; if (arr1.Length > 0 && arr1.Length == arr2.Length) { for (int k = 0; k < arr1.Length; k++) { vod = new EntitySamplePackDetail(); vod.barCode = item.barCode; vod.itemCode = arr1[k]; vod.itemName = arr2[k]; lstDetail.Add(vod); } } else { if (packType == 0) { MessageBox.Show("标本项目出现异常,临时保存失败。", "系统提示"); } else { MessageBox.Show("标本项目出现异常,打包失败。", "系统提示"); } return; } } } clsDomainController_ApplicationManage domain = new clsDomainController_ApplicationManage(); try { viewer.Cursor = Cursors.WaitCursor; if (domain.SamplePackInsert(data, lstDetail, (int)viewer.BizType, out packId) > 0) { string packTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm"); for (int i = 0; i < viewer.dataGridView.Rows.Count; i++) { viewer.dataGridView.Rows[i].Cells["packId"].Value = packId; if (packType == 1) { viewer.dataGridView.Rows[i].Cells["packOperName"].Value = viewer.LoginInfo.m_strEmpName; viewer.dataGridView.Rows[i].Cells["packDate"].Value = packTime; viewer.dataGridView.Rows[i].Cells["status"].Value = 1; } } if (packType == 0) { if (isMsg) { MessageBox.Show("临时保存成功.", "系统提示"); } else { viewer.lblHint.Text = "临时保存成功"; } } else { MessageBox.Show("打包成功.", "系统提示"); } } else { if (packType == 0) { MessageBox.Show("临时失败.", "系统提示"); } else { MessageBox.Show("打包失败.", "系统提示"); } } } catch (Exception ex) { if (packType == 0) { MessageBox.Show("临时保存异常:" + ex.Message, "系统提示"); } else { MessageBox.Show("打包异常:" + ex.Message, "系统提示"); } } finally { domain = null; viewer.Cursor = Cursors.Default; } ShowSampleNums(); } }
/// <summary> /// CheckSample /// </summary> internal void CheckSample() { int rowNo = -1; string barCode = viewer.txtBarCode.Text.Trim(); if (barCode == string.Empty) { return; } if (barCode != string.Empty && barCode.Length < 9 && viewer.BizType == 0) { barCode = barCode.PadLeft(9, '0'); viewer.txtBarCode.Text = barCode; } if (viewer.BizType == 0 && barCode.Length != 9) { MessageBox.Show("检验标本条码为9位数,请核对.", "系统提示"); return; } if (viewer.BizType == 1 && barCode.Length == 9) { MessageBox.Show("住院标本条码小于9位数,请核对.", "系统提示"); return; } if (LoadSamplePack(barCode) == false) { return; } for (int i = 0; i < viewer.dataGridView.Rows.Count; i++) { if (viewer.dataGridView.Rows[i].Cells["barCode"].Value.ToString() == barCode) { if (!string.IsNullOrEmpty(viewer.dataGridView.Rows[i].Cells["checkDate"].Value.ToString())) { MessageBox.Show("此条码样本已核收.", "系统提示"); return; } rowNo = i; break; } } if (rowNo < 0) { MessageBox.Show("此条码数据异常--可能申请科室信息等资料为空,不能核收。", "系统提示"); return; } EntitySamplePack sampleVo = new EntitySamplePack(); sampleVo.barCode = barCode; sampleVo.peNo = viewer.dataGridView.Rows[rowNo].Cells["peNo"].Value.ToString(); sampleVo.patName = viewer.dataGridView.Rows[rowNo].Cells["patName"].Value.ToString(); sampleVo.sex = viewer.dataGridView.Rows[rowNo].Cells["sex"].Value.ToString(); sampleVo.age = viewer.dataGridView.Rows[rowNo].Cells["age"].Value.ToString(); sampleVo.checkerId = viewer.LoginInfo.m_strEmpID; sampleVo.itemCode = viewer.dataGridView.Rows[rowNo].Cells["itemCode"].Value.ToString(); sampleVo.itemName = viewer.dataGridView.Rows[rowNo].Cells["itemName"].Value.ToString(); sampleVo.patientId = viewer.dataGridView.Rows[rowNo].Cells["patientId"].Value.ToString(); sampleVo.applyEmpId = viewer.dataGridView.Rows[rowNo].Cells["applyEmpId"].Value.ToString(); sampleVo.applyDeptId = viewer.dataGridView.Rows[rowNo].Cells["applyDeptId"].Value.ToString(); sampleVo.applyDate = Convert.ToDateTime(viewer.dataGridView.Rows[rowNo].Cells["applyDate"].Value.ToString()); sampleVo.packDate = Convert.ToDateTime(viewer.dataGridView.Rows[rowNo].Cells["packDate"].Value.ToString()); clsDomainController_ApplicationManage domain = new clsDomainController_ApplicationManage(); try { viewer.Cursor = Cursors.WaitCursor; sampleVo.typeId = viewer.BizType; if (domain.SamplePackCheck(sampleVo)) { viewer.dataGridView.Rows[rowNo].Cells["checkerName"].Value = viewer.LoginInfo.m_strEmpName; viewer.dataGridView.Rows[rowNo].Cells["checkDate"].Value = DateTime.Now.ToString("yyyy-MM-dd HH:mm"); viewer.dataGridView.Rows[rowNo].DefaultCellStyle.ForeColor = Color.Red; ShowSampleNums(); viewer.txtBarCode.Text = string.Empty; viewer.txtBarCode.Focus(); } else { MessageBox.Show("核收失败.", "系统提示"); } } catch (Exception ex) { MessageBox.Show("核收异常:" + ex.Message, "系统提示"); } finally { domain = null; viewer.Cursor = Cursors.Default; } }
/// <summary> /// AddSimple /// </summary> internal void AddSimple() { string barCode = viewer.txtBarCode.Text.Trim(); clsDomainController_ApplicationManage domain = new clsDomainController_ApplicationManage(); if (viewer.BizType == 0) { if (barCode != string.Empty && barCode.Length < 9) { barCode = barCode.PadLeft(9, '0'); viewer.txtBarCode.Text = barCode; } if (barCode.Length != 9) { MessageBox.Show("请输入9位数的条码号。", "系统提示"); return; } } else { #region 判断是否有临时包 if (this.FloorNo > 0 && viewer.dataGridView.Rows.Count == 0) { string tmpBarCode = string.Empty; if (domain.SamplePackQueryTemp(this.FloorNo, out tmpBarCode)) { MessageBox.Show("今天存在临时标本包,系统将自动调出。", "系统提示"); FillData(tmpBarCode); } } #endregion } DataTable dt = (viewer.BizType == 1 ? domain.GetIpSample(barCode) : domain.GetPeSample(barCode)); if (dt != null && dt.Rows.Count > 0) { string age = string.Empty; string sex = string.Empty; EntitySamplePack vo = new EntitySamplePack(); vo.sortNo = viewer.dataGridView.Rows.Count + 1; foreach (DataRow dr in dt.Rows) { if (dr["as_group"] == DBNull.Value || string.IsNullOrEmpty(dr["as_group"].ToString())) { MessageBox.Show("combCode:" + dr["comb_code"].ToString() + " 没有对应的检验组合项目,请联系信息科。", "系统提示"); return; } vo.itemCode += dr["as_group"].ToString() + ","; vo.itemName += dr["as_group_name"].ToString() + ","; vo.barCode = dr["samp_no"].ToString(); vo.peNo = dr["reg_no"].ToString(); vo.patName = dr["pat_name"].ToString(); sex = dr["sex"].ToString(); if (sex != null) { sex = sex.Trim(); } if (sex == "男" || sex == "女") { vo.sex = sex; } else { vo.sex = (sex == "1" ? "男" : "女"); } age = dr["age"].ToString(); if (age.Contains("岁") || age.Contains("月") || age.Contains("天") || age.Contains("时")) { vo.age = age; } else { vo.age = age + " 岁"; } vo.packId = 0; } vo.itemCode = vo.itemCode.TrimEnd(','); vo.itemName = vo.itemName.TrimEnd(','); int n = -1; string[] arr = new string[15]; arr[++n] = vo.sortNo.ToString(); arr[++n] = vo.barCode; arr[++n] = vo.patName; arr[++n] = vo.sex; arr[++n] = vo.age; arr[++n] = vo.itemName; arr[++n] = vo.itemCode; arr[++n] = vo.packId.ToString(); arr[++n] = vo.peNo; arr[++n] = viewer.LoginInfo.m_strEmpName; arr[++n] = DateTime.Now.ToString("yyyy-MM-dd HH:mm"); arr[++n] = string.Empty; arr[++n] = string.Empty; arr[++n] = "0"; arr[++n] = viewer.LoginInfo.m_strEmpID; // 校验1. for (int i = 0; i < viewer.dataGridView.Rows.Count; i++) { if (viewer.dataGridView.Rows[i].Cells["barCode"].Value.ToString() == vo.barCode) { MessageBox.Show("该标本已添加到列表。", "系统提示"); return; } } // 校验2. bool isExist = domain.SamplePackIsExist(barCode); if (isExist) { MessageBox.Show("该标本已打包,不能再次添加。", "系统提示"); return; } //viewer.dataGridView.Rows.Add(arr); viewer.dataGridView.Rows.Insert(0, arr); viewer.dataGridView.Refresh(); if (viewer.tsbTempSave.Enabled) { // 自动临时保存 this.CompletePack(0, false); } viewer.txtBarCode.Text = string.Empty; viewer.txtBarCode.Focus(); ShowSampleNums(); } else { MessageBox.Show("查无标本信息。", "系统提示"); } domain = null; }