Example #1
0
        /// <summary>
        /// 新增/修改操作界面加载
        /// </summary>
        private void InitPage()
        {
            if (string.IsNullOrEmpty(Get("project_seq_no")))
            {
                return;
            }
            Dictionary <string, string> param = new Dictionary <string, string>();

            param.Add("SEQ_NO", Get("project_seq_no"));
            Shoolar_project_head head = ProjectSettingHandleClass.getInstance().GetProjectHead(param);

            if (head == null)
            {
                return;
            }
            if (head.PROJECT_TYPE == "SCHOOL_GOOD" || head.PROJECT_TYPE == "SCHOOL_MODEL")
            {
                m_RewardFlag = "ddl_apply_reward_flag_1";//拟评何种类型(三好学生)
            }
            else if (head.PROJECT_TYPE == "SCHOOL_SINGLE")
            {
                m_RewardFlag = "ddl_apply_reward_flag_2";//拟评何种类型(单项奖学金)
            }
            else
            {
                m_RewardFlag = "ddl_apply_reward_flag";
            }
        }
Example #2
0
        /// <summary>
        /// 获得相应的奖助项目数据
        /// </summary>
        /// <returns></returns>
        private string GetProjectData()
        {
            if (string.IsNullOrEmpty(Get("project_seq_no")))
            {
                return("{}");
            }
            Dictionary <string, string> param = new Dictionary <string, string>();

            param.Add("SEQ_NO", Get("project_seq_no"));
            Shoolar_project_head head = ProjectSettingHandleClass.getInstance().GetProjectHead(param);

            if (head == null)
            {
                return("{}");
            }
            StringBuilder json = new StringBuilder();//用来存放Json的

            json.Append("{");
            json.Append(Json.StringToJson(head.PROJECT_CLASS, "PROJECT_CLASS"));
            json.Append(",");
            json.Append(Json.StringToJson(head.PROJECT_TYPE, "PROJECT_TYPE"));
            json.Append(",");
            json.Append(Json.StringToJson(head.APPLY_YEAR, "PROJECT_YEAR"));
            json.Append(",");
            json.Append(Json.StringToJson(head.PROJECT_MONEY.ToString(), "PROJECT_MONEY"));
            json.Append(",");
            json.Append(Json.StringToJson(head.PROJECT_NAME, "PROJECT_NAME"));
            json.Append("}");
            return(json.ToString());
        }
Example #3
0
        /// <summary>
        /// 不符合奖助申请的原因
        /// </summary>
        /// <param name="strSTU_NUMBER"></param>
        /// <param name="strPROJECT_SEQ_NO"></param>
        /// <returns></returns>
        private string GetNotFitLimitRemark(string strSTU_NUMBER, string strPROJECT_SEQ_NO)
        {
            Basic_stu_info       stu_info     = StuHandleClass.getInstance().GetStuInfo_Obj(strSTU_NUMBER);
            Shoolar_project_head project_head = ProjectSettingHandleClass.getInstance().GetProjectHead(strPROJECT_SEQ_NO);

            if (stu_info == null || project_head == null)
            {
                return("学生信息为空或者奖助项目信息读取失败!");
            }
            string strMsg = string.Empty;

            #region 再次校验申请条件

            //再次校验申请条件
            if (!ProjectApplyHandleClass.getInstance().CheckProjectLimit(stu_info, project_head, out strMsg))
            {
                return(strMsg);
            }
            if (!ProjectApplyHandleClass.getInstance().CheckProjectNotBoth(stu_info, project_head, out strMsg))
            {
                return(strMsg);
            }

            #endregion 再次校验申请条件

            #region 申请人数是否满足

            Dictionary <string, string> param_num = new Dictionary <string, string>();
            param_num.Add("SEQ_NO", project_head.SEQ_NO);
            param_num.Add("XY", stu_info.COLLEGE);
            List <Shoolar_project_num> projectNum = ProjectSettingHandleClass.getInstance().GetProjectNum(param_num);
            if (projectNum == null)
            {
                return(string.Format("项目限制申报人数信息读取失败!"));
            }
            if (projectNum.Count == 0)
            {
                return(string.Empty);
            }

            int nApplyTotalNum = ProjectApplyHandleClass.getInstance().CheckProjectNum_PassedNum(stu_info, project_head);
            if (projectNum[0].APPLY_NUM <= nApplyTotalNum)
            {
                return(strMsg = string.Format("[{0}] 奖助项目 {1} 学院设置的申请人数为 {2} 人,现在学院审核通过人数为 {3} 人,超出了{4} 人。", project_head.PROJECT_NAME, cod.GetDDLTextByValue("ddl_department", stu_info.COLLEGE), projectNum[0].APPLY_NUM, nApplyTotalNum, (nApplyTotalNum - projectNum[0].APPLY_NUM)));
            }

            #endregion 申请人数是否满足

            return(string.Empty);
        }
Example #4
0
        /// <summary>
        ///保存方法
        /// </summary>
        /// <returns></returns>
        private string SaveData()
        {
            bool result = false;
            Shoolar_project_head head = new Shoolar_project_head();

            if (string.IsNullOrEmpty(Post("hidOid")))//新增
            {
                head.OID    = Guid.NewGuid().ToString();
                head.SEQ_NO = GetSeq_no();
                GetPageValue(head);
                var inserttrcn = ImplementFactory.GetInsertTransaction <Shoolar_project_head>("Shoolar_project_headInsertTransaction");
                inserttrcn.EntityList.Add(head);
                result = inserttrcn.Commit();
            }
            else//修改
            {
                head.OID = Post("hidOid");
                ds.RetrieveObject(head);
                GetPageValue(head);
                var updatetrcn = ImplementFactory.GetUpdateTransaction <Shoolar_project_head>("Shoolar_project_headUpdateTransaction", user.User_Name);
                result = updatetrcn.Commit(head);
                if (result)
                {
                    ProjectSettingHandleClass.getInstance().UpdateRelationFunction(head.SEQ_NO);
                }
            }

            if (result)
            {
                if (head.PROJECT_CLASS.Equals("LIFE"))
                {
                    if (string.IsNullOrEmpty(Post("hidOid")))//新增
                    {
                        InsertIntoLifeApplyData(head, Post("hidStudentType"));
                    }
                    else
                    {
                        UpdateLifeApplyData(head);
                    }
                }

                return(head.SEQ_NO);//保存成功 返回单据编号
            }
            else
            {
                return(string.Empty);
            }
        }
