namespace BLL { using System.Collections.Generic; using System.Data; using System.Text; using System.Linq; /// /// 通用方法类。 /// public static class PrinterDocService { /// /// /// /// /// public static void PrinterDocMethod(string menuId, string id, string name) { System.Web.HttpContext.Current.Response.ClearContent(); string htmlStr = string.Empty; if (menuId == Const.ProjectTestRecordMenuId) { htmlStr = GetTestRecordHtml(id); } else if (menuId == Const.SendCardMenuId) { htmlStr = GetSendCardHtml(id); } if (!string.IsNullOrEmpty(htmlStr)) { string filename = name + Funs.GetNewFileName(); System.Web.HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode(filename, Encoding.UTF8) + ".doc"); System.Web.HttpContext.Current.Response.ContentType = "application/word"; System.Web.HttpContext.Current.Response.ContentEncoding = Encoding.UTF8; System.Web.HttpContext.Current.Response.Write(htmlStr); System.Web.HttpContext.Current.Response.End(); } } #region 试卷 /// /// 导出方法 /// /// /// public static string GetTestRecordHtml(string testRecordId) { Model.CNPCDB db = Funs.DB; StringBuilder sb = new StringBuilder(); var getTestRecord = TestRecordService.GetTestRecordById(testRecordId); if (getTestRecord != null) { var getTestItems = from x in Funs.DB.Training_TestRecordItem where x.TestRecordId == testRecordId select x; sb.Append(""); sb.Append(""); sb.Append(""); sb.AppendFormat(" ", "中国天辰" + ProjectService.GetProjectNameByProjectId(getTestRecord.ProjectId)); sb.Append(""); sb.Append(""); var getTrainTypeName = (from x in db.Training_TestPlan join z in db.Training_Plan on x.PlanId equals z.PlanId join t in db.Base_TrainType on z.TrainTypeId equals t.TrainTypeId where x.TestPlanId == getTestRecord.TestPlanId select t.TrainTypeName).FirstOrDefault(); sb.AppendFormat(" ", getTrainTypeName ?? "" + "培训试题"); sb.Append(""); sb.Append("
{0}
{0}
"); sb.Append(""); sb.Append(""); string unitName = ""; string workPostName = ""; string testName = ""; string idCard = ""; var person = Funs.DB.SitePerson_Person.FirstOrDefault(e => e.PersonId == getTestRecord.TestManId); if (person != null) { unitName = BLL.UnitService.GetUnitNameByUnitId(person.UnitId); workPostName = WorkPostService.getWorkPostNamesWorkPostIds(person.WorkPostId); testName = person.PersonName; idCard = person.IdentityCard; } sb.AppendFormat(" ", "单位名称:" + unitName); sb.AppendFormat(" ", "工种/职务:" + workPostName); sb.AppendFormat(" ", "日期:" + string.Format("{0:yyyy-MM-dd}", getTestRecord.TestStartTime)); sb.Append(""); sb.Append("
{0}{0}{0}
"); sb.Append(""); sb.Append(""); sb.AppendFormat(" ", "姓名:" + testName); sb.AppendFormat(" ", "身份证号:" + idCard); sb.AppendFormat(" ", "分数:" + (getTestRecord.TestScores ?? 0).ToString()); sb.Append(""); sb.Append("
{0}{0}{0}
"); sb.Append(""); ///单项选择题 sb.Append(""); sb.AppendFormat(" ", "一、单项选择题 (每题2分,共50分)"); sb.Append(""); var getSingleItem = getTestItems.Where(x => x.TestType == "1").ToList(); if (getSingleItem.Count > 0) { int num = 1; foreach (var item in getSingleItem) { sb.Append(""); string Avstracts = item.Abstracts.Replace(" ", "").Replace(" ", "").Replace("(", "(").Replace(")", ")").Replace("()", "(" + item.SelectedItem + ")"); sb.AppendFormat(" ", num + "、" + Avstracts); sb.Append(""); sb.Append(""); string str = string.Empty; if (!string.IsNullOrEmpty(item.AItem)) { str += "A." + item.AItem; } if (!string.IsNullOrEmpty(item.BItem)) { str += "  B." + item.BItem; } if (!string.IsNullOrEmpty(item.CItem)) { str += "  C." + item.CItem; } if (!string.IsNullOrEmpty(item.DItem)) { str += "  D." + item.DItem; } sb.AppendFormat(" ", str); sb.Append(""); num++; } } ///多项选择题 sb.Append(""); sb.AppendFormat(" ", "二、多项选择题 (每题3分,共30分)"); sb.Append(""); var getMultipleItem = getTestItems.Where(x => x.TestType == "2").ToList(); if (getMultipleItem.Count > 0) { int num = 1; foreach (var item in getMultipleItem) { string Avstracts = item.Abstracts.Replace(" ", "").Replace(" ", "").Replace("(", "(").Replace(")", ")").Replace("()", "(" + item.SelectedItem + ")"); sb.AppendFormat(" ", num + "、" + Avstracts); sb.Append(""); sb.Append(""); string str = string.Empty; if (!string.IsNullOrEmpty(item.AItem)) { str += "A." + item.AItem; } if (!string.IsNullOrEmpty(item.BItem)) { str += "  B." + item.BItem; } if (!string.IsNullOrEmpty(item.CItem)) { str += "  C." + item.CItem; } if (!string.IsNullOrEmpty(item.DItem)) { str += "  D." + item.DItem; } sb.AppendFormat(" ", str); sb.Append(""); num++; } } ///判断题 sb.Append(""); sb.AppendFormat(" ", "三、判断题 (每题1分,共20分)"); sb.Append(""); var getIsTrueItem = getTestItems.Where(x => x.TestType == "3").ToList(); if (getIsTrueItem.Count > 0) { int num = 1; foreach (var item in getIsTrueItem) { sb.Append(""); var Avstracts = item.Abstracts; if (Avstracts.IndexOf("(") > -1) { Avstracts = Avstracts.Replace("(", "(" + item.SelectedItem == "(A" ? "(√" : "(×"); } else { if (Avstracts.IndexOf("(") > -1) Avstracts = Avstracts.Replace("(", "(" + item.SelectedItem == "(A" ? "(√" : "(×"); } sb.AppendFormat(" ", num + "、" + Avstracts); sb.Append(""); num++; } } sb.Append("
{0}
{0}
{0}
{0}
{0}
{0}
{0}
{0}
"); sb.Append(""); var attachFile = Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == testRecordId); if (attachFile != null && !string.IsNullOrEmpty(attachFile.AttachUrl)) { List listUrl = Funs.GetStrListByStr(attachFile.AttachUrl, ','); int count = listUrl.Count(); sb.Append(""); if (count > 0) { string imgStr0 = "  "; string imgStr1 = "  "; if (count >= 2) { int cout2 = count / 2; imgStr1 = "  "; } string imgStr2 = "  "; sb.AppendFormat(" ", imgStr0); sb.AppendFormat(" ", imgStr1); sb.AppendFormat(" ", imgStr2); } else { sb.AppendFormat(" ", ""); } sb.Append(""); } sb.Append("
{0}{0}{0}{0}
"); ///图片 } return sb.ToString(); } #endregion #region 人员上岗证 /// /// 导出方法 /// /// /// public static string GetSendCardHtml(string personIds) { Model.CNPCDB db = Funs.DB; StringBuilder sb = new StringBuilder(); sb.Append(""); sb.Append(""); List pList = Funs.GetStrListByStr(personIds, ','); if (pList.Count() > 0) { string imgStrUrl = ""; for (int pageIndex = 1; pageIndex * 2 <= pList.Count() + 1; pageIndex++) { string projectName = ""; string unitName1 = ""; string unitName2 = ""; string workName1 = ""; string workName2 = ""; string personName1 = ""; string personName2 = ""; string cardNo1 = ""; string cardNo2 = ""; string photoUrl1 = ""; string photoUrl2 = ""; string QRUrl1 = ""; string QRUrl2 = ""; var getDataList = pList.Skip(2 * (pageIndex - 1)).Take(2).ToList(); int i = 0; foreach (var item in getDataList) { var getPerson = PersonService.GetPersonById(item); if (getPerson != null) { string qrurl = string.Empty; if (!string.IsNullOrEmpty(getPerson.QRCodeAttachUrl) && CreateQRCodeService.isHaveImage(getPerson.QRCodeAttachUrl)) { qrurl = getPerson.QRCodeAttachUrl; } else { qrurl = CreateQRCodeService.CreateCode_Simple(getPerson.IdentityCard); getPerson.QRCodeAttachUrl = qrurl; db.SubmitChanges(); } projectName = ProjectService.GetShortNameByProjectId(getPerson.ProjectId); if (i == 0) { unitName1 = UnitService.GetUnitNameByUnitId(getPerson.UnitId); workName1 = WorkPostService.getWorkPostNameById(getPerson.WorkPostId); personName1 = getPerson.PersonName; cardNo1 = getPerson.CardNo; photoUrl1 = getPerson.PhotoUrl; QRUrl1 = qrurl; } else { unitName2 = UnitService.GetUnitNameByUnitId(getPerson.UnitId); workName2 = WorkPostService.getWorkPostNameById(getPerson.WorkPostId); personName2 = getPerson.PersonName; cardNo2 = getPerson.CardNo; photoUrl2 = getPerson.PhotoUrl; QRUrl2 = qrurl; } i++; } } sb.Append(""); sb.Append(""); sb.AppendFormat(" ", ""); sb.Append(""); sb.Append(""); sb.Append(""); sb.AppendFormat(" ", ""); sb.Append(""); } } sb.Append("
"); sb.Append(""); sb.Append(""); sb.AppendFormat(" ", imgStrUrl); sb.AppendFormat(" ", "中国天辰工程有限公司"); string imgStrQRUrl1 = ""; sb.AppendFormat(" ", imgStrQRUrl1); sb.Append(""); sb.Append(""); sb.AppendFormat(" ", projectName); sb.Append(""); sb.Append("
{0}{0}{0}
{0}
"); sb.Append(""); sb.Append(""); sb.AppendFormat(" ", "单位:"); sb.AppendFormat(" ", unitName1); string imgStrphotoUrl1 = ""; sb.AppendFormat(" ", imgStrphotoUrl1); sb.Append(""); sb.Append(""); sb.AppendFormat(" ", "岗位:"); sb.AppendFormat(" ", workName1); sb.Append(""); sb.Append(""); sb.AppendFormat(" ", "姓名:"); sb.AppendFormat(" ", personName1); sb.Append(""); sb.Append(""); sb.AppendFormat(" ", "编号:"); sb.AppendFormat(" ", cardNo1); sb.Append(""); sb.Append(""); sb.AppendFormat(" ", ""); sb.AppendFormat(" ", ""); sb.Append(""); sb.Append("
{0}{0}{0}
{0}{0}
{0}{0}
{0}{0}
{0}{0}
"); sb.Append("
{0}"); if (!string.IsNullOrEmpty(personName2)) { sb.Append(""); sb.Append(""); sb.AppendFormat(" ", imgStrUrl); sb.AppendFormat(" ", "中国天辰工程有限公司"); string imgStrQRUrl2 = ""; sb.AppendFormat(" ", imgStrQRUrl2); sb.Append(""); sb.Append(""); sb.AppendFormat(" ", projectName); sb.Append(""); sb.Append("
{0}{0}{0}
{0}
"); sb.Append(""); sb.Append(""); sb.AppendFormat(" ", "单位:"); sb.AppendFormat(" ", unitName2); string imgStrphotoUrl2 = ""; sb.AppendFormat(" ", imgStrphotoUrl2); sb.Append(""); sb.Append(""); sb.AppendFormat(" ", "岗位:"); sb.AppendFormat(" ", workName2); sb.Append(""); sb.Append(""); sb.AppendFormat(" ", "姓名:"); sb.AppendFormat(" ", personName2); sb.Append(""); sb.Append(""); sb.AppendFormat(" ", "编号:"); sb.AppendFormat(" ", cardNo2); sb.Append(""); sb.Append(""); sb.AppendFormat(" ", ""); sb.AppendFormat(" ", ""); sb.Append(""); sb.Append("
{0}{0}{0}
{0}{0}
{0}{0}
{0}{0}
{0}{0}
"); } sb.Append("
{0}
"); return sb.ToString(); } #endregion } }