/// <summary>
        /// 处理在入款时改变稿件状态
        /// </summary>
        /// <param name="auditBillEntity"></param>
        /// <returns></returns>
        public ExecResult DealFinaceInAccount(CirculationEntity cirEntity)
        {
            HttpClientHelper clientHelper = new HttpClientHelper();
            ExecResult result = clientHelper.PostAuth<ExecResult, CirculationEntity>(GetAPIUrl(APIConstant.DealFinaceInAccount), cirEntity);

            return result;
        }
        /// <summary>
        /// 作者投稿
        /// </summary>
        /// <param name="cirEntity"></param>
        /// <returns></returns>
        public bool AuthorContribute(CirculationEntity cirEntity)
        {
            bool flag = false;
            long EditorID = 0;

            try
            {

                # region 得到自动分配责编

                EditorAutoAllotQuery editorQuery = new EditorAutoAllotQuery();
                editorQuery.JournalID = cirEntity.JournalID;
                editorQuery.CNumber = cirEntity.CNumber;
                editorQuery.SubjectCategoryID = cirEntity.SubjectCategoryID;
                // 得到自动分配责编
                AuthorInfoEntity autoAllotAuthor = EditorAutoAllotDataAccess.Instance.GetAutoAllotEditor(editorQuery);
                if (autoAllotAuthor != null) // 没有设置自动分配责任编辑
                {
                    EditorID = autoAllotAuthor.AuthorID;
                }
                # endregion

                DbCommand cmd = db.GetStoredProcCommand("UP_AuthorContribute");
                db.AddInParameter(cmd, "@JournalID", DbType.Int64, cirEntity.JournalID);
                db.AddInParameter(cmd, "@CID", DbType.Int64, cirEntity.CID);
                db.AddInParameter(cmd, "@AuthorID", DbType.Int64, cirEntity.AuthorID);
                db.AddInParameter(cmd, "@Editor", DbType.Int64, EditorID);
                db.AddInParameter(cmd, "@CPath", DbType.String, cirEntity.CPath == null ? "" : cirEntity.CPath);
                db.AddInParameter(cmd, "@FigurePath", DbType.String, cirEntity.FigurePath == null ? "" : cirEntity.FigurePath);
                db.AddInParameter(cmd, "@OtherPath", DbType.String, cirEntity.OtherPath == null ? "" : cirEntity.OtherPath);
                db.AddInParameter(cmd, "@DealAdvice", DbType.String, cirEntity.DealAdvice == null ? "" : cirEntity.DealAdvice.HtmlFilter());
                db.ExecuteNonQuery(cmd);

                flag = true;
            }
 public ActionResult GetContributionListAjax(long AuthorID)
 {
     IFlowFacadeService service = ServiceContainer.Instance.Container.Resolve<IFlowFacadeService>();
     CirculationEntity cirEntity = new CirculationEntity();
     cirEntity.JournalID = JournalID;
     cirEntity.CurAuthorID = AuthorID;
     cirEntity.AuthorID = AuthorID;
     cirEntity.CurrentPage = 1;
     cirEntity.PageSize = 500;
     Pager<FlowContribution> pager = service.GetAuthorContributionList(cirEntity);
     return Json(new { Rows = pager.ItemList, Total = pager.TotalRecords });
 }
 public ActionResult ExpertDeledit(CirculationEntity model,Int64 authorID=0)
 {
     IFlowFacadeService service = ServiceContainer.Instance.Container.Resolve<IFlowFacadeService>();
     model.EnumCStatus = EnumContributionStatus.Reject;
     model.JournalID = CurAuthor.JournalID;
     model.AuthorID =authorID==0?CurAuthor.AuthorID:authorID;
     bool result = service.ExpertDeledit(model);
     if (result)
         return Json(new { result = EnumJsonResult.success.ToString(), msg = "拒审操作成功!" });
     else
         return Json(new { result = EnumJsonResult.failure.ToString(), msg = "拒审操作失败!" });
 }
 public ActionResult GetFlowLogList(Int64 CID, Int64 AuthorID, Byte GroupID)
 {
     IFlowFacadeService flowService = ServiceContainer.Instance.Container.Resolve<IFlowFacadeService>();
     CirculationEntity cirEntity = new CirculationEntity();
     cirEntity.CID = CID;
     cirEntity.JournalID = JournalID;
     cirEntity.GroupID = GroupID;
     IList<FlowLogInfoEntity> list = flowService.GetFlowLog(cirEntity);
     if (GroupID != (Byte)EnumMemberGroup.Editor)
     {
         list = list.Where(p => p.RecUserID == AuthorID || p.SendUserID == AuthorID).ToList<FlowLogInfoEntity>();
     }
     return Json(list);
 }
 /// <summary>
 /// 作者投稿后调用该方法进入审稿流程
 /// </summary>
 /// <returns></returns>
 public bool AuthorContribution(CirculationEntity cirEntity)
 {
     bool flag = false;
     bool isFirstContribute = FlowCirculationDataAccess.Instance.IsFirstContribute(cirEntity);
     if (isFirstContribute)
     {
         // 第一次投稿
         flag = FlowCirculationDataAccess.Instance.AuthorContribute(cirEntity);
     }
     else
     {
         flag = FlowCirculationDataAccess.Instance.ProcessDealBackContribution(cirEntity);
     }
     return flag;
 }
Beispiel #7
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);
            }
        }
        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 });
        }
 /// <summary>
 /// 处理在入款时改变稿件状态
 /// </summary>
 /// <param name="auditBillEntity"></param>
 /// <returns></returns>
 public bool DealFinaceInAccount(CirculationEntity cirEntity)
 {
     return FlowCirculationDataAccess.Instance.DealFinaceInAccount(cirEntity);
 }
 /// <summary>
 /// 获取稿件的处理日志
 /// </summary>
 /// <param name="cirEntity">稿件ID,JournalID,分组</param>
 /// <returns></returns>
 public IList<FlowLogInfoEntity> GetFlowLog(CirculationEntity cirEntity)
 {
     IList<FlowLogInfoEntity> listFlowLog = FlowCirculationDataAccess.Instance.GetFlowLog(cirEntity);
     long TempUserID = 0;
     foreach (FlowLogInfoEntity item in listFlowLog)
     {
         // 如果是原路返回
         if (item.ActionType == 2)
         {
             TempUserID = item.SendUserID;
             item.SendUserID = item.RecUserID;
             item.RecUserID = TempUserID;
         }
     }
     return listFlowLog;
 }
 /// <summary>
 /// 得到下一步骤信息
 /// </summary>
 /// <param name="ciEntity">流转信息</param>
 /// <returns></returns>
 public FlowStep GetNextFlowStep(CirculationEntity cirEntity)
 {
     return FlowCirculationDataAccess.Instance.GetNextFlowStep(cirEntity);
 }
 /// <summary>
 /// 获取稿件的处理日志
 /// </summary>
 /// <param name="cirEntity">稿件ID,JournalID,分组</param>
 /// <returns></returns>
 public IList<FlowLogInfoEntity> GetFlowLog(CirculationEntity cirEntity)
 {
     return FlowCirculationBusProvider.GetFlowLog(cirEntity);
 }
 /// <summary>
 /// 根据当前所处环节获取稿件列表
 /// </summary>
 /// <param name="cirEntity"></param>
 /// <returns></returns>
 public Pager<FlowContribution> GetFlowContributionList(CirculationEntity cirEntity)
 {
     if (cirEntity.CStatus == null)// 获取正常的稿件处理列表
     {
         return FlowCirculationDataAccess.Instance.GetFlowContributionList(cirEntity);
     }
     else
     {
         // 获取指定状态的稿件列表,例如:退稿
         return FlowCirculationDataAccess.Instance.GetStatusContributionList(cirEntity);
     }
 }
 public ActionResult GetContributionListAjax(CirculationEntity cirEntity)
 {
     IFlowFacadeService service = ServiceContainer.Instance.Container.Resolve<IFlowFacadeService>();
     cirEntity.JournalID = JournalID;
     cirEntity.CurAuthorID = CurAuthor.AuthorID;
     int pageIndex = TypeParse.ToInt(Request.Params["page"], 1);
     cirEntity.CurrentPage = pageIndex;
     cirEntity.PageSize = TypeParse.ToInt(Request.Params["pagesize"], 10);
     Pager<FlowContribution> pager = service.GetAuthorContributionList(cirEntity);
     return Json(new { Rows = pager.ItemList, Total = pager.TotalRecords });
 }
 /// <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;
 }
 /// <summary>
 /// 专家拒审
 /// </summary>
 /// <param name="cirEntity">CID,AuthorID,CNumber,JournalID,EnumCStatus</param>
 /// <returns></returns>
 public bool ExpertDeledit(CirculationEntity cirEntity)
 {
     bool result = FlowCirculationBusProvider.AuthorContribution(cirEntity);
     return result;
 }
 /// <summary>
 /// 获取作者最新稿件状态稿件列表
 /// </summary>
 /// <param name="cirEntity"></param>
 /// <returns></returns>
 public Pager<FlowContribution> GetAuthorContributionList(CirculationEntity cirEntity)
 {
     return FlowCirculationBusProvider.GetAuthorContributionList(cirEntity);
 }
 /// <summary>
 /// 处理在入款时改变稿件状态
 /// </summary>
 /// <param name="auditBillEntity"></param>
 /// <returns></returns>
 public bool DealFinaceInAccount(CirculationEntity cirEntity)
 {
     return FlowCirculationBusProvider.DealFinaceInAccount(cirEntity);
 }
 /// <summary>
 /// 获取同步状态稿件列表,例如:专家拒审,作者退修、已发校样、录用、退稿稿件列表
 /// </summary>
 /// <param name="cirEntity">需要传值:JournalID,CurAuthorID,EnumCStatus</param>
 /// <returns></returns>
 public Pager<FlowContribution> GetSynchroStatusContributionList(CirculationEntity cirEntity)
 {
     return FlowCirculationBusProvider.GetSynchroStatusContributionList(cirEntity);
 }
 /// <summary>
 /// 得到下一步骤信息
 /// </summary>
 /// <param name="ciEntity">流转信息</param>
 /// <returns></returns>
 public FlowStep GetNextFlowStep(CirculationEntity cirEntity)
 {
     return FlowCirculationBusProvider.GetNextFlowStep(cirEntity);
 }
 /// <summary>
 /// 得到稿件的处理人
 /// </summary>
 /// <param name="cirEntity">稿件ID(CID)、稿件状态(EnumCStatus)、编辑部ID(JournalID)</param>
 /// <returns></returns>
 public AuthorInfoEntity GetContributionProcesser(CirculationEntity cirEntity)
 {
     return FlowCirculationDataAccess.Instance.GetContributionProcesser(cirEntity);
 }