Example #5
0
        /// <summary>
        ///保存方法
        /// </summary>
        /// <returns></returns>
        private string SaveData()
        {
            bool result            = false;
            Peer_project_head head = new Peer_project_head();

            if (string.IsNullOrEmpty(Post("hidOid")))//新增
            {
                head.OID    = Guid.NewGuid().ToString();
                head.SEQ_NO = GetSeq_no();
                GetPageValue(head);
                var inserttrcn = ImplementFactory.GetInsertTransaction <Peer_project_head>("Peer_project_headInsertTransaction");
                inserttrcn.EntityList.Add(head);
                result = inserttrcn.Commit();
            }
            else//修改
            {
                head.OID = Post("hidOid");
                ds.RetrieveObject(head);
                GetPageValue(head);
                var updatetrcn = ImplementFactory.GetUpdateTransaction <Peer_project_head>("Peer_project_headUpdateTransaction", user.User_Name);
                result = updatetrcn.Commit(head);
                if (result)
                {
                    ProjectSettingHandleClass.getInstance().UpdateRelationFunction(head.SEQ_NO);
                }
            }

            if (result)
            {
                StringBuilder json = new StringBuilder();//用来存放Json的
                json.Append("{");
                json.Append(Json.StringToJson(head.OID, "OID"));
                json.Append(",");
                json.Append(Json.StringToJson(head.SEQ_NO, "SEQ_NO"));
                json.Append("}");
                return(json.ToString());
            }
            else
            {
                return(string.Empty);
            }
        }
Example #6
0
        /// <summary>
        /// 判断是否满足操作条件
        /// </summary>
        /// <returns></returns>
        private string ChkIsCanOp()
        {
            if (string.IsNullOrEmpty(Get("project_seq_no")))
            {
                return("选择申请的项目单据编号为空,不允许操作!");
            }

            Shoolar_project_head project_head = ProjectSettingHandleClass.getInstance().GetProjectHead(Get("project_seq_no"));

            if (project_head == null)
            {
                return("选择申请的项目信息为空,不允许操作!");
            }

            if (!ProjectSettingHandleClass.getInstance().CheckIsFitApplyDate(project_head.APPLY_END, user.User_Role))
            {
                return("该项目申请结束日期已过,无法操作!");
            }

            return(string.Empty);
        }
Example #7
0
        /// <summary>
        /// 判断是否满足操作条件
        /// </summary>
        /// <returns></returns>
        private string ChkIsCanOp()
        {
            if (string.IsNullOrEmpty(Get("peer_seq_no")))
            {
                return("选择评议主题的单据编号为空,不允许操作!");
            }

            Peer_project_head project_head = PeerInfoHandleClass.getInstance().GetPeerInfoHead(Get("peer_seq_no"));

            if (project_head == null)
            {
                return("选择评议主题信息为空,不允许操作!");
            }

            if (!ProjectSettingHandleClass.getInstance().CheckIsFitApplyDate(project_head.PEER_END, user.User_Role))
            {
                return("该评议主题的评议结束日期已过,无法操作!");
            }

            return(string.Empty);
        }
Example #8
0
        /// <summary>
        /// 校验查询的项目名称是否符合
        /// </summary>
        /// <returns></returns>
        private string ChkQuery()
        {
            if (string.IsNullOrWhiteSpace(Get("PROJECT_SEQ_NO")))
            {
                return("项目名称不能为空!");
            }
            Dictionary <string, string> param = new Dictionary <string, string>();

            param.Add("SEQ_NO", Get("PROJECT_SEQ_NO"));
            Shoolar_project_head head = ProjectSettingHandleClass.getInstance().GetProjectHead(param);

            if (head == null)
            {
                return("项目信息不能为空!");
            }
            if (!head.PROJECT_TYPE.Equals("SCHOOL_MODEL"))
            {
                return("项目名称不属于三好学生标兵!");
            }
            return(string.Empty);
        }
Example #9
0
        /// <summary>
        ///修改操作:全部学院列表
        /// </summary>
        /// <returns></returns>
        private string EditNumHtml()
        {
            if (string.IsNullOrEmpty(Get("seq_no")))
            {
                return("关联单据编号不能为空!");
            }

            StringBuilder strHtml = new StringBuilder();
            DataTable     dt      = cod.GetDDlDataTable("ddl_department");

            foreach (DataRow row in dt.Rows)
            {
                if (row == null)
                {
                    continue;
                }

                //学院
                strHtml.Append("<div class=\"form-group col-sm-12\">");
                strHtml.AppendFormat("<label class=\"col-sm-4 control-label\">{0}</label>", row["TEXT"].ToString());
                strHtml.Append("<div class=\"col-sm-8\">");
                Dictionary <string, string> param = new Dictionary <string, string>();
                param.Add("SEQ_NO", Get("seq_no"));
                param.Add("XY", row["VALUE"].ToString());
                List <Shoolar_project_num> num = ProjectSettingHandleClass.getInstance().GetProjectNum(param);
                string strAPPLY_NUM_id         = "APPLY_NUM" + "_" + row["VALUE"].ToString();
                if (num == null || num.Count == 0)
                {
                    strHtml.AppendFormat("<input name=\"{0}\" id=\"{0}\" type=\"text\" class=\"form-control\" placeholder=\"可通过学院审核的人数\" />", strAPPLY_NUM_id);
                }
                else
                {
                    strHtml.AppendFormat("<input name=\"{0}\" id=\"{0}\" value=\"{1}\" type=\"text\" class=\"form-control\" placeholder=\"可通过学院审核的人数\" />", strAPPLY_NUM_id, num[0].APPLY_NUM.ToString());
                }
                strHtml.Append("</div>");
                strHtml.Append("</div>");
            }

            return(strHtml.ToString());
        }
Example #10
0
        /// <summary>
        /// 是否符合奖助申请条件
        /// Y符合;N不符合
        /// </summary>
        /// <param name="strSTU_NUMBER"></param>
        /// <param name="strPROJECT_SEQ_NO"></param>
        /// <returns></returns>
        private string GetIsFitLimit(string strSTU_NUMBER, string strPROJECT_SEQ_NO)
        {
            Basic_stu_info       stu_info     = StuHandleClass.getInstance().GetStuInfo_Obj(strSTU_NUMBER);
            Shoolar_project_head project_head = ProjectSettingHandleClass.getInstance().GetProjectHead(strPROJECT_SEQ_NO);

            if (stu_info == null || project_head == null)
            {
                return(CValue.FLAG_N);
            }

            string strMsg = string.Empty;

            #region 再次校验申请条件

            //再次校验申请条件
            if (!ProjectApplyHandleClass.getInstance().CheckProjectLimit(stu_info, project_head, out strMsg))
            {
                return(CValue.FLAG_N);
            }
            if (!ProjectApplyHandleClass.getInstance().CheckProjectNotBoth(stu_info, project_head, out strMsg))
            {
                return(CValue.FLAG_N);
            }

            #endregion 再次校验申请条件

            #region 申请人数已满

            //申请人数已满
            if (!ProjectApplyHandleClass.getInstance().CheckProjectNum(stu_info, project_head, out strMsg))
            {
                return(CValue.FLAG_N);
            }

            #endregion 申请人数已满

            return(CValue.FLAG_Y);
        }
