public ActionResult OutgoingInfo(string EmpNo)
        {
            EmpOutingInfoModel EmpOutingInfo = ModelFactory.GetOutgoingList(EmpNo);

            ViewData["EmpOutingInfo"] = EmpOutingInfo;



            return(View());
        }
Beispiel #2
0
        /// <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);
        }