Ejemplo n.º 1
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public tabResumeOutlineModel GetModel(int id)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("select * ");
            strSql.Append("  from tabResumeOutline ");
            strSql.Append(" where id=@id");
            SqlParameter[] parameters =
            {
                new SqlParameter("@id", SqlDbType.Int, 4)
            };
            parameters[0].Value = id;


            tabResumeOutlineModel model = new tabResumeOutlineModel();
            DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);

            if (ds.Tables[0].Rows.Count > 0)
            {
                return(ModelHandler <tabResumeOutlineModel> .FillModel(ds.Tables[0].Rows[0]));
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 2
0
        void MatchForCV(int ResumeID)
        {
            try
            {
                #region
                tabResumeOutlineModel modelRmOtln = tabResumeOutlineBLL.GetInstance().GetModel(ResumeID);

                #endregion
            }
            catch (Exception ex)
            {
                WinFormControlHelper.AddLog(rtbLog, "MatchForCV", ex.Message);
            }
        }
Ejemplo n.º 3
0
        void funResumeOutLine(int ResumeID)
        {
            try
            {
                #region


                WinFormControlHelper.AddLog(rtbLog, "开始操作" + ResumeID, "");
                int    count  = 0;
                string _where = "";
                string _order = " id desc";
                //获取详情
                tabResumeModel modelRm = tabResumeBLL.GetInstance().GetModel(ResumeID);
                _where = string.Format(" id={0} ", modelRm.ParentID);
                tabUserModel modelUsr = tabUserBLL.GetInstance().GetModel(_where, 0);
                if (modelUsr.IsNull())
                {
                    modelUsr = new tabUserModel();
                }
                _where = string.Format(" ParentID={0} ", modelRm.id);
                List <tabExperienceEduModel> lsmodelEdu = tabExperienceEduBLL.GetInstance().GetModelList(20, 1, _where, _order, out count);
                if (lsmodelEdu.IsNull())
                {
                    lsmodelEdu = new List <tabExperienceEduModel>();
                }
                List <tabExperienceWorkModel> lsmodelWork = tabExperienceWorkBLL.GetInstance().GetModelList(20, 1, _where, _order, out count);
                if (lsmodelWork.IsNull())
                {
                    lsmodelWork = new List <tabExperienceWorkModel>();
                }
                List <tabExperienceProjectModel> lsmodelProject = tabExperienceProjectBLL.GetInstance().GetModelList(20, 1, _where, _order, out count);
                if (lsmodelProject.IsNull())
                {
                    lsmodelProject = new List <tabExperienceProjectModel>();
                }
                //组合成新的模型
                bool IsExist = false;
                _where = string.Format(" ResumeID={0} ", modelRm.id);
                tabResumeOutlineModel modelRmOtln = tabResumeOutlineBLL.GetInstance().GetModel(_where, 0);
                IsExist = modelRmOtln.IsNotNull();
                if (!IsExist)
                {
                    modelRmOtln = new tabResumeOutlineModel();
                }
                #region
                modelRmOtln.ResumeID     = modelRm.id;
                modelRmOtln.ResumeNo     = modelRm.ResumeNo;
                modelRmOtln.ResumeName   = modelRm.ResumeName;
                modelRmOtln.HopeAddress  = modelRm.HopeAddress;
                modelRmOtln.HopeIndustry = modelRm.HopeIndustry;
                modelRmOtln.HopePosition = modelRm.HopePosition;
                modelRmOtln.HopeSalary   = modelRm.HopeSalary;
                modelRmOtln.RealName     = modelUsr.RealName;
                modelRmOtln.Birthday     = modelUsr.Birthday;
                modelRmOtln.Mobile       = modelUsr.Mobile;
                modelRmOtln.Email        = modelUsr.Email;
                modelRmOtln.Sex          = modelUsr.Sex;
                string strSkill = modelRm.Other + " ";
                #region
                modelRmOtln.School = "";
                modelRmOtln.Major  = "";
                foreach (tabExperienceEduModel model in lsmodelEdu)
                {
                    modelRmOtln.School += model.SchoolName + " ";
                    modelRmOtln.Major  += model.ProfessionalName + " ";
                }
                #endregion
                #region
                foreach (tabExperienceWorkModel model in lsmodelWork)
                {
                    strSkill += model.PositionDuties + " " + model.WorkPerformance + " ";
                }
                #endregion
                #region
                foreach (tabExperienceProjectModel model in lsmodelProject)
                {
                    strSkill += model.ProjectDesc + " " + model.ProjectPerformance + " ";
                }
                #endregion
                #region  Skill
                //
                List <string> lsSkill = PanGuSegmentHelper.SegmentToStringList(strSkill); //分词
                hsCVSkill = new HashSet <string>();
                foreach (string key in lsSkill)                                           //加入集合
                {
                    hsCVSkill.Add(key);
                    hsCVJDSkillFull.Add(key);
                }
                //获得交集
                hsCVSkill.IntersectWith(hsCVJDKeyWord);
                //转化成字符串
                strSkill = "";
                foreach (string str in hsCVSkill)
                {
                    strSkill += str + " ";
                }
                modelRmOtln.Skill = strSkill;
                WinFormControlHelper.AddLog(rtbLog, modelRmOtln.ResumeName, modelRmOtln.Skill);
                #endregion
                #endregion
                //插入或更新
                if (IsExist)
                {
                    tabResumeOutlineBLL.GetInstance().Update(modelRmOtln);
                }
                else
                {
                    tabResumeOutlineBLL.GetInstance().Add(modelRmOtln);
                }

                #endregion
            }
            catch (Exception ex)
            {
                WinFormControlHelper.AddLog(rtbLog, "funResumeOutLine", ex.Message);
            }
        }
Ejemplo n.º 4
0
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public int  Add(tabResumeOutlineModel model)
 {
     return(dal.Add(model));
 }
Ejemplo n.º 5
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(tabResumeOutlineModel model, List <string> ChangedFields)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update tabResumeOutline set ");

            strSql.Append(" ResumeID = @ResumeID , ");
            strSql.Append(" ResumeNo = @ResumeNo , ");
            strSql.Append(" ResumeName = @ResumeName , ");
            strSql.Append(" Status = @Status , ");
            strSql.Append(" CreateUser = @CreateUser , ");
            strSql.Append(" CreateDate = @CreateDate , ");
            strSql.Append(" ParentID = @ParentID , ");
            strSql.Append(" RealName = @RealName , ");
            strSql.Append(" Sex = @Sex , ");
            strSql.Append(" Birthday = @Birthday , ");
            strSql.Append(" Marriage = @Marriage , ");
            strSql.Append(" BeginJobYear = @BeginJobYear , ");
            strSql.Append(" Mobile = @Mobile , ");
            strSql.Append(" Email = @Email , ");
            strSql.Append(" XueLi = @XueLi , ");
            strSql.Append(" School = @School , ");
            strSql.Append(" Major = @Major , ");
            strSql.Append(" Company = @Company , ");
            strSql.Append(" Skill = @Skill , ");
            strSql.Append(" CoreSkill = @CoreSkill , ");
            strSql.Append(" HopeAddress = @HopeAddress , ");
            strSql.Append(" HopePosition = @HopePosition , ");
            strSql.Append(" HopeIndustry = @HopeIndustry , ");
            strSql.Append(" HopeSalary = @HopeSalary , ");
            strSql.Append(" AppID = @AppID , ");
            strSql.Append(" Version = @Version , ");
            strSql.Append(" RandomNo = @RandomNo , ");
            strSql.Append(" Remark = @Remark , ");
            strSql.Append(" LableText = @LableText , ");
            strSql.Append(" ExJson = @ExJson , ");
            strSql.Append(" OrderNo = @OrderNo , ");
            strSql.Append(" ModifyDate = @ModifyDate , ");
            strSql.Append(" ModifyUser = @ModifyUser  ");
            strSql.Append(" where id=@id ");
            SqlParameter[] parameters =
            {
                new SqlParameter("@id",           SqlDbType.Int,        4),
                new SqlParameter("@ResumeID",     SqlDbType.Int,        4),
                new SqlParameter("@ResumeNo",     SqlDbType.NVarChar,  50),
                new SqlParameter("@ResumeName",   SqlDbType.NVarChar,  50),
                new SqlParameter("@Status",       SqlDbType.NVarChar,  -1),
                new SqlParameter("@CreateUser",   SqlDbType.Int,        4),
                new SqlParameter("@CreateDate",   SqlDbType.NVarChar, 200),
                new SqlParameter("@ParentID",     SqlDbType.Int,        4),
                new SqlParameter("@RealName",     SqlDbType.NVarChar,  50),
                new SqlParameter("@Sex",          SqlDbType.NVarChar,  50),
                new SqlParameter("@Birthday",     SqlDbType.NVarChar,  50),
                new SqlParameter("@Marriage",     SqlDbType.NVarChar,  50),
                new SqlParameter("@BeginJobYear", SqlDbType.NVarChar,  50),
                new SqlParameter("@Mobile",       SqlDbType.NVarChar,  50),
                new SqlParameter("@Email",        SqlDbType.NVarChar, 500),
                new SqlParameter("@XueLi",        SqlDbType.NVarChar, 500),
                new SqlParameter("@School",       SqlDbType.NVarChar, 500),
                new SqlParameter("@Major",        SqlDbType.NVarChar, 500),
                new SqlParameter("@Company",      SqlDbType.NVarChar, 500),
                new SqlParameter("@Skill",        SqlDbType.NText),
                new SqlParameter("@CoreSkill",    SqlDbType.NVarChar, 500),
                new SqlParameter("@HopeAddress",  SqlDbType.NVarChar, 100),
                new SqlParameter("@HopePosition", SqlDbType.NVarChar,  50),
                new SqlParameter("@HopeIndustry", SqlDbType.NVarChar,  50),
                new SqlParameter("@HopeSalary",   SqlDbType.Decimal,    9),
                new SqlParameter("@AppID",        SqlDbType.NVarChar, 100),
                new SqlParameter("@Version",      SqlDbType.NVarChar, 100),
                new SqlParameter("@RandomNo",     SqlDbType.NVarChar, 200),
                new SqlParameter("@Remark",       SqlDbType.NVarChar,  -1),
                new SqlParameter("@LableText",    SqlDbType.NVarChar,  -1),
                new SqlParameter("@ExJson",       SqlDbType.NVarChar,  -1),
                new SqlParameter("@OrderNo",      SqlDbType.Int,        4),
                new SqlParameter("@ModifyDate",   SqlDbType.NVarChar, 200),
                new SqlParameter("@ModifyUser",   SqlDbType.Int, 4)
            };

            parameters[0].Value  = model.id;
            parameters[1].Value  = model.ResumeID;
            parameters[2].Value  = model.ResumeNo;
            parameters[3].Value  = model.ResumeName;
            parameters[4].Value  = model.Status;
            parameters[5].Value  = model.CreateUser;
            parameters[6].Value  = model.CreateDate;
            parameters[7].Value  = model.ParentID;
            parameters[8].Value  = model.RealName;
            parameters[9].Value  = model.Sex;
            parameters[10].Value = model.Birthday;
            parameters[11].Value = model.Marriage;
            parameters[12].Value = model.BeginJobYear;
            parameters[13].Value = model.Mobile;
            parameters[14].Value = model.Email;
            parameters[15].Value = model.XueLi;
            parameters[16].Value = model.School;
            parameters[17].Value = model.Major;
            parameters[18].Value = model.Company;
            parameters[19].Value = model.Skill;
            parameters[20].Value = model.CoreSkill;
            parameters[21].Value = model.HopeAddress;
            parameters[22].Value = model.HopePosition;
            parameters[23].Value = model.HopeIndustry;
            parameters[24].Value = model.HopeSalary;
            parameters[25].Value = model.AppID;
            parameters[26].Value = model.Version;
            parameters[27].Value = model.RandomNo;
            parameters[28].Value = model.Remark;
            parameters[29].Value = model.LableText;
            parameters[30].Value = model.ExJson;
            parameters[31].Value = model.OrderNo;
            parameters[32].Value = model.ModifyDate;
            parameters[33].Value = model.ModifyUser;
            int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);

            if (rows > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(tabResumeOutlineModel model)
        {
            model.Version    = model.Version.IsNotNullOrEmpty()? model.Version: "1";
            model.RandomNo   = model.RandomNo.IsNotNullOrEmpty()? model.RandomNo: Guid.NewGuid().ToString("N");
            model.Status     = model.Status.IsNotNullOrEmpty()? model.Status: "1";
            model.OrderNo    = model.OrderNo > 0? model.OrderNo: 1;
            model.CreateDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            model.ModifyDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into tabResumeOutline(");
            strSql.Append("ResumeID,ResumeNo,ResumeName,Status,CreateUser,CreateDate,ParentID,RealName,Sex,Birthday,Marriage,BeginJobYear,Mobile,Email,XueLi,School,Major,Company,Skill,CoreSkill,HopeAddress,HopePosition,HopeIndustry,HopeSalary,AppID,Version,RandomNo,Remark,LableText,ExJson,OrderNo,ModifyDate,ModifyUser");
            strSql.Append(") values (");
            strSql.Append("@ResumeID,@ResumeNo,@ResumeName,@Status,@CreateUser,@CreateDate,@ParentID,@RealName,@Sex,@Birthday,@Marriage,@BeginJobYear,@Mobile,@Email,@XueLi,@School,@Major,@Company,@Skill,@CoreSkill,@HopeAddress,@HopePosition,@HopeIndustry,@HopeSalary,@AppID,@Version,@RandomNo,@Remark,@LableText,@ExJson,@OrderNo,@ModifyDate,@ModifyUser");
            strSql.Append(") ");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters =
            {
                new SqlParameter("@ResumeID",     SqlDbType.Int,        4),
                new SqlParameter("@ResumeNo",     SqlDbType.NVarChar,  50),
                new SqlParameter("@ResumeName",   SqlDbType.NVarChar,  50),
                new SqlParameter("@Status",       SqlDbType.NVarChar,  -1),
                new SqlParameter("@CreateUser",   SqlDbType.Int,        4),
                new SqlParameter("@CreateDate",   SqlDbType.NVarChar, 200),
                new SqlParameter("@ParentID",     SqlDbType.Int,        4),
                new SqlParameter("@RealName",     SqlDbType.NVarChar,  50),
                new SqlParameter("@Sex",          SqlDbType.NVarChar,  50),
                new SqlParameter("@Birthday",     SqlDbType.NVarChar,  50),
                new SqlParameter("@Marriage",     SqlDbType.NVarChar,  50),
                new SqlParameter("@BeginJobYear", SqlDbType.NVarChar,  50),
                new SqlParameter("@Mobile",       SqlDbType.NVarChar,  50),
                new SqlParameter("@Email",        SqlDbType.NVarChar, 500),
                new SqlParameter("@XueLi",        SqlDbType.NVarChar, 500),
                new SqlParameter("@School",       SqlDbType.NVarChar, 500),
                new SqlParameter("@Major",        SqlDbType.NVarChar, 500),
                new SqlParameter("@Company",      SqlDbType.NVarChar, 500),
                new SqlParameter("@Skill",        SqlDbType.NText),
                new SqlParameter("@CoreSkill",    SqlDbType.NVarChar, 500),
                new SqlParameter("@HopeAddress",  SqlDbType.NVarChar, 100),
                new SqlParameter("@HopePosition", SqlDbType.NVarChar,  50),
                new SqlParameter("@HopeIndustry", SqlDbType.NVarChar,  50),
                new SqlParameter("@HopeSalary",   SqlDbType.Decimal,    9),
                new SqlParameter("@AppID",        SqlDbType.NVarChar, 100),
                new SqlParameter("@Version",      SqlDbType.NVarChar, 100),
                new SqlParameter("@RandomNo",     SqlDbType.NVarChar, 200),
                new SqlParameter("@Remark",       SqlDbType.NVarChar,  -1),
                new SqlParameter("@LableText",    SqlDbType.NVarChar,  -1),
                new SqlParameter("@ExJson",       SqlDbType.NVarChar,  -1),
                new SqlParameter("@OrderNo",      SqlDbType.Int,        4),
                new SqlParameter("@ModifyDate",   SqlDbType.NVarChar, 200),
                new SqlParameter("@ModifyUser",   SqlDbType.Int, 4)
            };

            parameters[0].Value  = model.ResumeID;
            parameters[1].Value  = model.ResumeNo;
            parameters[2].Value  = model.ResumeName;
            parameters[3].Value  = model.Status;
            parameters[4].Value  = model.CreateUser;
            parameters[5].Value  = model.CreateDate;
            parameters[6].Value  = model.ParentID;
            parameters[7].Value  = model.RealName;
            parameters[8].Value  = model.Sex;
            parameters[9].Value  = model.Birthday;
            parameters[10].Value = model.Marriage;
            parameters[11].Value = model.BeginJobYear;
            parameters[12].Value = model.Mobile;
            parameters[13].Value = model.Email;
            parameters[14].Value = model.XueLi;
            parameters[15].Value = model.School;
            parameters[16].Value = model.Major;
            parameters[17].Value = model.Company;
            parameters[18].Value = model.Skill;
            parameters[19].Value = model.CoreSkill;
            parameters[20].Value = model.HopeAddress;
            parameters[21].Value = model.HopePosition;
            parameters[22].Value = model.HopeIndustry;
            parameters[23].Value = model.HopeSalary;
            parameters[24].Value = model.AppID;
            parameters[25].Value = model.Version;
            parameters[26].Value = model.RandomNo;
            parameters[27].Value = model.Remark;
            parameters[28].Value = model.LableText;
            parameters[29].Value = model.ExJson;
            parameters[30].Value = model.OrderNo;
            parameters[31].Value = model.ModifyDate;
            parameters[32].Value = model.ModifyUser;

            object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);

            if (obj == null)
            {
                return(0);
            }
            else
            {
                return(Convert.ToInt32(obj));
            }
        }
Ejemplo n.º 7
0
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public bool Update(tabResumeOutlineModel model)
 {
     return(dal.Update(model));
 }
Ejemplo n.º 8
0
        void MatchForJD(int PositionID)
        {
            try
            {
                #region
                //
                List <tabCVJDMatchModel> slsCVJDMatch = new List <tabCVJDMatchModel>();//用于存放匹配结果,最大数量为100
                slsCVJDMatch.Capacity = 100;
                //
                #region 获取JD简要模型
                tabPositionOutlineModel modelPosOtln = tabPositionOutlineBLL.GetInstance().GetModel(" PositionID=" + PositionID + " ", 0);
                if (modelPosOtln.IsNull())
                {
                    WinFormControlHelper.AddLog(rtbLog, "MatchForJD", "需要先进行要提取");
                }
                //Skill
                string[]         aryJDSkill = modelPosOtln.RequireSkill.Split(new char[] { ' ', ',' });
                HashSet <string> hsJDSkill  = new HashSet <string>();
                foreach (string str in aryJDSkill)
                {
                    hsJDSkill.Add(str);
                }
                hsJDSkill.Remove("");
                WinFormControlHelper.AddLog(rtbLog, "职位 " + modelPosOtln.PositionName + " 技能关键字", modelPosOtln.RequireSkill);;

                #endregion

                //粗选适合的简历
                string _where = "";
                if (modelPosOtln.RequireSchool.IsNotNull())
                {
                    _where += " ";
                }
                if (modelPosOtln.RequireXueLi.IsNotNull())
                {
                    _where += " ";
                }
                if (modelPosOtln.RequireMajor.IsNotNull())
                {
                    _where += " ";
                }
                string.Format(" id in ( select [KEY] form containstable(tabCVJDMatch,' or  or  or  ',1000) )");
                string _orderby = "";
                int    count    = 0;
                int    pageSize = 100;
                int    pageNo   = 1;
                do
                {
                    #region
                    List <int> lsResumeID = tabCVJDMatchBLL.GetInstance().GetResumeIDListForJD(pageSize, pageNo, _where.ToString(), _orderby, out count);

                    //逐个计算
                    foreach (int ResumeID in lsResumeID)
                    {
                        #region 获取CV简要模型
                        tabResumeOutlineModel modelRmOtln = tabResumeOutlineBLL.GetInstance().GetModel(" ResumeID=" + ResumeID + " ", 0);
                        //Skill
                        string[]         aryCVSkill = modelRmOtln.Skill.Split(new char[] { ' ', ',' });
                        HashSet <string> hsCVSkill  = new HashSet <string>();
                        foreach (string str in aryCVSkill)
                        {
                            hsCVSkill.Add(str);
                        }
                        hsJDSkill.Remove("");
                        WinFormControlHelper.AddLog(rtbLog, "简历" + modelRmOtln.ResumeNo + "技能关键字", modelRmOtln.Skill);;
                        #endregion

                        #region  计算匹配度
                        tabCVJDMatchModel modelMch = new tabCVJDMatchModel();
                        modelMch.PositionID = modelPosOtln.PositionID;
                        modelMch.ResumeID   = modelRmOtln.ResumeID;
                        modelMch.ResumeNo   = modelRmOtln.ResumeNo;
                        modelMch.BaseOn     = "Position";

                        hsCVSkill.IntersectWith(hsJDSkill);
                        modelMch.Skill       = (hsCVSkill.Count * 100) / hsJDSkill.Count;
                        modelMch.MatchDegree = modelMch.Skill;
                        WinFormControlHelper.AddLog(rtbLog, "简历" + modelRmOtln.ResumeNo + "综合评价", modelMch.MatchDegree.ToString());
                        #endregion

                        #region 保存到内存列表中(只保存前100条记录)
                        //是否要删除
                        if (slsCVJDMatch.Count == slsCVJDMatch.Capacity)
                        {
                            tabCVJDMatchModel modelMin = slsCVJDMatch[0];
                            foreach (tabCVJDMatchModel model in slsCVJDMatch)
                            {
                                if (model.MatchDegree < modelMin.MatchDegree)
                                {
                                    modelMin = model;
                                }
                            }
                            slsCVJDMatch.Remove(modelMin);
                        }
                        //是否添加
                        if (slsCVJDMatch.Count < slsCVJDMatch.Capacity)
                        {
                            slsCVJDMatch.Add(modelMch);
                        }


                        #endregion
                    }
                    #endregion
                    pageNo++;//
                }while (pageNo * pageSize < count);
                #region  保存至数据库
                //删除原来的
                tabCVJDMatchBLL.GetInstance().Delete(" PositionID=" + PositionID + " and BaseOn='Position' ");
                //添加新的
                string strLsResumeID = "";
                foreach (tabCVJDMatchModel model in slsCVJDMatch)
                {
                    tabCVJDMatchBLL.GetInstance().Add(model);
                    strLsResumeID += model.ResumeID.ToString() + ",";
                }
                WinFormControlHelper.AddLog(rtbLog, "职位 " + PositionID.ToString() + " 匹配结果", strLsResumeID);

                #endregion

                #endregion
            }
            catch (Exception ex)
            {
                WinFormControlHelper.AddLog(rtbLog, "MatchForJD", ex.Message);
            }
        }