Example #11
0
        /// <summary>
        /// 删除并发消息告知
        /// 删除只会删除申请条件不符合要求的,申请人数已经满了 不在删除的范围内,申请人数超员的情况应该由学院或者学校进行撤销处理。
        /// </summary>
        /// <returns></returns>
        private string DeleteData()
        {
            if (string.IsNullOrEmpty(Get("id")))
            {
                return("删除失败,原因:主键为空!");
            }

            Shoolar_apply_head head = new Shoolar_apply_head();

            head.OID = Get("id");
            ds.RetrieveObject(head);
            if (head != null)
            {
                #region 申请人数限制放在院级审核的时候,并且再次用条件进行校验

                Basic_stu_info       stu_info     = StuHandleClass.getInstance().GetStuInfo_Obj(head.STU_NUMBER);
                Shoolar_project_head project_head = ProjectSettingHandleClass.getInstance().GetProjectHead(head.PROJECT_SEQ_NO);
                if (stu_info == null || project_head == null)
                {
                    return("删除失败,原因:学生信息为空或者奖助项目信息为空!");
                }

                string strMsg = string.Empty;

                #region 再次校验申请条件

                //再次校验申请条件
                if (!ProjectApplyHandleClass.getInstance().CheckProjectLimit(stu_info, project_head, out strMsg))
                {
                    string strMessageMsg = string.Empty;
                    //发送消息
                    Dictionary <string, string> dicAccpter = new Dictionary <string, string>();
                    dicAccpter.Add(head.STU_NUMBER, head.STU_NAME);
                    string strMsgContent = string.Format("您好!由于系统排查升级,您的{0}奖助申请不符合该项目申请条件({1}),系统随后会删除该奖助申请数据,给您带来不便请谅解,谢谢!", head.PROJECT_NAME, strMsg);
                    MessgeHandleClass.getInstance().SendMessge("M", strMsgContent, user.User_Id, user.User_Name, dicAccpter, out strMessageMsg);
                    //记录操作日志
                    LogDBHandleClass.getInstance().LogOperation(head.SEQ_NO, "系统运维:不符合奖助申请条件学生名单", CValue.LOG_ACTION_TYPE_6, CValue.LOG_RECORD_TYPE_1, string.Format("删除:学号{0}姓名{1} 不满足奖助[{2}]申请条件:{3}", head.STU_NUMBER, head.STU_NAME, head.PROJECT_NAME, strMsg), user.User_Id, user.User_Name, user.UserLoginIP);
                    //删除数据
                    ProjectApplyHandleClass.getInstance().DeleteProjectApplyData(head.SEQ_NO);
                    return(string.Empty);
                }
                if (!ProjectApplyHandleClass.getInstance().CheckProjectNotBoth(stu_info, project_head, out strMsg))
                {
                    string strMessageMsg = string.Empty;
                    //发送消息
                    Dictionary <string, string> dicAccpter = new Dictionary <string, string>();
                    dicAccpter.Add(head.STU_NUMBER, head.STU_NAME);
                    string strMsgContent = string.Format("您好!由于系统排查升级,您的{0}奖助申请不符合该项目申请条件({1}),系统随后会删除该奖助申请数据,给您带来不便请谅解,谢谢!", head.PROJECT_NAME, strMsg);
                    MessgeHandleClass.getInstance().SendMessge("M", strMsgContent, user.User_Id, user.User_Name, dicAccpter, out strMessageMsg);
                    //记录日志
                    LogDBHandleClass.getInstance().LogOperation(head.SEQ_NO, "奖助院级审核", CValue.LOG_ACTION_TYPE_6, CValue.LOG_RECORD_TYPE_1, string.Format("删除:学号{0}姓名{1} 不满足奖助[{2}]申请条件:{3}", head.STU_NUMBER, head.STU_NAME, head.PROJECT_NAME, strMsg), user.User_Id, user.User_Name, user.UserLoginIP);
                    //删除数据
                    ProjectApplyHandleClass.getInstance().DeleteProjectApplyData(head.SEQ_NO);
                    return(string.Empty);
                }

                #endregion 再次校验申请条件

                #endregion 申请人数限制放在院级审核的时候,并且再次用条件进行校验
            }
            return("不满足删除条件!");
        }
Example #12
0
        /// <summary>
        /// 判断是否满足提交条件
        /// </summary>
        /// <returns></returns>
        private string ChkIsCanSubmit()
        {
            try
            {
                #region 基础校验

                if (string.IsNullOrEmpty(Get("id")))
                {
                    return("请先保存数据之后再进行提交!");
                }
                Shoolar_apply_head head = new Shoolar_apply_head();
                head.OID = Get("id");
                ds.RetrieveObject(head);
                if (head == null)
                {
                    return("读取奖助申请信息出错,不允许提交!");
                }

                #endregion 基础校验

                //20171121 ZZ 新增:在提交之前再次进行一次申请条件校验(人数不用放在这里校验,还是到院级审批)

                #region 申请条件校验

                Basic_stu_info       stu_info     = StuHandleClass.getInstance().GetStuInfo_Obj(head.STU_NUMBER);
                Shoolar_project_head project_head = ProjectSettingHandleClass.getInstance().GetProjectHead(head.PROJECT_SEQ_NO);
                if (stu_info == null || project_head == null)
                {
                    return("删除失败,原因:学生信息为空或者奖助项目信息为空!");
                }

                string strMsg = string.Empty;

                #region 项目限制条件

                if (!ProjectApplyHandleClass.getInstance().CheckProjectLimit(stu_info, project_head, out strMsg))
                {
                    return(strMsg);
                }

                #endregion 项目限制条件

                #region  可兼得条件

                if (!ProjectApplyHandleClass.getInstance().CheckProjectNotBoth(stu_info, project_head, out strMsg))
                {
                    return(strMsg);
                }

                #endregion  可兼得条件

                #endregion 申请条件校验

                #region 参数设置

                Dictionary <string, string> param = new Dictionary <string, string>();
                param.Add("SEQ_NO", head.SEQ_NO);
                Dictionary <string, string> param_file = new Dictionary <string, string>();
                param_file.Add("SEQ_NO", head.SEQ_NO);
                param_file.Add("FILE_TYPE != '6' ", string.Empty);//附件
                Dictionary <string, string> param_file_photo = new Dictionary <string, string>();
                param_file_photo.Add("SEQ_NO", head.SEQ_NO);
                param_file_photo.Add("FILE_TYPE = '6' ", string.Empty);//附件:个人生活照
                Shoolar_apply_txt           txt        = ProjectApplyHandleClass.getInstance().GetTxtInfo(head.SEQ_NO);
                List <Shoolar_apply_reward> rewardList = ProjectApplyHandleClass.getInstance().GetRewardListInfo(param);
                //系统限制条件改为,本科生限制不变(需填写4-21门),研究生不限制填写条数。
                List <Shoolar_apply_study_list>  studyList  = ProjectApplyHandleClass.getInstance().GetStudyListInfo(param);
                List <Shoolar_apply_family_list> familyList = ProjectApplyHandleClass.getInstance().GetFamilyListInfo(param);
                List <Shoolar_apply_file>        fileList   = ProjectApplyHandleClass.getInstance().GetFileListInfo(param_file);
                //国奖和三好学生标兵需要在系统上传生活照,学校宣传用。
                List <Shoolar_apply_file> fileList_photo = ProjectApplyHandleClass.getInstance().GetFileListInfo(param_file_photo);

                #endregion 参数设置

                return(ByProjectTypeCheckInfo(head, txt, rewardList, studyList, familyList, fileList, fileList_photo));
            }
            catch (Exception ex)
            {
                LogDBHandleClass.getInstance().LogException(CValue.LOG_LEVEL_ERROR, "判断是否满足奖助申请提交条件,出错:" + ex.ToString());
                return("是否满足提交条件校验出现异常!");
            }
        }
