penambahan ekstrak hasil
This commit is contained in:
No files matched your search
@@ -19,4 +19,5 @@ SIMRS_STAG_NAME=simrsbackup
|
|||||||
SIMRS_STAG_PORT=5432
|
SIMRS_STAG_PORT=5432
|
||||||
|
|
||||||
LIS_MIKROBIOLOGI_URL=http://10.10.123.218/
|
LIS_MIKROBIOLOGI_URL=http://10.10.123.218/
|
||||||
LIS_REGISTERPASIEN=registerpasien
|
LIS_REGISTERPASIEN=registerpasien
|
||||||
|
LIS_EKSTRAKHASIL=ekstrakhasil
|
||||||
+2
-1
@@ -28,4 +28,5 @@ services:
|
|||||||
- SATUDATA_PORT=5000
|
- SATUDATA_PORT=5000
|
||||||
# LIS MIKROBIOLOGI
|
# LIS MIKROBIOLOGI
|
||||||
- LIS_MIKROBIOLOGI_URL=http://10.10.123.218/
|
- LIS_MIKROBIOLOGI_URL=http://10.10.123.218/
|
||||||
- LIS_REGISTERPASIEN=registerpasien
|
- LIS_REGISTERPASIEN=registerpasien
|
||||||
|
- LIS_EKSTRAKHASIL=ekstrakhasil
|
||||||
@@ -24,6 +24,7 @@ func (s *Server) RegisterRoutes() http.Handler {
|
|||||||
mikrobiologi := v1.Group("/mikrobiologi")
|
mikrobiologi := v1.Group("/mikrobiologi")
|
||||||
{
|
{
|
||||||
mikrobiologi.POST("/sendmikro", mikrobiologiHandler.SendDataLISMikro)
|
mikrobiologi.POST("/sendmikro", mikrobiologiHandler.SendDataLISMikro)
|
||||||
|
mikrobiologi.POST("/ekstrakhasil", mikrobiologiHandler.EkstrakHasil)
|
||||||
}
|
}
|
||||||
return r
|
return r
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ func SendDataLISMikro(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
//log.Println("REQUEST dari frontend:", req)
|
log.Println("REQUEST dari frontend:", req)
|
||||||
|
|
||||||
dataMikro, errData := simrsDB.GetDataMikroBiologiByNoMR(req)
|
dataMikro, errData := simrsDB.GetDataMikroBiologiByNoMR(req)
|
||||||
if errData != nil {
|
if errData != nil {
|
||||||
@@ -178,7 +178,7 @@ func SendDataLISMikro(c *gin.Context) {
|
|||||||
NamaSpesimen: value.JenisKelompok,
|
NamaSpesimen: value.JenisKelompok,
|
||||||
Pengambilan: "",
|
Pengambilan: "",
|
||||||
}
|
}
|
||||||
//log.Println("Sebelum masuk LIS", dataLisMikro)
|
log.Println("Sebelum masuk LIS", dataLisMikro)
|
||||||
resMikro, errMikro := SendLisMikro(dataLisMikro)
|
resMikro, errMikro := SendLisMikro(dataLisMikro)
|
||||||
if errMikro != nil {
|
if errMikro != nil {
|
||||||
log.Println(errMikro)
|
log.Println(errMikro)
|
||||||
@@ -188,7 +188,15 @@ func SendDataLISMikro(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
//log.Println(resMikro)
|
if resMikro.Status == "203" {
|
||||||
|
log.Println(resMikro)
|
||||||
|
c.JSON(http.StatusBadRequest, gin.H{
|
||||||
|
"message": resMikro.Message,
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Println(resMikro)
|
||||||
|
|
||||||
reqUpdate := &mikrobiologi.ReqUpdateLisMikro{
|
reqUpdate := &mikrobiologi.ReqUpdateLisMikro{
|
||||||
IdxOrderMikro: value.IdxOrderMikro,
|
IdxOrderMikro: value.IdxOrderMikro,
|
||||||
@@ -212,6 +220,31 @@ func SendDataLISMikro(c *gin.Context) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//log.Println("RESPONSE", responseMikro)
|
log.Println("RESPONSE", responseMikro)
|
||||||
c.JSON(http.StatusOK, responseMikro)
|
c.JSON(http.StatusOK, responseMikro)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func EkstrakHasil(c *gin.Context) {
|
||||||
|
var req mikrobiologi.RequestEkstrakhasil
|
||||||
|
|
||||||
|
err := c.Bind(&req)
|
||||||
|
if err != nil {
|
||||||
|
log.Println(err)
|
||||||
|
c.JSON(http.StatusBadRequest, gin.H{
|
||||||
|
"message": err,
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Println("REQUEST dari frontend:", req)
|
||||||
|
resEkstrakHasil, errMikro := EkstrakHasilLis(req)
|
||||||
|
if errMikro != nil {
|
||||||
|
log.Println("ini error:", errMikro)
|
||||||
|
c.JSON(http.StatusBadRequest, gin.H{
|
||||||
|
"message": errMikro.Error(),
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
log.Println(resEkstrakHasil)
|
||||||
|
c.JSON(http.StatusOK, resEkstrakHasil)
|
||||||
|
}
|
||||||
@@ -15,7 +15,7 @@ func SendLisMikro(request *mikrobiologi.RequestLISMikro) (*mikrobiologi.Response
|
|||||||
baseUrl := os.Getenv("LIS_MIKROBIOLOGI_URL")
|
baseUrl := os.Getenv("LIS_MIKROBIOLOGI_URL")
|
||||||
endpoint := os.Getenv("LIS_REGISTERPASIEN")
|
endpoint := os.Getenv("LIS_REGISTERPASIEN")
|
||||||
url := baseUrl + endpoint
|
url := baseUrl + endpoint
|
||||||
//log.Println("URL", url)
|
log.Println("URL", url)
|
||||||
|
|
||||||
reqMarshall, err := json.Marshal(request)
|
reqMarshall, err := json.Marshal(request)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -26,7 +26,7 @@ func SendLisMikro(request *mikrobiologi.RequestLISMikro) (*mikrobiologi.Response
|
|||||||
"Accept": "application/json",
|
"Accept": "application/json",
|
||||||
"Content-Type": "application/json",
|
"Content-Type": "application/json",
|
||||||
}
|
}
|
||||||
//log.Println("REQUEST: ", string(reqMarshall))
|
log.Println("REQUEST: ", string(reqMarshall))
|
||||||
|
|
||||||
req, err := http.NewRequest("POST", url, bytes.NewReader(reqMarshall))
|
req, err := http.NewRequest("POST", url, bytes.NewReader(reqMarshall))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -46,7 +46,82 @@ func SendLisMikro(request *mikrobiologi.RequestLISMikro) (*mikrobiologi.Response
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
//log.Println("dari LIS", response)
|
log.Println("dari LIS", response.StatusCode)
|
||||||
|
|
||||||
|
res, err := io.ReadAll(response.Body)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
}
|
||||||
|
//log.Println("code:", response.StatusCode)
|
||||||
|
if response.StatusCode != 201 && response.StatusCode != 504 {
|
||||||
|
var responseError *mikrobiologi.ResponseError
|
||||||
|
err = json.Unmarshal(res, &responseError)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("Error unmarshalling response: %v", err)
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Println("MASUK SINI?")
|
||||||
|
log.Println(responseError.Error)
|
||||||
|
return nil, fmt.Errorf(responseError.Error)
|
||||||
|
}
|
||||||
|
|
||||||
|
var responses *mikrobiologi.Response
|
||||||
|
|
||||||
|
log.Println("RESPONSE: ", string(res))
|
||||||
|
|
||||||
|
if response.StatusCode == 504 {
|
||||||
|
responses.Status = "203"
|
||||||
|
responses.Message = "Server LIS error"
|
||||||
|
return responses, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
err = json.Unmarshal(res, &responses)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("Error unmarshalling response: %v", err)
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return responses, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func EkstrakHasilLis(request mikrobiologi.RequestEkstrakhasil) ([]*mikrobiologi.RawDataEkstrakHasil, error) {
|
||||||
|
baseUrl := os.Getenv("LIS_MIKROBIOLOGI_URL")
|
||||||
|
endpoint := os.Getenv("LIS_EKSTRAKHASIL")
|
||||||
|
|
||||||
|
url := baseUrl + endpoint
|
||||||
|
log.Println("URL", url)
|
||||||
|
|
||||||
|
reqMarshall, err := json.Marshal(request)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("Error json marshal: %v", err)
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
headers := map[string]string{
|
||||||
|
"Accept": "application/json",
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
}
|
||||||
|
log.Println("REQUEST: ", string(reqMarshall))
|
||||||
|
|
||||||
|
req, err := http.NewRequest("POST", url, bytes.NewReader(reqMarshall))
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("Error creating request: %v", err)
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
for key, value := range headers {
|
||||||
|
req.Header.Set(key, value)
|
||||||
|
}
|
||||||
|
|
||||||
|
client := http.Client{}
|
||||||
|
|
||||||
|
response, err := client.Do(req)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("Error making external API request: %v", err)
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Println("dari LIS", response.StatusCode)
|
||||||
|
|
||||||
res, err := io.ReadAll(response.Body)
|
res, err := io.ReadAll(response.Body)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -66,14 +141,23 @@ func SendLisMikro(request *mikrobiologi.RequestLISMikro) (*mikrobiologi.Response
|
|||||||
return nil, fmt.Errorf(responseError.Error)
|
return nil, fmt.Errorf(responseError.Error)
|
||||||
}
|
}
|
||||||
|
|
||||||
var responses *mikrobiologi.Response
|
var responses mikrobiologi.ResponseEkstrak
|
||||||
|
|
||||||
|
log.Println("RESPONSE: ", string(res))
|
||||||
|
|
||||||
//log.Println("RESPONSE: ", string(res))
|
|
||||||
err = json.Unmarshal(res, &responses)
|
err = json.Unmarshal(res, &responses)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("Error unmarshalling response: %v", err)
|
log.Printf("Error unmarshalling response: %v", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
log.Println("RESPONSE: ", responses)
|
||||||
|
var rawData []*mikrobiologi.RawDataEkstrakHasil
|
||||||
|
err = json.Unmarshal([]byte(responses.RawData), &rawData)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("Error unmarshalling response rawdata: %v", err)
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
return responses, nil
|
log.Println("RESPONSE ekstrak hasil: ", rawData)
|
||||||
|
return rawData, nil
|
||||||
}
|
}
|
||||||
@@ -163,3 +163,28 @@ type RequestBatalMikro struct {
|
|||||||
NoLokal string `json:"no_lokal"`
|
NoLokal string `json:"no_lokal"`
|
||||||
Alasan string `json:"alasan"`
|
Alasan string `json:"alasan"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type RequestEkstrakhasil struct {
|
||||||
|
Nolab string `json:"nolab"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ResponseEkstrak struct {
|
||||||
|
HtmlLink string `json:"htmllink"`
|
||||||
|
Html string `json:"html"`
|
||||||
|
RawData string `json:"rawdata"`
|
||||||
|
}
|
||||||
|
type RawDataEkstrakHasil struct {
|
||||||
|
ID int `json:"id"`
|
||||||
|
AccNumber string `json:"accnumber"`
|
||||||
|
Template string `json:"template"`
|
||||||
|
Komponen string `json:"komponen"`
|
||||||
|
IsiData string `json:"isidata"`
|
||||||
|
CreatedBy string `json:"created_by"`
|
||||||
|
CreatedAt string `json:"created_at"`
|
||||||
|
UpdatedAt string `json:"updated_at"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type EkstrakHasil struct {
|
||||||
|
HtmlLink string `json:"htmllink"`
|
||||||
|
RawData []*RawDataEkstrakHasil `json:"rawdata"`
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user