/// <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>());
            }
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        /// <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);
        }
Beispiel #4
0
        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 }));
        }
Beispiel #5
0
        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 }));
        }
Beispiel #6
0
        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 }));
        }
Beispiel #7
0
    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 = "在线审阅稿件";
        }
    }
Beispiel #8
0
        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);
        }
Beispiel #10
0
        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());
        }
Beispiel #11
0
        /// <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();
                    }
                }
Beispiel #12
0
        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
                }
            }
        }
Beispiel #13
0
        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 }));
        }
Beispiel #14
0
        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 }));
        }
Beispiel #15
0
        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 }));
        }
Beispiel #16
0
        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 }));
        }
Beispiel #17
0
        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();
        }