Example #13
0
        /// <summary>
        ///保存数据
        /// </summary>
        /// <returns></returns>
        private string SaveData()
        {
            try
            {
                bool result             = false;
                Shoolar_apply_head head = new Shoolar_apply_head();
                if (string.IsNullOrEmpty(Post("hidOid")))//新增
                {
                    head.OID         = Guid.NewGuid().ToString();
                    head.SEQ_NO      = BusDataDeclareTransaction.getInstance().GetSeq_no(CValue.DOC_TYPE_BDM03);
                    head.RET_CHANNEL = Ret_Channel_A0000; //预录入 全程通道(回执状态)
                    head.DOC_TYPE    = CValue.DOC_TYPE_BDM03;
                    GetPageValue(head);

                    #region 保存项目信息

                    //项目信息
                    Dictionary <string, string> param = new Dictionary <string, string>();
                    if (!string.IsNullOrEmpty(Post("hidProjectSeqNo")))
                    {
                        param.Add("SEQ_NO", Post("hidProjectSeqNo"));
                    }
                    Shoolar_project_head project = ProjectSettingHandleClass.getInstance().GetProjectList(param)[0];
                    if (project == null)
                    {
                        LogDBHandleClass.getInstance().LogException(CValue.LOG_LEVEL_ERROR, string.Format("通过项目单据编号{0},读取项目信息出错!", Post("hidProjectSeqNo")));
                        return(string.Empty);
                    }

                    head.PROJECT_SEQ_NO = project.SEQ_NO;
                    head.PROJECT_CLASS  = project.PROJECT_CLASS;
                    head.PROJECT_TYPE   = project.PROJECT_TYPE;
                    head.PROJECT_YEAR   = project.APPLY_YEAR;
                    head.PROJECT_NAME   = project.PROJECT_NAME;
                    head.PROJECT_MONEY  = project.PROJECT_MONEY;

                    #endregion 保存项目信息

                    #region 保存学生信息

                    //学生信息
                    head.STU_NUMBER = user.User_Id;
                    head.STU_NAME   = user.User_Name;
                    Basic_stu_info stuInfo = StuHandleClass.getInstance().GetStuInfo_Obj(head.STU_NUMBER);
                    if (stuInfo == null)
                    {
                        LogDBHandleClass.getInstance().LogException(CValue.LOG_LEVEL_ERROR, string.Format("通过学号{0},读取学生信息出错!", head.STU_NUMBER));
                        return(string.Empty);
                    }
                    //学生信息
                    if (stuInfo.STUTYPE.Equals(CValue.USER_STUTYPE_B))
                    {
                        head.STU_TYPE = CValue.USER_STUTYPE_B;
                    }
                    else
                    {
                        head.STU_TYPE = CValue.USER_STUTYPE_Y;
                    }
                    head.XY           = stuInfo.COLLEGE;
                    head.ZY           = stuInfo.MAJOR;
                    head.GRADE        = stuInfo.EDULENTH;
                    head.CLASS_CODE   = stuInfo.CLASS;
                    head.STU_IDCARDNO = stuInfo.IDCARDNO;
                    head.STU_BANKCODE = StuHandleClass.getInstance().ByStuNoGetBankCode(head.STU_NUMBER);

                    #endregion 保存学生信息

                    var inserttrcn = ImplementFactory.GetInsertTransaction <Shoolar_apply_head>("Shoolar_apply_headInsertTransaction");
                    inserttrcn.EntityList.Add(head);
                    result = inserttrcn.Commit();
                    if (result)
                    {
                        #region  步其他信息数据

                        //ZZ 20171125 新增:同步学生其他信息,因为在保存之前这些数据是还没有录入的 可以直接同步

                        #region 家庭情况

                        string strSynchroMsg = string.Empty;
                        ProjectApplyHandleClass.getInstance().InsertInto_apply_family(head.SEQ_NO, out strSynchroMsg);
                        if (strSynchroMsg.Length > 0)
                        {
                            LogDBHandleClass.getInstance().LogException(CValue.LOG_LEVEL_ERROR, "奖助申请保存时,同步家庭情况出错:" + strSynchroMsg);
                        }

                        #endregion 家庭情况

                        #region 学习情况

                        ProjectApplyHandleClass.getInstance().InsertInto_apply_score(head.SEQ_NO, out strSynchroMsg);
                        if (strSynchroMsg.Length > 0)
                        {
                            LogDBHandleClass.getInstance().LogException(CValue.LOG_LEVEL_ERROR, "奖助申请保存时,同步学习情况出错:" + strSynchroMsg);
                        }

                        #endregion 学习情况

                        #region 获奖情况

                        ProjectApplyHandleClass.getInstance().InsertInto_apply_reward(head.SEQ_NO, out strSynchroMsg);
                        if (strSynchroMsg.Length > 0)
                        {
                            LogDBHandleClass.getInstance().LogException(CValue.LOG_LEVEL_ERROR, "奖助申请保存时,同步获奖情况出错:" + strSynchroMsg);
                        }

                        #endregion 获奖情况

                        #endregion  步其他信息数据
                    }
                }
                else//修改
                {
                    head.OID = Post("hidOid");
                    ds.RetrieveObject(head);
                    GetPageValue(head);
                    var updatetrcn = ImplementFactory.GetUpdateTransaction <Shoolar_apply_head>("Shoolar_apply_headUpdateTransaction", user.User_Name);
                    result = updatetrcn.Commit(head);
                }

                if (result)
                {
                    StringBuilder json = new StringBuilder();//用来存放Json的
                    json.Append("{");
                    json.Append(Json.StringToJson(head.OID, "OID"));
                    json.Append(",");
                    json.Append(Json.StringToJson(head.SEQ_NO, "SEQ_NO"));
                    json.Append(",");
                    json.Append(Json.StringToJson(head.PROJECT_SEQ_NO, "PROJECT_SEQ_NO"));
                    json.Append("}");
                    return(json.ToString());
                }//保存成功 返回JSON
                else
                {
                    return(string.Empty);
                }
            }
            catch (Exception ex)
            {
                LogDBHandleClass.getInstance().LogException(CValue.LOG_LEVEL_ERROR, "保存奖助申请,出错:" + ex.ToString());
                return(string.Empty);
            }
        }
