public string GetKPIPointRandomPersonID(string companyID, string modelRelationID, string flowID, string stepID, string formID) { string groupRandomPersonID = ""; using (KPIPointBll bll = new KPIPointBll()) { //获取KPI点 T_HR_KPIPOINT point = bll.GetKPIPoint(companyID, modelRelationID, flowID, stepID); List<T_HR_RAMDONGROUPPERSON> groupPersonList; if (point != null) { if (point.T_HR_SCORETYPE != null) { if (point.T_HR_SCORETYPE.ISRANDOMSCORE == "1") { if (point.T_HR_SCORETYPE.T_HR_RANDOMGROUP != null) { //抽查人员 if (point.T_HR_SCORETYPE.T_HR_RANDOMGROUP.T_HR_RAMDONGROUPPERSON == null || point.T_HR_SCORETYPE.T_HR_RANDOMGROUP.T_HR_RAMDONGROUPPERSON.Count == 0) { RandomGroupBll bllRandom = new RandomGroupBll(); groupPersonList = bllRandom.GetRandomGroupPersonByGroupID(point.T_HR_SCORETYPE.T_HR_RANDOMGROUP.RANDOMGROUPID).ToList(); } else groupPersonList = point.T_HR_SCORETYPE.T_HR_RANDOMGROUP.T_HR_RAMDONGROUPPERSON.ToList(); if (groupPersonList == null || groupPersonList.Count == 0) { } else { Random r = new Random(); //获取随机数 int i = r.Next(0, groupPersonList.Count); //获取抽查人员 groupRandomPersonID = groupPersonList[i].PERSONID; if (groupRandomPersonID != null && groupRandomPersonID != "") { SaveKPIRecord(point, formID, flowID, stepID, "", groupRandomPersonID, 0, 3); } } //抽查时间 if (point.T_HR_SCORETYPE.T_HR_KPIREMIND != null) { IEnumerator OperandEnum = point.T_HR_SCORETYPE.T_HR_KPIREMIND.OrderBy(s => s.FORWARDHOURS).GetEnumerator(); //提醒计数 int CharCount = 0; while (OperandEnum.MoveNext()) { T_HR_KPIREMIND Remind = (T_HR_KPIREMIND)OperandEnum.Current; CharCount++; //第一条提醒 if (CharCount == 1) { groupRandomPersonID = groupRandomPersonID + "|" + Remind.FORWARDHOURS.ToString(); } //第二条提醒 if (CharCount == 2) { groupRandomPersonID = groupRandomPersonID + "|" + Remind.FORWARDHOURS.ToString(); } //第三条提醒 if (CharCount == 3) { groupRandomPersonID = groupRandomPersonID + "|" + Remind.FORWARDHOURS.ToString(); } } groupRandomPersonID = groupRandomPersonID + "|" + CharCount.ToString(); } } } } } return groupRandomPersonID; } }
public List<T_HR_RAMDONGROUPPERSON> GetRandomGroupPersonByGroupID(string randomGroupID) { using (RandomGroupBll bll = new RandomGroupBll()) { IQueryable<T_HR_RAMDONGROUPPERSON> q = bll.GetRandomGroupPersonByGroupID(randomGroupID); return q.Count() > 0 ? q.ToList() : null; } }