/// <summary> /// 获取退稿 /// </summary> private IList <FlowContribution> GetContributionReturnList() { IFlowFacadeService service = ServiceContainer.Instance.Container.Resolve <IFlowFacadeService>(); CirculationEntity cirEntity = new CirculationEntity(); cirEntity.JournalID = JournalID; cirEntity.CStatus = -100; cirEntity.CurrentPage = 1; cirEntity.PageSize = TypeParse.ToInt(Request.Params["pagesize"], 100000); Pager <FlowContribution> pager = new Pager <FlowContribution>(); try { pager = service.GetFlowContributionList(cirEntity); } catch (Exception ex) { WKT.Log.LogProvider.Instance.Error("获取退稿导出数据出现异常:" + ex.Message); } if (pager != null) { return(pager.ItemList); } else { return(new List <FlowContribution>()); } }
private IList <FlowStatusEntity> GetFlowStatusList(AuthorInfoQuery author) { JsonExecResult <FlowStatusEntity> jsonResult = new JsonExecResult <FlowStatusEntity>(); IFlowFacadeService service = ServiceContainer.Instance.Container.Resolve <IFlowFacadeService>(); FlowStatusQuery query = new FlowStatusQuery(); query.JournalID = JournalID; query.CurAuthorID = (long)author.AuthorID; query.RoleID = (long)CurAuthor.RoleID; query.IsHandled = 2; try { jsonResult.ItemList = service.GetHaveRightFlowStatus(query); if (jsonResult.ItemList != null) { jsonResult.ItemList = jsonResult.ItemList.Where(p => p.ContributionCount > 0).ToList <FlowStatusEntity>(); } jsonResult.result = EnumJsonResult.success.ToString(); } catch (Exception ex) { jsonResult.result = EnumJsonResult.error.ToString(); jsonResult.msg = "获取当前人可以处理的稿件状态出现异常:" + ex.Message; } return(jsonResult.ItemList); }
/// <summary> /// 获取接收人信息 /// </summary> /// <param name="CID"></param> /// <param name="Status"></param> /// <returns></returns> private AuthorInfoEntity GetAuthorInfo(Int64 CID, Int32 Status) { IFlowFacadeService service = ServiceContainer.Instance.Container.Resolve <IFlowFacadeService>(); CirculationEntity query = new CirculationEntity(); query.JournalID = CurAuthor.JournalID; query.CID = CID; if (Status == 0) { query.EnumCStatus = EnumContributionStatus.New; } else if (Status == 200) { query.EnumCStatus = EnumContributionStatus.Employment; } else if (Status == 100) { query.EnumCStatus = EnumContributionStatus.Proof; } else if (Status == -3) { query.EnumCStatus = EnumContributionStatus.Retreat; } var model = service.GetContributionProcesser(query); return(model); }
public ActionResult FContributeSave(FinanceContributeEntity model) { IFinanceFacadeAPIService service = ServiceContainer.Instance.Container.Resolve <IFinanceFacadeAPIService>(); model.JournalID = CurAuthor.JournalID; model.InUser = CurAuthor.AuthorID; model.IsSystem = CurAuthor.GroupID == 1; if (model.PKID == 0) { #region 改变稿件状态 为已经交费 ISiteConfigFacadeService facadeService = ServiceContainer.Instance.Container.Resolve <ISiteConfigFacadeService>(); IList <DictValueEntity> dicteEntity = null; IList <DictValueEntity> noticDicteEntity = null; if (model.FeeType == 1) { noticDicteEntity = facadeService.GetDictValueList(new DictValueQuery() { JournalID = CurAuthor.JournalID, DictKey = "PayNotice" }); dicteEntity = facadeService.GetDictValueList(new DictValueQuery() { JournalID = CurAuthor.JournalID, DictKey = "Payed" }); } else { noticDicteEntity = facadeService.GetDictValueList(new DictValueQuery() { JournalID = CurAuthor.JournalID, DictKey = "PayPageNotice" }); dicteEntity = facadeService.GetDictValueList(new DictValueQuery() { JournalID = CurAuthor.JournalID, DictKey = "PagePayed" }); } if (dicteEntity != null && dicteEntity.Count > 0 && noticDicteEntity != null && noticDicteEntity.Count > 0) { ISiteConfigFacadeService currentService = ServiceContainer.Instance.Container.Resolve <ISiteConfigFacadeService>(); CirculationEntity cirEntity = new CirculationEntity(); cirEntity.JournalID = CurAuthor.JournalID; cirEntity.SendUserID = CurAuthor.AuthorID; cirEntity.CID = model.CID; cirEntity.StatusID = noticDicteEntity.FirstOrDefault <DictValueEntity>().ValueID; cirEntity.ToStatusID = dicteEntity.FirstOrDefault <DictValueEntity>().ValueID; IFlowFacadeService flowService = ServiceContainer.Instance.Container.Resolve <IFlowFacadeService>(); flowService.DealFinaceInAccount(cirEntity); } #endregion } ExecResult result = service.SaveFinanceContribute(model); return(Json(new { result = result.result, msg = result.msg })); }
public ActionResult GetEditorContributionListAjax(CirculationEntity cirEntity) { IFlowFacadeService service = ServiceContainer.Instance.Container.Resolve <IFlowFacadeService>(); cirEntity.JournalID = JournalID; cirEntity.IsHandled = cirEntity.Status; int pageIndex = TypeParse.ToInt(Request.Params["page"], 1); cirEntity.CurrentPage = pageIndex; cirEntity.PageSize = TypeParse.ToInt(Request.Params["pagesize"], 10); Pager <FlowContribution> pager = service.GetFlowContributionList(cirEntity); return(Json(new { Rows = pager.ItemList, Total = pager.TotalRecords })); }
public ActionResult GetWorkloadListForAuthorID(FlowStatusQuery fquery) { JsonExecResult <FlowStatusEntity> jsonResult0 = new JsonExecResult <FlowStatusEntity>(); JsonExecResult <FlowStatusEntity> jsonResult1 = new JsonExecResult <FlowStatusEntity>(); IFlowFacadeService fservice = ServiceContainer.Instance.Container.Resolve <IFlowFacadeService>(); fquery.JournalID = JournalID; #region 待处理 try { fquery.IsHandled = 0;//0=待处理 jsonResult0.ItemList = fservice.GetHaveRightFlowStatusForStat(fquery); if (jsonResult0.ItemList != null) { jsonResult0.ItemList = jsonResult0.ItemList.Where(p => p.ContributionCount > 0).ToList <FlowStatusEntity>(); } jsonResult0.result = EnumJsonResult.success.ToString(); } catch (Exception ex) { jsonResult0.result = EnumJsonResult.error.ToString(); jsonResult0.msg = "获取当前人可以处理的稿件状态出现异常:" + ex.Message; } #endregion #region 已处理 try { fquery.IsHandled = 1;//1=已处理 jsonResult1.ItemList = fservice.GetHaveRightFlowStatusForStat(fquery); if (jsonResult1.ItemList != null) { jsonResult1.ItemList = jsonResult1.ItemList.Where(p => p.ContributionCount > 0).ToList <FlowStatusEntity>(); } jsonResult1.result = EnumJsonResult.success.ToString(); } catch (Exception ex) { jsonResult1.result = EnumJsonResult.error.ToString(); jsonResult1.msg = "获取当前人可以处理的稿件状态出现异常:" + ex.Message; } #endregion return(Json(new { Rows0 = jsonResult0.ItemList, Rows1 = jsonResult1.ItemList })); }
private void GetFilePath() { // 根据稿件ID或者流程日志ID得到稿件路径 long CIDParam = 0; if (!string.IsNullOrEmpty(Request.QueryString["CID"])) { CIDParam = TypeParse.ToLong(Request.QueryString["CID"], 0); } // 日志ID long FlowLogID = 0; if (!string.IsNullOrEmpty(Request.QueryString["FlowID"])) { FlowLogID = TypeParse.ToLong(Request.QueryString["FlowID"], 0); } if (CIDParam > 0) { IContributionFacadeService cService = ServiceContainer.Instance.Container.Resolve <IContributionFacadeService>(); // 得到稿件路径 ContributionInfoQuery cQuery = new ContributionInfoQuery(); cQuery.JournalID = SiteConfig.SiteID; cQuery.CID = CIDParam; _filePath = cService.GetContributionAttachment(cQuery); } else if (FlowLogID > 0) { IFlowFacadeService flowService = ServiceContainer.Instance.Container.Resolve <IFlowFacadeService>(); // 附件路径 FlowLogQuery logQuery = new FlowLogQuery(); logQuery.JournalID = SiteConfig.SiteID; logQuery.FlowLogID = FlowLogID; _filePath = flowService.GetFlowLogAttachment(logQuery); } if (!string.IsNullOrEmpty(Request.QueryString["fileName"])) { _fileName = Request.QueryString["fileName"]; } else { _fileName = "在线审阅稿件"; } }
public ActionResult GetContributionList(long SiteID, string EMail) { string contributions = string.Empty; //根据邮箱获取作者实体-得到作者ID IAuthorFacadeService authorService = ServiceContainer.Instance.Container.Resolve <IAuthorFacadeService>(); AuthorInfoQuery query = new AuthorInfoQuery(); query.LoginName = EMail; query.JournalID = SiteID; query.GroupID = (int)EnumMemberGroup.Author; AuthorInfoEntity authorInfoEntity = authorService.GetAuthorInfo(query); //获取作者最新状态的稿件列表 IFlowFacadeService flowService = ServiceContainer.Instance.Container.Resolve <IFlowFacadeService>(); CirculationEntity cirEntity = new CirculationEntity(); cirEntity.JournalID = SiteID; cirEntity.CurAuthorID = authorInfoEntity.AuthorID; //int pageIndex = TypeParse.ToInt(Request.Params["page"], 1); cirEntity.CurrentPage = 1; cirEntity.PageSize = TypeParse.ToInt(Request.Params["pagesize"], 100); Pager <FlowContribution> pager = flowService.GetAuthorContributionList(cirEntity); if (pager.ItemList.Count == 0) { return(base.Json(new { code = "1000002", msg = "没有查询到符合条件的数据。" }, JsonRequestBehavior.AllowGet));//没有稿件数据 } else if (pager.ItemList.Count == 1) { return(base.Json(new { code = "1000003", msg = "查询到1条符合条件的数据。" }, JsonRequestBehavior.AllowGet)); } else { contributions += "["; for (int i = 0; i < pager.ItemList.Count; i++) { contributions += "{\"Title\":\"" + pager.ItemList[i].Title + "\",\"AuthorName\":\"" + pager.ItemList[i].AuthorName + "\",\"AuditStatus\":\"" + pager.ItemList[i].AuditStatus + "\",\"AddDate\":\"" + pager.ItemList[i].AddDate + "\"},"; } contributions.Remove(contributions.LastIndexOf(','), 1); contributions += "]"; return(base.Json(new { code = "1000004", msg = "查询到" + pager.ItemList.Count + "条符合条件的数据。", Contributions = contributions }, JsonRequestBehavior.AllowGet)); } }
/// <summary> /// 获取过程稿 /// </summary> private IList <FlowStatusEntity> GetContributionProcessList() { IList <FlowStatusEntity> list = new List <FlowStatusEntity>(); IFlowFacadeService service = ServiceContainer.Instance.Container.Resolve <IFlowFacadeService>(); FlowStatusQuery query = new FlowStatusQuery(); query.JournalID = JournalID; query.IsHandled = 2; query.CurAuthorID = 0; query.RoleID = 0; try { list = service.GetHaveRightFlowStatus(query); } catch (Exception ex) { WKT.Log.LogProvider.Instance.Error("获取过程稿导出数据出现异常:" + ex.Message); } return(list); }
public ActionResult Index() { string url = Request.QueryString["url"]; ViewBag.RETURL = url; ViewBag.IsShowMoreRole = false; if (CurAuthor != null) { if (CurAuthor.RoleIDList != null) { if (CurAuthor.GroupID == (Byte)EnumMemberGroup.Editor && CurAuthor.RoleIDList.Count > 1) { ViewBag.RoleList = SelectRole("selRoleList", "65px;"); ViewBag.IsShowMoreRole = true; } if (CurAuthor.GroupID == (Byte)EnumMemberGroup.Expert && CurAuthor.RoleIDList.Count > 1) { ViewBag.RoleList = SelectExpertRole("selRoleList", "80px;"); ViewBag.IsShowMoreRole = true; } if (CurAuthor.GroupID == (Byte)EnumMemberGroup.Author && CurAuthor.RoleIDList.Count > 1) { ViewBag.RoleList = SelectAuthorRole("selRoleList", "80px;"); ViewBag.IsShowMoreRole = true; } } ViewBag.Group = CurAuthor.GroupID; ViewBag.Author = CurAuthor.AuthorID; ISiteConfigFacadeService service = ServiceContainer.Instance.Container.Resolve <ISiteConfigFacadeService>(); DictValueQuery query = new DictValueQuery(); query.JournalID = SiteConfig.SiteID; query.DictKey = "NotAccessSearch"; IDictionary <int, string> dict = service.GetDictValueDcit(query); if (dict != null && dict.Count > 0) { foreach (var item in dict) { if (item.Value == CurAuthor.AuthorID.ToString()) { ViewBag.IsShowSearch = false; break; } else { ViewBag.IsShowSearch = true; } } } } //ISiteConfigFacadeService facadeService = ServiceContainer.Instance.Container.Resolve<ISiteConfigFacadeService>(); //DictValueQuery dictQuery = new DictValueQuery(); //dictQuery.JournalID = JournalID; //dictQuery.DictKey = "NotAccessSearch"; //IList<DictValueEntity> dictList = facadeService.GetDictValueList(dictQuery); //文海峰 2014-1-8 IFlowFacadeService siteConfigService = ServiceContainer.Instance.Container.Resolve <IFlowFacadeService>(); IList <FlowStatusEntity> flowStatuslist = siteConfigService.GetFlowStatusList(new FlowStatusQuery() { JournalID = JournalID }); ViewBag.flowStatuslist = flowStatuslist; return(View()); }
/// <summary> /// 文件下载_根据稿件ID_流程ID /// </summary> /// <param name="cid">稿件ID</param> /// <param name="fileName">文件名</param> /// <param name="downType1">下载类型1:1=下载CPath;2=下载FigurePath;3=OtherPath</param> /// <param name="downType2">下载类型2:1=原稿件(最后一条数据);2=最新稿件(第一条数据);3=过程稿件</param> /// <param name="isDown">是否下载过:false=未下载过;true=下载过</param> /// <returns></returns> public ActionResult Download(long cid, long FlowLogID, string fileName, int downType1, int downType2, bool isDown) { string filePath = string.Empty; HttpCookie cookie = System.Web.HttpContext.Current.Request.Cookies["WKT_SSO.CN"]; IFlowFacadeService flowService = ServiceContainer.Instance.Container.Resolve <IFlowFacadeService>(); CirculationEntity ce = new CirculationEntity(); ce.CID = cid; ce.JournalID = SiteConfig.SiteID; ce.GroupID = 1; IList <FlowLogInfoEntity> flowLogList = flowService.GetFlowLog(ce); if (cookie != null) { #region MyRegion if (downType2 == 1)//下载原稿件 { if (downType1 == 1) { filePath = GetUploadPath(flowLogList[flowLogList.Count - 1].CPath); } if (downType1 == 2) { filePath = GetUploadPath(flowLogList[flowLogList.Count - 1].FigurePath); } if (downType1 == 3) { filePath = GetUploadPath(flowLogList[flowLogList.Count - 1].OtherPath); } } #endregion #region MyRegion if (downType2 == 2)//下载最新稿件 { if (downType1 == 1) { filePath = GetUploadPath(flowLogList[0].CPath); } if (downType1 == 2) { filePath = GetUploadPath(flowLogList[0].FigurePath); } if (downType1 == 3) { filePath = GetUploadPath(flowLogList[flowLogList.Count - 1].OtherPath); } } #endregion #region MyRegion if (downType2 == 3)//下载过程稿件 { for (int i = 0; i < flowLogList.Count; i++) { if (flowLogList[i].FlowLogID == FlowLogID) { if (downType1 == 1) { filePath = GetUploadPath(flowLogList[i].CPath); } if (downType1 == 2) { filePath = GetUploadPath(flowLogList[i].FigurePath); } if (downType1 == 3) { filePath = GetUploadPath(flowLogList[i].OtherPath); } } } } #endregion fileName += Path.GetExtension(filePath); try { FileStream myFile = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); BinaryReader br = new BinaryReader(myFile); try { #region MyRegion Response.AddHeader("Accept-Ranges", "bytes"); Response.Buffer = false; long fileLength = myFile.Length; long startBytes = 0; double pack = 10240; //10K bytes //int sleep = 200; //每秒5次 即5*10K bytes每秒 int sleep = (int)Math.Floor(1000 * pack / 204800) + 1; if (Request.Headers["Range"] != null) { Response.StatusCode = 206; string[] range = Request.Headers["Range"].Split(new char[] { '=', '-' }); startBytes = Convert.ToInt64(range[1]); } Response.AddHeader("Content-Length", (fileLength - startBytes).ToString()); if (startBytes != 0) { //Response.AddHeader("Content-Range", string.Format(" bytes {0}-{1}/{2}", startBytes, fileLength-1, fileLength)); } Response.AddHeader("Connection", "Keep-Alive"); Response.ContentType = "application/octet-stream"; if (Request.Browser.Browser == "Firefox") { Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName); } else { Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); } br.BaseStream.Seek(startBytes, SeekOrigin.Begin); int maxCount = (int)Math.Floor((fileLength - startBytes) / pack) + 1; for (int i = 0; i < maxCount; i++) { if (Response.IsClientConnected) { Response.BinaryWrite(br.ReadBytes(int.Parse(pack.ToString()))); Thread.Sleep(sleep); } else { i = maxCount; } } #endregion # region 更新下载状态 if (isDown == false) { try { FlowLogQuery query = new FlowLogQuery(); query.JournalID = SiteConfig.SiteID; query.FlowLogID = FlowLogID; flowService.UpdateFlowLogIsDown(query); } catch (Exception ex) { WKT.Log.LogProvider.Instance.Error("更新审稿日志的下载状态出现异常:" + ex.Message); } } # endregion } catch (Exception ex) { return(Content("无法完成下载!详细信息:" + ex.Message)); } finally { br.Close(); myFile.Close(); } }
public JsonResult CheckAuthorFileAjax(long cid, long AuthorID) { HttpCookie cookie = Request.Cookies["WKT_SSO.CN"]; IFlowFacadeService flowService = ServiceContainer.Instance.Container.Resolve <IFlowFacadeService>(new ResolverOverride[0]); CirculationEntity ce = new CirculationEntity { CID = cid, JournalID = SiteConfig.SiteID, GroupID = 2 }; IList <FlowLogInfoEntity> flowLogList = flowService.GetFlowLog(ce); if (flowLogList.Count == 1)//如果是新稿件 { if (flowLogList[0].FigurePath != "" && flowLogList[0].OtherPath != "") { return(base.Json(new { flag = "19" })); } else if (flowLogList[0].FigurePath != "") { return(base.Json(new { flag = "12" })); } else if (flowLogList[0].OtherPath != "") { return(base.Json(new { flag = "13" })); } else { return(base.Json(new { flag = "10" })); } } else //如果不是新稿件 { if (flowLogList[0].CPath != "")//如果存在修改稿 { #region 判断最新的附件/介绍信 if (flowLogList[0].FigurePath != "" && flowLogList[0].OtherPath != "") { return(base.Json(new { flag = "29" })); } else if (flowLogList[0].FigurePath != "") { return(base.Json(new { flag = "22" })); } else if (flowLogList[0].OtherPath != "") { return(base.Json(new { flag = "23" })); } //else // return base.Json(new { flag = "20" }); #endregion #region 判断原始的附件/介绍信 if (flowLogList[flowLogList.Count - 1].FigurePath != "" && flowLogList[flowLogList.Count - 1].OtherPath != "") { return(base.Json(new { flag = "39" })); } else if (flowLogList[flowLogList.Count - 1].FigurePath != "") { return(base.Json(new { flag = "32" })); } else if (flowLogList[flowLogList.Count - 1].OtherPath != "") { return(base.Json(new { flag = "33" })); } else { return(base.Json(new { flag = "30" })); } #endregion } else//如果不存在修改稿 { #region 判断最新的附件/介绍信 if (flowLogList[0].FigurePath != "" && flowLogList[0].OtherPath != "") { return(base.Json(new { flag = "49" })); } else if (flowLogList[0].FigurePath != "") { return(base.Json(new { flag = "42" })); } else if (flowLogList[0].OtherPath != "") { return(base.Json(new { flag = "43" })); } //else // return base.Json(new { flag = "40" }); #endregion #region 判断原始的附件/介绍信 if (flowLogList[flowLogList.Count - 1].FigurePath != "" && flowLogList[flowLogList.Count - 1].OtherPath != "") { return(base.Json(new { flag = "59" })); } else if (flowLogList[flowLogList.Count - 1].FigurePath != "") { return(base.Json(new { flag = "52" })); } else if (flowLogList[flowLogList.Count - 1].OtherPath != "") { return(base.Json(new { flag = "53" })); } else { return(base.Json(new { flag = "50" })); } #endregion } } }
public ActionResult WorkloadListForEditorToExcel(FlowStatusQuery fquery) { JsonExecResult <FlowStatusEntity> jsonResult0 = new JsonExecResult <FlowStatusEntity>(); JsonExecResult <FlowStatusEntity> jsonResult1 = new JsonExecResult <FlowStatusEntity>(); IFlowFacadeService fservice = ServiceContainer.Instance.Container.Resolve <IFlowFacadeService>(); fquery.JournalID = JournalID; List <WorkloadEntity> list = new List <WorkloadEntity>(); #region 已处理 try { fquery.IsHandled = 1;//1=已处理 jsonResult1.ItemList = fservice.GetHaveRightFlowStatusForStat(fquery); if (jsonResult1.ItemList != null) { int WorkCount = 0; jsonResult1.ItemList = jsonResult1.ItemList.Where(p => p.ContributionCount > 0).ToList <FlowStatusEntity>(); for (int n = 0; n < jsonResult1.ItemList.Count; n++) { WorkloadEntity workloadEntity = new WorkloadEntity(); workloadEntity.StatusName = jsonResult1.ItemList[n].StatusName; workloadEntity.AlreadyCount = jsonResult1.ItemList[n].ContributionCount; WorkCount += jsonResult1.ItemList[n].ContributionCount; workloadEntity.RealName = Request.Params["RealName"]; list.Add(workloadEntity); } WorkloadEntity workloadEntityCount = new WorkloadEntity(); workloadEntityCount.StatusName = "已处理总计:"; workloadEntityCount.AlreadyCount = WorkCount; list.Add(workloadEntityCount); } } catch (Exception ex) { jsonResult1.result = EnumJsonResult.error.ToString(); jsonResult1.msg = "获取当前人可以处理的稿件状态出现异常:" + ex.Message; } #endregion #region 待处理 try { fquery.IsHandled = 0;//0=待处理 jsonResult0.ItemList = fservice.GetHaveRightFlowStatusForStat(fquery); if (jsonResult0.ItemList != null) { int WaitCount = 0; jsonResult0.ItemList = jsonResult0.ItemList.Where(p => p.ContributionCount > 0).ToList <FlowStatusEntity>(); for (int m = 0; m < jsonResult0.ItemList.Count; m++) { WorkloadEntity workloadEntity = new WorkloadEntity(); workloadEntity.StatusName = jsonResult0.ItemList[m].StatusName; workloadEntity.AlreadyCount = jsonResult0.ItemList[m].ContributionCount; WaitCount += jsonResult0.ItemList[m].ContributionCount; workloadEntity.RealName = Request.Params["RealName"]; list.Add(workloadEntity); } WorkloadEntity workloadEntityCount = new WorkloadEntity(); workloadEntityCount.StatusName = "待处理总计:"; workloadEntityCount.AlreadyCount = WaitCount; list.Add(workloadEntityCount); } } catch (Exception ex) { jsonResult0.result = EnumJsonResult.error.ToString(); jsonResult0.msg = "获取当前人可以处理的稿件状态出现异常:" + ex.Message; } #endregion string[] titleFiles = new string[] { "编辑姓名", "稿件状态", "数量" }; int[] titleWidth = new int[] { 80, 80, 80 }; string[] dataFiles = new string[] { "RealName", "StatusName", "AlreadyCount" }; string[] fomateFiles = new string[] { "", "", "" }; string strTempPath = "/UploadFile/TempFile/" + "WorkloadListForEditor.xls"; ExcelHelperEx.CreateExcel <WorkloadEntity>("编辑(" + Request.Params["RealName"] + ")工作量统计", titleFiles, titleWidth, dataFiles, fomateFiles, list, strTempPath); return(Json(new { flag = 1, ExcelPath = strTempPath })); }
public ActionResult WorkloadListToExcel(WorkloadQuery query) { IRoleAuthorFacadeService roleAuthorService = ServiceContainer.Instance.Container.Resolve <IRoleAuthorFacadeService>(); RoleAuthorQuery roleAuthorQuery = new RoleAuthorQuery(); roleAuthorQuery.JournalID = JournalID; roleAuthorQuery.GroupID = 1; roleAuthorQuery.OrderStr = " AI.AuthorID ASC"; roleAuthorQuery.RealName = query.RealName; if (query.RoleID > 0) { roleAuthorQuery.RoleID = query.RoleID; } int pageIndex = TypeParse.ToInt(Request.Params["page"], 1); IList <RoleAuthorEntity> listRoleAuthor = roleAuthorService.GetRoleAuthorDetailList(roleAuthorQuery); List <WorkloadEntity> list = new List <WorkloadEntity> (); for (int i = 0; i < listRoleAuthor.Count; i++) { WorkloadEntity workloadEntity = new WorkloadEntity(); FlowStatusQuery fquery = new FlowStatusQuery(); JsonExecResult <FlowStatusEntity> jsonResult0 = new JsonExecResult <FlowStatusEntity>(); JsonExecResult <FlowStatusEntity> jsonResult1 = new JsonExecResult <FlowStatusEntity>(); IFlowFacadeService fservice = ServiceContainer.Instance.Container.Resolve <IFlowFacadeService>(); fquery.JournalID = JournalID; fquery.CurAuthorID = listRoleAuthor[i].AuthorID; fquery.RoleID = listRoleAuthor[i].RoleID; fquery.StartDate = query.StartDate; fquery.EndDate = query.EndDate; #region 待处理 try { fquery.IsHandled = 0;//0=待处理 jsonResult0.ItemList = fservice.GetHaveRightFlowStatusForStat(fquery); if (jsonResult0.ItemList != null && jsonResult0.ItemList.Count > 0) { jsonResult0.ItemList = jsonResult0.ItemList.Where(p => p.ContributionCount > 0).ToList <FlowStatusEntity>(); for (int m = 0; m < jsonResult0.ItemList.Count; m++) { workloadEntity.WaitCount += jsonResult0.ItemList[m].ContributionCount; } } } catch (Exception ex) { jsonResult0.result = EnumJsonResult.error.ToString(); jsonResult0.msg = "获取当前人可以处理的稿件状态出现异常:" + ex.Message; } #endregion #region 已处理 try { fquery.IsHandled = 1;//1=已处理 jsonResult1.ItemList = fservice.GetHaveRightFlowStatusForStat(fquery); if (jsonResult1.ItemList != null && jsonResult1.ItemList.Count > 0) { jsonResult1.ItemList = jsonResult1.ItemList.Where(p => p.ContributionCount > 0).ToList <FlowStatusEntity>(); for (int n = 0; n < jsonResult1.ItemList.Count; n++) { workloadEntity.WorkCount += jsonResult1.ItemList[n].ContributionCount; } } } catch (Exception ex) { jsonResult1.result = EnumJsonResult.error.ToString(); jsonResult1.msg = "获取当前人可以处理的稿件状态出现异常:" + ex.Message; } #endregion workloadEntity.AuthorID = listRoleAuthor[i].AuthorID; workloadEntity.RealName = listRoleAuthor[i].RealName; if (workloadEntity.WorkCount > 0) { list.Add(workloadEntity); } } //去除固定的不需统计的人员ID list.Where(p => p.AuthorID != 84381 && p.AuthorID != 84386 && p.AuthorID != 84388 && p.AuthorID != 95844); //去除List中的重复项 List <WorkloadEntity> WorkloadList = list.Distinct(new Compare <WorkloadEntity>((x, y) => (null != x && null != y) && (x.AuthorID == y.AuthorID))).ToList(); string[] titleFiles = new string[] { "编辑姓名", "已处理", "待处理" }; int[] titleWidth = new int[] { 80, 80, 80 }; string[] dataFiles = new string[] { "RealName", "WorkCount", "WaitCount" }; string[] fomateFiles = new string[] { "", "", "" }; string strTempPath = "/UploadFile/TempFile/" + "WorkloadListAll.xls"; ExcelHelperEx.CreateExcel <WorkloadEntity>("编辑部工作量统计", titleFiles, titleWidth, dataFiles, fomateFiles, WorkloadList, strTempPath); return(Json(new { flag = 1, ExcelPath = strTempPath })); }
public ActionResult BatchSavePayNotice(PayNoticeEntity model) { IFinanceFacadeAPIService service = ServiceContainer.Instance.Container.Resolve <IFinanceFacadeAPIService>(); IList <PayNoticeEntity> list = (IList <PayNoticeEntity>)TempData["list"]; if (list != null && list.Count > 0) { #region 批量改变稿件状态 为 通知交审稿费 int actionID = 0; ISiteConfigFacadeService facadeService = ServiceContainer.Instance.Container.Resolve <ISiteConfigFacadeService>(); DictEntity dicteEntity = null; if (model.PayType == 1)//审稿费 { dicteEntity = facadeService.GetDictModelByKey(new DictQuery() { JournalID = CurAuthor.JournalID, DictKey = "PayNotice" }); } else //版面费 { dicteEntity = facadeService.GetDictModelByKey(new DictQuery() { JournalID = CurAuthor.JournalID, DictKey = "PayPageNotice" }); } if (dicteEntity != null) { ISiteConfigFacadeService currentService = ServiceContainer.Instance.Container.Resolve <ISiteConfigFacadeService>(); IList <DictValueEntity> currentList = currentService.GetDictValueList(new DictValueQuery() { JournalID = CurAuthor.JournalID, DictKey = dicteEntity.DictKey }); if (currentList != null && currentList.Count > 0) { DictValueEntity entity = currentList.Single <DictValueEntity>(); if (entity != null) { actionID = entity.ValueID; IFlowFacadeService flowFacadeService = ServiceContainer.Instance.Container.Resolve <IFlowFacadeService>(); #region 获取流程操作 FlowActionQuery actionQuery = new FlowActionQuery(); actionQuery.JournalID = JournalID; actionQuery.ToStatusID = actionID; IFlowFacadeService flowService = ServiceContainer.Instance.Container.Resolve <IFlowFacadeService>(); IList <FlowActionEntity> actionEntityList = flowService.GetFlowActionList(actionQuery); #endregion foreach (var item in list) { item.Status = 0; item.Body = Server.UrlDecode(model.Body).Replace("${金额}$", model.Amount.ToString()).Replace("${接收人}$", item.AuthorName).Replace("${邮箱}$", item.LoginName).Replace("${稿件编号}$", item.CNumber).Replace("${稿件标题}$", item.CTitle).Replace("${手机}$", item.Mobile); item.SendUser = CurAuthor.AuthorID; item.Amount = model.Amount; item.Title = model.Title; if (item.NoticeID == 0) { #region 根据审稿状态获取 审稿流程日志ID CirculationEntity cirQuery = new CirculationEntity(); cirQuery.CID = item.CID; cirQuery.JournalID = JournalID; cirQuery.GroupID = 1; IFlowFacadeService flowInfoLogService = ServiceContainer.Instance.Container.Resolve <IFlowFacadeService>(); IList <FlowLogInfoEntity> flowLogEntityList = flowInfoLogService.GetFlowLog(cirQuery); FlowActionEntity single = null; FlowLogInfoEntity flowLogEntity = null; if (flowLogEntityList != null && flowLogEntityList.Count > 0) { flowLogEntity = flowLogEntityList.OrderByDescending(o => o.FlowLogID).Take(1).SingleOrDefault(); single = actionEntityList.Where(o => o.StatusID == flowLogEntity.TargetStatusID).SingleOrDefault(); } #endregion #region 批量提交审稿状态 AuditBillEntity auditBillEntity = new AuditBillEntity(); auditBillEntity.JournalID = JournalID; auditBillEntity.Processer = CurAuthor.AuthorID; auditBillEntity.ActionType = 1; auditBillEntity.CID = item.CID; if (single != null && flowLogEntity != null) { auditBillEntity.ActionID = single.ActionID; auditBillEntity.StatusID = single.StatusID; auditBillEntity.ReveiverList = flowLogEntity.RecUserID.ToString(); auditBillEntity.FlowLogID = flowLogEntity.FlowLogID; auditBillEntity.CPath = string.IsNullOrEmpty(flowLogEntity.CPath) ? "" : flowLogEntity.CPath; auditBillEntity.FigurePath = string.IsNullOrEmpty(flowLogEntity.FigurePath) ? "" : flowLogEntity.FigurePath; auditBillEntity.OtherPath = string.IsNullOrEmpty(flowLogEntity.OtherPath) ? "" : flowLogEntity.OtherPath; flowFacadeService.SubmitAuditBill(auditBillEntity); } #endregion } } } } } #endregion } ExecResult result = service.BatchSavePayNotice(list); return(Json(new { result = result.result, msg = result.msg })); }
public ActionResult SavePayNotice(PayNoticeEntity model) { IFinanceFacadeAPIService service = ServiceContainer.Instance.Container.Resolve <IFinanceFacadeAPIService>(); model.JournalID = CurAuthor.JournalID; model.SendUser = CurAuthor.AuthorID; model.Status = 0; model.Body = Server.UrlDecode(model.Body).Replace("${金额}$", model.Amount.ToString()); if (model.NoticeID == 0) { #region 改变稿件状态 为 通知交审稿费 int actionID = 0; ISiteConfigFacadeService facadeService = ServiceContainer.Instance.Container.Resolve <ISiteConfigFacadeService>(); DictEntity dicteEntity = null; if (model.PayType == 1)//审稿费 { dicteEntity = facadeService.GetDictModelByKey(new DictQuery() { JournalID = CurAuthor.JournalID, DictKey = "PayNotice" }); } else //版面费 { dicteEntity = facadeService.GetDictModelByKey(new DictQuery() { JournalID = CurAuthor.JournalID, DictKey = "PayPageNotice" }); } if (dicteEntity != null) { ISiteConfigFacadeService currentService = ServiceContainer.Instance.Container.Resolve <ISiteConfigFacadeService>(); IList <DictValueEntity> list = currentService.GetDictValueList(new DictValueQuery() { JournalID = CurAuthor.JournalID, DictKey = dicteEntity.DictKey }); if (list != null && list.Count > 0) { DictValueEntity entity = list.Single <DictValueEntity>(); if (entity != null) { actionID = entity.ValueID; #region 获取流程操作 FlowActionQuery actionQuery = new FlowActionQuery(); actionQuery.JournalID = JournalID; actionQuery.ToStatusID = actionID; IFlowFacadeService flowService = ServiceContainer.Instance.Container.Resolve <IFlowFacadeService>(); IList <FlowActionEntity> actionEntityList = flowService.GetFlowActionList(actionQuery); //long statusID = actionEntity != null ? actionEntity.StatusID : 0; #endregion #region 根据审稿状态获取 审稿流程日志ID CirculationEntity cirQuery = new CirculationEntity(); AuditBillEntity auditBillEntity = new AuditBillEntity(); cirQuery.CID = model.CID; cirQuery.JournalID = JournalID; cirQuery.GroupID = 1; IFlowFacadeService flowInfoLogService = ServiceContainer.Instance.Container.Resolve <IFlowFacadeService>(); IList <FlowLogInfoEntity> flowLogEntityList = flowInfoLogService.GetFlowLog(cirQuery); FlowActionEntity single = null; FlowLogInfoEntity flowLogEntity = null; if (flowLogEntityList != null && flowLogEntityList.Count > 0) { auditBillEntity.ReveiverList = flowLogEntityList[flowLogEntityList.Count - 1].SendUserID.ToString(); flowLogEntity = flowLogEntityList.OrderByDescending(o => o.FlowLogID).Take(1).SingleOrDefault(); single = actionEntityList.Where(o => o.StatusID == flowLogEntity.TargetStatusID).FirstOrDefault(); } #endregion IFlowFacadeService flowFacadeService = ServiceContainer.Instance.Container.Resolve <IFlowFacadeService>(); auditBillEntity.JournalID = JournalID; auditBillEntity.Processer = CurAuthor.AuthorID; if (single != null) { auditBillEntity.ActionID = single.ActionID; auditBillEntity.StatusID = single.StatusID; } auditBillEntity.ActionType = 1; auditBillEntity.CID = model.CID; if (flowLogEntity != null) { auditBillEntity.FlowLogID = flowLogEntity.FlowLogID; auditBillEntity.CPath = ""; auditBillEntity.FigurePath = ""; auditBillEntity.OtherPath = ""; } flowFacadeService.SubmitAuditBill(auditBillEntity); } } } #endregion } ExecResult result = service.SavePayNotice(model); return(Json(new { result = result.result, msg = result.msg })); }
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(); }