finished dokter / admin almost done
This commit is contained in:
@ -1,14 +1,20 @@
|
||||
const express = require('express');
|
||||
const router = express.Router()
|
||||
const db = require('../database/index.js')
|
||||
const tb_admin = db.admin
|
||||
const md5 = require('md5');
|
||||
// const tb_admin = db.admin
|
||||
const tb_dokter = db.dokter
|
||||
// const tb_login = db.login
|
||||
const tb_login = db.login
|
||||
const tb_pasien = db.pasien
|
||||
const tb_tindakan = db.tindakan
|
||||
const tb_obat = db.obat
|
||||
const tb_jadwal_dokter = db.jadwal_dokter
|
||||
const tb_rekam_medis = db.rekam_medis
|
||||
const Op = db.Sequelize.Op
|
||||
|
||||
const app = require('express')()
|
||||
var _ = require('underscore');
|
||||
|
||||
// const app = require('express')()
|
||||
const basicAuth = require('express-basic-auth')
|
||||
|
||||
const basicAuthMiddleware = basicAuth({
|
||||
@ -150,7 +156,7 @@ router.get('/obat', basicAuthMiddleware, async (req, res) => {
|
||||
|
||||
obat = JSON.parse(obat.dataValues.history)
|
||||
|
||||
res.status(200).send({ status: true, data: obat})
|
||||
res.status(200).send({ status: true, data: obat })
|
||||
} else {
|
||||
// console.log("ambil all obat")
|
||||
let obat = await tb_obat.findAll()
|
||||
@ -207,5 +213,523 @@ router.put('/obat', basicAuthMiddleware, async (req, res) => {
|
||||
})
|
||||
|
||||
|
||||
// create /dokter post request
|
||||
router.post('/dokter', basicAuthMiddleware, async (req, res) => {
|
||||
console.log("sini untuk dokter post")
|
||||
try {
|
||||
const nik = req.body.nik
|
||||
let cek_dokter = await tb_dokter.findOne({
|
||||
where: {
|
||||
nik: nik
|
||||
}
|
||||
})
|
||||
|
||||
if (cek_dokter) {
|
||||
return res.status(400).send({ status: false, message: `Dokter dengan NIK ${nik} sudah ada`, data: [cek_dokter.dataValues] })
|
||||
}
|
||||
|
||||
|
||||
// create dokter
|
||||
const new_dokter = await tb_dokter.create({
|
||||
nik: nik,
|
||||
nama: req.body.nama,
|
||||
alamat: req.body.alamat,
|
||||
no_telp: req.body.no_telp,
|
||||
status: "Aktif",
|
||||
spesialis: req.body.spesialis,
|
||||
})
|
||||
|
||||
await tb_login.create({
|
||||
username: nik,
|
||||
password: md5(nik),
|
||||
role: "dokter",
|
||||
id_dokter: nik
|
||||
})
|
||||
|
||||
const jadwals = req.body.jadwal
|
||||
// console.log(jadwal)
|
||||
// loop the jadwal
|
||||
for (let jadwal of jadwals) {
|
||||
// console.log(jadwal)
|
||||
await tb_jadwal_dokter.create({
|
||||
id_dokter: nik,
|
||||
hari: jadwal,
|
||||
jam_mulai: req.body.jam_mulai,
|
||||
jam_selesai: req.body.jam_selesai
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
res.status(200).send({ status: true, message: `Dokter ${req.body.nama} berhasil ditambahkan` })
|
||||
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
res.status(500).send({ status: false, message: "internal server error" })
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
// create /dokter get request
|
||||
router.get('/dokter', basicAuthMiddleware, async (req, res) => {
|
||||
console.log("sini untuk dokter get")
|
||||
try {
|
||||
let nik = req.query.nik
|
||||
// if id is not null
|
||||
if (nik) {
|
||||
let dokter = await tb_dokter.findOne({
|
||||
where: {
|
||||
nik: nik
|
||||
}
|
||||
})
|
||||
|
||||
if (!dokter) {
|
||||
return res.status(400).send({ status: false, message: `Dokter dengan NIK ${nik} tidak ditemukan` })
|
||||
}
|
||||
|
||||
let data
|
||||
if (req.query.detail == "jadwal") {
|
||||
data = await tb_jadwal_dokter.findAll({
|
||||
where: {
|
||||
id_dokter: nik
|
||||
}
|
||||
})
|
||||
|
||||
} else {
|
||||
data = dokter.dataValues
|
||||
}
|
||||
|
||||
res.status(200).send({ status: true, data: data })
|
||||
} else {
|
||||
// console.log("ambil all dokter")
|
||||
let dokter = await tb_dokter.findAll()
|
||||
res.status(200).send({ status: true, data: dokter })
|
||||
}
|
||||
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
res.status(500).send({ status: false, message: "internal server error" })
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
// create /dokter put request
|
||||
router.put('/dokter', basicAuthMiddleware, async (req, res) => {
|
||||
console.log("sini untuk dokter put")
|
||||
try {
|
||||
const nik = req.query.nik
|
||||
const detail = req.query.detail
|
||||
let dokter = await tb_dokter.findOne({
|
||||
where: {
|
||||
nik: nik
|
||||
}
|
||||
})
|
||||
|
||||
if (!dokter) {
|
||||
return res.status(400).send({ status: false, message: `Dokter dengan NIK ${nik} tidak ditemukan` })
|
||||
}
|
||||
|
||||
if (!detail || detail != "datanya") {
|
||||
return res.status(400).send({ status: false, message: `Detail Tidak Diketahui` })
|
||||
}
|
||||
|
||||
let message
|
||||
if (detail == 'datanya') {
|
||||
await dokter.update({
|
||||
nama: req.body.nama,
|
||||
alamat: req.body.alamat,
|
||||
no_telp: req.body.no_telp,
|
||||
spesialis: req.body.spesialis,
|
||||
})
|
||||
message = `Detail Dokter dengan ${nik} berhasil diedit`
|
||||
}
|
||||
|
||||
|
||||
res.status(200).send({ status: true, message: message })
|
||||
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
res.status(500).send({ status: false, message: "internal server error" })
|
||||
}
|
||||
})
|
||||
|
||||
// create /cek_jadwal get request
|
||||
router.get('/cek_jadwal', basicAuthMiddleware, async (req, res) => {
|
||||
console.log("sini untuk cek_jadwal get")
|
||||
try {
|
||||
const hari = req.query.hari
|
||||
const jam = req.query.jam
|
||||
|
||||
if (!hari || !jam) {
|
||||
return res.status(400).send({ status: false, message: `Hari dan Jam tidak diketahui` })
|
||||
}
|
||||
|
||||
let jadwal = await tb_jadwal_dokter.findAll({
|
||||
where: {
|
||||
hari: hari,
|
||||
jam_mulai: {
|
||||
[Op.lte]: jam
|
||||
},
|
||||
jam_selesai: {
|
||||
[Op.gte]: jam
|
||||
}
|
||||
},
|
||||
include: {
|
||||
model: tb_dokter,
|
||||
attributes: ['nama', 'spesialis']
|
||||
}
|
||||
})
|
||||
console.log(hari)
|
||||
console.log(jam)
|
||||
// cek if jadwal is empty
|
||||
if (jadwal.length == 0) {
|
||||
return res.status(400).send({ status: false, message: `Tidak ada jadwal pada hari ${hari} pada jam ${jam}`, data: [] })
|
||||
}
|
||||
|
||||
console.log(jadwal, "ini jadwalnya")
|
||||
|
||||
|
||||
res.status(200).send({ status: true, data: jadwal })
|
||||
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
res.status(500).send({ status: false, message: "internal server error" })
|
||||
}
|
||||
})
|
||||
|
||||
// create /pasien post request
|
||||
router.post('/pasien', basicAuthMiddleware, async (req, res) => {
|
||||
console.log("sini untuk pasien post")
|
||||
try {
|
||||
const nik = req.body.nik
|
||||
const nama = req.body.nama
|
||||
const jenis_kelamin = req.body.jenis_kelamin
|
||||
const tgl_lahir = req.body.tgl_lahir
|
||||
const alamat = req.body.alamat
|
||||
const pekerjaan = req.body.pekerjaan
|
||||
const golongan_darah = req.body.golongan_darah
|
||||
const pendidikan = req.body.pendidikan
|
||||
const no_telp = req.body.no_telp
|
||||
const status_pernikahan = req.body.status_pernikahan
|
||||
const nama_orang_tua_wali = req.body.nama_orang_tua_wali
|
||||
const nama_pasangan = req.body.nama_pasangan
|
||||
|
||||
if (!nik || !nama || !jenis_kelamin || !tgl_lahir || !alamat || !pekerjaan || !golongan_darah || !pendidikan || !no_telp || !status_pernikahan || !nama_orang_tua_wali || !nama_pasangan) {
|
||||
return res.status(400).send({ status: false, message: `Data tidak lengkap` })
|
||||
}
|
||||
|
||||
let pasien = await tb_pasien.findOne({
|
||||
where: {
|
||||
nik: nik
|
||||
}
|
||||
})
|
||||
|
||||
if (pasien) {
|
||||
return res.status(400).send({ status: false, message: `Pasien dengan NIK ${nik} sudah terdaftar`, data: [pasien.dataValues] })
|
||||
}
|
||||
|
||||
let tanggal_periksa = req.body.tanggal_periksa
|
||||
let id_dokter = req.body.id_dokter
|
||||
let jam_periksa = req.body.jam_periksa
|
||||
|
||||
let data_all = req.body
|
||||
let data_pasien, data_jadwal
|
||||
// remove tanggal_periksa, id_dokter, jam_periksa from req.body
|
||||
data_pasien = _.omit(data_all, ['tanggal_periksa', 'id_dokter', 'jam_periksa'])
|
||||
data_jadwal = _.omit(data_all, ['nik', 'nama', 'jenis_kelamin', 'tgl_lahir', 'alamat', 'pekerjaan', 'golongan_darah', 'pendidikan', 'no_telp', 'status_pernikahan', 'nama_orang_tua_wali', 'nama_pasangan'])
|
||||
|
||||
|
||||
let new_pasien = await tb_pasien.create(data_pasien)
|
||||
// add pasien nik to data_jadwal
|
||||
data_jadwal.id_pasien = new_pasien.nik
|
||||
|
||||
await tb_rekam_medis.create(data_jadwal)
|
||||
// console.log(data_pasien, "ini data pasien")
|
||||
// console.log(data_jadwal, "ini data jadwal")
|
||||
|
||||
res.status(200).send({ status: true, message: `Pasien dengan NIK ${nik} berhasil ditambahkan\nDan tanggal pemeriksaan berhasil ditambahkan` })
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
res.status(500).send({ status: false, message: "internal server error" })
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
// create /pasien get request
|
||||
router.get('/pasien', basicAuthMiddleware, async (req, res) => {
|
||||
console.log("sini untuk pasien get")
|
||||
try {
|
||||
const cariannya = req.query.cariannya
|
||||
const jadwal = req.query.jadwal
|
||||
let response
|
||||
if(jadwal && jadwal =="jadwal"){
|
||||
const id = req.query.id
|
||||
if(!id){
|
||||
return res.status(400).send({ status: false, message: `id tidak diketahui` })
|
||||
}
|
||||
let cek_pasien = await tb_pasien.findOne({
|
||||
where: {
|
||||
nik: id
|
||||
}
|
||||
})
|
||||
if(!cek_pasien){
|
||||
return res.status(400).send({ status: false, message: `Pasien dengan id ${id} tidak ditemukan` })
|
||||
}
|
||||
|
||||
response = await tb_rekam_medis.findAll({
|
||||
where: {
|
||||
id_pasien: id
|
||||
},
|
||||
include: [
|
||||
{
|
||||
model: tb_dokter,
|
||||
},
|
||||
{
|
||||
model: tb_pasien,
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
else if (cariannya) {
|
||||
response = await tb_pasien.findAll({
|
||||
where: {
|
||||
//
|
||||
[Op.or]: [
|
||||
{
|
||||
nama: {
|
||||
[Op.or]: [
|
||||
{ [Op.like]: '%' + cariannya + '%' },
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
nik:{
|
||||
[Op.or]: [
|
||||
{ [Op.like]: '%' + cariannya + '%' },
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
} else {
|
||||
response = await tb_pasien.findAll()
|
||||
}
|
||||
|
||||
|
||||
res.status(200).send({ status: true, data: response })
|
||||
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
res.status(500).send({ status: false, message: "internal server error" })
|
||||
}
|
||||
})
|
||||
|
||||
// create /pasien put request
|
||||
router.put('/pasien', basicAuthMiddleware, async (req, res) => {
|
||||
console.log("sini untuk pasien put")
|
||||
try {
|
||||
const nik = req.query.nik
|
||||
|
||||
if (!nik || !req.body.nama || !req.body.jenis_kelamin || !req.body.tgl_lahir || !req.body.alamat || !req.body.pekerjaan || !req.body.golongan_darah || !req.body.pendidikan || !req.body.no_telp || !req.body.status_pernikahan || !req.body.nama_orang_tua_wali || !req.body.nama_pasangan) {
|
||||
return res.status(400).send({ status: false, message: `Data tidak lengkap` })
|
||||
}
|
||||
|
||||
let pasien = await tb_pasien.findOne({
|
||||
where: {
|
||||
nik: nik
|
||||
}
|
||||
})
|
||||
|
||||
if (!pasien) {
|
||||
return res.status(400).send({ status: false, message: `Pasien dengan NIK ${nik} tidak terdaftar` })
|
||||
}
|
||||
|
||||
let datanya = req.body
|
||||
// remove nik from datanya
|
||||
datanya = _.omit(datanya, ['nik'])
|
||||
// console.log(datanya, "ini data yang akan di update")
|
||||
await tb_pasien.update(datanya, {
|
||||
where: {
|
||||
nik: nik
|
||||
}
|
||||
})
|
||||
|
||||
res.status(200).send({ status: true, message: `Data pasien dengan NIK ${nik} berhasil diubah` })
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
res.status(500).send({ status: false, message: "internal server error" })
|
||||
}
|
||||
})
|
||||
|
||||
// create /jadwal_dokter get request
|
||||
router.get('/jadwal_dokter', basicAuthMiddleware, async (req, res) => {
|
||||
console.log("sini untuk jadwal get")
|
||||
try {
|
||||
let today_date = new Date();
|
||||
let days = ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu'];
|
||||
let hari_ini = days[today_date.getDay()];
|
||||
let all_jadwal = await tb_jadwal_dokter.findAll({
|
||||
where: {
|
||||
hari: hari_ini
|
||||
},
|
||||
include: {
|
||||
model: tb_dokter,
|
||||
attributes: ['nama', 'spesialis']
|
||||
}
|
||||
})
|
||||
|
||||
res.status(200).send({ status: true, data: all_jadwal })
|
||||
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
res.status(500).send({ status: false, message: "internal server error" })
|
||||
}
|
||||
})
|
||||
|
||||
// create /jadwal_dokter post request
|
||||
router.post('/jadwal_dokter', basicAuthMiddleware, async (req, res) => {
|
||||
try{
|
||||
const data_jadwal = req.body
|
||||
if(!data_jadwal.id_dokter || !data_jadwal.hari || !data_jadwal.jam_mulai || !data_jadwal.jam_selesai){
|
||||
return res.status(400).send({ status: false, message: `Data tidak lengkap` })
|
||||
}
|
||||
let cek_dokter = await tb_dokter.findOne({
|
||||
where: {
|
||||
nik: data_jadwal.id_dokter
|
||||
}
|
||||
})
|
||||
if(!cek_dokter){
|
||||
return res.status(400).send({ status: false, message: `Dokter dengan id ${data_jadwal.id_dokter} tidak ditemukan` })
|
||||
}
|
||||
await tb_jadwal_dokter.create(data_jadwal)
|
||||
res.status(200).send({ status: true, message: `Jadwal dokter dengan id ${data_jadwal.id_dokter} berhasil ditambahkan` })
|
||||
}catch(err){
|
||||
console.log(err)
|
||||
res.status(500).send({ status: false, message: "internal server error" })
|
||||
}
|
||||
})
|
||||
|
||||
// create /jadwal_pasien get request
|
||||
router.get('/jadwal_pasien', basicAuthMiddleware, async (req, res) => {
|
||||
console.log("sini untuk jadwal get")
|
||||
try {
|
||||
let today_date = new Date();
|
||||
let dd = today_date.getDate();
|
||||
let mm = today_date.getMonth() + 1;
|
||||
let yyyy = today_date.getFullYear();
|
||||
dd = dd < 10 ? '0' + dd : dd;
|
||||
mm = mm < 10 ? '0' + mm : mm;
|
||||
let today_date_format = yyyy + '-' + mm + '-' + dd;
|
||||
let all_jadwal = await tb_rekam_medis.findAll({
|
||||
where: {
|
||||
tanggal_periksa: today_date_format
|
||||
},
|
||||
include: [
|
||||
{
|
||||
model: tb_dokter,
|
||||
// attributes: ['nama', 'spesialis']
|
||||
},
|
||||
{
|
||||
model: tb_pasien,
|
||||
// attributes: ['nama', 'nik', 'tgl_lahir', 'golongan_darah']
|
||||
}
|
||||
],
|
||||
// attributes: ['tanggal_periksa', 'jam_periksa', "id_pasien"]
|
||||
})
|
||||
|
||||
// calculate age
|
||||
|
||||
res.status(200).send({ status: true, data: all_jadwal })
|
||||
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
res.status(500).send({ status: false, message: "internal server error" })
|
||||
}
|
||||
})
|
||||
|
||||
// create /jadwal_pasien post request
|
||||
router.post('/jadwal_pasien', basicAuthMiddleware, async (req, res) => {
|
||||
try {
|
||||
const data = req.body
|
||||
// console.log(data, "ini datanya")
|
||||
if(!data.id_pasien && !data.tanggal_periksa && !data.jam_periksa && !data.id_dokter){
|
||||
return res.status(400).send({ status: false, message: `Data tidak lengkap` })
|
||||
}
|
||||
// calculate age
|
||||
await tb_rekam_medis.create(data)
|
||||
|
||||
let response = await tb_rekam_medis.findAll({
|
||||
where: {
|
||||
id_pasien : data.id_pasien
|
||||
},
|
||||
include: [
|
||||
{
|
||||
model: tb_pasien,
|
||||
},
|
||||
{
|
||||
model: tb_dokter,
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
res.status(200).send({ status: true, data: response })
|
||||
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
res.status(500).send({ status: false, message: "internal server error" })
|
||||
}
|
||||
})
|
||||
|
||||
// create /jadwal_pasien put request
|
||||
router.put('/jadwal_pasien', basicAuthMiddleware, async (req, res) => {
|
||||
try {
|
||||
const id_rekam_medis = req.query.id
|
||||
|
||||
if (!id_rekam_medis || !req.body.id_pasien || !req.body.tanggal_periksa || !req.body.jam_periksa || !req.body.id_dokter) {
|
||||
return res.status(400).send({ status: false, message: `Data tidak lengkap` })
|
||||
}
|
||||
|
||||
let pasien = await tb_rekam_medis.findOne({
|
||||
where: {
|
||||
id_rekam_medis: id_rekam_medis
|
||||
}
|
||||
})
|
||||
|
||||
if (!pasien) {
|
||||
return res.status(400).send({ status: false, message: `Data dengan id ${id_rekam_medis} tidak ada` })
|
||||
}
|
||||
|
||||
let datanya = req.body
|
||||
// remove id_pasien from datanya
|
||||
datanya = _.omit(datanya, ['id_pasien'])
|
||||
// console.log(datanya, "ini data yang akan di update")
|
||||
await tb_rekam_medis.update(datanya, {
|
||||
where: {
|
||||
id_rekam_medis: id_rekam_medis
|
||||
}
|
||||
})
|
||||
|
||||
let response = await tb_rekam_medis.findAll({
|
||||
where: {
|
||||
id_pasien : req.body.id_pasien
|
||||
},
|
||||
include: [
|
||||
{
|
||||
model: tb_pasien,
|
||||
},
|
||||
{
|
||||
model: tb_dokter,
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
res.status(200).send({ status: true, message: `Data pasien dengan id ${id_rekam_medis} berhasil diubah` ,data : response})
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
res.status(500).send({ status: false, message: "internal server error" })
|
||||
}
|
||||
})
|
||||
|
||||
module.exports = router
|
||||
374
server/routes/dokter_router.js
Normal file
374
server/routes/dokter_router.js
Normal file
@ -0,0 +1,374 @@
|
||||
const express = require('express');
|
||||
const router = express.Router()
|
||||
const db = require('../database/index.js')
|
||||
const md5 = require('md5');
|
||||
// const tb_admin = db.admin
|
||||
const tb_dokter = db.dokter
|
||||
const tb_login = db.login
|
||||
const tb_pasien = db.pasien
|
||||
const tb_tindakan = db.tindakan
|
||||
const tb_obat = db.obat
|
||||
const tb_jadwal_dokter = db.jadwal_dokter
|
||||
const tb_rekam_medis = db.rekam_medis
|
||||
const Op = db.Sequelize.Op
|
||||
var _ = require('underscore');
|
||||
|
||||
const basicAuth = require('express-basic-auth');
|
||||
const { obat } = require('../database/index.js');
|
||||
|
||||
const basicAuthMiddleware = basicAuth({
|
||||
users: { 'kicapkaran_admin': 'karan456_admin' },
|
||||
challenge: true,
|
||||
unauthorizedResponse: getUnauthenticatedResponse
|
||||
|
||||
})
|
||||
|
||||
function getUnauthenticatedResponse(req) {
|
||||
const { user } = req.auth?.user ?? {}
|
||||
return user ? `invalid credentials for user '${user}'` : 'no credentials provided';
|
||||
}
|
||||
|
||||
router.get('/', basicAuthMiddleware, async (req, res) => {
|
||||
res.send({ status: true, message: 'connected to dokter' })
|
||||
})
|
||||
|
||||
// create /jadwal_dokter get request
|
||||
router.get('/jadwal_dokter', basicAuthMiddleware, async (req, res) => {
|
||||
try {
|
||||
id = req.query.id
|
||||
|
||||
if (!id) {
|
||||
return res.status(400).send({ status: false, message: 'id tidak boleh kosong' })
|
||||
}
|
||||
|
||||
const response = await tb_jadwal_dokter.findAll({
|
||||
where: {
|
||||
id_dokter: id
|
||||
}
|
||||
})
|
||||
|
||||
res.send({ status: true, data: response })
|
||||
} catch (error) {
|
||||
res.send({ status: false, message: 'error' })
|
||||
}
|
||||
})
|
||||
|
||||
// create /jadwal_dokter post request
|
||||
router.post('/jadwal_dokter', basicAuthMiddleware, async (req, res) => {
|
||||
try {
|
||||
id = req.body.nik
|
||||
hari = req.body.hari
|
||||
jam_mulai = req.body.jam_mulai
|
||||
jam_selesai = req.body.jam_selesai
|
||||
|
||||
if (!id || !hari || !jam_mulai || !jam_selesai) {
|
||||
return res.status(400).send({ status: false, message: 'id, hari, jam_mulai, jam_selesai tidak boleh kosong' })
|
||||
}
|
||||
|
||||
const cek_jadwal = await tb_jadwal_dokter.findOne({
|
||||
where: {
|
||||
id_dokter: id,
|
||||
hari: hari
|
||||
}
|
||||
})
|
||||
|
||||
if (cek_jadwal) {
|
||||
return res.status(400).send({ status: false, message: 'Jadwal sudah ada' })
|
||||
}
|
||||
|
||||
|
||||
|
||||
const response = await tb_jadwal_dokter.create({
|
||||
id_dokter: id,
|
||||
hari: hari,
|
||||
jam_mulai: jam_mulai,
|
||||
jam_selesai: jam_selesai
|
||||
})
|
||||
|
||||
res.send({ status: true, message: "Jadwal pada hari " + hari + " telah ditambahkan" })
|
||||
} catch (error) {
|
||||
res.send({ status: false, message: 'error' })
|
||||
}
|
||||
})
|
||||
|
||||
// create /jadwal_dokter put request
|
||||
router.put('/jadwal_dokter', basicAuthMiddleware, async (req, res) => {
|
||||
try {
|
||||
id = req.query.id
|
||||
hari = req.body.hari
|
||||
jam_mulai = req.body.jam_mulai
|
||||
jam_selesai = req.body.jam_selesai
|
||||
|
||||
if (!id || !hari || !jam_mulai || !jam_selesai) {
|
||||
return res.status(400).send({ status: false, message: 'id, hari, jam_mulai, jam_selesai tidak boleh kosong' })
|
||||
}
|
||||
|
||||
const cek_data = await tb_jadwal_dokter.findOne({
|
||||
where: {
|
||||
id_dokter: id,
|
||||
hari: hari
|
||||
}
|
||||
})
|
||||
|
||||
if (!cek_data) {
|
||||
return res.status(400).send({ status: false, message: 'Jadwal tidak ditemukan' })
|
||||
}
|
||||
|
||||
await tb_jadwal_dokter.update({
|
||||
id_dokter: id,
|
||||
hari: hari,
|
||||
jam_mulai: jam_mulai,
|
||||
jam_selesai: jam_selesai
|
||||
}, {
|
||||
where: {
|
||||
hari: hari,
|
||||
}
|
||||
})
|
||||
// console.log(id , hari, jam_mulai, jam_selesai, "ini id hari jam_mulai jam_selesai")
|
||||
|
||||
res.send({ status: true, message: `Jadwal pada hari ${hari} telah diubah` })
|
||||
} catch (error) {
|
||||
res.send({ status: false, message: 'error' })
|
||||
}
|
||||
})
|
||||
|
||||
// create /jadwal_dokter delete request
|
||||
router.delete('/jadwal_dokter', basicAuthMiddleware, async (req, res) => {
|
||||
try {
|
||||
id = req.query.id
|
||||
hari = req.body.hari
|
||||
|
||||
if (!id || !hari) {
|
||||
return res.status(400).send({ status: false, message: 'id, hari tidak boleh kosong' })
|
||||
}
|
||||
|
||||
const cek_data = await tb_jadwal_dokter.findOne({
|
||||
where: {
|
||||
id_dokter: id,
|
||||
hari: hari
|
||||
}
|
||||
})
|
||||
|
||||
if (!cek_data) {
|
||||
return res.status(400).send({ status: false, message: 'Jadwal tidak ditemukan' })
|
||||
}
|
||||
|
||||
await tb_jadwal_dokter.destroy({
|
||||
where: {
|
||||
id_dokter: id,
|
||||
hari: hari,
|
||||
}
|
||||
})
|
||||
|
||||
res.send({ status: true, message: `Jadwal pada hari ${hari} telah dihapus` })
|
||||
} catch (error) {
|
||||
res.send({ status: false, message: 'error' })
|
||||
}
|
||||
})
|
||||
|
||||
// create /jadwal_ini_hari get request
|
||||
router.get('/jadwal_ini_hari', basicAuthMiddleware, async (req, res) => {
|
||||
try {
|
||||
id = req.query.id
|
||||
let today_date = new Date();
|
||||
let dd = today_date.getDate();
|
||||
let mm = today_date.getMonth() + 1;
|
||||
let yyyy = today_date.getFullYear();
|
||||
dd = dd < 10 ? '0' + dd : dd;
|
||||
mm = mm < 10 ? '0' + mm : mm;
|
||||
let today_date_format = yyyy + '-' + mm + '-' + dd;
|
||||
|
||||
if (!id) {
|
||||
return res.status(400).send({ status: false, message: 'id tidak boleh kosong' })
|
||||
}
|
||||
// console.log(today_date_format , "ini today_date_format");
|
||||
const response = await tb_rekam_medis.findAll({
|
||||
where: {
|
||||
id_dokter: id,
|
||||
tanggal_periksa: today_date_format
|
||||
},
|
||||
include: [
|
||||
{
|
||||
model: tb_pasien,
|
||||
}
|
||||
]
|
||||
})
|
||||
// console.log(response , "ini response");
|
||||
|
||||
// res.send({ status: true, data: "ini rekam medis" })
|
||||
res.send({ status: true, data: response })
|
||||
} catch (error) {
|
||||
res.send({ status: false, message: 'error' })
|
||||
}
|
||||
})
|
||||
|
||||
// create /cek_data_rekam_medis get request
|
||||
router.get('/cek_data_rekam_medis', basicAuthMiddleware, async (req, res) => {
|
||||
try {
|
||||
id = req.query.id
|
||||
id_dokter = req.query.id_dokter
|
||||
if (!id) {
|
||||
return res.status(400).send({ status: false, message: 'id tidak boleh kosong' })
|
||||
}
|
||||
if (!id_dokter) {
|
||||
return res.status(400).send({ status: false, message: 'id_dokter tidak boleh kosong' })
|
||||
}
|
||||
|
||||
const response = await tb_rekam_medis.findOne({
|
||||
where: {
|
||||
id_rekam_medis: id,
|
||||
id_dokter: id_dokter
|
||||
},
|
||||
include: [
|
||||
{
|
||||
model: tb_pasien,
|
||||
},
|
||||
{
|
||||
model: tb_dokter,
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
res.send({ status: true, data: response })
|
||||
} catch (error) {
|
||||
res.status(500).send({ status: false, message: 'error' })
|
||||
}
|
||||
})
|
||||
|
||||
// create /cek_obat get request
|
||||
router.get('/cek_obat', basicAuthMiddleware, async (req, res) => {
|
||||
try {
|
||||
id = req.query.id
|
||||
if (!id) {
|
||||
return res.status(400).send({ status: false, message: 'id tidak boleh kosong' })
|
||||
}
|
||||
|
||||
const response = await tb_obat.findOne({
|
||||
where: {
|
||||
id_obat: id
|
||||
}
|
||||
})
|
||||
|
||||
res.send({ status: true, data: response })
|
||||
} catch (error) {
|
||||
res.status(500).send({ status: false, message: 'error' })
|
||||
}
|
||||
})
|
||||
|
||||
// create /rekam_medis_update put request
|
||||
router.put('/rekam_medis_update', basicAuthMiddleware, async (req, res) => {
|
||||
try {
|
||||
let id = req.query.id_rekam_medis
|
||||
let id_dokter = req.query.id_dokter
|
||||
let keluhan = req.body.keluhan
|
||||
let diagnosa = req.body.diagnosa
|
||||
let keterangan = req.body.keterangan
|
||||
let obat = req.body.obat
|
||||
let tindakan = req.body.tindakan
|
||||
|
||||
if (!id) {
|
||||
return res.status(400).send({ status: false, message: 'id tidak boleh kosong' })
|
||||
}
|
||||
if (!id_dokter) {
|
||||
return res.status(400).send({ status: false, message: 'id_dokter tidak boleh kosong' })
|
||||
}
|
||||
|
||||
if (!keluhan && !diagnosa && !keterangan && !obat && !tindakan) {
|
||||
return res.status(400).send({ status: false, message: 'keluhan, diagnosa, keterangan, obat, tindakan tidak boleh kosong' })
|
||||
}
|
||||
|
||||
await tb_rekam_medis.update(
|
||||
{
|
||||
keluhan: keluhan,
|
||||
diagnosa: diagnosa,
|
||||
keterangan: keterangan,
|
||||
obat: JSON.stringify(obat),
|
||||
tindakan: JSON.stringify(tindakan)
|
||||
},
|
||||
{
|
||||
where: {
|
||||
id_rekam_medis: id,
|
||||
id_dokter: id_dokter
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
res.status(200).send({ status: true, message: 'data berhasil diupdate' })
|
||||
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
res.status(500).send({ status: false, message: 'error' })
|
||||
}
|
||||
})
|
||||
|
||||
// create /cari_rekam_medis get request
|
||||
router.get('/cari_rekam_medis', basicAuthMiddleware, async (req, res) => {
|
||||
try {
|
||||
data1 = req.query.data
|
||||
data2 = req.query.data2
|
||||
id_dokter = req.query.id_dokter
|
||||
if (!data1 && !data2 && !id_dokter) {
|
||||
return res.status(400).send({ status: false, message: 'data tidak boleh kosong' })
|
||||
}
|
||||
|
||||
const response = await tb_rekam_medis.findAll({
|
||||
where: {
|
||||
id_dokter: id_dokter,
|
||||
},
|
||||
include: [
|
||||
{
|
||||
model: tb_pasien,
|
||||
where: {
|
||||
[Op.or]: [
|
||||
{
|
||||
nama: {
|
||||
[Op.or]: [
|
||||
{ [Op.like]: '%' + data1 + '%' },
|
||||
{ [Op.like]: '%' + data2 + '%' }
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
nik:{
|
||||
[Op.or]: [
|
||||
{ [Op.like]: '%' + data1 + '%' },
|
||||
{ [Op.like]: '%' + data2 + '%' }
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
res.status(200).send({ status: true, data: response })
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
res.status(500).send({ status: false, message: 'error' })
|
||||
}
|
||||
})
|
||||
|
||||
// create /tindakan get request
|
||||
router.get('/tindakan', basicAuthMiddleware, async (req, res) => {
|
||||
try {
|
||||
id = req.query.id
|
||||
if (!id) {
|
||||
return res.status(400).send({ status: false, message: 'id tidak boleh kosong' })
|
||||
}
|
||||
|
||||
const response = await tb_tindakan.findOne({
|
||||
where: {
|
||||
id_tindakan: id
|
||||
}
|
||||
})
|
||||
|
||||
// console.log(response, " ini tindakannya");
|
||||
res.send({ status: true, data: response })
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
res.status(500).send({ status: false, message: 'error' })
|
||||
}
|
||||
})
|
||||
|
||||
module.exports = router
|
||||
@ -5,6 +5,7 @@ const db = require('../database/index.js')
|
||||
const tb_admin = db.admin
|
||||
const tb_dokter = db.dokter
|
||||
const tb_login = db.login
|
||||
const tb_jadwal_dokter = db.jadwal_dokter
|
||||
const Op = db.Sequelize.Op
|
||||
|
||||
var ironSession = require("iron-session/express").ironSession;
|
||||
@ -116,4 +117,39 @@ router.get('/', session, async (req, res) => {
|
||||
}
|
||||
})
|
||||
|
||||
// create /logout get request
|
||||
router.get('/logout', session, async (req, res) => {
|
||||
try {
|
||||
// console.log(req.session.user);
|
||||
req.session.destroy();
|
||||
res.send({ status: true, message: "logout success" })
|
||||
} catch (error) {
|
||||
res.status(500).send({ status: false, message: error.message })
|
||||
}
|
||||
})
|
||||
|
||||
// create /jadwal_dokter get request
|
||||
router.get('/jadwal_dokter', async (req, res) => {
|
||||
console.log("sini untuk jadwal get")
|
||||
try {
|
||||
let today_date = new Date();
|
||||
let days = ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu'];
|
||||
let hari_ini = days[today_date.getDay()];
|
||||
let all_jadwal = await tb_jadwal_dokter.findAll({
|
||||
where: {
|
||||
hari: hari_ini
|
||||
},
|
||||
include: {
|
||||
model: tb_dokter,
|
||||
attributes: ['nama', 'spesialis']
|
||||
}
|
||||
})
|
||||
|
||||
res.status(200).send({ status: true, data: all_jadwal })
|
||||
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
res.status(500).send({ status: false, message: "internal server error" })
|
||||
}
|
||||
})
|
||||
module.exports = router
|
||||
Reference in New Issue
Block a user