Beispiel #1
0
        public void saveFun()
        {
            if (File.Exists("printtemp\\xpsShow.xps"))
            {
                File.Delete("printtemp\\xpsShow.xps");
            }

            foreach (string strFile in Directory.GetFiles("printTemp"))
            {
                File.Delete(strFile);
            }

            if (!Directory.Exists(@"D:\汇出打印文件\" + date))
            {
                //foreach (string strFile in Directory.GetFiles(@"D:\汇出打印文件"))
                //{
                //    File.Delete(strFile);
                //}
                Directory.CreateDirectory(@"D:\汇出打印文件\" + date);
            }
            //else Directory.CreateDirectory(@"D:\汇出打印文件");

            RecordsBaseInfoBLL archive_baseinfo = new RecordsBaseInfoBLL();

            count        = 0;
            IsHaveReport = false;
            IGetReport igp;

            string[] SelectName = PrintType.Split(';');
            int      no         = 1;

            // 取得资料笔数
            DataTable dtData = archive_baseinfo.GetList(PrintWhere, "").Tables[0];
            DataTable dt     = dtData.DefaultView.ToTable("IDCardNo", true, "IDCardNo");

            if (dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i += 10)
                {
                    CardID = "";

                    for (int j = i; j < i + 10; j++)
                    {
                        if (j < dt.Rows.Count)
                        {
                            CardID += dt.Rows[j]["IDCardNo"].ToString() + ";";
                        }
                        else
                        {
                            break;
                        }
                    }

                    IDCard.Add(CardID);

                    #region 生成文件

                    string[] idCardsStrings = CardID.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);

                    foreach (string idCardNo in idCardsStrings)
                    {
                        foreach (string name in SelectName)
                        {
                            switch (name)
                            {
                            case "封面":
                                if (area == "淄博")
                                {
                                    igp = new HealthReport();
                                }
                                else
                                {
                                    igp = new ArchiveCover();
                                }

                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "基本信息":
                                igp = new ArchiveBase();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "健康体检表":
                                igp = new ArchivePhysical();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "高血压随访":
                                igp = new Hypertension_Followup();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "糖尿病随访":
                                igp = new Diabetes_Followup();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "精神病信息补充":
                                igp = new Mentaldisease_Baseinfo();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "精神病随访":
                                igp = new Mentaldisease_Followup();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "居民健康档案卡":
                                igp = new ArchiveCard();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "老年人中医健康":
                                igp = new Old_Medicine_CN();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "新生儿家庭访视":
                                igp = new Child_With_NEW();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "1岁内儿童健康检查":
                                igp = new Child_With_ONE();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "1-2岁内儿童健康检查":
                                igp = new Child_With_TWO();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "3-6岁内儿童健康检查":
                                igp = new Child_With_THREE();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "第1次产前随访":
                                igp = new GRAVIDA_FRIST();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "第2-5次产前随访":
                                igp = new GRAVIDA_TWO();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "产后访视记录":
                                igp = new GRAVIDA_Postpartum();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "产后42天健康检查":
                                igp = new GRAVIDA_Postpartum42();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "脑卒中随访记录":
                                igp = new Stroke_Followup();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "冠心病随访记录":
                                igp = new CHD_Follow();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "6-18月龄儿童中医健康":
                                igp = new Child_CN_ONE();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "24-36月龄儿童中医健康":
                                igp = new Child_CN_TWO();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "3-6岁内儿童中医健康":
                                igp = new Child_CN_THREE();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "第1次肺结核随访":
                                igp = new LungerFirstVisit();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "肺结核随访":
                                igp = new ChronicLungerVisit();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "健康教育":
                                igp = new HealthEducation();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "接诊记录":
                                igp = new Medical_Receive();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "会诊记录":
                                igp = new Medical_Consulation();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "双向转诊":
                                igp = new Medical_Refferral();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "健康体检反馈单":
                                igp = new HealthFeedback();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "老年人自理能力":
                                igp = new Physical_OldSelfCare();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "65岁以上老年人健康体检反馈单":
                                if (area.Equals("淄博"))
                                {
                                    igp = new OldHealthFeedback();
                                }
                                else if (community.Equals("日照街道社区"))
                                {
                                    igp = new OldHealthFeedbackRiZhao();
                                }
                                else
                                {
                                    igp = new OldHealthFeedbackYuCheng();
                                }

                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "档案封面":
                                igp = new HealthCoverCard();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "血生化、血常规、尿液数据":
                                igp = new Blood_Urine();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            case "心电":
                                string ecgType = DrawItems.GetECGConfig();

                                if (ecgType == "2")
                                {
                                    igp        = new ElectroCardioGramcs();
                                    igp.CardID = idCardNo;
                                    if (!igp.hasData())
                                    {
                                        igp = null;
                                    }
                                    else
                                    {
                                        this.saveInvoke(igp, idCardNo, no.ToString());
                                    }
                                }
                                break;

                            case "B超":
                                igp        = new TypeBchao();
                                igp.CardID = idCardNo;
                                if (!igp.hasData())
                                {
                                    igp = null;
                                }
                                else
                                {
                                    this.saveInvoke(igp, idCardNo, no.ToString());
                                }
                                break;

                            case "体检报告":
                                igp = new PhyicalReport();
                                this.saveInvoke(igp, idCardNo, no.ToString());
                                break;

                            default:
                                igp = null;
                                break;
                            }
                        }

                        no++;

                        if (no % 10 == 0)
                        {
                            Thread.Sleep(1000);
                        }
                    }

                    #endregion
                }

                Thread.Sleep(1000);

                if (!IsHaveReport)
                {
                    System.Windows.Forms.MessageBox.Show("无可汇出资料!", "提示",
                                                         System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Asterisk,
                                                         System.Windows.Forms.MessageBoxDefaultButton.Button1, System.Windows.Forms.MessageBoxOptions.DefaultDesktopOnly);

                    CloseWin("none");

                    return;
                }

                this.setMsg("开始生成合并文档");
                this.MergeInvoke();
                this.CloseWin("test");
            }
            else
            {
                System.Windows.Forms.MessageBox.Show("无可汇出资料!", "提示",
                                                     System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Asterisk,
                                                     System.Windows.Forms.MessageBoxDefaultButton.Button1, System.Windows.Forms.MessageBoxOptions.DefaultDesktopOnly);

                CloseWin("none");

                return;
            }
        }