public ActionResult ExpertRenderToExcel(AuthorDetailQuery query, string strDict) { try { IAuthorPlatformFacadeService service = ServiceContainer.Instance.Container.Resolve <IAuthorPlatformFacadeService>(); query.JournalID = CurAuthor.JournalID; query.GroupID = 3; IList <AuthorDetailEntity> list = service.GetAuthorDetailList(query); if (list == null || list.Count <= 0) { return(Content("没有数据不能导出,请先进行查询!")); } strDict = Server.UrlDecode(strDict); JavaScriptSerializer s = new JavaScriptSerializer(); Dictionary <string, object> JsonData = (Dictionary <string, object>)s.DeserializeObject(strDict); IDictionary <string, string> dict = ((object[])JsonData.First().Value).Select(p => (Dictionary <string, object>)p).ToDictionary(p => p["key"].ToString(), q => q["value"].ToString()); //获取学历[Education]数据字典显示名-dict2[list[i].Education].ToString() ISiteConfigFacadeService service2 = ServiceContainer.Instance.Container.Resolve <ISiteConfigFacadeService>(); DictValueQuery query2 = new DictValueQuery(); query2.JournalID = CurAuthor.JournalID; query2.DictKey = "Education"; IDictionary <int, string> dict2 = service2.GetDictValueDcit(query2); //获取职称[JobTitle]数据字典显示名-dict3[list[i].JobTitle].ToString() DictValueQuery query3 = new DictValueQuery(); query3.JournalID = CurAuthor.JournalID; query3.DictKey = "JobTitle"; IDictionary <int, string> dict3 = service2.GetDictValueDcit(query3); //替换字段内容 if (dict != null && dict.Count > 0) { for (int i = 0; i < list.Count; i++) { if (list[i].AuthorModel.GroupID == 2) { list[i].ReserveField2 = "作者"; } if (list[i].AuthorModel.Status == 1) { list[i].ReserveField3 = "正常"; } else { list[i].ReserveField3 = "已停用"; } list[i].ReserveField4 = dict2[list[i].Education].ToString(); list[i].ReserveField5 = dict3[list[i].JobTitle].ToString(); } } //开始导出Excel RenderToExcel.ExportListToExcel <AuthorDetailEntity>(list, dict , null , "专家信息_导出" + DateTime.Now.ToString("yyyy-MM-dd"), false, "xls"); return(Content("导出成功!")); } catch (Exception ex) { LogProvider.Instance.Error("导出专家信息出现异常:" + ex.Message); return(Content("导出专家信息异常!")); } }
/// <summary> /// 获取编辑Model /// </summary> /// <param name="AuthorID"></param> /// <returns></returns> private AuthorDetailEntity GetEditorModel(Int64 AuthorID) { AuthorDetailEntity model = null; if (AuthorID > 0) { AuthorDetailQuery query = new AuthorDetailQuery(); query.JournalID = CurAuthor.JournalID; query.AuthorID = AuthorID; IAuthorPlatformFacadeService service = ServiceContainer.Instance.Container.Resolve <IAuthorPlatformFacadeService>(); model = service.GetAuthorDetailModel(query); } if (model == null) { model = new AuthorDetailEntity(); } IAuthorFacadeService authorService = ServiceContainer.Instance.Container.Resolve <IAuthorFacadeService>(); var list = authorService.GetEditorFieldsSet(); if (list == null) { list = new List <FieldsSet>(); } list.Insert(0, new FieldsSet { DisplayName = "中文姓名", FieldName = "中文姓名", DBField = "AuthorName", IsShow = true, IsRequire = true }); model.FieldList = list.Where(p => p.IsShow).ToList(); if (model.AuthorModel == null) { model.AuthorModel = new AuthorInfoEntity(); } return(model); }
public ActionResult Save(AuthorDetailEntity model) { IAuthorPlatformFacadeService service = ServiceContainer.Instance.Container.Resolve <IAuthorPlatformFacadeService>(); model.JournalID = CurAuthor.JournalID; ExecResult result = service.SaveAuthorDetail(model); return(Json(new { result = result.result, msg = result.msg })); }
/// <summary> /// 获取显示html /// </summary> /// <returns></returns> private string GetEnExpertGroupMapHtml(Int32 GroupID) { StringBuilder strHtml = new StringBuilder(); IAuthorPlatformFacadeService service = ServiceContainer.Instance.Container.Resolve <IAuthorPlatformFacadeService>(); ExpertGroupMapEntity query = new ExpertGroupMapEntity(); query.JournalID = JournalID; query.ExpertGroupID = GroupID; var list = service.GetExpertGroupMapList(query); if (list != null && list.Count > 0) { strHtml.Append("<table>"); int i = 1; foreach (var model in list) { if (i == 1) { strHtml.Append("<tr>"); } strHtml.Append("<td style=\"padding-left:10px;height:25px;width:130px;\">"); strHtml.Append("<input id=\"chkExpertGroup_") .Append(model.AuthorID) .Append("\" type=\"checkbox\" name=\"ExpertGroup\" value=\"") .Append(model.AuthorID) .Append("\" "); if (model.IsChecked) { strHtml.Append(" checked=\"checked\" "); } strHtml.Append(" key=\"") .Append(model.AuthorName) .Append("\"/><label for=\"chkExpertGroup_") .Append(model.AuthorID) .Append("\" style=\"margin-right:30px;\" "); if (!string.IsNullOrWhiteSpace(model.ResearchTopics)) { strHtml.Append(" title=\"研究方向:"); strHtml.Append(model.ResearchTopics); strHtml.Append("\""); } strHtml.Append(" >"); strHtml.Append(model.AuthorName); strHtml.Append("</label></td>"); if (i == 5) { strHtml.Append("</tr>"); i = 0; } i++; } strHtml.Append("</table>"); } return(strHtml.ToString()); }
public ActionResult SaveFormat(ContributionInfoEntity model) { IAuthorPlatformFacadeService service = ServiceContainer.Instance.Container.Resolve <IAuthorPlatformFacadeService>(); model.JournalID = CurAuthor.JournalID; model.AuthorID = CurAuthor.GroupID == 1 ? model.AuthorID : CurAuthor.AuthorID; ExecResult result = service.SaveContributionInfoFormat(model); return(Json(new { result = result.result, msg = result.msg })); }
public ActionResult GetExpertPageList(AuthorDetailQuery query) { IAuthorPlatformFacadeService service = ServiceContainer.Instance.Container.Resolve <IAuthorPlatformFacadeService>(); query.JournalID = CurAuthor.JournalID; query.CurrentPage = Convert.ToInt32(Request.Params["page"]); query.PageSize = Convert.ToInt32(Request.Params["pagesize"]); Pager <AuthorDetailEntity> pager = service.GetAuthorDetailPageList(query); return(Json(new { Rows = pager.ItemList, Total = pager.TotalRecords })); }
public ActionResult CancelExpert(Int64[] AuthorIDs) { IAuthorPlatformFacadeService service = ServiceContainer.Instance.Container.Resolve <IAuthorPlatformFacadeService>(); AuthorDetailQuery query = new AuthorDetailQuery(); query.JournalID = CurAuthor.JournalID; query.AuthorIDs = AuthorIDs; ExecResult result = service.CancelAuthorExpert(query); return(Json(new { result = result.result, msg = result.msg })); }
public ActionResult Save(ContributionInfoEntity model) { IAuthorPlatformFacadeService service = ServiceContainer.Instance.Container.Resolve <IAuthorPlatformFacadeService>(); model.JournalID = CurAuthor.JournalID; model.AuthorID = CurAuthor.GroupID == 1?model.AuthorID:CurAuthor.AuthorID; model.AddDate = string.IsNullOrEmpty(model.CNumber) ? System.DateTime.Now : model.AddDate; ExecResult result = service.SaveContributionInfo(model); return(Json(new { result = result.result, msg = result.msg, CID = result.resultID })); }
public ActionResult GetContributionAccountListByAuhor(ContributionAccountQuery query) { IAuthorPlatformFacadeService service = ServiceContainer.Instance.Container.Resolve <IAuthorPlatformFacadeService>(); query.JournalID = CurAuthor.JournalID; query.CurrentPage = Convert.ToInt32(Request.Params["page"]); query.PageSize = Convert.ToInt32(Request.Params["pagesize"]); Pager <ContributionAccountEntity> pager = service.GetContributionAccountListByAuhor(query); return(Json(new { Rows = pager.ItemList, Total = pager.TotalRecords, Account = pager.Money })); }
public ActionResult AuthorManuscript(Int64[] CIDs) { IAuthorPlatformFacadeService service = ServiceContainer.Instance.Container.Resolve <IAuthorPlatformFacadeService>(); ContributionInfoQuery query = new ContributionInfoQuery(); query.JournalID = CurAuthor.JournalID; query.CIDs = CIDs; query.Status = -100; ExecResult result = service.ChangeContributionInfoStatus(query); return(Json(new { result = result.result, msg = result.result.Equals(EnumJsonResult.success.ToString()) ? "撤稿成功!" : "撤稿失败!" })); }
public ActionResult SaveEnExpertGroup(ExpertGroupMapQuery query) { IAuthorPlatformFacadeService service = ServiceContainer.Instance.Container.Resolve <IAuthorPlatformFacadeService>(); query.JournalID = JournalID; if (query.list == null) { query.list = new List <ExpertGroupMapEntity>(); } ExecResult result = service.SaveExpertGroupMap(query); return(Json(new { result = result.result, msg = result.msg })); }
public ActionResult GetAuthorPageList(ContributionInfoQuery query) { IAuthorPlatformFacadeService service = ServiceContainer.Instance.Container.Resolve <IAuthorPlatformFacadeService>(); query.JournalID = CurAuthor.JournalID; //query.Status = -3; query.CurrentPage = Convert.ToInt32(Request.Params["page"]); query.PageSize = Convert.ToInt32(Request.Params["pagesize"]); query.OrderStr = " AddDate desc"; Pager <ContributionInfoEntity> pager = service.GetContributionInfoPageList(query); return(Json(new { Rows = pager.ItemList, Total = pager.TotalRecords })); }
public ActionResult SendIssueListSelectAuthor(string RecEmail, string Content) { ISiteConfigFacadeService service = ServiceContainer.Instance.Container.Resolve <ISiteConfigFacadeService>(); MessageRecodeEntity model = new MessageRecodeEntity(); model.ReciveAddress = RecEmail; model.JournalID = CurAuthor.JournalID; model.MsgType = 1; model.MsgTitle = "《" + SiteConfig.SiteName + "》期刊目录推送"; model.MsgContent = Content; ExecResult result = new ExecResult(); var strList = RecEmail.Split(',').Where(p => !string.IsNullOrWhiteSpace(p)).ToList(); IAuthorPlatformFacadeService AuthorService = ServiceContainer.Instance.Container.Resolve <IAuthorPlatformFacadeService>(); AuthorDetailQuery query = new AuthorDetailQuery(); query.JournalID = CurAuthor.JournalID; query.CurrentPage = 1; query.PageSize = 1; for (int i = 0; i < strList.Count; i++) { query.LoginName = strList[i]; Pager <AuthorDetailEntity> pager = AuthorService.GetAuthorDetailPageList(query); if (i == 0) { Content = Content.Replace("%Name%", pager.ItemList[0].AuthorName); } else { query.LoginName = strList[i - 1]; Pager <AuthorDetailEntity> pagerTemp = AuthorService.GetAuthorDetailPageList(query); Content = Content.Replace(pagerTemp.ItemList[0].AuthorName, pager.ItemList[0].AuthorName); } service.SendEmail("《" + SiteConfig.SiteName + "》期刊目录推送", Content, strList[i], SiteConfig.SiteName, CurAuthor.JournalID); } return(Json(new { flag = 1 })); }
public JsonResult ExpertPayMoneyRenderToExcel(WorkloadQuery query, string strDict) { try { IAuthorFacadeService service = ServiceContainer.Instance.Container.Resolve <IAuthorFacadeService>(); IAuthorPlatformFacadeService serviceAuthorPlatform = ServiceContainer.Instance.Container.Resolve <IAuthorPlatformFacadeService>(); query.JournalID = CurAuthor.JournalID; query.GroupID = query.GroupID; IList <WorkloadEntity> list = service.GetWorkloadList(query); IList <AuthorDetailEntity> listDetail = serviceAuthorPlatform.GetAuthorDetailList(new AuthorDetailQuery() { GroupID = 3, JournalID = JournalID }); list = (from author in list join authorDetail in listDetail on author.AuthorID equals authorDetail.AuthorID into JionauthorDetail from authorDetail in JionauthorDetail.DefaultIfEmpty() select new WorkloadEntity() { RealName = author.RealName, LoginName = author.LoginName, AlreadyCount = author.AlreadyCount, WaitCount = author.WaitCount, ZipCode = authorDetail.ZipCode, Address = authorDetail.Address }).ToList <WorkloadEntity>(); if (list == null || list.Count <= 0) { return(Json(new { flag = "error", msg = "没有数据不能导出,请先进行查询!" })); } strDict = Server.UrlDecode(strDict); JavaScriptSerializer s = new JavaScriptSerializer(); Dictionary <string, object> JsonData = (Dictionary <string, object>)s.DeserializeObject(strDict); IDictionary <string, string> dict = ((object[])JsonData.First().Value).Select(p => (Dictionary <string, object>)p).ToDictionary(p => p["key"].ToString(), q => q["value"].ToString()); RenderToExcel.ExportListToExcel <WorkloadEntity>(list, dict , null , "专家审稿费信息_导出" + DateTime.Now.ToString("yyyy-MM-dd"), false, "xls"); return(Json(new { flag = "success" })); } catch (Exception ex) { LogProvider.Instance.Error("导出作者信息出现异常:" + ex.Message); return(Json(new { flag = "error", msg = "导出作者信息异常!" })); } }
/// <summary> /// 按时间统计收稿量 /// </summary> /// <returns></returns> private Highcharts GetContributionAccountListByYear(Int32 Year) { IAuthorPlatformFacadeService service = ServiceContainer.Instance.Container.Resolve <IAuthorPlatformFacadeService>(); ContributionAccountQuery query = new ContributionAccountQuery(); query.JournalID = JournalID; query.Year = Year; IList <ContributionAccountEntity> list = service.GetContributionAccountListByYear(query); if (list == null || list.Count == 0) { return(new Highcharts("chart")); } list = list.OrderBy(p => p.Month).ToList(); Highcharts chart = new Highcharts("chart") .InitChart(new Chart { DefaultSeriesType = ChartTypes.Column }) .SetTitle(new Title { Text = "按年(" + Year.ToString() + "年)统计收稿量" }) .SetXAxis(new XAxis { Categories = list.Select(p => p.MonthName).ToArray <string>(), Title = new XAxisTitle { Text = "月份" } }) .SetYAxis(new YAxis { Min = 0, Title = new YAxisTitle { Text = "收稿量", Align = AxisTitleAligns.High } }) .SetTooltip(new Tooltip { Formatter = "function() { return ''+ this.series.name +': '+ this.y; }" }) .SetPlotOptions(new PlotOptions { Column = new PlotOptionsColumn { PointPadding = 0.2, BorderWidth = 0, PointWidth = 20 } }) .SetLegend(new Legend { Layout = Layouts.Vertical, Align = HorizontalAligns.Right, VerticalAlign = VerticalAligns.Top, Floating = true, BorderWidth = 1, BackgroundColor = ColorTranslator.FromHtml("#FFFFFF"), Shadow = true }) .SetCredits(new Credits { Enabled = false }) .SetSeries(new[] { new Series { Name = "收稿量", Data = new Data(list.Select(p => (object)p.Account).ToArray <object>()) } }); return(chart); }
protected void Page_Load(object sender, EventArgs e) { long CID = TypeParse.ToLong(Request.QueryString["CID"], 0); if (CID <= 0) { Response.Write("请选择正确的稿件"); } IFlowFacadeService flowService = ServiceContainer.Instance.Container.Resolve <IFlowFacadeService>(); // 附件路径 FlowLogQuery logQuery = new FlowLogQuery(); logQuery.JournalID = SiteConfig.SiteID; logQuery.FlowLogID = 0; logQuery.CID = CID; string _filePath = flowService.GetFlowLogAttachment(logQuery); string fileName = ""; if (!string.IsNullOrEmpty(_filePath)) { fileName = _filePath.Substring(_filePath.LastIndexOf("/") + 1); } string downPath = GetUploadPath(_filePath); if (!System.IO.File.Exists(downPath)) { Response.Write("文件不存在"); } if (!fileName.Contains(".")) { fileName += Path.GetExtension(downPath); } IAuthorPlatformFacadeService service = ServiceContainer.Instance.Container.Resolve <IAuthorPlatformFacadeService>(); ContributionInfoEntity cEntity = service.GetContributionInfoModel(new ContributionInfoQuery { JournalID = SiteConfig.SiteID, CID = CID }); string docTitle = ""; if (cEntity != null) { docTitle = cEntity.Title + Path.GetExtension(downPath); } else { docTitle = fileName; } FileStream fs = new FileStream(downPath, FileMode.Open); //fs.Seek(0, SeekOrigin.Begin); byte[] bytes = new byte[(int)fs.Length]; fs.Read(bytes, 0, bytes.Length); fs.Close(); Response.ContentType = "application/octet-stream"; //通知浏览器下载文件而不是打开 Response.AddHeader("Content-Disposition", "attachment; filename=" + docTitle); Response.AddHeader("Content-Length", bytes.Length.ToString()); Response.ContentEncoding = Encoding.UTF8; Response.BinaryWrite(bytes); Response.Flush(); Response.End(); }
public ActionResult ContributionAccountToExcel(ContributionAccountQuery query, string strDict) { string msg = string.Empty; try { IAuthorPlatformFacadeService service = ServiceContainer.Instance.Container.Resolve <IAuthorPlatformFacadeService>(); query.JournalID = CurAuthor.JournalID; query.IsReport = true; strDict = Server.UrlDecode(strDict); JavaScriptSerializer s = new JavaScriptSerializer(); Dictionary <string, object> JsonData = (Dictionary <string, object>)s.DeserializeObject(strDict); IDictionary <string, string> dict = ((object[])JsonData.First().Value).Select(p => (Dictionary <string, object>)p).ToDictionary(p => p["key"].ToString(), q => q["value"].ToString()); IList <ContributionAccountEntity> list = new List <ContributionAccountEntity>(); IList <FlowStatusEntity> listFs = new List <FlowStatusEntity>(); IList <FlowContribution> listFc = new List <FlowContribution>(); switch (query.Kind) { case 4: msg = "按过程稿统计收稿量"; listFs = GetContributionProcessList(); break; case 3: msg = "按退稿统计收稿量"; listFc = GetContributionReturnList(); break; case 2: msg = "按作者统计收稿量"; var pager = service.GetContributionAccountListByAuhor(query); if (pager != null) { list = pager.ItemList; } break; case 1: msg = "按基金统计收稿量"; list = service.GetContributionAccountListByFund(query); break; case 0: msg = "按时间统计收稿量"; list = service.GetContributionAccountListByYear(query); break; } if (query.Kind == 1 || query.Kind == 2 || query.Kind == 0) { if (list == null || list.Count <= 0) { return(Content("没有数据不能导出,请先进行查询!")); } RenderToExcel.ExportListToExcel <ContributionAccountEntity>(list, dict , null , msg + "_导出" + DateTime.Now.ToString("yyyy-MM-dd"), false, "xls"); } else if (query.Kind == 3) { if (listFc == null || listFc.Count <= 0) { return(Content("没有数据不能导出,请先进行查询!")); } RenderToExcel.ExportListToExcel <FlowContribution>(listFc, dict , null , msg + "_导出" + DateTime.Now.ToString("yyyy-MM-dd"), false, "xls"); } else if (query.Kind == 4) { if (listFs == null || listFs.Count <= 0) { return(Content("没有数据不能导出,请先进行查询!")); } RenderToExcel.ExportListToExcel <FlowStatusEntity>(listFs, dict , null , msg + "_导出" + DateTime.Now.ToString("yyyy-MM-dd"), false, "xls"); } return(Content("导出成功!")); } catch (Exception ex) { LogProvider.Instance.Error("导出" + msg + "出现异常:" + ex.Message); return(Content("导出" + msg + "异常!")); } }
/// <summary> /// 投稿主页 /// </summary> /// <param name="CID"></param> /// <returns></returns> public ActionResult Index(Int64 CID = 0) { var model = GetModelForModify(CID); var IsModifyFormat = Request["IsModifyFormat"]; if ((model.Status > 0) && (model.Status != 100)) { return(base.Content("当前稿件状态下不允许编辑!")); } if (model.Status <= 0 || model.Status == 100) { if (model.AuthorList == null || model.AuthorList.Count < 1) { if (CID == 0) { var authorModel = GetAuthorDetailModel(); if (authorModel.PKID == 0)/// TODO:因为提取用户详情信息时是左联,所以这里用详细信息中的必填项来判断是否设置了详情信息 { return(Content("为了方便编辑与您联系,请先完善您的个人信息!<a href=\"" + SiteConfig.RootPath + "/AuthorDetail/UpdateSelf/\">设置个人信息</a>")); } model.AuthorList = new List <ContributionAuthorEntity>() { new ContributionAuthorEntity() { AuthorName = authorModel.AuthorName, Gender = authorModel.Gender, Birthday = authorModel.Birthday, Nation = authorModel.Nation, NativePlace = authorModel.NativePlace, WorkUnit = authorModel.WorkUnit, Tel = authorModel.Tel, Email = authorModel.Emial, SectionOffice = authorModel.SectionOffice, ZipCode = authorModel.ZipCode, Address = authorModel.Address } }; } else { model.AuthorList = new List <ContributionAuthorEntity>() { new ContributionAuthorEntity() { AuthorName = CurAuthor.RealName } }; } } if (model.ReferenceList == null || model.ReferenceList.Count < 1) { model.ReferenceList = new List <ContributionReferenceEntity>() { new ContributionReferenceEntity() } } ; if (model.FundList == null || model.FundList.Count < 1) { model.FundList = new List <ContributionFundEntity>() { new ContributionFundEntity() } } ; if (model.AttModel == null) { model.AttModel = new ContributionInfoAttEntity(); } ViewBag.QQ = SiteConfig.QQ; ViewBag.IsModifyFormat = IsModifyFormat; if (CurAuthor.JournalID == 20130107001) { AuthorDetailQuery authorDetailQuery = new AuthorDetailQuery(); authorDetailQuery.JournalID = CurAuthor.JournalID; authorDetailQuery.AuthorID = CurAuthor.AuthorID; IAuthorPlatformFacadeService AuthorService = ServiceContainer.Instance.Container.Resolve <IAuthorPlatformFacadeService>(); ViewBag.Province = AuthorService.GetAuthorDetailModel(authorDetailQuery).Province;//获取作者地址以用于学科分类 } return(View(model)); } else { return(Content("当前稿件状态下不允许编辑!")); } }