/// <summary> /// 取得RowUnid /// </summary> /// <param name="EmpID">員工代碼</param> /// <param name="WorkingDate">工作日</param> /// <remarks> /// 傳入EmpID, WorkingDate,查詢並轉換為單日填報RowUnid代碼 /// </remarks> /// <returns></returns> protected string GetWorkingHoursRowUnidByWorkingDate(string EmpID, DateTime WorkingDate) { string RowUnid = null; // 查詢 [whs].[WorkingHours] var MyHrisDB = new HrisDbContext(); var WorkingHoursQuerable = MyHrisDB.TB_WorkingHours .Where(b => b.EmpID == EmpID && b.WorkingDate == WorkingDate); if (WorkingHoursQuerable != null && WorkingHoursQuerable.Count() > 0) { WorkingHoursEntity WorkingHoursInfo = WorkingHoursQuerable.FirstOrDefault(); RowUnid = WorkingHoursInfo?.RowUnid; } return(RowUnid); }
public ActionResult <ApplicationDetailEntity> GetApplicationDetail(string FlowID) { // =========================================== ApplicationDetailEntity retApplicationDetailInfo = new ApplicationDetailEntity(); List <WorkdateListEntity> retWorkdateList = new List <WorkdateListEntity>(); // ============================================ var MyHrisDB = new HrisDbContext(); // 查詢ProcessStatus ==================================================== // 申請案件基本資料 ProcessStatusEntity ProcessStatusInfo = MyHrisDB.TB_ProcessStatusEntitys .Where(b => b.FlowID == FlowID && b.IsDeleted == "0").FirstOrDefault(); if (ProcessStatusInfo == null) { return(NotFound(retApplicationDetailInfo)); } string EmpID = ProcessStatusInfo.ApplyID; string EmpName = MyHrisDB.TB_Employees .Where(e => e.EmpID == EmpID).Select(e => e.EmpName.Trim()).FirstOrDefault(); retApplicationDetailInfo.Home = new ApplicationDetailHomeEntity() { EmpName = EmpName }; // 查詢ProcessStatusDetail ==================================================== // 申請案件明細資料 List <ProcessStatusDetailEntity> ProcessStatusDetailListInfo = MyHrisDB.TB_ProcessStatusDetailEntitys .Where(p => p.FlowID == FlowID).ToList(); foreach (string currentRowUnid in ProcessStatusDetailListInfo .Select(p => p.RowUnid.Trim())) { WorkingHoursEntity WorkingHoursEntityInfo = MyHrisDB.TB_WorkingHours .Where(w => w.RowUnid == currentRowUnid && w.IsDelete == "0") .FirstOrDefault(); if (WorkingHoursEntityInfo == null) { return(NotFound(retApplicationDetailInfo)); } List <WorkingHoursDetailWithJobNameEntity> WorkingHoursDetailWithJobNameListInfo = (from currentvwWorkingHoursDetailInfo in MyHrisDB.VW_vwWorkingHoursDetailEntitys where currentvwWorkingHoursDetailInfo.RowUnid == currentRowUnid select new WorkingHoursDetailWithJobNameEntity { TypeCode = currentvwWorkingHoursDetailInfo.TypeCode, JobCode = currentvwWorkingHoursDetailInfo.JobCode, JobName = currentvwWorkingHoursDetailInfo.JobName, WorkingHours = currentvwWorkingHoursDetailInfo.WorkingHours, Note = currentvwWorkingHoursDetailInfo.Note }).ToList(); WorkdateListEntity WorkdateListInfo = new WorkdateListEntity(); WorkdateListInfo.RowUnid = WorkingHoursEntityInfo.RowUnid; WorkdateListInfo.WorkingDate = WorkingHoursEntityInfo.WorkingDate.ToString("yyyy-MM-dd"); WorkdateListInfo.WorkingHourDetailList = WorkingHoursDetailWithJobNameListInfo; retWorkdateList.Add(WorkdateListInfo); } retApplicationDetailInfo.WorkdateList = retWorkdateList; return(Ok(retApplicationDetailInfo)); }