Use request host for internal API URLs
This commit is contained in:
@@ -15,8 +15,8 @@ import (
|
||||
)
|
||||
|
||||
type AccountService interface {
|
||||
ChangePasswordPIC(host string, token string, currPassword string, newPassword string) (models.ResponseStatus, error)
|
||||
ChangePasswordPAT(token string, currPassword string, newPassword string) (models.ResponseStatus, error)
|
||||
ChangePasswordPIC(host string, token string, currPassword string, newPassword string, baseURL string) (models.ResponseStatus, error)
|
||||
ChangePasswordPAT(token string, currPassword string, newPassword string, baseURL string) (models.ResponseStatus, error)
|
||||
}
|
||||
|
||||
func NewAccountHandler(as AccountService) *AccountHandler {
|
||||
@@ -97,8 +97,10 @@ func (as *AccountHandler) HandleChangePassword(c echo.Context) error {
|
||||
return utils.ViewMulti(c, []templ.Component{toast, newBody})
|
||||
}
|
||||
|
||||
baseURL := utils.RequestBaseURL(c.Request())
|
||||
|
||||
if userGroup == "pic" {
|
||||
resp, err := as.AccountService.ChangePasswordPIC(h, token, old_pass, new_pass)
|
||||
resp, err := as.AccountService.ChangePasswordPIC(h, token, old_pass, new_pass, baseURL)
|
||||
if err != nil {
|
||||
newBody := sidebaruserprofile.ModalGantiPassword()
|
||||
toast := customtoastv2.CustomToastV2Show("Warning", err.Error(), "warning")
|
||||
@@ -108,7 +110,7 @@ func (as *AccountHandler) HandleChangePassword(c echo.Context) error {
|
||||
}
|
||||
|
||||
if userGroup == "patient" {
|
||||
resp, err := as.AccountService.ChangePasswordPAT(token, old_pass, new_pass)
|
||||
resp, err := as.AccountService.ChangePasswordPAT(token, old_pass, new_pass, baseURL)
|
||||
if err != nil {
|
||||
newBody := sidebaruserprofile.ModalGantiPassword()
|
||||
toast := customtoastv2.CustomToastV2Show("Warning", "Error ganti password pat", "warning")
|
||||
|
||||
@@ -17,11 +17,11 @@ import (
|
||||
|
||||
type TabDaftarPesertaServices interface {
|
||||
SearchDaftarPesertaMCU(mcuID string, keyword string, page int, perPage int) ([]models.ModelMcuDaftarPeserta, int, error)
|
||||
GenerataPasswordMCU(mgmMCUID string, host string) (models.GeneratePasswordResponse, error)
|
||||
GenerataPasswordMCU(mgmMCUID string, baseURL string) (models.GeneratePasswordResponse, error)
|
||||
GetAkunPeserta(patientID string) (models.AuthPatient, error)
|
||||
GetListReportPesertaV4(orderheaderID string, staffname string) ([]models.TabViewReportMcu, error)
|
||||
GetListReportPesertaV5(orderheaderID string, mcuid string, staffname string) ([]models.TabViewReportMcu, error)
|
||||
ResetPasswordPeserta(token string, newPassword string, email string, authuserid string) (models.ResponseStatus, error)
|
||||
ResetPasswordPeserta(token string, newPassword string, email string, authuserid string, baseURL string) (models.ResponseStatus, error)
|
||||
DetailTestdanPaket(orderheaderID string) ([]models.TableTestPaket, error)
|
||||
GetListAttachmentFile(orderheaderID string) ([]models.AttachmentFIle, error)
|
||||
}
|
||||
@@ -363,7 +363,8 @@ func (tdp *TabDaftarPesertaHandlers) HandleDialogGenPass(c echo.Context) error {
|
||||
pageparam := c.FormValue("currpage" + paginat_id)
|
||||
|
||||
msg := "Apakah anda yakin untuk me-generate password untuk seluruh peserta"
|
||||
resp, err := tdp.TabDaftarPesertaServices.GenerataPasswordMCU(id, "")
|
||||
baseURL := utils.RequestBaseURL(c.Request())
|
||||
resp, err := tdp.TabDaftarPesertaServices.GenerataPasswordMCU(id, baseURL)
|
||||
if err != nil {
|
||||
body_pass := corporate_daftarpeserta.Body_GenPass(dialog_passbody_id, msg, corporate_daftarpeserta.JSShowModal(""))
|
||||
toast := customtoastv2.CustomToastV2Show("Warning", "Gagal generate password peserta", "warning")
|
||||
@@ -637,7 +638,8 @@ func (tdp *TabDaftarPesertaHandlers) HandleAkun(c echo.Context) error {
|
||||
return utils.ViewMulti(c, ret)
|
||||
}
|
||||
|
||||
resp, err := tdp.TabDaftarPesertaServices.ResetPasswordPeserta(token, newPass, akunEmail, akunID)
|
||||
baseURL := utils.RequestBaseURL(c.Request())
|
||||
resp, err := tdp.TabDaftarPesertaServices.ResetPasswordPeserta(token, newPass, akunEmail, akunID, baseURL)
|
||||
body_err := corporate_daftarpeserta.Body_Account(
|
||||
dialog_akunbody_id,
|
||||
models.CustomTextFieldv2Prm{
|
||||
|
||||
@@ -16,7 +16,7 @@ import (
|
||||
type LoginService interface {
|
||||
CheckIsAccountCpone(email string) (string, error)
|
||||
CheckAccountHasLocation(email string) (bool, error)
|
||||
MultiSignInV2(username string, password string) (models.Response, error)
|
||||
MultiSignInV2(username string, password string, baseURL string) (models.Response, error)
|
||||
}
|
||||
|
||||
func NewLoginHandler(us LoginService) *LoginHandler {
|
||||
@@ -44,7 +44,9 @@ func (lh *LoginHandler) HandleSignIn(c echo.Context) error {
|
||||
defer logger.Sync()
|
||||
logger.Info("Params", zap.Any("username", username), zap.Any("pass", password))
|
||||
|
||||
resp, err := lh.LoginService.MultiSignInV2(username, password)
|
||||
// get the server hostname
|
||||
baseURL := utils.RequestBaseURL(c.Request())
|
||||
resp, err := lh.LoginService.MultiSignInV2(username, password, baseURL)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("Error", zap.Any("error multi signin", err))
|
||||
@@ -103,12 +105,12 @@ func (lh *LoginHandler) HandleSignIn(c echo.Context) error {
|
||||
|
||||
htmx.on("htmx:configRequest", (e)=> {
|
||||
e.detail.headers["Authorization"] = "Bearer ` + resp.Data.Token + `"
|
||||
})
|
||||
})
|
||||
|
||||
setTimeout(() => {
|
||||
htmx.ajax('GET', '/login/redirect?url=` + url + `')
|
||||
}, 200)
|
||||
</script>
|
||||
</script>
|
||||
`
|
||||
c.Response().Header().Set("HX-Trigger", "script")
|
||||
return c.String(http.StatusOK, store)
|
||||
@@ -186,7 +188,7 @@ func (lh *LoginHandler) HandleAutoLoginPage(c echo.Context) error {
|
||||
}
|
||||
})
|
||||
}, 200)
|
||||
</script>
|
||||
</script>
|
||||
`
|
||||
c.Response().Header().Set("HX-Trigger", "script")
|
||||
return c.String(http.StatusOK, redirect)
|
||||
@@ -215,8 +217,10 @@ func (lh *LoginHandler) HandleSignInV2(c echo.Context) error {
|
||||
return c.String(http.StatusOK, utype)
|
||||
}
|
||||
|
||||
// get the server hostname
|
||||
baseURL := utils.RequestBaseURL(c.Request())
|
||||
// resp, err := lh.LoginService.MultiSignIn(username, password, "")
|
||||
resp, err := lh.LoginService.MultiSignInV2(username, password)
|
||||
resp, err := lh.LoginService.MultiSignInV2(username, password, baseURL)
|
||||
if err != nil {
|
||||
logger.Info("[ERROR]", zap.Any("error multi sigin: ", err))
|
||||
|
||||
@@ -268,7 +272,7 @@ func (lh *LoginHandler) HandleSignInV2(c echo.Context) error {
|
||||
|
||||
htmx.on("htmx:configRequest", (e)=> {
|
||||
e.detail.headers["Authorization"] = "Bearer ` + resp.Data.Token + `"
|
||||
})
|
||||
})
|
||||
|
||||
setTimeout(() => {
|
||||
htmx.ajax('GET', '/login/redirect?url=` + url + `')
|
||||
@@ -286,8 +290,11 @@ func (lh *LoginHandler) HandleSignInV3(c echo.Context) error {
|
||||
username := c.FormValue("username")
|
||||
password := c.FormValue("password")
|
||||
|
||||
// get the server hostname
|
||||
baseURL := utils.RequestBaseURL(c.Request())
|
||||
|
||||
// check is type cpone and exist in location
|
||||
resp, err := lh.LoginService.MultiSignInV2(username, password)
|
||||
resp, err := lh.LoginService.MultiSignInV2(username, password, baseURL)
|
||||
if err != nil {
|
||||
logger.Error("[ERROR]", zap.Any("multi signin process: ", err))
|
||||
ret := public_login.ShowLogin("Login", public_login.MainLogin(false), public_login.CssLogin(), public_login.JsLogin())
|
||||
@@ -337,7 +344,7 @@ func (lh *LoginHandler) HandleSignInV3(c echo.Context) error {
|
||||
|
||||
htmx.on("htmx:configRequest", (e)=> {
|
||||
e.detail.headers["Authorization"] = "Bearer ` + resp.Data.Token + `"
|
||||
})
|
||||
})
|
||||
|
||||
setTimeout(() => {
|
||||
htmx.ajax('GET', '/login/redirect?url=` + url + `')
|
||||
|
||||
@@ -8,6 +8,7 @@ import (
|
||||
"encoding/json"
|
||||
"io"
|
||||
"net/http"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type AccountService struct {
|
||||
@@ -20,10 +21,13 @@ func NewAccountService(aStore db.AppStore) *AccountService {
|
||||
}
|
||||
}
|
||||
|
||||
func (as *AccountService) ChangePasswordPIC(host string, token string, currPassword string, newPassword string) (models.ResponseStatus, error) {
|
||||
func (as *AccountService) ChangePasswordPIC(host string, token string, currPassword string, newPassword string, baseURL string) (models.ResponseStatus, error) {
|
||||
var ret models.ResponseStatus
|
||||
|
||||
uri := "https://" + config.Data.Get("servername") + "/one-api/mockup/system/menu/change_password_pic"
|
||||
if strings.TrimSpace(baseURL) == "" {
|
||||
baseURL = "https://" + config.Data.Get("servername")
|
||||
}
|
||||
uri := strings.TrimRight(baseURL, "/") + "/one-api/mockup/system/menu/change_password_pic"
|
||||
|
||||
params, _ := json.Marshal(map[string]string{
|
||||
"new": newPassword,
|
||||
@@ -63,25 +67,13 @@ func (as *AccountService) ChangePasswordPIC(host string, token string, currPassw
|
||||
return ret, nil
|
||||
}
|
||||
|
||||
func (as *AccountService) ChangePasswordPAT(token string, currPassword string, newPassword string) (models.ResponseStatus, error) {
|
||||
func (as *AccountService) ChangePasswordPAT(token string, currPassword string, newPassword string, baseURL string) (models.ResponseStatus, error) {
|
||||
var ret models.ResponseStatus
|
||||
|
||||
uri := "https://" + config.Data.Get("servername") + "/one-api/mockup/system/menu/change_password_pat"
|
||||
|
||||
// params := url.Values{}
|
||||
// params.Add("new", newPassword)
|
||||
// params.Add("old", currPassword)
|
||||
// params.Add("token", token)
|
||||
|
||||
// req, err := http.PostForm(uri, params)
|
||||
// if err != nil {
|
||||
// ret = models.ResponseStatus{
|
||||
// Status: "ERR",
|
||||
// Message: "error request change password",
|
||||
// }
|
||||
// return ret, err
|
||||
// }
|
||||
// defer req.Body.Close()
|
||||
if strings.TrimSpace(baseURL) == "" {
|
||||
baseURL = "https://" + config.Data.Get("servername")
|
||||
}
|
||||
uri := strings.TrimRight(baseURL, "/") + "/one-api/mockup/system/menu/change_password_pat"
|
||||
|
||||
params, _ := json.Marshal(map[string]string{
|
||||
"new": newPassword,
|
||||
|
||||
@@ -14,6 +14,7 @@ import (
|
||||
"math"
|
||||
"net/http"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
@@ -47,7 +48,7 @@ func (tdps *TabDaftarPesertaServices) GetListDaftarPesertaMCU(id string, current
|
||||
SELECT *,
|
||||
GROUP_CONCAT(test_paket) as list_paket
|
||||
FROM (
|
||||
SELECT
|
||||
SELECT
|
||||
T_OrderHeaderID,
|
||||
T_OrderHeaderDate,
|
||||
IFNULL(T_OrderHeaderLabNumber, 0) AS T_OrderHeaderLabNumber,
|
||||
@@ -56,7 +57,7 @@ func (tdps *TabDaftarPesertaServices) GetListDaftarPesertaMCU(id string, current
|
||||
M_PatientNoReg,
|
||||
M_PatientName,
|
||||
M_PatientGender,
|
||||
CASE
|
||||
CASE
|
||||
WHEN M_PatientGender = 'male' THEN 'Laki - Laki'
|
||||
WHEN M_PatientGender = 'female' THEN 'Perempuan'
|
||||
ELSE ' '
|
||||
@@ -71,7 +72,7 @@ func (tdps *TabDaftarPesertaServices) GetListDaftarPesertaMCU(id string, current
|
||||
END AS test_paket
|
||||
FROM t_orderheader
|
||||
JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
||||
JOIN t_orderdetailorder ON T_OrderDetailOrderT_OrderHeaderID = T_OrderHeaderID
|
||||
JOIN t_orderdetailorder ON T_OrderDetailOrderT_OrderHeaderID = T_OrderHeaderID
|
||||
AND T_OrderDetailOrderIsActive = 'Y'
|
||||
LEFT JOIN auth_patient ON M_PatientID = authPatientM_PatientID AND authPatientIsActive = 'Y'
|
||||
WHERE T_OrderHeaderIsActive = 'Y' AND T_OrderHeaderMgm_McuID = ?
|
||||
@@ -99,7 +100,7 @@ func (tdps *TabDaftarPesertaServices) SearchDaftarPesertaMCU(mcuID string, keywo
|
||||
sqlt := `
|
||||
SELECT COUNT(*) as total
|
||||
FROM (
|
||||
SELECT
|
||||
SELECT
|
||||
T_OrderHeaderID,
|
||||
T_OrderHeaderDate,
|
||||
IFNULL(T_OrderHeaderLabNumber, 0) AS T_OrderHeaderLabNumber,
|
||||
@@ -108,7 +109,7 @@ func (tdps *TabDaftarPesertaServices) SearchDaftarPesertaMCU(mcuID string, keywo
|
||||
M_PatientNoReg,
|
||||
M_PatientName,
|
||||
M_PatientGender,
|
||||
CASE
|
||||
CASE
|
||||
WHEN M_PatientGender = 'male' THEN 'Laki - Laki'
|
||||
WHEN M_PatientGender = 'female' THEN 'Perempuan'
|
||||
ELSE ' '
|
||||
@@ -123,7 +124,7 @@ func (tdps *TabDaftarPesertaServices) SearchDaftarPesertaMCU(mcuID string, keywo
|
||||
END AS test_paket
|
||||
FROM t_orderheader
|
||||
JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
||||
JOIN t_orderdetailorder ON T_OrderDetailOrderT_OrderHeaderID = T_OrderHeaderID
|
||||
JOIN t_orderdetailorder ON T_OrderDetailOrderT_OrderHeaderID = T_OrderHeaderID
|
||||
AND T_OrderDetailOrderIsActive = 'Y'
|
||||
LEFT JOIN auth_patient ON M_PatientID = authPatientM_PatientID AND authPatientIsActive = 'Y'
|
||||
WHERE T_OrderHeaderIsActive = 'Y' AND T_OrderHeaderMgm_McuID = ? AND (M_PatientName LIKE ? OR M_PatientNIP LIKE ?)
|
||||
@@ -138,7 +139,7 @@ func (tdps *TabDaftarPesertaServices) SearchDaftarPesertaMCU(mcuID string, keywo
|
||||
SELECT *,
|
||||
GROUP_CONCAT(test_paket) as list_paket
|
||||
FROM (
|
||||
SELECT
|
||||
SELECT
|
||||
T_OrderHeaderID,
|
||||
T_OrderHeaderDate,
|
||||
IFNULL(T_OrderHeaderLabNumber, 0) AS T_OrderHeaderLabNumber,
|
||||
@@ -147,7 +148,7 @@ func (tdps *TabDaftarPesertaServices) SearchDaftarPesertaMCU(mcuID string, keywo
|
||||
M_PatientNoReg,
|
||||
M_PatientName,
|
||||
M_PatientGender,
|
||||
CASE
|
||||
CASE
|
||||
WHEN M_PatientGender = 'male' THEN 'Laki - Laki'
|
||||
WHEN M_PatientGender = 'female' THEN 'Perempuan'
|
||||
ELSE ' '
|
||||
@@ -162,10 +163,10 @@ func (tdps *TabDaftarPesertaServices) SearchDaftarPesertaMCU(mcuID string, keywo
|
||||
END AS test_paket
|
||||
FROM t_orderheader
|
||||
JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y'
|
||||
JOIN t_orderdetailorder ON T_OrderDetailOrderT_OrderHeaderID = T_OrderHeaderID
|
||||
JOIN t_orderdetailorder ON T_OrderDetailOrderT_OrderHeaderID = T_OrderHeaderID
|
||||
AND T_OrderDetailOrderIsActive = 'Y'
|
||||
LEFT JOIN auth_patient ON M_PatientID = authPatientM_PatientID AND authPatientIsActive = 'Y'
|
||||
WHERE T_OrderHeaderIsActive = 'Y' AND T_OrderHeaderMgm_McuID = ?
|
||||
WHERE T_OrderHeaderIsActive = 'Y' AND T_OrderHeaderMgm_McuID = ?
|
||||
AND (M_PatientName LIKE ? OR M_PatientNIP LIKE ?)
|
||||
) x
|
||||
GROUP BY T_OrderHeaderID
|
||||
@@ -238,10 +239,14 @@ func (tdps *TabDaftarPesertaServices) DetailTestdanPaket(orderheaderID string) (
|
||||
return ret, nil
|
||||
}
|
||||
|
||||
func (tdps *TabDaftarPesertaServices) GenerataPasswordMCU(mgmMCUID string, host string) (models.GeneratePasswordResponse, error) {
|
||||
func (tdps *TabDaftarPesertaServices) GenerataPasswordMCU(mgmMCUID string, baseURL string) (models.GeneratePasswordResponse, error) {
|
||||
logger, _ := zap.NewProduction()
|
||||
var ret models.GeneratePasswordResponse
|
||||
uri := "https://" + config.Data.Get("servername") + "/one-api/tools/auth_patient/generate/" + mgmMCUID
|
||||
|
||||
if strings.TrimSpace(baseURL) == "" {
|
||||
baseURL = "https://" + config.Data.Get("servername")
|
||||
}
|
||||
uri := strings.TrimRight(baseURL, "/") + "/one-api/tools/auth_patient/generate/" + mgmMCUID
|
||||
|
||||
payload := []byte{}
|
||||
resp, err := http.Post(uri, "application/json", bytes.NewBuffer(payload))
|
||||
@@ -287,10 +292,13 @@ func (tdps *TabDaftarPesertaServices) GetAkunPeserta(patientID string) (models.A
|
||||
return ret, nil
|
||||
}
|
||||
|
||||
func (tdps *TabDaftarPesertaServices) ResetPasswordPeserta(token string, newPassword string, email string, authuserid string) (models.ResponseStatus, error) {
|
||||
func (tdps *TabDaftarPesertaServices) ResetPasswordPeserta(token string, newPassword string, email string, authuserid string, baseURL string) (models.ResponseStatus, error) {
|
||||
var ret models.ResponseStatus
|
||||
|
||||
uri := "https://" + config.Data.Get("servername") + "/one-api/mockup/system/menu/reset_password_pat"
|
||||
if strings.TrimSpace(baseURL) == "" {
|
||||
baseURL = "https://" + config.Data.Get("servername")
|
||||
}
|
||||
uri := strings.TrimRight(baseURL, "/") + "/one-api/mockup/system/menu/reset_password_pat"
|
||||
|
||||
params, _ := json.Marshal(map[string]string{
|
||||
"new": newPassword,
|
||||
@@ -376,7 +384,7 @@ func (tdps *TabDaftarPesertaServices) GetListReportPesertaV3(orderheaderID strin
|
||||
JOIN so_resultentry sre ON sre.So_ResultEntryT_OrderDetailID = tdet.T_OrderDetailID
|
||||
AND sre.So_ResultEntryIsActive = 'Y'
|
||||
WHERE tdet.T_OrderDetailT_OrderHeaderID = ?
|
||||
AND tdet.T_OrderDetailIsActive = 'Y'
|
||||
AND tdet.T_OrderDetailIsActive = 'Y'
|
||||
`
|
||||
if err := dbx.Handlex.Select(&SoResultData, q, orderheaderID); err != nil {
|
||||
return returnTab, fmt.Errorf("error get so result data non lab: %v", err)
|
||||
@@ -456,7 +464,7 @@ func (tdps *TabDaftarPesertaServices) GetListReportPesertaV4(orderheaderID strin
|
||||
mp.M_PatientName,
|
||||
DATE_FORMAT(NOW(), '%y%m%d%H%i%s') AS Datetime
|
||||
FROM t_orderheader toh
|
||||
JOIN m_patient mp ON toh.T_OrderHeaderM_PatientID = mp.M_PatientID
|
||||
JOIN m_patient mp ON toh.T_OrderHeaderM_PatientID = mp.M_PatientID
|
||||
AND mp.M_PatientIsActive = 'Y'
|
||||
WHERE toh.T_OrderHeaderID = ? AND toh.T_OrderHeaderIsActive = 'Y'
|
||||
`
|
||||
@@ -481,44 +489,44 @@ func (tdps *TabDaftarPesertaServices) GetListReportPesertaV4(orderheaderID strin
|
||||
papsmear := ""
|
||||
|
||||
sql_rpt := `
|
||||
SELECT DISTINCT group_resultName as rpt_name,
|
||||
IFNULL(So_ResultEntryID,0) as so_id,
|
||||
SELECT DISTINCT group_resultName as rpt_name,
|
||||
IFNULL(So_ResultEntryID,0) as so_id,
|
||||
T_OrderDetailT_OrderHeaderID as order_id,
|
||||
DATE_FORMAT(NOW(), '%y%m%d%H%i%s') AS Datetime
|
||||
FROM t_orderdetail
|
||||
JOIN t_test ON T_OrderDetailT_TestID = T_TestID
|
||||
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID
|
||||
JOIN group_result ON Group_ResultID = Group_ResultDetailGroup_ResultID AND
|
||||
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID
|
||||
JOIN group_result ON Group_ResultID = Group_ResultDetailGroup_ResultID AND
|
||||
Group_ResultFlagPerTest = 'N' AND Group_ResultName <> 'LAB' AND Group_ResultFlagNonLab = 'N'
|
||||
LEFT JOIN so_resultentry ON So_ResultEntryT_OrderDetailID = T_OrderDetailID AND So_ResultEntryIsActive = 'Y'
|
||||
WHERE
|
||||
T_OrderDetailT_OrderHeaderID = ? AND Group_ResultName <> 'Tanpa Hasil'
|
||||
UNION
|
||||
SELECT DISTINCT group_resultName as rpt_name,
|
||||
IFNULL(So_ResultEntryID,0) as so_id,
|
||||
SELECT DISTINCT group_resultName as rpt_name,
|
||||
IFNULL(So_ResultEntryID,0) as so_id,
|
||||
T_OrderDetailT_OrderHeaderID as order_id,
|
||||
DATE_FORMAT(NOW(), '%y%m%d%H%i%s') AS Datetime
|
||||
FROM t_orderdetail
|
||||
JOIN t_test ON T_OrderDetailT_TestID = T_TestID
|
||||
JOIN t_samplingso ON T_SamplingSoT_OrderHeaderID = T_OrderDetailT_OrderHeaderID AND
|
||||
T_SamplingSoT_TestID = T_TestID
|
||||
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID
|
||||
JOIN group_result ON Group_ResultID = Group_ResultDetailGroup_ResultID AND
|
||||
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID
|
||||
JOIN group_result ON Group_ResultID = Group_ResultDetailGroup_ResultID AND
|
||||
Group_ResultFlagPerTest = 'N' AND Group_ResultName <> 'LAB' AND Group_ResultFlagNonLab = 'Y'
|
||||
LEFT JOIN so_resultentry ON So_ResultEntryT_OrderDetailID = T_OrderDetailID AND So_ResultEntryIsActive = 'Y'
|
||||
WHERE
|
||||
T_OrderDetailT_OrderHeaderID = ? AND Group_ResultName <> 'Tanpa Hasil'
|
||||
UNION
|
||||
SELECT DISTINCT T_TestName as rpt_name,
|
||||
IFNULL(So_ResultEntryID,0) as so_id,
|
||||
SELECT DISTINCT T_TestName as rpt_name,
|
||||
IFNULL(So_ResultEntryID,0) as so_id,
|
||||
T_OrderDetailT_OrderHeaderID as order_id,
|
||||
DATE_FORMAT(NOW(), '%y%m%d%H%i%s') AS Datetime
|
||||
FROM t_orderdetail
|
||||
JOIN t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestName NOT IN ('Visus Mata','Buta Warna','Pemeriksaan Lapang Pandang')
|
||||
JOIN t_samplingso ON T_SamplingSoT_OrderHeaderID = T_OrderDetailT_OrderHeaderID AND
|
||||
T_SamplingSoT_TestID = T_TestID
|
||||
T_SamplingSoT_TestID = T_TestID
|
||||
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID
|
||||
JOIN group_result ON Group_ResultID = Group_ResultDetailGroup_ResultID AND
|
||||
JOIN group_result ON Group_ResultID = Group_ResultDetailGroup_ResultID AND
|
||||
Group_ResultFlagPerTest = 'Y' AND Group_ResultFlagNonLab = 'Y'
|
||||
LEFT JOIN so_resultentry ON So_ResultEntryT_OrderDetailID = T_OrderDetailID AND So_ResultEntryIsActive = 'Y'
|
||||
WHERE
|
||||
@@ -561,7 +569,7 @@ func (tdps *TabDaftarPesertaServices) GetListReportPesertaV4(orderheaderID strin
|
||||
Mcu_ResumeID,
|
||||
DATE_FORMAT(NOW(), '%y%m%d%H%i%s') AS Datetime
|
||||
FROM mcu_resume
|
||||
WHERE Mcu_ResumeT_OrderHeaderID = ?
|
||||
WHERE Mcu_ResumeT_OrderHeaderID = ?
|
||||
AND Mcu_ResumeIsActive = 'Y' AND Mcu_ResumeStatus = 'VAL'
|
||||
`
|
||||
if err := dbx.Handlex.Get(&ResumeData, sql_resume, orderheaderID); err != nil {
|
||||
@@ -635,7 +643,7 @@ func (tdps *TabDaftarPesertaServices) GetListReportPesertaV5(orderheaderID strin
|
||||
mp.M_PatientName,
|
||||
DATE_FORMAT(NOW(), '%y%m%d%H%i%s') AS Datetime
|
||||
FROM t_orderheader toh
|
||||
JOIN m_patient mp ON toh.T_OrderHeaderM_PatientID = mp.M_PatientID
|
||||
JOIN m_patient mp ON toh.T_OrderHeaderM_PatientID = mp.M_PatientID
|
||||
AND mp.M_PatientIsActive = 'Y'
|
||||
WHERE toh.T_OrderHeaderID = ? AND toh.T_OrderHeaderIsActive = 'Y'
|
||||
`
|
||||
@@ -667,44 +675,44 @@ func (tdps *TabDaftarPesertaServices) GetListReportPesertaV5(orderheaderID strin
|
||||
sds := ""
|
||||
|
||||
sql_rpt := `
|
||||
SELECT DISTINCT group_resultName as rpt_name,
|
||||
IFNULL(So_ResultEntryID,0) as so_id,
|
||||
SELECT DISTINCT group_resultName as rpt_name,
|
||||
IFNULL(So_ResultEntryID,0) as so_id,
|
||||
T_OrderDetailT_OrderHeaderID as order_id,
|
||||
DATE_FORMAT(NOW(), '%y%m%d%H%i%s') AS Datetime
|
||||
FROM t_orderdetail
|
||||
JOIN t_test ON T_OrderDetailT_TestID = T_TestID
|
||||
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID
|
||||
JOIN group_result ON Group_ResultID = Group_ResultDetailGroup_ResultID AND
|
||||
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID
|
||||
JOIN group_result ON Group_ResultID = Group_ResultDetailGroup_ResultID AND
|
||||
Group_ResultFlagPerTest = 'N' AND Group_ResultName <> 'LAB' AND Group_ResultFlagNonLab = 'N'
|
||||
LEFT JOIN so_resultentry ON So_ResultEntryT_OrderDetailID = T_OrderDetailID AND So_ResultEntryIsActive = 'Y'
|
||||
WHERE
|
||||
T_OrderDetailT_OrderHeaderID = ? AND Group_ResultName <> 'Tanpa Hasil'
|
||||
UNION
|
||||
SELECT DISTINCT group_resultName as rpt_name,
|
||||
IFNULL(So_ResultEntryID,0) as so_id,
|
||||
SELECT DISTINCT group_resultName as rpt_name,
|
||||
IFNULL(So_ResultEntryID,0) as so_id,
|
||||
T_OrderDetailT_OrderHeaderID as order_id,
|
||||
DATE_FORMAT(NOW(), '%y%m%d%H%i%s') AS Datetime
|
||||
FROM t_orderdetail
|
||||
JOIN t_test ON T_OrderDetailT_TestID = T_TestID
|
||||
JOIN t_samplingso ON T_SamplingSoT_OrderHeaderID = T_OrderDetailT_OrderHeaderID AND
|
||||
T_SamplingSoT_TestID = T_TestID
|
||||
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID
|
||||
JOIN group_result ON Group_ResultID = Group_ResultDetailGroup_ResultID AND
|
||||
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID
|
||||
JOIN group_result ON Group_ResultID = Group_ResultDetailGroup_ResultID AND
|
||||
Group_ResultFlagPerTest = 'N' AND Group_ResultName <> 'LAB' AND Group_ResultFlagNonLab = 'Y'
|
||||
LEFT JOIN so_resultentry ON So_ResultEntryT_OrderDetailID = T_OrderDetailID AND So_ResultEntryIsActive = 'Y'
|
||||
WHERE
|
||||
T_OrderDetailT_OrderHeaderID = ? AND Group_ResultName <> 'Tanpa Hasil'
|
||||
UNION
|
||||
SELECT DISTINCT T_TestName as rpt_name,
|
||||
IFNULL(So_ResultEntryID,0) as so_id,
|
||||
SELECT DISTINCT T_TestName as rpt_name,
|
||||
IFNULL(So_ResultEntryID,0) as so_id,
|
||||
T_OrderDetailT_OrderHeaderID as order_id,
|
||||
DATE_FORMAT(NOW(), '%y%m%d%H%i%s') AS Datetime
|
||||
FROM t_orderdetail
|
||||
JOIN t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestName NOT IN ('Visus Mata','Buta Warna','Pemeriksaan Lapang Pandang')
|
||||
JOIN t_samplingso ON T_SamplingSoT_OrderHeaderID = T_OrderDetailT_OrderHeaderID AND
|
||||
T_SamplingSoT_TestID = T_TestID
|
||||
T_SamplingSoT_TestID = T_TestID
|
||||
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID
|
||||
JOIN group_result ON Group_ResultID = Group_ResultDetailGroup_ResultID AND
|
||||
JOIN group_result ON Group_ResultID = Group_ResultDetailGroup_ResultID AND
|
||||
Group_ResultFlagPerTest = 'Y' AND Group_ResultFlagNonLab = 'Y'
|
||||
LEFT JOIN so_resultentry ON So_ResultEntryT_OrderDetailID = T_OrderDetailID AND So_ResultEntryIsActive = 'Y'
|
||||
WHERE
|
||||
@@ -744,7 +752,7 @@ func (tdps *TabDaftarPesertaServices) GetListReportPesertaV5(orderheaderID strin
|
||||
if d.So_id != "0" {
|
||||
tipval := ""
|
||||
tpe := `SELECT So_ResultEntrySDSTypeValue as tipval
|
||||
FROM so_resultentrysds_type WHERE So_ResultEntrySDSTypeSo_ResultEntryID = ?
|
||||
FROM so_resultentrysds_type WHERE So_ResultEntrySDSTypeSo_ResultEntryID = ?
|
||||
AND So_ResultEntrySDSTypeIsActive = 'Y' LIMIT 1`
|
||||
if err := dbx.Handlex.Get(&tipval, tpe, d.So_id); err != nil {
|
||||
if errors.Is(err, sql.ErrNoRows) {
|
||||
@@ -784,7 +792,7 @@ func (tdps *TabDaftarPesertaServices) GetListReportPesertaV5(orderheaderID strin
|
||||
if d.So_id != "0" {
|
||||
tipval := ""
|
||||
tpe := `SELECT So_ResultEntrySDSTypeValue as tipval
|
||||
FROM so_resultentrysds_type WHERE So_ResultEntrySDSTypeSo_ResultEntryID = ?
|
||||
FROM so_resultentrysds_type WHERE So_ResultEntrySDSTypeSo_ResultEntryID = ?
|
||||
AND So_ResultEntrySDSTypeIsActive = 'Y' LIMIT 1`
|
||||
if err := dbx.Handlex.Get(&tipval, tpe, d.So_id); err != nil {
|
||||
if errors.Is(err, sql.ErrNoRows) {
|
||||
@@ -811,7 +819,7 @@ func (tdps *TabDaftarPesertaServices) GetListReportPesertaV5(orderheaderID strin
|
||||
Mcu_ResumeID,
|
||||
DATE_FORMAT(NOW(), '%y%m%d%H%i%s') AS Datetime
|
||||
FROM mcu_resume
|
||||
WHERE Mcu_ResumeT_OrderHeaderID = ?
|
||||
WHERE Mcu_ResumeT_OrderHeaderID = ?
|
||||
AND Mcu_ResumeIsActive = 'Y' AND Mcu_ResumeStatus = 'VAL'
|
||||
`
|
||||
if err := dbx.Handlex.Get(&ResumeData, sql_resume, orderheaderID); err != nil {
|
||||
@@ -834,7 +842,7 @@ func (tdps *TabDaftarPesertaServices) GetListReportPesertaV5(orderheaderID strin
|
||||
additional := ""
|
||||
if fisik == "" {
|
||||
id_add := ""
|
||||
sql_additional := `SELECT So_ResultEntryID FROM t_orderdetail
|
||||
sql_additional := `SELECT So_ResultEntryID FROM t_orderdetail
|
||||
JOIN so_resultentry ON So_ResultEntryT_OrderDetailID = T_OrderDetailID AND So_ResultEntryIsActive = 'Y'
|
||||
WHERE T_OrderDetailT_OrderHeaderID = ? AND T_OrderDetailIsActive = 'Y' AND T_OrderDetailT_TestID IN (2571,2573,3450,2572) LIMIT 1`
|
||||
if err := dbx.Handlex.Get(&id_add, sql_additional, orderheaderID); err != nil {
|
||||
@@ -905,7 +913,7 @@ func (tdps *TabDaftarPesertaServices) GetListAttachmentFile(orderheaderID string
|
||||
File_AttachmentID,
|
||||
File_AttachmentFileName
|
||||
FROM t_orderheader
|
||||
JOIN file_attachment ON File_AttachmentT_OrderHeaderID = T_OrderHeaderID
|
||||
JOIN file_attachment ON File_AttachmentT_OrderHeaderID = T_OrderHeaderID
|
||||
AND T_OrderHeaderID = ? AND File_AttachmentIsActive = 'Y'
|
||||
ORDER BY File_AttachmentID ASC`
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ import (
|
||||
"errors"
|
||||
"io"
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
@@ -26,12 +27,15 @@ func NewServicesLogin(uStore db.AppStore) *ServicesLogin {
|
||||
}
|
||||
}
|
||||
|
||||
func (ls *ServicesLogin) MultiSignInV2(username string, password string) (models.Response, error) {
|
||||
func (ls *ServicesLogin) MultiSignInV2(username string, password string, baseURL string) (models.Response, error) {
|
||||
logger, _ := zap.NewProduction()
|
||||
var ret models.Response
|
||||
|
||||
// uri := "https://" + config.Data.Get("servername") + "/one-api/v1/system/auth_v2/multi_login"
|
||||
uri := "https://" + config.Data.Get("servername") + "/one-api/v1/system/auth_v2/multi_login_v2"
|
||||
if strings.TrimSpace(baseURL) == "" {
|
||||
baseURL = "https://" + config.Data.Get("servername")
|
||||
}
|
||||
|
||||
uri := strings.TrimRight(baseURL, "/") + "/one-api/v1/system/auth_v2/multi_login_v2"
|
||||
|
||||
params, _ := json.Marshal(map[string]string{
|
||||
"username": username,
|
||||
@@ -65,10 +69,9 @@ func (ls *ServicesLogin) MultiSignInV2(username string, password string) (models
|
||||
func (ls *ServicesLogin) CheckIsAccountCpone(email string) (string, error) {
|
||||
var usr_type string
|
||||
|
||||
q := `
|
||||
SELECT M_UserEmail
|
||||
FROM m_user
|
||||
WHERE M_UserEmail = ? AND M_UserIsActive = 'Y'
|
||||
q := `SELECT M_UserEmail
|
||||
FROM m_user
|
||||
WHERE M_UserEmail = ? AND M_UserIsActive = 'Y'
|
||||
`
|
||||
if err := dbx.Handlex.Get(&usr_type, q, email); err != nil {
|
||||
if errors.Is(err, sql.ErrNoRows) {
|
||||
@@ -83,13 +86,12 @@ func (ls *ServicesLogin) CheckIsAccountCpone(email string) (string, error) {
|
||||
func (ls *ServicesLogin) CheckAccountHasLocation(email string) (bool, error) {
|
||||
var placeholder string
|
||||
|
||||
sqla := `SELECT
|
||||
M_UserEmail
|
||||
sqla := `SELECT M_UserEmail
|
||||
FROM m_user
|
||||
JOIN m_userlocation ON M_UserLocationM_UserID = M_UserID
|
||||
WHERE M_UserEmail = ?
|
||||
WHERE M_UserEmail = ?
|
||||
AND M_UserIsActive = 'Y'
|
||||
`
|
||||
`
|
||||
if err := dbx.Handlex.Get(&placeholder, sqla, email); err != nil {
|
||||
if errors.Is(err, sql.ErrNoRows) {
|
||||
return false, nil
|
||||
|
||||
18
utils/requesturl.utils.go
Normal file
18
utils/requesturl.utils.go
Normal file
@@ -0,0 +1,18 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func RequestBaseURL(r *http.Request) string {
|
||||
scheme := "https"
|
||||
|
||||
if proto := r.Header.Get("X-Forwarded-Proto"); proto != "" {
|
||||
scheme = strings.TrimSpace(strings.Split(proto, ",")[0])
|
||||
} else if r.TLS != nil {
|
||||
scheme = "https"
|
||||
}
|
||||
|
||||
return scheme + "://" + r.Host
|
||||
}
|
||||
Reference in New Issue
Block a user