/// <summary> /// 根据用户的ID得到用户的姓名 /// </summary> /// <param name="userIDS"></param> public static String GetUserNamByIDS(String userIDS) { String result = String.Empty; if (String.IsNullOrEmpty(userIDS) == false) { JUserDA da1 = new JUserDA(); List <SearchField> condition = new List <SearchField>(); condition.Add(new SearchField("UserID", userIDS, SearchOperator.Collection)); DataTable dt1 = da1.GetListData(condition, -1, -1, "num", "UserName"); bool first = true; StringBuilder str1 = new StringBuilder(); foreach (DataRow dr1 in dt1.Rows) { if (first) { str1.Append(dr1[0].ToString()); first = false; } else { str1.Append(",").Append(dr1[0].ToString()); } } result = str1.ToString(); } return(result); }
//得到列表数据 public DataTable GetListData(List <SearchField> condition, int PageSize, int CurPage, String orderBy, params String[] Fields) { JUserDA da = new JUserDA(); return(da.GetListData(condition, PageSize, CurPage, orderBy, Fields)); }
/// <summary> /// 根据用户的姓名得到姓名列表 /// </summary> /// <param name="UserName"></param> /// <returns></returns> public DataTable GetUserName(String UserName, int pageSize) { DataTable dt1 = null; if (String.IsNullOrEmpty(UserName) == false) { List <SearchField> condition = new List <SearchField>(); condition.Add(new SearchField("UserName", UserName, SearchOperator.Contains)); JUserDA da1 = new JUserDA(); dt1 = da1.GetListData(condition, pageSize, 1, "UserName", "UserName"); } return(dt1); }
/// <summary> /// 得到用户的授权用户信息 /// </summary> /// <param name="UserID">用户ID</param> /// <param name="sqkind">授权类型 1--工作备忘 2--工作日志 3--工作计划 4--考核数据 /// </param> /// <returns></returns> public String GetShouquanUserList(String UserID, int sqkind) { StringBuilder str1 = new StringBuilder(); bool first = true; JUserDA da1 = new JUserDA(); List <SearchField> condition = new List <SearchField>(); String s2 = String.Format("instr(qx{0}, '{1}') > 0", sqkind, UserID); condition.Add(new SearchField(s2, "", SearchOperator.UserDefine)); DataTable dt1 = da1.GetListData(condition, -1, -1, "num", "UserID,qx" + sqkind + " as sq"); foreach (DataRow dr1 in dt1.Rows) { String[] sq = dr1[1].ToString().Split(','); if (sq.Contains(UserID)) { if (first) { str1.Append(dr1[0].ToString()); first = false; } else { str1.Append(",").Append(dr1[0].ToString()); } } } String s1 = str1.ToString(); if (String.IsNullOrEmpty(s1)) { s1 = "-1"; } return(s1); }
/// <summary> /// 创建月度考核数据 /// </summary> /// <param name="byear">考核年份</param> /// <param name="bmonth">考核月份</param> /// <param name="khDays">考核工作日</param> /// <returns></returns> public bool CreateMonthKHData(int byear, int bmonth, double khDays) { bool succ = false; //code、team和test的工作量系数 double rate1 = double.Parse(WebFrame.Comm.JStrInfoBU.GetStrTextByID("codeRate")); double rate2 = double.Parse(WebFrame.Comm.JStrInfoBU.GetStrTextByID("teamRate")); double rate3 = double.Parse(WebFrame.Comm.JStrInfoBU.GetStrTextByID("testRate")); JConnect.GetConnect().BeginTrans(); try { //1--得到考核人员清单 List <SearchField> condition = new List <SearchField>(); JUserDA da1 = new JUserDA(); condition.Add(new SearchField("gw='0' or gw='1' or gw='2'", "", SearchOperator.UserDefine)); DataTable dt1 = da1.GetListData(condition, -1, -1, "num", "UserID,UserName"); //2--删除原有的考核数据 Tb_KH_MonthDA da2 = new Tb_KH_MonthDA(); condition.Clear(); condition.Add(new SearchField("byear", byear + "", SearchFieldType.NumericType)); condition.Add(new SearchField("bmonth", bmonth + "", SearchFieldType.NumericType)); da2.DeleteData(condition); //3--根据考核人员名单形成新的月度考核数据 DataTable khTable = new DataTable(); khTable.Columns.Add("userid"); khTable.Columns.Add("username"); khTable.Columns.Add("workload1", typeof(double)); khTable.Columns.Add("workload2", typeof(double)); khTable.Columns.Add("workload3", typeof(double)); khTable.PrimaryKey = new DataColumn[] { khTable.Columns["userid"] }; foreach (DataRow dr1 in dt1.Rows) { DataRow khrow = khTable.NewRow(); khrow["userid"] = dr1["userid"]; khrow["UserName"] = dr1["username"]; khrow["workload1"] = 0; //code khrow["workload2"] = 0; //team khrow["workload3"] = 0; //test khTable.Rows.Add(khrow); } //4--根据月度考核的任务,修改考核数据 condition.Clear(); condition.Add(new SearchField("Status", "4")); condition.Add(new SearchField("DatePart('yyyy', finishDate)=" + byear, "", SearchOperator.UserDefine)); condition.Add(new SearchField("DatePart('M', finishDate)=" + bmonth, "", SearchOperator.UserDefine)); Tb_TaskDA da3 = new Tb_TaskDA(); DataTable dt3 = da3.GetListData(condition, -1, -1, "FinishDate", "*"); Tb_Task_BugDA da4 = new Tb_Task_BugDA(); foreach (DataRow dr3 in dt3.Rows) { int load1 = int.Parse(dr3["LastWorkLoad"].ToString()); String Manager = dr3["Manager"].ToString(); String ExecuteMan = dr3["ExecuteMan"].ToString(); //得到测试的情况A-3 B-2 C-1 Dictionary <String, double> debugDic = da4.GetTaskDebugRate(dr3["Guidid"].ToString()); if (debugDic.Count == 0) { debugDic[dr3["TestMan"].ToString()] = 1.0; } //根据不同的人员分配工作量 //code DataRow datarow1 = khTable.Rows.Find(ExecuteMan); if (datarow1 != null) { datarow1["workload1"] = double.Parse(datarow1["workload1"].ToString()) + load1; } //team DataRow datarow2 = khTable.Rows.Find(Manager); if (datarow2 != null) { datarow2["workload2"] = double.Parse(datarow2["workload2"].ToString()) + load1; } //test foreach (string m in debugDic.Keys) { DataRow datarow3 = khTable.Rows.Find(m); if (datarow3 != null) { datarow3["workload3"] = double.Parse(datarow3["workload3"].ToString()) + load1 * debugDic[m]; } } } //5--将数据写入到月度考核任务表 Dictionary <String, object> dic1 = new Dictionary <string, object>(); foreach (DataRow dr1 in khTable.Rows) { dic1.Clear(); dic1["byear"] = byear; dic1["bmonth"] = bmonth; dic1["userid"] = dr1["userid"]; dic1["userName"] = dr1["username"]; dic1["Fullload"] = khDays * 8; dic1["workload1"] = dr1["workload1"]; dic1["workload2"] = dr1["workload2"]; dic1["workload3"] = dr1["workload3"]; dic1["workload"] = rate1 * double.Parse(dr1["workload1"].ToString()) + rate2 * double.Parse(dr1["workload2"].ToString()) + rate3 * double.Parse(dr1["workload3"].ToString()); dic1["AddMoney"] = 0; da2.NewData(dic1); } JConnect.GetConnect().CommitTrans(); succ = true; } catch (Exception err) { JConnect.GetConnect().RollBackTrans(); WebFrame.Util.JTool.WriteErrorLog(err.ToString()); } return(succ); }