예제 #1
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);
        }
예제 #2
0
        /// <summary>
        /// 提交审稿单
        /// </summary>
        /// <param name="auditBillEntity"></param>
        /// <returns></returns>
        public bool SubmitAuditBill(AuditBillEntity auditBillEntity)
        {
            bool flag = false;

            // 得到审稿操作信息
            FlowActionQuery actionQuery = new FlowActionQuery();

            actionQuery.ActionID  = auditBillEntity.ActionID;
            actionQuery.JournalID = auditBillEntity.JournalID;
            FlowActionEntity actionEntity = new FlowActionService().GetFlowActionEntity(actionQuery);

            // 得到审稿状态及配置信息
            FlowStatusQuery flowStatusQuery = new FlowStatusQuery();

            flowStatusQuery.JournalID = auditBillEntity.JournalID;
            flowStatusQuery.StatusID  = actionEntity == null ? 0 : actionEntity.StatusID;
            FlowStep flowStep = new FlowStatusService().GetFlowStep(flowStatusQuery);

            //得到稿件信息
            ContributionInfoEntity contributionInfoEntity = new ContributionInfoEntity();
            ContributionInfoQuery  query = new ContributionInfoQuery();

            query.JournalID = auditBillEntity.JournalID;
            query.CID       = auditBillEntity.CID;
            ContributionInfoService service = new ContributionInfoService();

            contributionInfoEntity = service.GetContributionInfo(query);

            if (contributionInfoEntity.AuthorID == Convert.ToInt64(auditBillEntity.ReveiverList.Split(',')[0]))
            {
                auditBillEntity.ReveiverList = contributionInfoEntity.AuthorID.ToString();
                flag = FlowCirculationBusProvider.ProcessFlowCirulation(auditBillEntity);
            }
            else
            {
                flag = FlowCirculationBusProvider.ProcessFlowCirulation(auditBillEntity);
            }


            if (flag)
            {
                if (flowStep.FlowConfig != null)
                {
                    if (flowStep.FlowConfig.IsEmailRemind)
                    {
                        /// TODO:记录定期发送邮件的任务
                    }

                    if (flowStep.FlowConfig.IsSMSRemind)
                    {
                        /// TODO:记录定期发送短信的任务
                    }
                }
            }
            return(flag);
        }
예제 #3
0
        /// <summary>
        /// 将查询实体转换为Where语句
        /// <param name="query">查询实体</param>
        /// <returns>获取Where语句,不包含Where</returns>
        /// </summary>
        public string FlowStatusQueryToSQLWhere(FlowStatusQuery query)
        {
            StringBuilder sbWhere = new StringBuilder(" JournalID = " + query.JournalID);

            if (query.StatusID != null)
            {
                sbWhere.Append(" AND StatusID = " + query.StatusID.Value);
            }
            return(sbWhere.ToString());
        }
예제 #4
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 }));
        }
예제 #5
0
        /// <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);
        }
예제 #6
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 }));
        }
예제 #7
0
 /// <summary>
 /// 获取所有符合查询条件的数据
 /// </summary>
 /// <param name="flowSetQuery">FlowStatusQuery查询实体对象</param>
 /// <returns>List<FlowStatusEntity></returns>
 public List <FlowStatusEntity> GetFlowStatusList(FlowStatusQuery flowStatusQuery)
 {
     return(FlowStatusDataAccess.Instance.GetFlowStatusList(flowStatusQuery));
 }
예제 #8
0
 /// <summary>
 /// 判断审稿状态对应的稿件状态是否存在
 /// </summary>
 /// <param name="query"></param>
 /// <returns></returns>
 public FlowStatusEntity CheckCStatusIsExists(FlowStatusQuery query)
 {
     return(FlowSetBusProvider.CheckCStatusIsExists(query));
 }
예제 #9
0
 /// <summary>
 /// 根据指定的审稿状态ID,得到审稿状态的基本信息
 /// </summary>
 /// <param name="JournalID"></param>
 /// <param name="StatusID"></param>
 /// <returns></returns>
 public FlowStatusEntity GetFlowStatusInfoByID(FlowStatusQuery query)
 {
     return(FlowStatusDataAccess.Instance.GetFlowStatusInfoByID(query));
 }
예제 #10
0
 /// <summary>
 /// 获取审稿状态基本信息及配置信息
 /// </summary>
 /// <param name="flowSetID"></param>
 /// <returns>获取一个实体,如果数据不存在返回Null</returns>
 public FlowStep GetFlowStep(FlowStatusQuery flowStatusQuery)
 {
     return(FlowStatusDataAccess.Instance.GetFlowStep(flowStatusQuery));
 }
예제 #11
0
 /// <summary>
 /// 获取审稿状态序号
 /// </summary>
 /// <param name="query"></param>
 /// <returns></returns>
 public int GetFlowStatusSortID(FlowStatusQuery query)
 {
     return(FlowSetBusProvider.GetFlowStatusSortID(query));
 }
예제 #12
0
 /// <summary>
 /// 获取审稿状态序号
 /// </summary>
 /// <param name="query"></param>
 /// <returns></returns>
 public int GetFlowStatusSortID(FlowStatusQuery query)
 {
     return(FlowStatusDataAccess.Instance.GetFlowStatusSortID(query));
 }
예제 #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 }));
        }
예제 #14
0
 /// <summary>
 /// 将查询实体转换为Order语句
 /// <param name="query">查询实体</param>
 /// <returns>获取Order语句,不包含Order</returns>
 /// </summary>
 public string FlowStatusQueryToSQLOrder(FlowStatusQuery query)
 {
     return(" SortID ASC,StatusID DESC");
 }
예제 #15
0
 /// <summary>
 /// 根据指定的审稿状态ID,得到审稿状态的基本信息
 /// </summary>
 /// <param name="JournalID"></param>
 /// <param name="StatusID"></param>
 /// <returns></returns>
 public FlowStatusEntity GetFlowStatusInfoByID(FlowStatusQuery query)
 {
     return(FlowSetBusProvider.GetFlowStatusInfoByID(query));
 }
예제 #16
0
 /// <summary>
 /// 获取所有符合查询条件的数据
 /// </summary>
 /// <param name="flowStatusQuery">FlowStatusQuery查询实体对象</param>
 /// <returns>List<FlowStatusEntity></returns>
 public List <FlowStatusEntity> GetFlowStatusList(FlowStatusQuery flowStatusQuery)
 {
     return(FlowSetBusProvider.GetFlowStatusList(flowStatusQuery));
 }
예제 #17
0
 /// <summary>
 /// 获取审稿流程状态基本信息及配置信息
 /// </summary>
 /// <param name="flowStatusQuery"></param>
 /// <returns>获取一个实体,如果数据不存在返回Null</returns>
 public FlowStep GetFlowStep(FlowStatusQuery flowStatusQuery)
 {
     return(FlowSetBusProvider.GetFlowStep(flowStatusQuery));
 }
예제 #18
0
        /// <summary>
        /// 查询医师已做的表单
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tsmiyizuoBD_Click(object sender, EventArgs e)
        {
            FlowStatusQuery f1 = new FlowStatusQuery();

            f1.ShowDialog();
        }
예제 #19
0
 /// <summary>
 /// 判断审稿状态对应的稿件状态是否存在
 /// </summary>
 /// <param name="query"></param>
 /// <returns></returns>
 public FlowStatusEntity CheckCStatusIsExists(FlowStatusQuery query)
 {
     return(FlowStatusDataAccess.Instance.CheckCStatusIsExists(query));
 }