diff --git a/ApiControllers/rep_eva_xControllers.cs b/ApiControllers/rep_eva_xControllers.cs index 7ca8ca2..f033b5a 100644 --- a/ApiControllers/rep_eva_xControllers.cs +++ b/ApiControllers/rep_eva_xControllers.cs @@ -275,10 +275,24 @@ namespace TodoAPI2.Controllers { string url = $"{mainurl}{reportsite}/rep_eva_x{k}.{model.filetype}?{MyHelper.GetParameterForJasperReport(p1)}&j_username={username}&j_password={password}"; - if(p1.chief_fullname == p1.supervisor2_fullname && k == 3) + if(k == 3) { - url = $"{mainurl}{reportsite}/rep_eva_x{k}A.{model.filetype}?{MyHelper.GetParameterForJasperReport(p1)}&j_username={username}&j_password={password}"; - } + if (p1.chief_fullname == p1.supervisor2_fullname) + { + url = $"{mainurl}{reportsite}/rep_eva_x{k}A.{model.filetype}?{MyHelper.GetParameterForJasperReport(p1)}&j_username={username}&j_password={password}"; + } + else + { + if (!string.IsNullOrEmpty(p1.supervisor2A_fullname) && string.IsNullOrEmpty(p1.supervisor1A_fullname)) + { + url = $"{mainurl}{reportsite}/rep_eva_x{k}B.{model.filetype}?{MyHelper.GetParameterForJasperReport(p1)}&j_username={username}&j_password={password}"; + } + else if (string.IsNullOrEmpty(p1.supervisor2A_fullname) && string.IsNullOrEmpty(p1.supervisor1A_fullname)) + { + url = $"{mainurl}{reportsite}/rep_eva_x{k}B2.{model.filetype}?{MyHelper.GetParameterForJasperReport(p1)}&j_username={username}&j_password={password}"; + } + } + } if (p1.employee_position_type == "อำนวยการ" && k == 1) { diff --git a/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processService.cs b/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processService.cs index 2d3cbf5..7c27821 100644 --- a/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processService.cs +++ b/Models/eva_create_evaluation_detail_process/eva_create_evaluation_detail_processService.cs @@ -20,16 +20,16 @@ namespace TodoAPI2.Models public class eva_create_evaluation_detail_processService : Ieva_create_evaluation_detail_processService { private IBaseRepository2 _repository; - private IMyDatabase db; - private Iexternal_linkageService ext; + private IMyDatabase db; + private Iexternal_linkageService ext; Iexternal_employeeService emp; - public eva_create_evaluation_detail_processService(IBaseRepository2 repository, + public eva_create_evaluation_detail_processService(IBaseRepository2 repository, IMyDatabase mydb, Iexternal_linkageService inext, Iexternal_employeeService inemp) { _repository = repository; - db = mydb; - ext = inext; + db = mydb; + ext = inext; emp = inemp; } @@ -50,7 +50,7 @@ namespace TodoAPI2.Models { return Mapper.Map>(entities); } - + #endregion #region Public Functions @@ -72,6 +72,13 @@ namespace TodoAPI2.Models return end; } + private T isNull(T s, T o) + { + if(s == null) return o; + + return s; + } + public eva_create_evaluation_detail_processWithSelectionViewModel Get(int id, int? emp_id, string path) { object special_person = (from x in _repository.Context.eva_setup_permission @@ -121,15 +128,15 @@ namespace TodoAPI2.Models into external_chiefResult from fk_external_chief in external_chiefResult.DefaultIfEmpty() - join fk_external_supervisor2 in allemp on fk_eva_create_evaluationResult10.employee_id equals fk_external_supervisor2.id + join fk_external_supervisor2 in allemp on isNull(m_eva_create_evaluation_detail_process.eva_employee_id,fk_eva_create_evaluationResult10.employee_id) equals fk_external_supervisor2.id into external_supervisor2Result from fk_external_supervisor2 in external_supervisor2Result.DefaultIfEmpty() - join fk_external_supervisor1A in allemp on fk_eva_create_evaluationResult10.supervisor1_id equals fk_external_supervisor1A.id + join fk_external_supervisor1A in allemp on isNull(m_eva_create_evaluation_detail_process.supervisor1_id, fk_eva_create_evaluationResult10.supervisor1_id) equals fk_external_supervisor1A.id into external_supervisor1AResult from fk_external_supervisor1A in external_supervisor1AResult.DefaultIfEmpty() - join fk_external_supervisor2A in allemp on fk_eva_create_evaluationResult10.supervisor2_id equals fk_external_supervisor2A.id + join fk_external_supervisor2A in allemp on isNull(m_eva_create_evaluation_detail_process.supervisor2_id, fk_eva_create_evaluationResult10.supervisor2_id) equals fk_external_supervisor2A.id into external_supervisor2AResult from fk_external_supervisor2A in external_supervisor2AResult.DefaultIfEmpty()