Example #14
0
        /// <summary>
        /// 提交审核信息
        /// </summary>
        /// <returns></returns>
        private string ApproveData()
        {
            try
            {
                #region 获得奖助申请信息

                if (string.IsNullOrEmpty(Post("hidOid_ForApprove")))
                {
                    return("奖助申请主键不能为空!");
                }
                Shoolar_apply_head head = new Shoolar_apply_head();
                head.OID = Post("hidOid_ForApprove").ToString();
                ds.RetrieveObject(head);
                if (head == null)
                {
                    return("奖助申请信息为空!");
                }
                if (head.DECLARE_TYPE != CValue.DECLARE_TYPE_D)
                {
                    return("该状态不允许进行操作!");
                }

                #endregion 获得奖助申请信息

                #region 是否满足提交审核条件

                string strMsg = string.Empty;
                strMsg = ChkApproveData(head.PROJECT_TYPE, Post("approveMsg"), Post("comMsg"));
                if (strMsg.Length > 0)
                {
                    return(strMsg);
                }

                #endregion 是否满足提交审核条件

                #region 过了项目申请结束时间,学生、辅导员、学院都不能操作,校级可以审批操作

                Shoolar_project_head project_head = ProjectSettingHandleClass.getInstance().GetProjectHead(head.PROJECT_SEQ_NO);
                if (project_head == null)
                {
                    return("项目信息为空,不允许进行操作!");
                }
                //ZZ 20171221 新增:过了项目申请结束时间,学生、辅导员、学院都不能操作,校级可以审批操作
                if (!ProjectSettingHandleClass.getInstance().CheckIsFitApplyDate(project_head.APPLY_END, user.User_Role))
                {
                    return("该项目申请结束日期已过,不允许进行操作!");
                }

                #endregion 过了项目申请结束时间,学生、辅导员、学院都不能操作,校级可以审批操作

                #region 申请人数限制放在院级审核的时候,并且再次用条件进行校验

                if (user.User_Role.Equals(CValue.ROLE_TYPE_Y) && Post("approveType").Equals("P"))
                {
                    //ZZ 20171114 新增:申请人数限制放在院级审核的时候,并且再次用条件进行校验
                    Basic_stu_info stu_info = StuHandleClass.getInstance().GetStuInfo_Obj(head.STU_NUMBER);
                    if (stu_info == null || project_head == null)
                    {
                        return("审核失败:学生信息或者奖助项目信息不能为空!");
                    }

                    #region 再次校验申请条件

                    //再次校验申请条件
                    if (!ProjectApplyHandleClass.getInstance().CheckProjectLimit(stu_info, project_head, out strMsg))
                    {
                        //发送消息
                        Dictionary <string, string> dicAccpter = new Dictionary <string, string>();
                        dicAccpter.Add(head.STU_NUMBER, head.STU_NAME);
                        string strMsgContent = string.Format("您好!您的{0}奖助申请不符合该项目申请条件({1}),该奖助申请数据已被退回预录入状态,望您悉知,谢谢!", head.PROJECT_NAME, strMsg);
                        string strMessageMsg = string.Empty;
                        MessgeHandleClass.getInstance().SendMessge("M", strMsgContent, user.User_Id, user.User_Name, dicAccpter, out strMessageMsg);
                        ////记录日志(屏蔽:不删除之后 不需要记录操作日志,因为已经写入了 审批流程日志中)
                        //LogDBHandleClass.getInstance().LogOperation(head.SEQ_NO, "奖助院级审核", CValue.LOG_ACTION_TYPE_6, CValue.LOG_RECORD_TYPE_1, string.Format("删除:学号{0}姓名{1} 不满足奖助[{2}]申请条件:{3}", head.STU_NUMBER, head.STU_NAME, head.PROJECT_NAME, strMsg), user.User_Id, user.User_Name, user.UserLoginIP);
                        //20171121 ZZ 屏蔽:物理删除数据不合理,修改成 变成预录入
                        //删除数据
                        //ProjectApplyHandleClass.getInstance().DeleteProjectApplyData(head.SEQ_NO);
                        ProjectApplyHandleClass.getInstance().TurnBackApplyToRetchannelA0000(head.SEQ_NO, CValue.STEP_D2, CValue.RET_CHANNEL_D2020, CValue.ROLE_TYPE_Y, user.User_Name, strMsg);
                        return("由于该奖助申请不满足申请条件,已退回预录入状态,原因:" + strMsg);
                    }
                    if (!ProjectApplyHandleClass.getInstance().CheckProjectNotBoth(stu_info, project_head, out strMsg))
                    {
                        //发送消息
                        Dictionary <string, string> dicAccpter = new Dictionary <string, string>();
                        dicAccpter.Add(head.STU_NUMBER, head.STU_NAME);
                        string strMsgContent = string.Format("您好!您的{0}奖助申请不符合该项目申请条件({1}),该奖助申请数据已被退回预录入状态,望您悉知,谢谢!", head.PROJECT_NAME, strMsg);
                        string strMessageMsg = string.Empty;
                        MessgeHandleClass.getInstance().SendMessge("M", strMsgContent, user.User_Id, user.User_Name, dicAccpter, out strMessageMsg);
                        ////记录日志(屏蔽:不删除之后 不需要记录操作日志,因为已经写入了 审批流程日志中)
                        //LogDBHandleClass.getInstance().LogOperation(head.SEQ_NO, "奖助院级审核", CValue.LOG_ACTION_TYPE_6, CValue.LOG_RECORD_TYPE_1, string.Format("删除:学号{0}姓名{1} 不满足奖助[{2}]申请条件:{3}", head.STU_NUMBER, head.STU_NAME, head.PROJECT_NAME, strMsg), user.User_Id, user.User_Name, user.UserLoginIP);
                        //20171121 ZZ 屏蔽:物理删除数据不合理,修改成 变成预录入
                        //删除数据
                        //ProjectApplyHandleClass.getInstance().DeleteProjectApplyData(head.SEQ_NO);
                        ProjectApplyHandleClass.getInstance().TurnBackApplyToRetchannelA0000(head.SEQ_NO, CValue.STEP_D2, CValue.RET_CHANNEL_D2020, CValue.ROLE_TYPE_Y, user.User_Name, strMsg);
                        return("由于该奖助申请不满足申请条件,已退回预录入状态,原因:" + strMsg);
                    }

                    #endregion 再次校验申请条件

                    #region 申请人数已满

                    //由于审核流转需要1秒,等待一秒之后再查询更准确。
                    Thread.Sleep(1000);
                    //申请人数已满
                    if (!ProjectApplyHandleClass.getInstance().CheckProjectNum(stu_info, project_head, out strMsg))
                    {
                        LogDBHandleClass.getInstance().LogOperation(head.SEQ_NO, "奖助院级审核", CValue.LOG_ACTION_TYPE_6, CValue.LOG_RECORD_TYPE_1, string.Format("学号{0}姓名{1} 不满足奖助[{2}]申请条件:{3}", head.STU_NUMBER, head.STU_NAME, head.PROJECT_NAME, strMsg), user.User_Id, user.User_Name, user.UserLoginIP);
                        Dictionary <string, string> param_projectnum = new Dictionary <string, string>();
                        param_projectnum.Add("SEQ_NO", project_head.SEQ_NO);
                        param_projectnum.Add("XY", stu_info.COLLEGE);
                        List <Shoolar_project_num> projectNum = ProjectSettingHandleClass.getInstance().GetProjectNum(param_projectnum);
                        return(string.Format("审核失败,原因:已超出学院所获得的该项目名额人数{0}人!", projectNum[0].APPLY_NUM));
                    }

                    #endregion 申请人数已满
                }

                #endregion 申请人数限制放在院级审核的时候,并且再次用条件进行校验

                #region 提交审核信息

                bool bFlag = WKF_ExternalInterface.getInstance().WKF_Audit(head.DOC_TYPE, head.SEQ_NO, user.User_Id, user.User_Role, Post("approveType"), Post("approveMsg"), out strMsg);
                if (bFlag)
                {
                    ProjectApplyHandleClass.getInstance().ApproveData_UpTxt(head.SEQ_NO, head.PROJECT_TYPE, user.User_Role, Post("approveMsg"), Post("comMsg"));

                    #region 审批通过之后给申请人发送信息

                    //审批通过之后给申请人发送信息

                    string strFinalPosCode = WKF_AuditHandleCLass.getInstance().GetFinalPosCode(head.DOC_TYPE);
                    if (!string.IsNullOrEmpty(strFinalPosCode))
                    {
                        if (strFinalPosCode == user.User_Role)
                        {
                            string strMsgContent = string.Empty;
                            if (Post("approveType").ToString().Equals("P"))
                            {
                                strMsgContent = string.Format("奖助申请:{0}审批通过", head.PROJECT_NAME);
                            }
                            else
                            {
                                strMsgContent = string.Format("奖助申请:{0}审批不通过,审批意见:{1}", head.PROJECT_NAME, Post("approveMsg"));
                            }
                            Dictionary <string, string> dicAccpter = new Dictionary <string, string>();
                            dicAccpter.Add(head.STU_NUMBER, head.STU_NAME);
                            MessgeHandleClass.getInstance().SendMessge("M", strMsgContent, user.User_Id, user.User_Name, dicAccpter, out strMsg);
                        }
                    }

                    #endregion 审批通过之后给申请人发送信息

                    return(string.Empty);
                }
                else
                {
                    LogDBHandleClass.getInstance().LogException(CValue.LOG_LEVEL_ERROR, strMsg);
                    return("提交审核信息失败!");
                }

                #endregion 提交审核信息
            }
            catch (Exception ex)
            {
                LogDBHandleClass.getInstance().LogException(CValue.LOG_LEVEL_ERROR, "奖助审核提交审核信息失败:" + ex.ToString());
                return("提交审核信息失败!");
            }
        }