Beispiel #22
0
        /// <summary>
        /// 文件下载_根据稿件ID_作者ID
        /// </summary>
        /// <param name="cid">稿件ID</param>
        /// <param name="AuthorID">作者ID</param>
        /// <param name="fileName">文件名</param>
        /// <param name="downType1">下载类型1:1=下载CPath;2=下载FigurePath;3=OtherPath</param>
        /// <param name="downType2">下载类型2:1=原稿件(最后一条数据);2=最新稿件(第一条数据)</param>
        /// <returns></returns>
        public ActionResult DownloadAuthorCID(long cid, long AuthorID, string fileName, int downType1, int downType2,bool isDown)
        {
            string filePath = string.Empty;
            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
            };
            long flowLogID = 0;
            IList<FlowLogInfoEntity> flowLogList = flowService.GetFlowLog(ce);
            if (cookie != null)
            {
                if (downType1 == 1)
                {
                    if (downType2 == 1)
                    {
                        filePath = this.GetUploadPath(flowLogList[flowLogList.Count - 1].CPath);
                        flowLogID = flowLogList[flowLogList.Count - 1].FlowLogID;
                    }
                    if (downType2 == 2)
                    {
                        filePath = this.GetUploadPath(flowLogList[0].CPath);
                        flowLogID = flowLogList[0].FlowLogID;
                    }
                }
                if (downType1 == 2)
                {
                    if (downType2 == 1)
                    {
                        filePath = this.GetUploadPath(flowLogList[flowLogList.Count - 1].FigurePath);
                        flowLogID = flowLogList[flowLogList.Count - 1].FlowLogID;
                    }
                    if (downType2 == 2)
                    {
                        filePath = this.GetUploadPath(flowLogList[0].FigurePath);
                        flowLogID = flowLogList[0].FlowLogID;
                    }
                }
                if (downType1 == 3)
                {
                    if (downType2 == 1)
                    {
                        filePath = this.GetUploadPath(flowLogList[flowLogList.Count - 1].OtherPath);
                        flowLogID = flowLogList[flowLogList.Count - 1].FlowLogID;
                    }
                    if (downType2 == 2)
                    {
                        filePath = this.GetUploadPath(flowLogList[0].OtherPath);
                        flowLogID = flowLogList[0].FlowLogID;
                    }
                }
                fileName = 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();
                    }
                }
                catch (Exception ex)
                {

                    return Content("无法完成下载!详细信息:" + ex.Message);
                }
                return null;

            }
            else
                return null;
        }
 /// <summary>
 /// 获取专家待审、已审稿件列表
 /// </summary>
 /// <param name="cirEntity">需要传值:JournalID,CurAuthorID,Status</param>
 /// <returns></returns>
 public Pager<FlowContribution> GetExpertContributionList(CirculationEntity cirEntity)
 {
     return FlowCirculationDataAccess.Instance.GetExpertContributionList(cirEntity);
 }
        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 #25
