//计算被考评人的考核结果 //id:被考评人id //成功返回true,否则返回false public static bool CountEvaluationResultByID(string id) { if (id == "") return false; string e = ""; //获取考核人总数 List <EvaluatorTable> ets =new List <EvaluatorTable>(); if(!EvaluatorTableBLL.Select(id,ref ets,ref e)) return false; int nums=ets.Count; //获取考核结果 DataTable tResult = new DataTable(); string sql = "SELECT etRelation, AVG(etSum) AS AVG FROM tb_EvaluatorTable WHERE (etEvaluatedID = '"+id+"') GROUP BY etRelation"; tResult = db.QueryDataTable(sql, ref e); double sum=0; if (tResult != null && tResult.Rows.Count > 0) { int weight=0; for (int i = 0; i < tResult.Rows.Count; i++) { string relation=(string)tResult.Rows[i]["etRelation"]; double avg=(double)tResult.Rows[i]["AVG"]; if (tResult.Rows.Count==4) weight=RelationBLL.GetWeightByRelation(relation,false); else weight=RelationBLL.GetWeightByRelation(relation,true); sum+=avg*weight; } } else return false; EvaluatedCollectTable ect = new EvaluatedCollectTable(); ect.EctUserID = id; ect.EctScore = sum; ect.EctResult = sum; ect.EctEvaluatorNum = nums; ect.EctPs = ""; if (!Insert(ect, ref e)) return false; return true; }
public static bool Select(ref List<EvaluatedCollectTable> model, ref string e, string sql) { DataTable table = new DataTable(); table = db.QueryDataTable(sql, ref e); if (table != null && table.Rows.Count > 0) { for (int i = 0; i < table.Rows.Count; i++) { EvaluatedCollectTable ect = new EvaluatedCollectTable(); ect.EctID = (Int32)table.Rows[i][0]; ect.EctUserID = (string)table.Rows[i][1]; ect.EctScore = (double)table.Rows[i][2]; ect.EctResult = (double)table.Rows[i][3]; ect.EctEvaluatorNum = (Int32)table.Rows[i][4]; ect.EctPs = (string)table.Rows[i][5]; model.Add(ect); } return true; } else { if (e != "" && e != null) return false; e = "该考核汇总表尚未建立"; return false; } }
public static bool Update(EvaluatedCollectTable model, ref string e) { StringBuilder strSql = new StringBuilder(); strSql.Append("update tb_EvaluatedCollectTable set "); strSql.Append("ectUserID=@ectUserID,"); strSql.Append("ectScore=@ectScore,"); strSql.Append("ectResult=@ectResult,"); strSql.Append("ectEvaluatorNum=@ectEvaluatorNum,"); strSql.Append("ectPs=@ectPs"); strSql.Append(" where ectID=@ectID "); SqlParameter[] parameters = { new SqlParameter("@ectUserID", SqlDbType.VarChar,10), new SqlParameter("@ectScore", SqlDbType.Float), new SqlParameter("@ectResult", SqlDbType.Float), new SqlParameter("@ectEvaluatorNum", SqlDbType.Int,4), new SqlParameter("@ectPs", SqlDbType.NVarChar,int.MaxValue), new SqlParameter("@ectID", SqlDbType.Int,4) }; parameters[0].Value = model.EctUserID; parameters[1].Value = model.EctScore; parameters[2].Value = model.EctResult; parameters[3].Value = model.EctEvaluatorNum; parameters[4].Value = model.EctPs; parameters[5].Value = model.EctID; e = db.QueryExec(strSql.ToString(), parameters); if (e != "" && e != null) { return false; } return true; }
public static bool Insert(EvaluatedCollectTable ect, ref string e) { List<EvaluatedCollectTable> model = new List<EvaluatedCollectTable>(); if (Select(ect.EctUserID, ref model, ref e)) { e = "被考核者 " + ect.EctUserID + " 的个人考核汇总表已存在"; return false; } string sql = "insert into tb_EvaluatedCollectTable(" + "ectUserID,ectScore,ectResult,ectEvaluatorNum,ectPs)" + " values(@ectUserID,@ectScore,@ectResult,@ectEvaluatorNum,@ectPs)"; SqlParameter[] parameters = { new SqlParameter("@ectUserID", SqlDbType.VarChar,10), new SqlParameter("@ectScore", SqlDbType.Float), new SqlParameter("@ectResult", SqlDbType.Float), new SqlParameter("@ectEvaluatorNum", SqlDbType.Int,4), new SqlParameter("@ectPs", SqlDbType.NVarChar,int.MaxValue) }; parameters[0].Value = ect.EctUserID; parameters[1].Value = ect.EctScore; parameters[2].Value = ect.EctResult; parameters[3].Value = ect.EctEvaluatorNum; parameters[4].Value = ect.EctPs; string exception = db.InsertExec(sql, parameters); if (exception != "" && exception != null) { e = exception; return false; } return true; }