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; } }