public override void Item(object sender, ItemConverterEventArgs e) { XmlDocument dom = new XmlDocument(); try { dom.LoadXml(e.Xml); } catch (Exception ex) { e.ResultString = ex.Message; return; } string strResult = "<html>"; strResult += "<head>"; strResult += "<link href='%mappeddir%\\styles\\itemhtml.css' type='text/css' rel='stylesheet' />"; strResult += "<link href=\"%mappeddir%/jquery-ui-1.8.7/css/jquery-ui-1.8.7.css\" rel=\"stylesheet\" type=\"text/css\" />" + "<script type=\"text/javascript\" src=\"%mappeddir%/jquery-ui-1.8.7/js/jquery-1.4.4.min.js\"></script>" + "<script type=\"text/javascript\" src=\"%mappeddir%/jquery-ui-1.8.7/js/jquery-ui-1.8.7.min.js\"></script>" + "<script type='text/javascript' charset='UTF-8' src='%mappeddir%\\scripts\\getsummary.js" + "'></script>"; strResult += "</head>"; strResult += "<body>"; strResult += "<table class='iteminfo'>"; { // 册条码 string strItemBarcode = DomUtil.GetElementText(dom.DocumentElement, "barcode"); /* * string strBarcodeLink = "<a href='" + App.OpacServerUrl + "/book.aspx?barcode=" + strItemBarcode + "&forcelogin=userid' target='_blank'>" + strItemBarcode + "</a>"; * */ string strBarcodeLink = "<a href='javascript:void(0);' onclick=\"window.external.OpenForm('ItemInfoForm', this.innerText, true);\">" + strItemBarcode + "</a>"; strResult += GetOneTR("barcode", "册条码号", strBarcodeLink); // 馆藏地点 strResult += GetOneTR(dom.DocumentElement, "location", "馆藏地点"); // 书目摘要 strResult += "<tr class='content summary'>"; strResult += "<td class='name summary' nowrap>"; strResult += "书目摘要"; strResult += "</td>"; strResult += "<td class='value summary pending'>"; strResult += "B:" + strItemBarcode + "|" + e.RecPath; strResult += "</td></tr>"; // 状态 strResult += GetOneTR(dom.DocumentElement, "state", "状态"); // 册价格 strResult += GetOneTR(dom.DocumentElement, "price", "册价格"); // 出版时间 strResult += GetOneTR(dom.DocumentElement, "publishTime", "出版时间"); // 渠道 strResult += GetOneTR(dom.DocumentElement, "seller", "渠道"); // 经费来源 strResult += GetOneTR(dom.DocumentElement, "source", "经费来源"); // 索取号 strResult += GetOneTR(dom.DocumentElement, "accessNo", "索取号"); // 卷 strResult += GetOneTR(dom.DocumentElement, "volume", "卷"); // 册类型 strResult += GetOneTR(dom.DocumentElement, "bookType", "册类型"); // 登录号 strResult += GetOneTR(dom.DocumentElement, "registerNo", "登录号"); // 注释 strResult += GetOneTR(dom.DocumentElement, "comment", "注释"); // 合并注释 strResult += GetOneTR(dom.DocumentElement, "mergeComment", "合并注释"); // 批次号 strResult += GetOneTR(dom.DocumentElement, "batchNo", "批次号"); string strBorrower = DomUtil.GetElementText(dom.DocumentElement, "borrower"); // 借者条码 // 借者姓名 strResult += "<tr class='content patronname'>"; strResult += "<td class='name patronname' nowrap>"; strResult += "借者姓名"; strResult += "</td>"; if (string.IsNullOrEmpty(strBorrower) == false) { strResult += "<td class='value patronname pending'>"; strResult += "P:" + strBorrower; } else { strResult += "<td class='value patronname'>"; strResult += " "; } strResult += "</td></tr>"; // 借者条码 string strBorrowerLink = ""; if (String.IsNullOrEmpty(strBorrower) == false) { /* * strBorrowerLink = "<a href='" + App.OpacServerUrl + "/readerinfo.aspx?barcode=" + strBorrower + "&forcelogin=userid' target='_blank'>" + strBorrower + "</a>"; * */ strBorrowerLink = "<a href='javascript:void(0);' onclick=\"window.external.OpenForm('ReaderInfoForm', this.innerText, true);\">" + strBorrower + "</a>"; } else { strBorrowerLink = " "; } strResult += GetOneTR("borrower", "借者证条码号", strBorrowerLink); // 借阅日期 string strBorrowDate = DomUtil.GetElementText(dom.DocumentElement, "borrowDate"); strBorrowDate = LocalTime(strBorrowDate); strResult += GetOneTR("borrowDate", "借阅日期", strBorrowDate); // 借阅期限 string strBorrowPeriod = DomUtil.GetElementText(dom.DocumentElement, "borrowPeriod"); strBorrowPeriod = LibraryApplication.GetDisplayTimePeriodString(strBorrowPeriod); strResult += GetOneTR("borrowPeriod", "借阅期限", strBorrowPeriod); // 参考ID strResult += GetOneTR(dom.DocumentElement, "refID", "参考ID"); // 册记录路径 strResult += GetOneTR("recpath", "册记录路径", e.RecPath); // 册二维码 /* * string strCode = "39code:" + strItemBarcode; * if (string.IsNullOrEmpty(strItemBarcode)) * strCode = "qrcode:@refID:" + DomUtil.GetElementText(dom.DocumentElement, "refID"); */ string strCode = "code=" + HttpUtility.UrlEncode(strItemBarcode) + ",type=code_39,width=300,height=80"; if (string.IsNullOrEmpty(strItemBarcode)) { strCode = "code=@refID:" + HttpUtility.UrlEncode(DomUtil.GetElementText(dom.DocumentElement, "refID")) + ",type=qr_code,width=200,height=200"; } strResult += "<tr class='content qrcode'>"; strResult += "<td class='value qrcode' colspan='2' >"; // strResult += "<img id='qrcode' class='pending' name='"+strCode+"' src='%mappeddir%\\images\\ajax-loader.gif' alt='册记录的二维码' ></img>"; strResult += "<img id='qrcode' src='barcode:" + strCode + "' alt='册记录的二维码' ></img>"; strResult += "</td></tr>"; strResult += "</table>"; } // 借阅历史 XmlNodeList nodes = dom.DocumentElement.SelectNodes("borrowHistory/borrower"); if (nodes.Count > 0) { strResult += "<br/><b>历史</b><br/>"; strResult += "<table class='borrowhistory'>\r\n"; strResult += "<tr class='borrowcount'><td colspan='10' class='borrowcount'>"; XmlNode nodeHistory = dom.DocumentElement.SelectSingleNode("borrowHistory"); string strHistoryCount = ""; if (nodeHistory != null) { strHistoryCount = DomUtil.GetAttr(nodeHistory, "count"); } strResult += "本册共被 " + strHistoryCount + " 位读者借阅过 (下表中最多仅能显示最近 " + this.App.MaxItemHistoryItems.ToString() + " 位)"; strResult += "</td></tr>\r\n"; strResult += "<tr class='columntitle'><td class='index' nowrap>序</td><td class='barcode' nowrap>证条码号</td><td class='summary' nowrap>姓名</td><td class='no' nowrap>续借次</td><td class='borrowdate' nowrap>借阅日期</td><td class='period' nowrap>期限</td><td class='borrowoperator' nowrap>借阅操作者</td><td class='renewcomment' nowrap>续借注</td><td class='returndate' nowrap>还书日期</td><td class='operator' nowrap>还书操作者</td></tr>\r\n"; for (int i = 0; i < nodes.Count; i++) { XmlNode node = nodes[i]; string strBarcode = DomUtil.GetAttr(node, "barcode"); string strNo = DomUtil.GetAttr(node, "no"); string strBorrowDate = DomUtil.GetAttr(node, "borrowDate"); string strPeriod = DomUtil.GetAttr(node, "borrowPeriod"); string strBorrowOperator = DomUtil.GetAttr(node, "borrowOperator"); // 借书操作者 string strOperator = DomUtil.GetAttr(node, "operator"); // 还书操作者 string strRenewComment = DomUtil.GetAttr(node, "renewComment"); // string strSummary = ""; // string strConfirmItemRecPath = DomUtil.GetAttr(node, "recPath"); string strReturnDate = DomUtil.GetAttr(node, "returnDate"); // string strBarcodeLink = "<a href='" + App.OpacServerUrl + "/readerinfo.aspx?barcode=" + strBarcode + "&forcelogin=userid' target='_blank'>" + strBarcode + "</a>"; string strBarcodeLink = "<a href='javascript:void(0);' onclick=\"window.external.OpenForm('ReaderInfoForm', this.innerText, true);\">" + strBarcode + "</a>"; // 表格内容奇数行的类名 string strOdd = ""; if (((i + 1) % 2) != 0) { strOdd = " odd"; } strResult += "<tr class='content" + strOdd + "'>"; strResult += "<td class='index' nowrap>" + (i + 1).ToString() + "</td>"; strResult += "<td class='barcode' nowrap>" + strBarcodeLink + "</td>"; strResult += "<td class='summary pending' nowrap>P:" + strBarcode + "</td>"; strResult += "<td class='no' nowrap align='right'>" + strNo + "</td>"; strResult += "<td class='borrowdate' nowrap>" + LocalDate(strBorrowDate) + "</td>"; strResult += "<td class='period' nowrap>" + LibraryApplication.GetDisplayTimePeriodString(strPeriod) + "</td>"; strResult += "<td class='borrowoperator' nowrap>" + strBorrowOperator + "</td>"; strResult += "<td class='renewcomment' width='30%'>" + strRenewComment.Replace(";", "<br/>") + "</td>"; strResult += "<td class='returndate' nowrap>" + LocalDate(strReturnDate) + "</td>"; strResult += "<td class='operator' nowrap>" + strOperator + "</td>"; strResult += "</tr>\r\n"; } strResult += "</table>\r\n"; } strResult += "</body></html>"; e.ResultString = strResult; }
public override void Item(object sender, ItemConverterEventArgs e) { XmlDocument dom = new XmlDocument(); try { dom.LoadXml(e.Xml); } catch (Exception ex) { e.ResultString = ex.Message; return; } string strResult = "<html>"; strResult += "<head>"; strResult += "<link href='%mappeddir%\\styles\\orderhtml.css' type='text/css' rel='stylesheet' />"; strResult += "<link href=\"%mappeddir%/jquery-ui-1.8.7/css/jquery-ui-1.8.7.css\" rel=\"stylesheet\" type=\"text/css\" />" + "<script type=\"text/javascript\" src=\"%mappeddir%/jquery-ui-1.8.7/js/jquery-1.4.4.min.js\"></script>" + "<script type=\"text/javascript\" src=\"%mappeddir%/jquery-ui-1.8.7/js/jquery-ui-1.8.7.min.js\"></script>" + "<script type='text/javascript' charset='UTF-8' src='%mappeddir%\\scripts\\getsummary.js" + "'></script>"; strResult += "</head>"; strResult += "<body>"; strResult += "<table class='orderinfo'>"; { // 编号 string strIndex = DomUtil.GetElementText(dom.DocumentElement, "index"); strResult += GetOneTR("index", "编号", strIndex); // 书目摘要 strResult += "<tr class='content summary'>"; strResult += "<td class='name summary' nowrap>"; strResult += "书目摘要"; strResult += "</td>"; strResult += "<td class='value summary pending'>"; strResult += "B:|" + e.RecPath; strResult += "</td></tr>"; // 状态 strResult += GetOneTR(dom.DocumentElement, "state", "状态"); // 书目号 strResult += GetOneTR(dom.DocumentElement, "catalogNo", "书目号"); // 渠道 strResult += GetOneTR(dom.DocumentElement, "seller", "渠道"); // 经费来源 strResult += GetOneTR(dom.DocumentElement, "source", "经费来源"); // 时间范围 strResult += GetOneTR(dom.DocumentElement, "range", "时间范围"); // 包含期数 strResult += GetOneTR(dom.DocumentElement, "issueCount", "包含期数"); // 复本数 strResult += GetOneTR(dom.DocumentElement, "copy", "复本数"); // 单价 strResult += GetOneTR(dom.DocumentElement, "price", "单价"); // 总价格 strResult += GetOneTR(dom.DocumentElement, "totalPrice", "总价"); // 订购时间 string strOrderTime = DomUtil.GetElementText(dom.DocumentElement, "orderTime"); strResult += GetOneTR("orderTime", "订购时间", LocalTime(strOrderTime)); // 订单号 strResult += GetOneTR(dom.DocumentElement, "orderID", "订单号"); // 馆藏分配 strResult += GetOneTR(dom.DocumentElement, "distribute", "馆藏分配"); // 类别 strResult += GetOneTR(dom.DocumentElement, "class", "类别"); // 附注 strResult += GetOneTR(dom.DocumentElement, "comment", "附注"); // 批次号 strResult += GetOneTR(dom.DocumentElement, "batchNo", "批次号"); // 渠道地址 strResult += GetOneTR(dom.DocumentElement, "sellerAddress", "渠道地址"); // 参考ID strResult += GetOneTR(dom.DocumentElement, "refID", "参考ID"); // 订购记录路径 strResult += GetOneTR("recpath", "订购记录路径", e.RecPath); strResult += "</table>"; } // 操作历史 XmlNodeList nodes = dom.DocumentElement.SelectNodes("operations/operation"); if (nodes.Count > 0) { strResult += "<br/><b>操作历史</b><br/>"; strResult += "<table class='operationhistory'>\r\n"; strResult += "<tr class='columntitle'><td class='index' nowrap>序</td><td class='name' nowrap>操作名</td><td class='time' nowrap>操作时间</td><td class='operator' nowrap>操作者</td></tr>\r\n"; for (int i = 0; i < nodes.Count; i++) { XmlNode node = nodes[i]; string strName = DomUtil.GetAttr(node, "name"); string strTime = DomUtil.GetAttr(node, "time"); string strOperator = DomUtil.GetAttr(node, "operator"); // 还书操作者 // 表格内容奇数行的类名 string strOdd = ""; if (((i + 1) % 2) != 0) { strOdd = " odd"; } strResult += "<tr class='content" + strOdd + "'>"; strResult += "<td class='index' nowrap>" + (i + 1).ToString() + "</td>"; strResult += "<td class='name' nowrap>" + strName + "</td>"; strResult += "<td class='time' nowrap>" + LocalTime(strTime) + "</td>"; strResult += "<td class='operator' nowrap>" + strOperator + "</td>"; strResult += "</tr>\r\n"; } strResult += "</table>\r\n"; } strResult += "</body></html>"; e.ResultString = strResult; }
public override void Item(object sender, ItemConverterEventArgs e) { XmlDocument dom = new XmlDocument(); try { dom.LoadXml(e.Xml); } catch (Exception ex) { e.ResultString = ex.Message; return; } string strResult = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\">"; strResult += "<head>"; strResult += "<link href='%mappeddir%\\styles\\commenthtml.css' type='text/css' rel='stylesheet' />"; strResult += "<link href=\"%mappeddir%/jquery-ui-1.8.7/css/jquery-ui-1.8.7.css\" rel=\"stylesheet\" type=\"text/css\" />" + "<script type=\"text/javascript\" src=\"%mappeddir%/jquery-ui-1.8.7/js/jquery-1.4.4.min.js\"></script>" + "<script type=\"text/javascript\" src=\"%mappeddir%/jquery-ui-1.8.7/js/jquery-ui-1.8.7.min.js\"></script>" + "<script type='text/javascript' charset='UTF-8' src='%mappeddir%\\scripts\\getsummary.js" + "'></script>"; strResult += "</head>"; strResult += "<body>"; strResult += "<table class='commentinfo'>"; { // 帖子标题 string strTitle = DomUtil.GetElementText(dom.DocumentElement, "title"); strResult += GetOneTR("title", "标题", strTitle); // 作者 string strOriginCreator = DomUtil.GetElementText(dom.DocumentElement, "creator"); strResult += GetOneTR("creator", "作者", strOriginCreator); // 馆代码 strResult += GetOneTR(dom.DocumentElement, "libraryCode", "馆代码"); // 帖子状态 string strState = DomUtil.GetElementText(dom.DocumentElement, "state"); strResult += GetOneTR(dom.DocumentElement, "state", "状态"); // 订购建议 string strType = DomUtil.GetElementText(dom.DocumentElement, "type"); strResult += GetOneTR("type", "类型", strType); string strOrderSuggestion = DomUtil.GetElementText(dom.DocumentElement, "orderSuggestion"); if (strType == "订购征询") { string strOrderSuggestionText = this.GetString("建议不要订购本书"); string strYesOrNo = "no"; string strImg = "<img class='icon' src='%datadir%\\no_order_24.png'>"; if (strOrderSuggestion == "yes") { // 建议订购 strOrderSuggestionText = this.GetString("建议订购本书"); strYesOrNo = "yes"; strImg = "<img class='icon' src='%datadir%\\yes_order_24.png'>"; } else if (string.IsNullOrEmpty(strOrderSuggestion) == true) { // 无所谓 strOrderSuggestionText = this.GetString("无所谓"); strYesOrNo = ""; strImg = "<img class='icon' src='%datadir%\\null_order_32.png'>"; } strResult += GetOneTR("order_suggestion", "订购建议", strImg + strOrderSuggestionText); } // 正文 string strOriginContent = DomUtil.GetElementText(dom.DocumentElement, "content"); string strContent = strOriginContent.Replace("\\r", "\r\n"); strContent = ParseHttpString( strContent); strContent = GetHtmlContentFromPureText( strContent, Text2HtmlStyle.P); strResult += GetOneTR("content", "正文", strContent); // string strOperInfo = ""; { string strFirstOperator = ""; string strTime = ""; XmlNode node = dom.DocumentElement.SelectSingleNode("operations/operation[@name='create']"); if (node != null) { strFirstOperator = DomUtil.GetAttr(node, "operator"); strTime = DomUtil.GetAttr(node, "time"); strOperInfo += " " + this.GetString("创建") + ": " + GetUTimeString(strTime); } node = dom.DocumentElement.SelectSingleNode("operations/operation[@name='lastContentModified']"); if (node != null) { string strLastOperator = DomUtil.GetAttr(node, "operator"); strTime = DomUtil.GetAttr(node, "time"); strOperInfo += "<br/>" + this.GetString("最后修改") + ": " + GetUTimeString(strTime); if (strLastOperator != strFirstOperator) { strOperInfo += " (" + strLastOperator + ")"; } } XmlNodeList nodes = dom.DocumentElement.SelectNodes("operations/operation[@name='stateModified']"); if (nodes.Count > 0) { XmlNode tail = nodes[nodes.Count - 1]; string strLastOperator = DomUtil.GetAttr(tail, "operator"); strTime = DomUtil.GetAttr(tail, "time"); strOperInfo += "<br/>" + this.GetString("状态最后修改") + ": " + GetUTimeString(strTime); if (strLastOperator != strFirstOperator) { strOperInfo += " (" + strLastOperator + ")"; } } } strResult += GetOneTR("operinfo", "创建时间", strOperInfo); { XmlNamespaceManager nsmgr = new XmlNamespaceManager(new NameTable()); nsmgr.AddNamespace("dprms", DpNs.dprms); // 全部<dprms:file>元素 XmlNodeList nodes = dom .DocumentElement.SelectNodes("//dprms:file", nsmgr); foreach (XmlNode node in nodes) { string strMime = DomUtil.GetAttr(node, "__mime"); if (StringUtil.HasHead(strMime, "image/") == false) { continue; // 只关注图像文件 } string strResPath = e.RecPath + "/object/" + DomUtil.GetAttr(node, "id"); string strImage = "<img class='upload pending' name='" + "object-path:" + strResPath + "' src='%mappeddir%\\images\\ajax-loader.gif' alt=''></img>"; strResult += GetOneTR("operinfo", "上传图像", strImage); } } // 参考ID strResult += GetOneTR(dom.DocumentElement, "refID", "参考ID"); // 册记录路径 strResult += GetOneTR("recpath", "评注记录路径", e.RecPath); strResult += "</table>"; } strResult += "</body></html>"; e.ResultString = strResult; }
public override void Item(object sender, ItemConverterEventArgs e) { XmlDocument dom = new XmlDocument(); try { dom.LoadXml(e.Xml); } catch (Exception ex) { e.ResultString = ex.Message; return; } string strResult = "<html>"; strResult += "<head>"; strResult += "<link href='%mappeddir%\\styles\\issuehtml.css' type='text/css' rel='stylesheet' />"; strResult += "<link href=\"%mappeddir%/jquery-ui-1.8.7/css/jquery-ui-1.8.7.css\" rel=\"stylesheet\" type=\"text/css\" />" + "<script type=\"text/javascript\" src=\"%mappeddir%/jquery-ui-1.8.7/js/jquery-1.4.4.min.js\"></script>" + "<script type=\"text/javascript\" src=\"%mappeddir%/jquery-ui-1.8.7/js/jquery-ui-1.8.7.min.js\"></script>" + "<script type='text/javascript' charset='UTF-8' src='%mappeddir%\\scripts\\getsummary.js" + "'></script>"; strResult += "</head>"; strResult += "<body>"; strResult += "<table class='issueinfo'>"; { // 出版时间 strResult += GetOneTR(dom.DocumentElement, "publishTime", "出版时间"); // 书目摘要 strResult += "<tr class='content summary'>"; strResult += "<td class='name summary' nowrap>"; strResult += "书目摘要"; strResult += "</td>"; strResult += "<td class='value summary pending'>"; strResult += "B:|" + e.RecPath; strResult += "</td></tr>"; // 状态 strResult += GetOneTR(dom.DocumentElement, "state", "状态"); // 期号 strResult += GetOneTR(dom.DocumentElement, "issue", "期号"); // 总期号 strResult += GetOneTR(dom.DocumentElement, "zong", "总期号"); // 卷号 strResult += GetOneTR(dom.DocumentElement, "volumn", "卷号"); // 附注 strResult += GetOneTR(dom.DocumentElement, "comment", "附注"); // 批次号 strResult += GetOneTR(dom.DocumentElement, "batchNo", "批次号"); // 参考ID strResult += GetOneTR(dom.DocumentElement, "refID", "参考ID"); // 期记录路径 strResult += GetOneTR("recpath", "期记录路径", e.RecPath); strResult += "</table>"; } // 操作历史 XmlNodeList nodes = dom.DocumentElement.SelectNodes("operations/operation"); if (nodes.Count > 0) { strResult += "<br/><b>操作历史</b><br/>"; strResult += "<table class='operationhistory'>\r\n"; strResult += "<tr class='columntitle'><td class='index' nowrap>序</td><td class='name' nowrap>操作名</td><td class='time' nowrap>操作时间</td><td class='operator' nowrap>操作者</td></tr>\r\n"; for (int i = 0; i < nodes.Count; i++) { XmlNode node = nodes[i]; string strName = DomUtil.GetAttr(node, "name"); string strTime = DomUtil.GetAttr(node, "time"); string strOperator = DomUtil.GetAttr(node, "operator"); // 还书操作者 // 表格内容奇数行的类名 string strOdd = ""; if (((i + 1) % 2) != 0) { strOdd = " odd"; } strResult += "<tr class='content" + strOdd + "'>"; strResult += "<td class='index' nowrap>" + (i + 1).ToString() + "</td>"; strResult += "<td class='name' nowrap>" + strName + "</td>"; strResult += "<td class='time' nowrap>" + LocalTime(strTime) + "</td>"; strResult += "<td class='operator' nowrap>" + strOperator + "</td>"; strResult += "</tr>\r\n"; } strResult += "</table>\r\n"; } { strResult += "<div class='cover_container'>"; XmlNamespaceManager nsmgr = new XmlNamespaceManager(new NameTable()); nsmgr.AddNamespace("dprms", DpNs.dprms); XmlNodeList files = dom.DocumentElement.SelectNodes("//dprms:file", nsmgr); foreach (XmlElement file in files) { string id = file.GetAttribute("id"); string usage = file.GetAttribute("usage"); if (usage.StartsWith("FrontCover") == false) { continue; } string path = e.RecPath + "/object/" + id; strResult += "<img class='cover' src='dpres:" + path + "' alt='" + HttpUtility.HtmlEncode(usage) + "'></img>"; } strResult += "</div>"; } strResult += "</body></html>"; e.ResultString = strResult; }