0
 public ActionResult GetEditlistPageList()
 {
     IFlowFacadeService service = ServiceContainer.Instance.Container.Resolve<IFlowFacadeService>();
     CirculationEntity query = new CirculationEntity();
     query.JournalID = CurAuthor.JournalID;
     query.CurAuthorID = CurAuthor.AuthorID;
     query.Status = 1;
     query.GroupID = (byte)EnumMemberGroup.Expert;
     query.CurrentPage = Convert.ToInt32(Request.Params["page"]);
     query.PageSize = Convert.ToInt32(Request.Params["pagesize"]);
     Pager<FlowContribution> pager = service.GetExpertContributionList(query);
     return Json(new { Rows = pager.ItemList, Total = pager.TotalRecords });
 }
 /// <summary>
 /// 得到稿件的处理人
 /// </summary>
 /// <param name="cirEntity">稿件ID(CID)、稿件状态(EnumCStatus)、编辑部ID(JournalID)</param>
 /// <returns></returns>
 public AuthorInfoEntity GetContributionProcesser(CirculationEntity cirEntity)
 {
     return FlowCirculationBusProvider.GetContributionProcesser(cirEntity);
 }
Beispiel #27
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
                }

            }
        }
        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 });
        }
 /// <summary>
 /// 获取审核日志
 /// </summary>
 /// <param name="CID">稿件ID</param>
 /// <param name="AuthorID">作者、专家ID</param>
 /// <param name="GroupID">组ID</param>
 /// <param name="isViewMoreFlow">是否允许作者界面显示更多审稿信息 1=是 0=否</param>
 /// <param name="isViewMoreFlow">是否允许专家界面显示历史审稿信息 1=是 0=否</param>
 /// <returns></returns>
 private IList<FlowLogInfoEntity> GetFlowLogList(Int64 CID, Int64 AuthorID, Byte GroupID, Byte isViewMoreFlow, Byte isViewHistoryFlow)
 {
     IFlowFacadeService flowService = ServiceContainer.Instance.Container.Resolve<IFlowFacadeService>();
     CirculationEntity cirEntity = new CirculationEntity();
     cirEntity.CID = CID;
     cirEntity.JournalID = JournalID;
     cirEntity.GroupID = GroupID;
     cirEntity.isViewMoreFlow = isViewMoreFlow;
     cirEntity.isViewHistoryFlow = isViewHistoryFlow;
     if (isViewHistoryFlow == 1)
         cirEntity.AuthorID = AuthorID;
     IList<FlowLogInfoEntity> flowLogList = flowService.GetFlowLog(cirEntity);
     if (GroupID != (Byte)EnumMemberGroup.Editor && isViewMoreFlow!=1 && isViewHistoryFlow!=1)
     {
         flowLogList = flowLogList.Where(p => p.RecUserID == AuthorID || p.SendUserID == AuthorID).ToList<FlowLogInfoEntity>();
     }
     return flowLogList;
 }
Beispiel #30
0
 public ActionResult GetDeleditPageList()
 {
     IFlowFacadeService service = ServiceContainer.Instance.Container.Resolve<IFlowFacadeService>();
     CirculationEntity query = new CirculationEntity();
     query.JournalID = CurAuthor.JournalID;
     query.CurAuthorID = CurAuthor.AuthorID;
     query.EnumCStatus = EnumContributionStatus.Reject;
     query.CurrentPage = Convert.ToInt32(Request.Params["page"]);
     query.PageSize = Convert.ToInt32(Request.Params["pagesize"]);
     Pager<FlowContribution> pager = service.GetSynchroStatusContributionList(query);
     return Json(new { Rows = pager.ItemList, Total = pager.TotalRecords });
 }