Example #15
0
        /// <summary>
        /// 获得相应的条件限制数据
        /// </summary>
        /// <returns></returns>
        private string GetLimitData()
        {
            StringBuilder json = new StringBuilder();//用来存放Json的
            Dictionary <string, string> param = new Dictionary <string, string> {
                { "SEQ_NO", Get("seq_no") }
            };
            List <Shoolar_project_limit> limitList = ProjectSettingHandleClass.getInstance().GetProjectLimitList(param);

            if (limitList == null || limitList.Count == 0)
            {
                return("{}");
            }
            json.Append("{");
            foreach (Shoolar_project_limit item in limitList)
            {
                if (item == null)
                {
                    continue;
                }

                switch (item.LIMIT_TYPE)
                {
                case "Limit_ComRank":    //综合考评总分排名
                    json.Append(Json.StringToJson(item.LIMIT_VALUE, "Limit_ComRank_Value"));
                    json.Append(",");
                    break;

                case "Limit_ComScore":    //综合考评总分
                    json.Append(Json.StringToJson(item.LIMIT_RANKPER.ToString(), "Limit_ComScore_RankPer"));
                    json.Append(",");
                    json.Append(Json.StringToJson(item.LIMIT_SCORE.ToString(), "Limit_ComScore_Score"));
                    json.Append(",");
                    break;

                case "Limit_Conduct":    //操行能单项综合分
                    json.Append(Json.StringToJson(item.LIMIT_RANKPER.ToString(), "Limit_Conduct_RankPer"));
                    json.Append(",");
                    json.Append(Json.StringToJson(item.LIMIT_SCORE.ToString(), "Limit_Conduct_Score"));
                    json.Append(",");
                    break;

                case "Limit_Course":    //课程能单项综合分
                    json.Append(Json.StringToJson(item.LIMIT_RANKPER.ToString(), "Limit_Course_RankPer"));
                    json.Append(",");
                    json.Append(Json.StringToJson(item.LIMIT_SCORE.ToString(), "Limit_Course_Score"));
                    json.Append(",");
                    break;

                case "Limit_BodyArt":    //体艺能单项综合分
                    json.Append(Json.StringToJson(item.LIMIT_RANKPER.ToString(), "Limit_BodyArt_RankPer"));
                    json.Append(",");
                    json.Append(Json.StringToJson(item.LIMIT_SCORE.ToString(), "Limit_BodyArt_Score"));
                    json.Append(",");
                    break;

                case "Limit_JobSkill":    //职业技能单项综合分
                    json.Append(Json.StringToJson(item.LIMIT_RANKPER.ToString(), "Limit_JobSkill_RankPer"));
                    json.Append(",");
                    json.Append(Json.StringToJson(item.LIMIT_SCORE.ToString(), "Limit_JobSkill_Score"));
                    json.Append(",");
                    break;

                case "Limit_Total":    //操行、课程、体艺、职业技能四个单项综合分
                    json.Append(Json.StringToJson(item.LIMIT_RANKPER.ToString(), "Limit_Total_RankPer"));
                    json.Append(",");
                    break;

                case "Limit_Three":    //操行、课程、体艺、职业技能分项任三个前x%
                    json.Append(Json.StringToJson(item.LIMIT_RANKPER.ToString(), "Limit_Three_RankPer"));
                    json.Append(",");
                    break;

                case "Limit_One":    //操行、课程、体艺、职业技能分项任三个前x%,另一个可放宽至x%
                    json.Append(Json.StringToJson(item.LIMIT_RANKPER.ToString(), "Limit_One_RankPer"));
                    json.Append(",");
                    break;

                case "Limit_Grade":    //年级
                    json.Append(Json.StringToJson(item.LIMIT_VALUE.ToString(), "Limit_Grade_Value"));
                    json.Append(",");
                    break;

                case "Limit_Student":    //学生类型
                    json.Append(Json.StringToJson(item.LIMIT_VALUE.ToString(), "Limit_Student_Value"));
                    json.Append(",");
                    break;

                case "Limit_KN":    //困难生档次
                    json.Append(Json.StringToJson(item.LIMIT_VALUE.ToString(), "Limit_KN_Value"));
                    json.Append(",");
                    break;

                default:
                    break;
                }
            }
            if (json[json.Length - 1].Equals(','))
            {                                    //必须有数据才去掉最后一个逗号‘,’,不然会报错 20120816 mo
                json.Remove(json.Length - 1, 1); //去掉最后一个逗号
            }
            json.Append("}");
            return(json.ToString());
        }
