コード例 #1
0
    private List <string> GetStaffScore(DateTime stime, DateTime etime, string staffid, string staffname)
    {
        WK_TaskInfo conObj = new WK_TaskInfo();

        conObj.Where(" {0} >= '{1}' and {2} <= '{3}' and ({4} like '%{5}%' or {6} like '%{7}%' or {8} like '%{9}%') ",
                     WK_TaskInfo.Attribute.BeginTime.FieldName,
                     stime.ToString("yyyy-MM-dd HH:mm:ss"),
                     WK_TaskInfo.Attribute.EndTime.FieldName,
                     etime.ToString("yyyy-MM-dd HH:mm:ss"),
                     WK_TaskInfo.Attribute.PICEmpID.FieldName,
                     ":" + staffid + ":1:" + staffname,
                     WK_TaskInfo.Attribute.PICEmpID.FieldName,
                     ":" + staffid + ":2:" + staffname,
                     WK_TaskInfo.Attribute.PICEmpID.FieldName,
                     ":" + staffid + ":3:" + staffname
                     );
        WK_TaskInfo valObj = new WK_TaskInfo();

        valObj.CompRate      = 0;
        valObj.ScoreNum      = -1;
        valObj.ScoreNum_ME   = -1;
        valObj.ScoreNum_BOSS = -1;
        List <WK_TaskInfo> tasks = BLLTable <WK_TaskInfo> .Factory(conn).Select(valObj, conObj);

        List <int> cr     = new List <int>();
        List <int> sn     = new List <int>();
        List <int> snme   = new List <int>();
        List <int> snboss = new List <int>();

        foreach (WK_TaskInfo tk in tasks)
        {
            cr.Add(tk.CompRate);
            if (tk.ScoreNum >= 0)
            {
                sn.Add(tk.ScoreNum_ME);
            }
            if (tk.ScoreNum >= 0)
            {
                snme.Add(tk.ScoreNum_ME);
            }
            if (tk.ScoreNum_BOSS >= 0)
            {
                snboss.Add(tk.ScoreNum_BOSS);
            }
        }
        List <string> score = new List <string>();

        if (tasks.Count > 0)
        {
            score.Add(staffid);
            score.Add(staffname);
            score.Add(stime.ToString("yyyy-MM-dd HH:mm:ss"));
            score.Add(etime.ToString("yyyy-MM-dd HH:mm:ss"));
            score.Add(tasks.Count.ToString());
            score.Add(snme.Count > 0 ? (((snme.Sum() * 1.00) / snme.Count).ToString("F2") + " / " + snme.Count) : "-/-");
            score.Add(sn.Count > 0 ? (((sn.Sum() * 1.00) / sn.Count).ToString("F2") + " / " + sn.Count) : "-/-");
            score.Add(snboss.Count > 0 ? (((snboss.Sum() * 1.00) / snboss.Count).ToString("F2") + " / " + snboss.Count) : "-/-");
            score.Add(cr.Count > 0 ? ((cr.Sum() * 1.00) / cr.Count).ToString("F2") : "-");
        }
        return(score);
    }
コード例 #2
0
 private List<string> GetStaffScore(DateTime stime, DateTime etime, string staffid, string staffname)
 {
     WK_TaskInfo conObj = new WK_TaskInfo();
     conObj.Where(" {0} >= '{1}' and {2} <= '{3}' and ({4} like '%{5}%' or {6} like '%{7}%' or {8} like '%{9}%') ",
         WK_TaskInfo.Attribute.BeginTime.FieldName,
         stime.ToString("yyyy-MM-dd HH:mm:ss"),
         WK_TaskInfo.Attribute.EndTime.FieldName,
         etime.ToString("yyyy-MM-dd HH:mm:ss"),
         WK_TaskInfo.Attribute.PICEmpID.FieldName,
         ":" + staffid + ":1:" + staffname,
         WK_TaskInfo.Attribute.PICEmpID.FieldName,
         ":" + staffid + ":2:" + staffname,
         WK_TaskInfo.Attribute.PICEmpID.FieldName,
         ":" + staffid + ":3:" + staffname
         );
     WK_TaskInfo valObj = new WK_TaskInfo();
     valObj.CompRate = 0;
     valObj.ScoreNum = -1;
     valObj.ScoreNum_ME = -1;
     valObj.ScoreNum_BOSS = -1;
     List<WK_TaskInfo> tasks = BLLTable<WK_TaskInfo>.Factory(conn).Select(valObj, conObj);
     List<int> cr = new List<int>();
     List<int> sn = new List<int>();
     List<int> snme = new List<int>();
     List<int> snboss = new List<int>();
     foreach (WK_TaskInfo tk in tasks)
     {
         cr.Add(tk.CompRate);
         if (tk.ScoreNum >= 0)
             sn.Add(tk.ScoreNum_ME);
         if (tk.ScoreNum >= 0)
             snme.Add(tk.ScoreNum_ME);
         if (tk.ScoreNum_BOSS >= 0)
             snboss.Add(tk.ScoreNum_BOSS);
     }
     List<string> score = new List<string>();
     if (tasks.Count > 0)
     {
         score.Add(staffid);
         score.Add(staffname);
         score.Add(stime.ToString("yyyy-MM-dd HH:mm:ss"));
         score.Add(etime.ToString("yyyy-MM-dd HH:mm:ss"));
         score.Add(tasks.Count.ToString());
         score.Add(snme.Count > 0 ? (((snme.Sum() * 1.00) / snme.Count).ToString("F2") + " / " + snme.Count) : "-/-");
         score.Add(sn.Count > 0 ? (((sn.Sum() * 1.00) / sn.Count).ToString("F2") + " / " + sn.Count) : "-/-");
         score.Add(snboss.Count > 0 ? (((snboss.Sum() * 1.00) / snboss.Count).ToString("F2") + " / " + snboss.Count) : "-/-");
         score.Add(cr.Count > 0 ? ((cr.Sum() * 1.00) / cr.Count).ToString("F2") : "-");
     }
     return score;
 }