public ActionResult OutgoingInfo(string EmpNo) { EmpOutingInfoModel EmpOutingInfo = ModelFactory.GetOutgoingList(EmpNo); ViewData["EmpOutingInfo"] = EmpOutingInfo; return(View()); }
/// <summary> /// 取得該員工的外出資料 /// </summary> /// <param name="EmpNo"></param> /// <returns></returns> public EmpOutingInfoModel GetOutgoingList(string EmpNo) { EmpOutingInfoModel EmpOutingInfo = new EmpOutingInfoModel(); string TempEmpNo = "";//臨時員工編號 //先取得員工基本資料 DataTable dtEmpInfo = DbAccess.ExecuteDataTable("SELECT EmployeeEName,EmployeeName,EmployeeNo FROM gvEmployeeAll WHERE EmployeeNo=@EmpNo ", new DbParameter[] { DataAccess.CreateParameter("EmpNo", DbType.String, EmpNo), } ); if (dtEmpInfo.Rows.Count == 0) { throw new Exception("查無此員工資料"); } else { EmpOutingInfo.EmployeeNo = dtEmpInfo.Rows[0]["EmployeeNo"].ToString(); EmpOutingInfo.EmployeeName = dtEmpInfo.Rows[0]["EmployeeName"].ToString(); EmpOutingInfo.EmployeeEName = dtEmpInfo.Rows[0]["EmployeeEName"].ToString(); } //先取得臨時員工編號 DataTable dtTempEmpNo = DbAccess.ExecuteDataTable("SELECT EmployeeNo FROM tbTempEmployee WHERE FullTimeEmployeeNo = @FullTimeEmployeeNo", new DbParameter[] { DataAccess.CreateParameter("FullTimeEmployeeNo", DbType.String, EmpNo), } ); if (dtTempEmpNo.Rows.Count != 0) { TempEmpNo = dtTempEmpNo.Rows[0]["EmployeeNo"].ToString(); } //賦外出日期 EmpOutingInfo.OutgoingDate = DateTime.Now.ToString("yyyy-MM-dd"); //取得外出資料 DataTable dtOutgoing = DbAccess.ExecuteDataTable("SELECT OutId,left(OutTime,2)+':'+right(OutTime,2) as OutTime,Location,CustomerName,left(GoOutTime,2)+':'+right(GoOutTime,2) as GoOutTime,UpdateDate,UpdateTime FROM gvOutgoing WHERE Status IN ('A','U','AM','UM') AND OutDate=@OutDate AND OutMan IN (@OutMan,@TempEmpNo) AND (GoOutTime IS NULL OR GoOutTime = '') Order by OutTime", new DbParameter[] { DataAccess.CreateParameter("OutDate", DbType.String, DateTime.Now.ToString("yyyyMMdd")), DataAccess.CreateParameter("OutMan", DbType.String, EmpNo), DataAccess.CreateParameter("TempEmpNo", DbType.String, TempEmpNo), } ); for (int i = 0; i < dtOutgoing.Rows.Count; i++) { EmpOutingInfo.OutgoingList.Add( new OutgoingListModel() { OutId = dtOutgoing.Rows[i]["OutId"].ToString(), OutTime = dtOutgoing.Rows[i]["OutTime"].ToString(), Location = dtOutgoing.Rows[i]["Location"].ToString(), CustomerName = dtOutgoing.Rows[i]["CustomerName"].ToString(), GoOutTime = dtOutgoing.Rows[i]["GoOutTime"].ToString(), UpdateDate = dtOutgoing.Rows[i]["UpdateDate"].ToString(), UpdateTime = dtOutgoing.Rows[i]["UpdateTime"].ToString() } ); } return(EmpOutingInfo); }