Example #16
0
        /// <summary>
        /// 批量审批
        /// </summary>
        /// <returns></returns>
        private string MultiPAudit()
        {
            try
            {
                #region 获得批量审核数据集合

                Dictionary <string, string> param = new Dictionary <string, string>();
                param.Add(string.Format(DataFilterHandleClass.getInstance().Pend_DataFilter(user.User_Role, CValue.DOC_TYPE_BDM03)), string.Empty);
                //ZZ 20171108 修改:加入数据过滤
                DataFilterHandleClass filter = new DataFilterHandleClass();
                filter.InputerInfo("STU_NUMBER", "CLASS_CODE", "XY", user.User_Id, user.User_Role, user.User_Xy);
                switch (user.User_Type)
                {
                case "S":
                    filter.Student_DataFilter(param);
                    break;

                case "T":
                    filter.Teacher_DataFilter(param);
                    break;

                default:
                    filter.DefaultParams(param);
                    break;
                }
                if (!string.IsNullOrEmpty(Get("PROJECT_YEAR")))
                {
                    param.Add("PROJECT_YEAR", Get("PROJECT_YEAR"));
                }
                if (!string.IsNullOrEmpty(Get("PROJECT_CLASS")))
                {
                    param.Add("PROJECT_CLASS", Get("PROJECT_CLASS"));
                }
                if (!string.IsNullOrEmpty(Get("PROJECT_TYPE")))
                {
                    param.Add("PROJECT_TYPE", Get("PROJECT_TYPE"));
                }
                if (!string.IsNullOrEmpty(Get("PROJECT_SEQ_NO")))
                {
                    param.Add("PROJECT_SEQ_NO", Get("PROJECT_SEQ_NO"));
                }
                if (!string.IsNullOrEmpty(Get("XY")))
                {
                    param.Add("XY", Get("XY"));
                }
                if (!string.IsNullOrEmpty(Get("ZY")))
                {
                    param.Add("ZY", Get("ZY"));
                }
                if (!string.IsNullOrEmpty(Get("GRADE")))
                {
                    param.Add("GRADE", Get("GRADE"));
                }
                if (!string.IsNullOrEmpty(Get("CLASS_CODE")))
                {
                    param.Add("CLASS_CODE", Get("CLASS_CODE"));
                }
                if (!string.IsNullOrEmpty(Get("STU_NUMBER")))
                {
                    param.Add(string.Format("STU_NUMBER LIKE '%{0}%' ", HttpUtility.UrlDecode(Get("STU_NUMBER"))), string.Empty);
                }
                if (!string.IsNullOrEmpty(Get("STU_NAME")))
                {
                    param.Add(string.Format("STU_NAME LIKE '%{0}%' ", HttpUtility.UrlDecode(Get("STU_NAME"))), string.Empty);
                }
                if (!string.IsNullOrEmpty(Get("RET_CHANNEL")))
                {
                    param.Add("RET_CHANNEL", Get("RET_CHANNEL"));
                }
                if (!string.IsNullOrEmpty(Get("DECLARE_TYPE")))
                {
                    param.Add("DECLARE_TYPE", Get("DECLARE_TYPE"));
                }
                //ZZ 20171107 :新增
                if (!user.User_Role.Equals(CValue.ROLE_TYPE_X))//不是校级管理员时,都需要经过勾选过滤
                {
                    string strSelectIds = ComHandleClass.getInstance().GetNoRepeatAndNoEmptyStringSql(Get("ids"));
                    if (strSelectIds.Length > 0)
                    {
                        param.Add(string.Format(" OID IN ({0}) ", strSelectIds), string.Empty);
                    }
                }
                List <Shoolar_apply_head> applyList = ProjectApplyHandleClass.getInstance().GetApplyHeadList(param);
                if (applyList == null)
                {
                    return("查询批量审批奖助申请数据出错!");
                }

                #endregion 获得批量审核数据集合

                #region 批量审批

                int    nSuccess = 0;
                string strFlag  = Get("flag");
                foreach (Shoolar_apply_head head in applyList)
                {
                    #region 审核操作

                    if (head == null)
                    {
                        continue;
                    }

                    string strMsg = WKF_ExternalInterface.getInstance().ChkAudit(head.DOC_TYPE, head.SEQ_NO, user.User_Role);
                    if (strMsg.Length > 0)
                    {
                        continue;
                    }
                    Shoolar_project_head project_head = ProjectSettingHandleClass.getInstance().GetProjectHead(head.PROJECT_SEQ_NO);
                    if (project_head == null)
                    {
                        continue;
                    }

                    #region 过了项目申请结束时间,学生、辅导员、学院都不能操作,校级可以审批操作

                    //ZZ 20171221 新增:过了项目申请结束时间,学生、辅导员、学院都不能操作,校级可以审批操作

                    if (!ProjectSettingHandleClass.getInstance().CheckIsFitApplyDate(project_head.APPLY_END, user.User_Role))
                    {
                        continue;
                    }

                    #endregion 过了项目申请结束时间,学生、辅导员、学院都不能操作,校级可以审批操作

                    #region 申请人数限制放在院级审核的时候,并且再次用条件进行校验

                    if (user.User_Role.Equals(CValue.ROLE_TYPE_Y) && strFlag.Equals("P"))
                    {
                        //ZZ 20171114 新增:申请人数限制放在院级审核的时候,并且再次用条件进行校验
                        Basic_stu_info stu_info = StuHandleClass.getInstance().GetStuInfo_Obj(head.STU_NUMBER);
                        if (stu_info == null || project_head == null)
                        {
                            continue;
                        }

                        #region 再次校验申请条件

                        //再次校验申请条件
                        if (!ProjectApplyHandleClass.getInstance().CheckProjectLimit(stu_info, project_head, out strMsg))
                        {
                            //发送消息
                            Dictionary <string, string> dicAccpter = new Dictionary <string, string>();
                            dicAccpter.Add(head.STU_NUMBER, head.STU_NAME);
                            string strMsgContent = string.Format("您好!您的{0}奖助申请不符合该项目申请条件({1}),该奖助申请数据已被退回预录入状态,望您悉知,谢谢!", head.PROJECT_NAME, strMsg);
                            string strMessageMsg = string.Empty;
                            MessgeHandleClass.getInstance().SendMessge(CValue.MSG_TYPE_M, strMsgContent, user.User_Id, user.User_Name, dicAccpter, out strMessageMsg);
                            ////记录日志(屏蔽:不删除之后 不需要记录操作日志,因为已经写入了 审批流程日志中)
                            //LogDBHandleClass.getInstance().LogOperation(head.SEQ_NO, "奖助院级审核", CValue.LOG_ACTION_TYPE_6, CValue.LOG_RECORD_TYPE_1, string.Format("删除:学号{0}姓名{1} 不满足奖助[{2}]申请条件:{3}", head.STU_NUMBER, head.STU_NAME, head.PROJECT_NAME, strMsg), user.User_Id, user.User_Name, user.UserLoginIP);
                            //20171121 ZZ 屏蔽:物理删除数据不合理,修改成 变成预录入
                            //删除数据
                            //ProjectApplyHandleClass.getInstance().DeleteProjectApplyData(head.SEQ_NO);
                            ProjectApplyHandleClass.getInstance().TurnBackApplyToRetchannelA0000(head.SEQ_NO, CValue.STEP_D2, CValue.RET_CHANNEL_D2020, CValue.ROLE_TYPE_Y, user.User_Name, strMsg);
                            continue;
                        }
                        if (!ProjectApplyHandleClass.getInstance().CheckProjectNotBoth(stu_info, project_head, out strMsg))
                        {
                            //发送消息
                            Dictionary <string, string> dicAccpter = new Dictionary <string, string>();
                            dicAccpter.Add(head.STU_NUMBER, head.STU_NAME);
                            string strMsgContent = string.Format("您好!您的{0}奖助申请不符合该项目申请条件({1}),该奖助申请数据已被退回预录入状态,望您悉知,谢谢!", head.PROJECT_NAME, strMsg);
                            string strMessageMsg = string.Empty;
                            MessgeHandleClass.getInstance().SendMessge(CValue.MSG_TYPE_M, strMsgContent, user.User_Id, user.User_Name, dicAccpter, out strMessageMsg);
                            ////记录日志(屏蔽:不删除之后 不需要记录操作日志,因为已经写入了 审批流程日志中)
                            //LogDBHandleClass.getInstance().LogOperation(head.SEQ_NO, "奖助院级审核", CValue.LOG_ACTION_TYPE_6, CValue.LOG_RECORD_TYPE_1, string.Format("删除:学号{0}姓名{1} 不满足奖助[{2}]申请条件:{3}", head.STU_NUMBER, head.STU_NAME, head.PROJECT_NAME, strMsg), user.User_Id, user.User_Name, user.UserLoginIP);
                            //20171121 ZZ 屏蔽:物理删除数据不合理,修改成 变成预录入
                            //删除数据
                            //ProjectApplyHandleClass.getInstance().DeleteProjectApplyData(head.SEQ_NO);
                            ProjectApplyHandleClass.getInstance().TurnBackApplyToRetchannelA0000(head.SEQ_NO, CValue.STEP_D2, CValue.RET_CHANNEL_D2020, CValue.ROLE_TYPE_Y, user.User_Name, strMsg);
                            continue;
                        }

                        #endregion 再次校验申请条件

                        #region 申请人数已满

                        //由于审核流转需要1秒,等待一秒之后再查询更准确。
                        Thread.Sleep(1000);
                        //申请人数已满
                        if (!ProjectApplyHandleClass.getInstance().CheckProjectNum(stu_info, project_head, out strMsg))
                        {
                            LogDBHandleClass.getInstance().LogOperation(head.SEQ_NO, "奖助院级审核", CValue.LOG_ACTION_TYPE_6, CValue.LOG_RECORD_TYPE_1, string.Format("学号{0}姓名{1} 不满足奖助[{2}]申请条件:{3}", head.STU_NUMBER, head.STU_NAME, head.PROJECT_NAME, strMsg), user.User_Id, user.User_Name, user.UserLoginIP);
                            Dictionary <string, string> param_projectnum = new Dictionary <string, string>();
                            param_projectnum.Add("SEQ_NO", project_head.SEQ_NO);
                            param_projectnum.Add("XY", stu_info.COLLEGE);
                            List <Shoolar_project_num> projectNum = ProjectSettingHandleClass.getInstance().GetProjectNum(param_projectnum);
                            return(string.Format("审核失败,原因:已超出{0}学院所获得的该项目名额人数{1}人!", cod.GetDDLTextByValue("ddl_department", projectNum[0].XY), projectNum[0].APPLY_NUM));
                        }

                        #endregion 申请人数已满
                    }

                    #endregion 申请人数限制放在院级审核的时候,并且再次用条件进行校验

                    strMsg = string.Empty;
                    string strOpNote = string.Format("{0}在{1}操作:奖助申请批量审批{2}", user.User_Id, GetDateLongFormater(), strFlag.Equals("P") ? "通过" : "不通过");
                    if (!WKF_ExternalInterface.getInstance().WKF_Audit(head.DOC_TYPE, head.SEQ_NO, user.User_Id, user.User_Role, strFlag, strOpNote, out strMsg))
                    {
                        LogDBHandleClass.getInstance().LogException(CValue.LOG_LEVEL_ERROR, strMsg);
                    }

                    #endregion 审核操作

                    #region 审批通过之后给申请人发送信息

                    //审批通过之后给申请人发送信息

                    string strFinalPosCode = WKF_AuditHandleCLass.getInstance().GetFinalPosCode(head.DOC_TYPE);
                    if (!string.IsNullOrEmpty(strFinalPosCode))
                    {
                        if (strFinalPosCode == user.User_Role)
                        {
                            string strApproveInfo = string.Empty;
                            if (strFlag.ToString().Equals("P"))
                            {
                                strApproveInfo = "审批通过";
                            }
                            else
                            {
                                strApproveInfo = "审批不通过";
                            }

                            string strMsgContent = "奖助申请:" + head.PROJECT_NAME + strApproveInfo;
                            Dictionary <string, string> dicAccpter = new Dictionary <string, string>();
                            dicAccpter.Add(head.STU_NUMBER, head.STU_NAME);
                            MessgeHandleClass.getInstance().SendMessge("M", strMsgContent, user.User_Id, user.User_Name, dicAccpter, out strMsg);
                        }
                    }

                    #endregion 审批通过之后给申请人发送信息

                    #region 由于是批量审核,没有弹出相应的审核界面,所以需要更新奖助默认审核信息

                    //由于是批量审核,没有弹出相应的审核界面,所以需要更新奖助默认审核信息
                    if (strFlag.Equals("P"))
                    {
                        string strApproveMsg = ProjectApplyHandleClass.getInstance().GetApproveDefaultInfo(head.PROJECT_NAME, head.PROJECT_TYPE, user.User_Role);
                        string strComMsg     = ProjectApplyHandleClass.getInstance().GetApproveDefaultInfo(head.PROJECT_NAME, head.PROJECT_TYPE, user.User_Role);
                        ProjectApplyHandleClass.getInstance().ApproveData_UpTxt(head.SEQ_NO, head.PROJECT_TYPE, user.User_Role, strApproveMsg, strComMsg);
                        nSuccess++;
                    }

                    #endregion 由于是批量审核,没有弹出相应的审核界面,所以需要更新奖助默认审核信息
                }

                #endregion 批量审批

                return(string.Empty);
            }
            catch (Exception ex)
            {
                LogDBHandleClass.getInstance().LogException(CValue.LOG_LEVEL_ERROR, "奖助批量审批出错:" + ex.ToString());
                return("批量审批失败!");
            }
        }