Example #1
0
        /// <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();
            }
        }
Example #2
0
        /// <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;
            }
        }
Example #3
0
        /// <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;
        }