示例#1
0
        internal void m_mthPrint()
        {
            if (m_objViewer.m_dgvAskMedMain.Rows.Count <= 0)
            {
                return;
            }
            if (m_objViewer.tabControl1.SelectedIndex == 0)
            {
                int       m_intRowIndex = m_objViewer.m_dgvAskMedMain.CurrentCell.RowIndex;
                string    m_strTemp     = Convert.ToString(m_objViewer.m_dgvAskMedMain.Rows[m_intRowIndex].Cells["m_txtBillNo"].Value);
                DataStore ds            = new DataStore();
                ds.LibraryList      = Application.StartupPath + "\\PB_OP.pbl";
                ds.DataWindowObject = "d_op_askmedicine";

                if (m_objViewer.m_blnIsHospital)
                {
                    ds.Modify("t_3.text = '住院单位'");
                    ds.Modify("t_1.text='" + m_objComInfo.m_strGetHospitalTitle() + "住院药房请领单'");
                }
                else
                {
                    ds.Modify("t_1.text='" + m_objComInfo.m_strGetHospitalTitle() + "门诊药房请领单'");
                }
                ds.Modify("t_aksdept.text='" + Convert.ToString(m_objViewer.m_dgvAskMedMain.Rows[m_intRowIndex].Cells["m_txtAskDeptName"].Value) + "'");
                ds.Modify("t_askid.text='" + m_strTemp + "'");
                ds.Modify("t_asktime.text='" + Convert.ToDateTime(m_objViewer.m_dgvAskMedMain.Rows[m_intRowIndex].Cells["m_txtAskDate"].Value).ToString("yyyy年MM月dd日") + "'");
                ds.Modify("t_asker.text='" + Convert.ToString(m_objViewer.m_dgvAskMedMain.Rows[m_intRowIndex].Cells["m_txtAskName"].Value) + "'");
                DataTable m_dtbSub = this.m_objViewer.m_dgvAskMedDetail.DataSource as DataTable;
                DataRow[] drArr    = m_dtbSub.Select("seriesid_int is not null and seriesid2_int is not null");
                for (int i = 0; i < drArr.Length; i++)
                {
                    int row = ds.InsertRow(0);
                    ds.SetItemString(row, "RowNo", Convert.ToString(i + 1));
                    ds.SetItemString(row, "MedCode", drArr[i]["assistcode_chr"].ToString());
                    ds.SetItemString(row, "MedName", drArr[i]["MEDICINENAME_VCHR"].ToString());
                    ds.SetItemString(row, "MedSepc", drArr[i]["MEDSPEC_VCHR"].ToString());
                    ds.SetItemString(row, "OPAmount", drArr[i]["OPAMOUNT_INT"].ToString());
                    ds.SetItemString(row, "OPUnit", drArr[i]["OPUNIT_CHR"].ToString());
                    ds.SetItemString(row, "IPAmount", drArr[i]["AMOUNT_INT"].ToString());
                    ds.SetItemString(row, "IPUnit", drArr[i]["UNIT_CHR"].ToString());
                    ds.SetItemString(row, "Package", drArr[i]["PACKQTY_DEC"].ToString());
                }
                com.digitalwave.iCare.gui.MedicineStore.clsCtl_Public.PrintDialog(ds);
            }
            else
            {
                /* 三院格式
                 * int p_intRowIndex = this.m_objViewer.m_dgvOutStorageMain.CurrentCell.RowIndex;
                 * DataTable p_OutDtbVal = new DataTable();
                 * clsDcl_MedicineOut m_objDo = new clsDcl_MedicineOut();
                 * long p_lngSeqid = Convert.ToInt64(this.m_objViewer.m_dgvOutStorageMain.Rows[p_intRowIndex].Cells["m_txtSeqid"].Value);
                 * m_objDo.m_lngGetOutStorageDetailReportForGY3Y(p_lngSeqid, out p_OutDtbVal);
                 *
                 * DataStore ds = new DataStore();
                 * ds.LibraryList = Application.StartupPath + "\\pb_gy3y_ms.pbl";
                 * ds.DataWindowObject = "ms_outstoragedetail";
                 * ds.Reset();
                 * ds.Modify("t_title.text='" + this.m_objViewer.objController.m_objComInfo.m_strGetHospitalTitle() + Convert.ToString(m_objViewer.m_dgvOutStorageMain.Rows[p_intRowIndex].Cells["m_txtStorageName"].Value) + "出库凭证'");
                 * ds.Modify("m_storagename.text='" + Convert.ToString(m_objViewer.m_dgvOutStorageMain.Rows[p_intRowIndex].Cells["m_txtStorageName"].Value) + "'");
                 * ds.Modify("m_txtreceivedept.text='" + Convert.ToString(m_objViewer.m_dgvOutStorageMain.Rows[p_intRowIndex].Cells["m_txtAskDepName"].Value) + "'");
                 * ds.Modify("m_txtman.text='" + Convert.ToString(m_objViewer.m_dgvOutStorageMain.Rows[p_intRowIndex].Cells["m_txtMakerName"].Value) + "'");
                 * //ds.Modify("m_txtman2.text='" + Convert.ToString(m_objViewer.m_dgvOutStorageMain.Rows[p_intRowIndex].Cells["m_txtMakerName"].Value) + "'");
                 * ds.Modify("m_txtman3.text='" + Convert.ToString(m_objViewer.m_dgvOutStorageMain.Rows[p_intRowIndex].Cells["m_txtMakerName"].Value) + "'");
                 * ds.Modify("m_txtman4.text='" + Convert.ToString(m_objViewer.m_dgvOutStorageMain.Rows[p_intRowIndex].Cells["m_txtExamerName"].Value) + "'");
                 * ds.Modify("m_txtoutputorder.text='" + Convert.ToString(m_objViewer.m_dgvOutStorageMain.Rows[p_intRowIndex].Cells["m_txtOutStorageid"].Value) + "'");
                 * ds.Modify("t_RowNum.text='" + p_OutDtbVal.Rows.Count + "'");
                 * ds.Retrieve(p_OutDtbVal);
                 * com.digitalwave.iCare.gui.MedicineStore.clsCtl_Public.PrintDialog(ds);
                 */



                decimal decTMoney;
                decTMoney = Convert.ToDecimal(m_objViewer.m_lblRetailSubMoney.Text.Replace("元", ""));
                string strAllInMoney = new Money(decTMoney).ToString();

                if (m_objViewer.m_dgvOutStorageDetail.Rows.Count == 0)
                {
                    MessageBox.Show("抱歉,没有数据可打印!", "药品出库", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }
                int intPrintType;
                m_objDomain.m_lngGetPrinType(out intPrintType);
                frmMedicineOutReport frmReport   = new frmMedicineOutReport();
                DataTable            p_OutDtbVal = new DataTable();
                this.m_objDomain.m_lngGetOutStorageDetailReport(Convert.ToInt64(this.m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtSeqid"].Value), intPrintType, out p_OutDtbVal);

                DataRow dro;

                int       i_temp = 0;
                DataTable dtb    = new DataTable();

                string RoomName = m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtStorageName"].Value.ToString();


                if (intPrintType == 0)
                {
                    dtb = p_OutDtbVal.Clone();
                    for (int i_low = 0; i_low < p_OutDtbVal.Rows.Count; i_low++)
                    {
                        i_temp++;
                        dtb.ImportRow(p_OutDtbVal.Rows[i_low]);
                        //药品和材料不能打在同一张

                        if (((i_low + 1) >= p_OutDtbVal.Rows.Count) || ((p_OutDtbVal.Rows[i_low]["medicinetypesetid"].ToString()) != (p_OutDtbVal.Rows[i_low + 1]["medicinetypesetid"].ToString())))
                        {
                            int ros = 7 - i_temp % 7;
                            if (ros != 7)
                            {
                                int i_valCount = dtb.Rows.Count + ros;
                                for (int i = 0; i < ros; i++)
                                {
                                    dro = dtb.NewRow();
                                    dtb.Rows.Add(dro);
                                }
                                i_temp = 0;
                            }
                        }
                    }
                    frmReport.datWindow.DataWindowObject = "outstorage_detailreport_lj";
                }

                if (intPrintType == 1)
                {
                    dtb = p_OutDtbVal.Copy();
                    frmReport.datWindow.DataWindowObject = "outstorage_detailreport_cs";
                }

                frmReport.ReceiveDept = m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtAskDepName"].Value.ToString();
                frmReport.OutputOrder = m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtOutStorageid"].Value.ToString();
                string mmm = new Money(decTMoney).ToString();
                frmReport.strBigwrith   = mmm;
                frmReport.zDate         = Convert.ToDateTime(m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtExamDate"].Value).ToString("yyyy年MM月dd日 HH时mm分ss秒");
                frmReport.Man           = m_objViewer.m_dgvOutStorageMain.SelectedRows[0].Cells["m_txtExamerName"].Value.ToString();
                frmReport.RoomName      = RoomName;
                frmReport.dtb           = dtb;
                frmReport.i_showType    = 1;
                frmReport.strAllInMoney = strAllInMoney;
                frmReport.ShowDialog();
            }
        }